본문 바로가기

개발자 커뮤니티 활동의 중요성(with KSUG 페이스북 커뮤니티 1만명 가입 이벤트 당첨 후기) 개발자 커뮤니티 활동의 중요성 지금까지 개발과 관련된 포스트만 작성해왔습니다만, 이번을 계기로 필자(개인)의 생각도 가끔씩은 적어보려고 합니다. KSUG(Korea Spring User Group) 멤버 1만 이벤트 당첨 후기 KSUG(Korea Spring User Group)라는 우리나라 대표 스프링 커뮤니티에서 페이스북 멤버 1만을 달성하여 이벤트를 진행했었습니다. 그리고 제가 그 이벤트에서 당첨이 되었습니다..!! (KSUG 화이팅! 멤버 1만 달성 축하드립니다!!) KSUG와 Spring에 대한 저의 생각을 댓글로 남기면 추첨을 통해 인프런 강의 쿠폰, 책 등을 선물로 받는 것이었는데요. 저는 이동욱님이 쓰신 화제의(?) IT 도서. "스프링 부트와 AWS로 구현하는 웹서비스"라는 책을 당첨 선..
Kotlin 공식 Example로 공부하기 - Functional(Higher-Order Functions, lambda, extension functions) Functional 저는 전문 번역가도 아니고, 의역을 넘어 오역, 심지어 그냥 제가 읽고 싶은대로 읽은 내용이 있을 수 있습니다. 개인 공부를 한 것을 포스트로 남기고 있으며 틀린 부분이 있으면 지적해주시면 수정하도록 하겠습니다. 원문 : https://play.kotlinlang.org/byExample/04_functional/01_Higher-Order Functions Higher-Order Functions(고차 함수) 고차함수(Higher-Order function)는 다른 함수를 파라미터로 사용하거나 함수를 반환하는 함수입니다. 함수를 함수의 파라미터로 쓸 때 fun calculate(x: Int, y: Int, operation: (Int, Int) -> Int): Int { // 1 r..
Kotlin 공식 Example로 공부하기 - Special Classes(data class, enum class, sealed class, object, companion object) Special Classes 저는 전문 번역가도 아니고, 의역을 넘어 오역, 심지어 그냥 제가 읽고 싶은대로 읽은 내용이 있을 수 있습니다. 개인 공부를 한 것을 포스트로 남기고 있으며 틀린 부분이 있으면 지적해주시면 수정하도록 하겠습니다. 원문 : https://play.kotlinlang.org/byExample/03_special_classes/01_Data classes Data Classes (데이터 클래스) Data Class를 사용하면 값을 저장하는 클래스(ex. DTO, VO)를 쉽게 만들 수 있습니다. Data Class는 자동으로 메소드들을 제공합니다. 주 생성자에 선언된 모든 프로퍼티를 기준으로 컴파일러가 자동으로 생성해줍니다. equals() / hashCode() pair toSt..
Kotlin 공식 Examples로 공부하기 - Control Flow (When, Ranges, Expression, Statement, Loops, Iterator) 제어문(Control Flow) 저는 전문 번역가도 아니고, 의역을 넘어 오역, 심지어 그냥 제가 읽고 싶은대로 읽은 내용이 있을 수 있습니다. 개인 공부를 한 것을 포스트로 남기고 있으며 틀린 부분이 있으면 지적해주시면 수정하도록 하겠습니다. 원문 : https://play.kotlinlang.org/byExample/02_control_flow/01_When When 널리 사용하는 switch 문(statement) 대신에 코틀린은 조금 더 유연하고 깔끔한 when 문(construction)을 제공합니다. when 문은 statement 와 expression 으로 사용될 수 있습니다. When Statement fun main() { cases("Hello") cases(1) cases(0L) c..
Kotlin 공식 Examples로 공부하기 - Introduction (공식 튜토리얼 읽기) Introduction 저는 전문 번역가도 아니고, 의역을 넘어 오역, 심지어 그냥 제가 읽고 싶은대로 읽은 내용이 있을 수 있습니다. 개인 공부를 한 것을 포스트로 남기고 있으며 틀린 부분이 있으면 지적해주시면 수정하도록 하겠습니다. 원문 : https://play.kotlinlang.org/byExample/01_introduction/01_Hello%20world Hello World package org.kotilnlang.play // 패키지 fun main() { // 애플리케이션 시작점인 main 함수 선언 println("Hello, World!") // 표준 출력 } 코틀린 코드는 보통 패키지 안에 정의됩니다. 패키지를 지정하는 것은 옵션입니다. (소스 파일(.kt)안에 패키지를 지정하지..
객체지향사고프로세스 - MATT WEISFELD, 제이펍 프로그래밍보다 먼저 익혀야 하는 생각의 기술 0. 서평의 기회 서평을 할 기회가 왔습니다. (현재 기준 3년 정도되는 블로그 역사에서 첫 서평입니다.) 제이펍이라는 출판사에서 제공하는 이벤트에서 당첨되어 책을 받아볼 수 있게 되었습니다. 먼저 이 글을 쓰고 있는 필자는 2020년 현재 3년차 자바 개발자고, 조영호님의 저서 객체지향의 사실과 오해 라는 책을 1회 읽어본 적이 있습니다. (https://jeong-pro.tistory.com/189) "객체지향사고프로세스" 라는 책 또한 넓게 봤을 때 객체 지향이라는 개념적인 주제 를 다루기 때문에 저의 지식 수준을 미리 알려드립니다. 책을 읽기 전... "객체지향"이라는 주제는 한 두 번 읽고 이해하고 끝나는 주제가 아니라고 생각합니다. 항상 곁에 두고 ..
개발자 기술 과제, 라이브 코딩 테스트 후기(자바 스트림 활용 능력 with flatMap) 과제 겸 라이브 코딩 1. 후기 제가 생각하는 일반적인 개발자 채용 프로세스는 아래와 같습니다. 서류전형 → 코딩테스트(온라인) → 기술면접 → 임원면접 → 최종합격 여기에 조금 추가되면 코딩테스트를 여러번 본다든지 오프라인 코딩테스트를 한 번 더 본다든지하는 경우가 있습니다. 또한 경우에 따라 기술 면접 전에 필기 문제를 푸는 경우도 있고, 코딩테스트 대신 과제 전형이나 기술 면접 중 수도코드 작성, 아주 드물게 기술 면접 단계에서 라이브 코딩을 할 수도 있죠. 그러한 여러 과정 중 제가 이번에 "라이브 코딩"을 봐서 후기를 남기려고 합니다. 조쉬 롱(josh long)만큼 라이브 코딩을 할 수 있다면 두려울 것이 없겠지만 제 현실은 나약한 주니어 개발자죠.... 그래도 나름 깨달은 것이 있어서 공유하..
자바 람다에서 final이거나 final처럼 쓰인 지역 변수만 접근할 수 있는 이유 Java lambda effectively final local variable 1. 자바 람다에서 final이거나 final처럼 쓰인 지역 변수에만 접근할 수 있는 이유 면접에서 또 하나 배워왔습니다. (기술 면접에서 떨어졌지만...ㅜㅜ) 먼저 질문부터 말씀드리면 원래 질문은 "Anonymous Inner Class에서 외부의 지역 변수에 접근할 때 final처럼 쓰여야만 가능한데 왜 그렇게 동작하는지에 대해 자유롭게 답을 해보라"는 질문이었습니다. 답변은 제대로 못했는데 나름대로 생각하기를 뭔가 동시성 문제가 있지 않을까?하고 단순하게 이정도만 생각하고 답변했던 것 같습니다. (근거도 없이...) (물론 final 키워드로 지정된 변수는 재할당을 못하게 할뿐이지 동시성 문제를 해결하는 키워드는 아닙니..