일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 클린아키텍처
- 엘라스틱서치
- 스프링부트
- 자바스크립트
- Sort
- 카카오 면접
- 코딩테스트
- 이펙티브자바
- 이차전지관련주
- kubernetes
- 알고리즘정렬
- 스프링
- 예제로 배우는 스프링 입문
- 오블완
- ElasticSearch
- effectivejava
- 스프링 핵심원리
- Effective Java
- 티스토리챌린지
- Spring
- 알고리즘
- java
- 김영한
- 자바
- Effective Java 3
- k8s
- 스프링핵심원리
- JavaScript
- 카카오
- 이펙티브 자바
- Today
- Total
목록2022/02/02 (3)
Kim-Baek 개발자 이야기

함수형 프로그래밍의 핵심은 바로 람다 계산법이다. 람다 계산법은 프로그래밍보다 먼저 등장한 개념인데, 어떤 것인지 사례를 보면서 살펴보도록 하자. 정수를 제곱하기 public class Squint { public static void main(String args[]){ for(int i = 0; i { int i = 0; while (!stopRequested) i++; }); backgroundThread.start(); TimeUnit.SECONDS.sleep(1); stopRequested = true; } } 이 코드는 backgrounThread 가 실행된 후, 1초뒤에 정지될 것으로 보이는 코드이다. 하지만 실제 동작은 그렇게 되지 않을 수 있다. CPU1 이 backgroundThread..

객체지향이란 무엇일까? 면접에서 자주 물어보는 질문이기도 하다. "데이터와 함수의 조합" 이라고 말하는 사람도 있고, "실제 세계를 모델링하는 새로운 방법"이라고 대답하는 사람도 있다고 한다. 하지만 두 개 모두 만족스러운 답변이라고는 하지 않는다. 캡슐화, 상속, 다형성을 통해서 설명하는 사람들도 있는데 그렇다면 이 세 가지 개념이 어떤 것인지 한번 살펴보도록 하자. 캡슐화 데이터를 응집력 있게 구성하고, 구분선 바깥에 데이터는 숨겨지고, 일부함수만 외부에 노출되는 것을 말한다. 객체 지향 언어에서는 private, public 등을 통해서 이를 표현한다. 하지만 객체 지향에서만 해당 개념이 있는 것이 아니다. c언어에서의 사용하는 방법인데, point.c로 구현을 하고, point.h 파일로 해당 기..

구조적 프로그래밍의 발견 구조적 프로그래밍은 1960년대 네덜란드의 데이크스트라라른 프로그래머에 의해서 발견되었다. 이 때 프로그래밍은 진공관으로 이루어진 컴퓨터로 하던 시기였는데, 컴퓨터가 거대하고, 쉽게 손상되고 느리고 결과까지 믿을 수 없는 상태였다. 데이크스트라는 프로그래밍이 어렵고, 프로그래머가 프로그래밍을 잘하지 못한다는 문제를 인식했다. 그래서 조그만 세부사항이라도 간과하면 프로그램이 정상동작하지 않는 것을 볼 수 있었다. 데이크스트라는 프로그래머가 작성한 코드가 올바르게 동작하기를 원했고, 코드가 올바르게 동작한다는 사실을 수학적인 원리를 적용해서 풀려고했다. 수학적 증명 자세한 수학적인 기법은 설명하지 않지만, 예전에 배웠던 수학적 귀납법이 기억나는가? p(1)이 참이고, P(n)이 참이..