
IntelliJ 에디터에서 JDK 21 이상을 사용하는 경우 ChronoUnit 패키지 import 가 안되는 경우가 있다. 별짓을 다해봤는데 해결방법은 간단했다.intelliJ 최신버전을 다운로드 받으면 해결 된다. (IntelliJ IDEA 2021.3.3 => 2024.3.1)굳이 기존 버전을 삭제할 필요도 없다. 아래의 공식 사이트에서 현재버전을 다운로드 받아서 실행하면 해당 에러는 삭제된다. (최신버전 재설치하는데 시간이 오래걸릴것 같아서 최후의 방법으로 시도했었는데 10분도 안걸렸다. 진작 해볼걸 ㅠㅠ) https://www.jetbrains.com/ko-kr/idea/download/?section=windows 최고의 Java 및 Kotlin IDE인 IntelliJ IDEA를 다운로드하..

오늘은 지금까지 제가 어떻게 코딩테스트 스킬을 키워왔는지에 대해 공유해보고자 합니다. 저는 컴공과를 나와서 전공을 살려 IT 회사를 입사했고, 현재는 다시 취준생활을 하면서 다시 코딩테스트 연습을 하고 있는데요. 여차저차 벌써 코딩테스트 풀이 경력이 8년정도 되었네요. 8년이나 풀었으면 코테 엄청 잘하겠다! 싶으실 수 도 있겠지만 고등학교때 미분적분 아무리 잘했어도 직장생활 1년 하면 다 까먹는 게 사람이거든요.코테도 똑같습니다. 매일 풀다가 한달 정도만 안 풀어도 다 까먹어요... 핫핫 그래서 제가 말씀드리고자 하는 코딩테스트 실력 키우는 가장 좋은 방법은 뻔하게 들릴 수 있겠지만꾸준함 입니다.가장 어렵지만 가장 쉬운 방법이죠. 꾸준하게 매일 한 문제라도 코테문제를 풀다 보면 실력은 따라올 것입니다...

1. Isolation Level이란?Isolation Level에 대해 이야기하기 위해 간단하게 MySQL의 트랜잭션에 대해 짚고 넘어가보자.MySQL의 작업은 "트랜잭션"이라는 단위로 제공될 수 있는데, 여기서 트랜잭션의 사전적 의미는 데이터베이스 시스템에서 복구 및 병행 수행 시 처리되는 작업의 논리적 단위로서, 한꺼번에 모두 수행되어야 할 일련의 데이터베이스 연산이다.트랜잭션은 다음의 4가지 특성을 갖고 있다.원자성 (Atomicity): 연산은 모두 반영되거나 모두 반영되지 않아야 한다.일관성 (Consistency): 연산의 결과는 항상 일관성이 있어야 한다.독립성 (Isolation): 동시에 여러 개의 트랜잭션이 실행되고 있을 때 각각의 트랜잭션은 서로의 연산에 영향을 줄 수 없다.영구성 ..
래빗엠큐는 빠른 성능이나 처리량도 중요하지만, 신뢰할 수 있는 메시지 전달도 중요한 지표중의 하나이다. 이번에는 이 두 지표의 상관관계를 알아보고 절충안을 알아보자. 빠름 느림 배달보장 없음 - 실패 통보 - 발행자 확인 - 대체 익스체인지 - HA 큐 - 트랜잭션 - 트랜잭션 HA 큐 - 메시지 디스크에 저장 절충안을 찾기 위해 내 시스템을 구성하는 과정에서 확인해 봐야하는 질문들은 다음과 같다. 1. 발행시에 메시지를 큐에 넣는 것이 얼마나 중요한가? 2. 메시지를 라우팅할 수 없는 경우, 발행자에게 메시지를 보내야 하는가? 3. 메시지를 라우팅할 수 없는 경우, 차후에 조정하는 다른 곳으로 메시지를 보내야하는가? 4. 래빗엠큐 서버에 장애가 발생할 때, 메시지가 손실되도 괜찮은가? 5. 래빗엠큐가 ..

코틀린은 타입 추론을 지원하는 정적 타입 지정 언어다. 따라서 소스코드의 정확성과 성능을 보장하면서도 소스코드를 간결하게 유지할 수 있다. 코틀린은 객체지향과 함수형 프로그래밍 스타일을 모두 지원한다. 함수형 프로그래밍의 핵심개념 일급시민인 함수 함수를 변수에 저장할 수 있고, 함수를 인자로 사용할 수 있다. 불변성 함수형 프로그래밍에서는 일단 만들어지고 나면 내부 상태가 절대로 바뀌지 않는 불변 객체를 사용해 프로그램을 작성한다. 부수효과 없음 입력이 같으면 항상 같은 출력을 나온다. 다중스레드를 사용해도 안전하다. 테스트하기 쉽다. 코틀린은 함수형 스타일로 프로그램을 짤 수 있게 지원하지만 함수형 프로그래밍을 강제하지는 않는다. 코틀린으로 코드를 작성할때는 객체지향과 함수형 접근 방법을 함께 조합해서..

* 카프드롭을 모르시는 분이 많은 것 같아서 사용방법만 적었다. * 카프드롭은 간단한 토픽생성과 브로커에 메세지가 들어갔는지만 확인 가능하다. 토픽에 대한 자세한 옵션 설정을 카프드롭을 통해 할 수는 없다. 먼저 윈도우에 도커를 설치한다. 설치방법은 아래 블로그에 아주 자세하게 나와있다.https://goddaehee.tistory.com/251 [Docker (1)] window10 Docker 설치하기(윈도우 10 도커 설치)[Docker (1)] window10 Docker 설치하기(윈도우 10 도커 설치) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ Window10 도커 설치 ] 입니다. : ) 도커 설치하기 ▶ 1. 도커란? 도커 설치와 관련된 포스팅 이기.goddaehee.tistory.c..
Git 과 Github 는 뭐가 다른가?애초에 다른가??-> 다르다. Git - 파일 버전 관리 툴- 설치하면 .git 디렉토리가 생성되면서 파일 버전 관리가 가능해짐 Github- Git + 외부 저장소 + 사용자 인증(ssh, http 등등) + 웹용 인터페이스 + 협업을 위한 이메일 툴 + 각종 편의 도구 Git 은 그냥 라이브러리랄까 파일버전관리 툴이다.즉, Git으로 협업을 하려면 내가 저장소(서버) 하나 만들어서 Git 깔고, 외부에서 access 할수 있게 방화벽 설정하고, ssh 나 http 프로토콜을 이용해서 사용자 인증을 어떻게 할것인지, 누구한테 어떤 권한을 줄것인지 사용자 인증 모델을 결정해서 적용하고, commit & push 할때 다른 사용자에게 알림을 어떤 방식으로 가게할것인지..
1. 화살표 함수란? ES6부터 도입된 신기한 함수 표기법 기본적으로 익명함수가 필요한 곳에 사용된다. // ES5 function plus( a, b ) { return a+b; }; // 처음부터 plus 함수라고 만든다. var plus = function ( a, b ) { return a+b; }; // 익명함수 만들어서 plus라고 이름을 붙인다. // ES6 var plus = (a,b) => a+b; 매우 간결해진 것을 확인 할 수 있다. 2. 화살표 함수의 여러가지 사용법 1) 매개변수 갯수에 따른 표기법 // 0개 () => {...} // 1개 (x) => {...} x => {...} // 2개이상 (x, y) => {...} 2) 함수내용에 따른 표기법 // 함수 몸체가 한줄 ()..