java(6)
-
백엔드 개발자의 코틀린 입문기 - 코틀린이 얼마나 좋길래? 자바에서 옮겨가도 될까?
들어가며 이 글은 Java Spring으로 백엔드 개발을 하던 개발자가 Kotlin으로 전환한 후기를 담은 글입니다. Java에서 Kotlin으로의 전환을 고민 중인 백엔드 개발자 분들에게 도움이 되면 좋겠습니다. 왜 자바에서 코틀린으로 넘어가나요? 우리나라에서 가장 대중적인 백엔드 개발 기술 스택은 단연컨대 자바 + 스프링일 것입니다. 그렇기에 백엔드 개발을 한다면 이 스택으로 경력을 이어나갈 확률이 매우 높은데요, JVM 기반으로, 자바와의 상호 호환성을 들고 나온 코틀린의 등장과 급부상으로 코틀린 + 스프링, 이른바 코프링도 최근에 많은 주목을 받고 있습니다. 저는 일찌기 코프링 도입을 간절히 원했기에 코틀린으로의 전환을 강력하게 건의해 왔는데요, 이럴 때 접하는 반응들 중엔 이러한 것들이 있었습니..
2022.05.06 -
Spring Boot - 스케줄러 사용해보기 1. FixedDelay vs FixedRate
들어가며 최근에 있었던 일입니다. 제가 만든 컴포넌트를 코드 리뷰를 통해 팀원들과 공유하는 자리를 가졌었는데, 스케줄링 된 작업에 대해서 이런 질문이 들어왔었습니다. 어라.. 저 작업이 0.5초마다 실행되게 설정되어 있는데요, 만일 작업의 수행속도가 0.5초를 넘기면 어떻게 되나요? 다음 작업이 무시되나요? 아니면 스레드가 하나 더 생겨서 어떻게든 0.5초마다 계속 실행되도록 하나요? 아니면 밀린 만큼 연달아 실행하나요? 이 질문은 중요했습니다. 왜냐하면 해당 작업은 무조건 순차적으로, 동시가 아닌 딱 1번씩만 실행되어야만 하는 작업이었기 때문이죠. 저는 스프링의 스케줄링에 대해 대략적인 조사를 해 보았을 때의 기억에 의존해서, "제가 알기로 기본 설정이 싱글 스레드이기 때문에, 수행 시간이 밀린다고 멀..
2020.02.23 -
디자인 패턴 1. 소개
디자인 패턴이 뭔가요? Design Pattern이란 말만 들었을 때에는, 뭔가 그림을 그려야 할 것 같지만 사실 디자인은 단순히 그림을 그리는 의미가 아니라 '설계'의 의미를 가지고 있습니다. 즉, 디자인은 설계에 해당합니다. 그렇다면 프로그래밍에서 디자인 패턴은 어떤 의미일까요? '프로그램 설계 유형' 정도로 풀어서 쓸 수 있지 않을까요? 프로그램을 설계한다는 의미는 단순히 코딩을 하는 것 그 이상의 문제를 이야기합니다. 진부하지만 회원가입의 예를 들어보고자 합니다. 회원가입에는 보통 성별을 남/녀로 받습니다. 그렇다면 회원 정보를 담을 클래스를 만들 때, 어떻게 해야할까요? 일단 첫 번째 예를 봅시다. ManMember와 WomanMember를 각각 Class로 만들었습니다. 이름과 나이를 각각 멤..
2020.02.08 -
디자인 패턴 0. 공부 시작
들어가며 작년부터 디자인 패턴의 필요성을 느끼고 있었습니다. 단순한 계기는 취직 준비에 필요하단 생각이었고, 현재는 개인 개발 역량을 향상시키는 데에 도움을 줄 수 있을 것이라 여기고 있습니다. 주위에서 가끔 어떤 사람들이 '디자인 패턴을 굳이 공부할 필요는 없다'고 말하기도 합니다. 경력직에서도 디자인 패턴을 잘 모르는 사람들이 있다면서요. 그러나 동시에 '비록 디자인 패턴을 모르더라도, 막상 그 사람들이 작업하는 것을 보면 디자인 패턴을 체화하고 있더라'는 말까지 덧붙였습니다. 즉, 디자인 패턴을 따로 시간을 내서 공부를 하든, 하지 않든, 결국에는 필요한 만큼은 스스로 습득하게 된다는 내용이었습니다. 이 말을 종합해보았을 때, '꼭 안해도 된다.' '하면 좋다' '하면 안 되는 건 아니다' 정도의 ..
2020.02.08 -
왜 자바 Spring만 뽑나요? 꼭 배워야 하나요?
들어가며 취준생 시절 때부터도 쭉 간직해 온 의문이 있었습니다. 내로라하는 대기업들의 구직 공고를 보면, 항상 따라오는 조건들이 있었죠. Java 언어 사용이 능숙한 분 Spring Framework 개발 경험이 있으신 분 Java를 배우긴 했지만, 백엔드에 사용해본 적은 없었기에 이 부분은 항상 지원에 걸림돌이 되곤 했습니다. 도대체 자바 스프링이 뭐하는 녀석이길래 이 기업 저 기업에서 다 찾을까요? 나름대로 정리한 내용을 글로 옮겨보기로 했습니다. 그리고 '그렇다면 Spring을 배워야만 할까?' 하는 고민에 빠지신 분들께 제 의견을 전달해보고자 합니다. 주의사항 : 필자는 백엔드 개발에 이제 막 뛰어든 초짜입니다. 백엔드의 유구한 역사에 대해서는 당연히 잘 모르며, 제가 추측한 이유들도 잘못된 부분..
2020.01.26 -
지뢰찾기(MineSweeper) with JavaFX
지뢰찾기(MineSweeper) 1. 제품 설명 지뢰찾기를 한 번도 실행시켜보지 않은 사람은 아마 없을 것이라 봅니다. (요즘 어린 친구들은 뭔지 모를수도 있습니다..) 가려져있는 타일을 하나씩 누르면서 지뢰를 찾아가는 게임인데, 게임 이름은 지뢰찾기인 주제에 진짜로 지뢰를 클릭하면 게임 오버가 됩니다. 정식 이름은 MineSweeper로, 올바른 번역은 "지뢰제거"입니다. 지뢰는 전부 랜덤하게 숨겨져 있으며, 좌클릭으로 타일을 까볼 수 있고, 우클릭으로 해당 타일이 지뢰일지 아닐지를 표시해둘 수 있습니다. 지뢰가 아닐 것 같은 공간은 좌클릭을, 지뢰라고 의심되는 공간은 우클릭을 해가면서 지정된 개수의 지뢰를 전부 찾아낼 때까지 반복합니다. 지뢰 근처에 있는 타일은 모두 숫자를 표시합니다. 이 숫자는 해..
2018.07.20