전체 글

전체 글

    [Kotlin] 상태를 가변적으로 관리했을 때 발생하는 문제

    개발을 하다보면 '상태'라는 단어를 정말 많이 듣게 됩니다. 그렇다면 상태가 뭘까요? 객체 지향 프로그래밍에서는 모든 데이터를 객체(object)로 취급하며, 이러한 객체간에 메시지를 주고 받는게 바로 프로그래밍의 중심이 됩니다. 객체(object)란 간단히 이야기하자면 실생활에서 우리가 인식할 수 있는 사물로 설명할 수 있습니다. 커피 머신, 바리스타 등등... 이러한 객체는 자신만의 상태(state)와 행동(behavior)으로 구성되게 되는데, 이 '상태'를 의미합니다. 각 객체가 지닌 고유한 특성인거죠. 그럼 상태가 가변적이란건 무슨 의미일까요? 상태는 각 객체가 지닌 고유한 특성이라고 설명드렸는데요. 예를 들어보겠습니다. 버튼은 어떨까요? 이왕이면 조금 더 직관적이게 누르기만하면 핵 미사일이 발..

    Effective Kotlin 수령!!~!!!!

    드디어 이펙티브 코틀린을 수령했다. 번역서가 출간된다는 소식을 듣고 꼭 사려고 했는데.. 도서출판 인사이트에서 한 권을 그냥 보내주심! 원래 읽고 있던 책이 있었는데, 기술 서적이 아니어서 그런지 지루하고 침체기가 오고 있던 찰나에 기술 서적이 생겼다. 원래 읽던 건 잠시 킵해두고 이펙티브 코틀린을 달리려고 한다. 그나저나.. 원래 출판사에서 보내준 서적은 증정 관련 도장이 찍혀있기 마련인데, 보이지 않길레 그냥 보내주셨나 보다..라고 생각하던 찰나 내지에 도장이 찍혀있었다. 다른 출판사는 옆 부분에 많이 찍어주던데 출판사마다 다른가보다. ㅋㅋㅋㅋ ---- 전반적으로 훑어보고 처음부터 읽기 시작했는데, 번역 품질도 괜찮고 내용도 꽤 좋다 ! 원서를 살까 말까 고민만 하던 나에게 내려진 축복... 슥슥 읽..

    [Kotlin] 파라미터로 전달 받은 람다식으로 객체 생성하기

    EN: Create an Instance using Lambda passed as arguments /** * @Author Heli */ abstract class AbstractRunner { lateinit var startDateTime: LocalDateTime lateinit var endDateTime: LocalDateTime } class FirstRunner : AbstractRunner() class SecondRunner : AbstractRunner() class RunnerGenerator( private val supplier: () -> T ) { fun generate(): T { val yesterday = LocalDateTime.now().minusDays(1).toL..

    Effective Kotlin 출간

    https://www.aladin.co.kr/shop/wproduct.aspx?start=short&ItemId=286907622 이펙티브 코틀린 번역본이 출간될 예정이네요. 아래 서적의 번역본이라고 합니다. 스터디하고 싶네요 ㅎㅎㅎㅎ https://kt.academy/book/effectivekotlin

    [2022년을 시작하며] 시빅해킹, 졸업 그리고 새로운 직장

    2022년이 시작됐다. 2022년에 어떤걸 해볼까? 계획을 세우기에 앞서 올해 어떤걸 했는지 돌아봤다. 아무래도 가장 컸던건 코로나19 개인안심번호 프로젝트였던 것 같다. (관련 기사: https://n.news.naver.com/article/001/0012210995) '개인안심번호'는내가 활동하고 있는 코드포코리아의 시빅해커들의 아이디어와 재능기부로 만들어졌다. 수기출입명부에는 당초 방문자 이름과 휴대전화 번호, 주소를 적게 돼 있었는데 사생활 침해 우려에 2020년 9월 이름을 제외하고 휴대전화 번호와 주소지 시·군·구까지만 기재하도록 방역수칙을 변경됐다. 그럼에도 휴대전화 번호 유출에 따른 개인정보 오·남용 사례가 끊이지 않았다. 수기명부에 휴대전화 번호를 적었다가 모르는 사람한테 연락을 받거..