일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- framework
- 프레임워크
- ES
- database
- 그리디
- cleancode
- 스프링
- 코딩
- 애자일
- spring boot
- 코드
- Spring
- JPA
- 엘라스틱서치
- 애자일프로그래밍
- 자바
- Elasticsearch
- API
- 애자일기법
- 개발자
- 읽기쉬운코드
- Java
- 데이터베이스
- 코딩테스트
- Baekjoon
- 알고리즘
- 백준
- 그리디알고리즘
- 클린코드
- 개발
- Today
- Total
목록2024/12 (3)
튼튼발자 개발 성장기🏋️
더보기GO 언어 관련해서 기본적인 문법 내용은 github에 정리해두었다. 변수, 상수 그리고 열겨형변수를 선언할 때 변수 명에는 공백을 포함하지 않은 문자, 숫자, 언더스코어(_)를 사용할 수 있고 숫자는 첫 글자에 사용할 수 없다. golang에서는 대소문자를 구분한다는 점에 유의해야한다. 참고로 golang은 camel case를 사용하는 것을 권장한다.변수를 선언하는 방법은 크게 4가지가 있다.var 키워드로 선언하고 var 다음에 변수 이름과 타입을 표기한다.같은 타입인 변수를 선언할 경우 콤마(,)로 구분하여 선언할 수 있다.서로 다른 타입의 변수를 선언할 경우 소괄호로 묶어서 한 번에 선언할 수 있다.변수 선언과 동시에 값을 정의할 경우 타입을 생략할 수 있고, := 연산자를 사용할 수도 있..
리스트 연산에서 데이터 공유하기불변성(Immutable)은 함수형 프로그래밍의 중요한 개념 중 하나다. 불변 데이터 구조를 사용할 때, 데이터를 수정하는 대신 새로운 데이터 구조를 반환하여 이전 데이터 구조를 변경하지 않는다. 그러나 불변성을 유지하는 것이 항상 성능을 저하시킬 수 있다는 걱정이 있다. 특히 리스트와 같은 데이터 구조에서는 원소를 추가하거나 수정할 때마다 데이터의 복사본을 만들어야 하기 때문에 성능에 영향을 미칠 수 있다.하지만 데이터 공유라는 기법을 활용하면 성능 저하를 최소화하면서 불변성도 유지할 수 있다. 데이터 공유는 이전 데이터 구조의 일부를 그대로 사용하고, 변경된 부분만 새로운 객체로 생성하는 방식이다. 이를 통해 리스트의 연산에서 메모리와 성능을 최적화할 수 있다.불변 리스..
1. 재귀 (Recursion)란 무엇인가?재귀는 어떤 문제를 해결할 때, 그 문제를 더 작은 동일한 문제로 나누어 해결하는 방식이다. 이때, 자신을 호출하는 방식으로 문제를 풀어나가며, 조건을 만족하면 더 이상 재귀를 하지 않고 결과를 반환한다.재귀 함수는 보통 두 가지 주요 요소를 포함한다.기저 조건(Base Case): 재귀를 멈추는 조건으로, 일반적으로 가장 작은 문제를 해결하는 형태다.재귀 호출(Recursive Case): 더 작은 문제를 해결하기 위해 자기 자신을 다시 호출하는 부분이다.아래 팩토리얼을 구하는 재귀 함수 예시를 보자. 팩토리얼은 n! = n * (n-1) * (n-2) * ... * 1로 정의되며, 이를 재귀적으로 계산할 수 있다. fun factorial(n: Int): I..