분류 전체보기 114

[책] 쏙쏙 들어오는 함수형 코딩 서평

이 책은 제목에서 알 수 있다시피, 함수형 프로그램을 설명하는 흔한 책과 같이 느껴져서 처음 나왔을 때에는 별로 관심을 두지 않다가 SNS에서 팔로우하고 있는 개발자의 추천으로흥미를 가지고 책을 사서 읽게된 책이며, 책을 읽는 가운데 제이펍 리뷰 진행 이벤트를 발견하고 신청해서 책을 받기도한 책이다. 개인적으로 가지고 있는 다른 함수형 프로그래밍을 설명하고 교과서처럼 파고드는 책과 달리 이 책은 이야기 형식으로 실무적으로 풀어간다. 그래서, 잘 읽히고 수학적인 용어가 난무하지 않는다. 따라서 쉽다. 그리고, 자바스크립트를 예제코드로 작성되어 있는데, 함수형 프로그래밍을 하기 쉽지 않은 어로 프로그래밍하면서 함수형 프로그래밍하기 부족한 부분들을 어떻게 할지 고민할 수 있기 때문에 이 언어를 택했다고 저자..

Review/책 2022.08.24

[책] 딥러닝을 위한 수학 리뷰

이 책은 제목에서 알 수 있다시피 수학의 전분야가 아닌 딥러닝을 위해 알아야 할 수학에 대해 초점을 맞춰 다루고 있습니다. 그리고, 이 책은 아래 '이 책에 대하여' 라는 장의 이미지에서 볼 수 있다시피 심층학습을 위한 입문서가 아니고, 어느 정도 개념을 알고 있는 상태에서 활용하는데 필요한 것을 최대한 많은 독자에게 전달하는 것을 목표로하고 있습니다. 개인적으로는 요약본에 가깝고, 조금 더 심화하게 봐야할 분야가 뭔지를 알려주는 길잡이 같은 책이라고 생각됩니다. 실제로 이책을 읽는 동안 실무에서 자연어처리 관련되서 딥러닝 모델을 테스트 할 기회가 있었는데, 논문을 볼 때 등작하는 개념이나 모델링을 하고 튜닝, 테스트를 할 때 필요한 수학적 개념들이 뭔지 이 책에서 빠르게 접하고, 이해한 뒤 그 개념들에..

Review/책 2022.08.23

[책 리뷰] 좋은코드, 나쁜코드

이 책은 책 제목에서 바로 알 수 있다시피 좋은코드가 무엇이고 어떻게 하면 좋은 코드를 작성할 수 있는지에 대해서 이론, 실전, 단위테트 이렇게 3 파트로 구성하여 설명을 하고 있습니다. 개인적으로 이 책을 읽으면서 느꼈던 것들을 나열하면 아래와 같습니다. 1. 좋은 코드에 대해서 설명하고 있는 책들 가운데서 잘 읽히는 책 BEST 안에 꼽힙니다. 그 이유는 제목 및 소제목이 핵심을 요약해서 잘 나와 있고, 번역이 잘 되어 있기 때문입니다. 또한, 예제 코드만 덩그러니 있는게 아니라 코드에 대해 주석이나 그림 등으로 설명이 잘 되어 있어 내용 이해에 많은 도움이 됩니다. 2. 컨퍼런스나 블로그 등으로 한번은 들어 봤을 만한 내용들이 거의 다 들어가 있습니다. 개인적으로 좋은 코드 작성을 위한 블로그나 컨..

Review/책 2022.06.08

[안드로이드]Room 의 기본

안드로이드의 감을 잊지 않고 꾸준하게 공부를 동기부여를 위해 NextStep의 안드로이드 아키텍처 강의를 듣고 있다. 최근 mvvm 과제를 하면서 Room 을 사용할 일이 생겨서 기본적인 내용을 정리해 보았다. 원래 원노트에 정리해서 블로그에 옮길 때 스타일이 많이 깨져서 블로그에 공부한 내용을 올리기가 어려웠는데, 이제 VS CODE 의 플러그인으로 Markdown 으로 작성 후 원노트에 다가 배포하는 형태로 노트들을 적고 있어서 복사-붙여넣기만 하면되기에 블로그에도 한번 올려본다. Room 을 처음 사용하는 사람들에게 도움이 되었으면 합니다. Room 의 기본 Room? SQLite 를 손쉽게 사용할 수 있도록 추상화 계층을 제공 ORM 라이브러리의 일종으로 JPA 와 유사한 것으로 보임 사용방법 안..

디지털페이지 Flutter 전환 후기

요즘 개발 커뮤니티들을 보고 있으면, Flutter 전환 후기 글들이 많이 올라오는 것 같습니다. 제가 다니는 회사에서 5.0 서비스로 메이저 버전업을 하면서 디자인과 Flutter 도입을 진행했엇습니다. 이제 서비스가 릴리즈가 되었기에 안드로이드 개발자의 관점에서 인터넷에 많은 Flutter 전환 후기처럼 한번 블로깅 해봅니다. 전환도입의 이유 인력자원의 부족 원래 안드로이드 개발자와 iOS 개발자가 함께 있었는데 잦은 퇴사로 인한 인력구성이 변경되는 일이 잦다보니 우리가 계획했던 릴리즈들을 인력이 없어서 못하는 경우가 자주 발생했습니다. 그러면서 자연스럽게 이 공백을 채우기 위한 솔루션을 찾다보니 Cross Platform 언어를 검토하게 되었습니다. 왜 Flutter 인가? Cross Compile..

[Flutter] 웹뷰 하이브리드 모드 관련 이슈 해결

서문 이제 네이티브 앱을 플러터로 변경하고, 앱의 디자인 까지 변경한 디지털페이지 5.0 프로젝트가 막바지로 접어들었습니다. 11월 중에는 끝이 날 것 같은데, 끝이 나면 이 프로젝트에 대해 회고글을 시리즈로 한번 써볼까 합니다. 많은 분들이 플러터를 쓰기를 결정하는 데 참고가 되었으면 좋겠고, 프로젝트를 하는데에도 도움이 되었으면 합니다. 아무튼 빨리 바쁜 것이 끝났으면 좋겠네요. 배경 이번에는 안드로이드 플랫폼에서 웹뷰 하이브리드 관련 이슈가 났었던 것을 공유하려고 합니다. 저희 디지털페이지 5.0은 에디터 Core 는 웹으로 동작하기 때문에 웹뷰의 사용을 피할 수 없습니다. 웹뷰를 사용하다 보면 키보드 노출이 안된다 던지 한글을 사용할 수 없는 키보드 이슈를 보게 됩니다. 인터넷 Search 를 해..

플러터 StatelessWidget? StatefulWdiget?

최근 프로젝트 막바지(?) 에 이르러 정신없이 일 만하고 있습니다. 회사를 이직한 후 약 2년간의 경험을 리뷰했던 글의 말미에 적었듯이, 최근 안드로이드, iOS 어플리케이션을 플러터 전환을 하는 프로젝트를 진행하고 있습니다. 이 프로젝트가 잘 풀리지 않아서 요즘 엄청 바쁘게 일하고 있습니다. 그래서, 블로그에 꾸준히 글을 적어야지 하고 글 주제는 많이 수집 해놨는데 글 쓰는 시간이 잘 안나네요. 게다가 예전에 쓰려고 뽑아 놓은 주제들은 시간이 갈 수록 구(old) 기술이 되어 버렸거나 너무 늦었다 라는 감을 지울 수 없는 주제가 많네요. 서두가 길었습니다. 시간이 없는 관계로 최근 플러터 프로젝트를 들어가면서 개인적으로 정리해 놓은 내용 중에 제일 깔끔하고 수정이 필요 없어 보이는 녀석으로... 하나 ..

만 2년의 개발 발자취 돌아보기

서울에 상경한 지 이제 거의 만 2년이 다 되어 갑니다. 처음 강남 사옥으로 출근해서 회사 라운지에서 커피를 마시며 강남의 야경을 감상하던 때가 엊그제 같은데, 이제는 상암 본사로 들어오고 1년이라는 시간이 지났습니다. 게다가 경산에서 아내와 아이들도 다 올라오고, 거처도 용인에서 파주로 옮겨 이제 정착이라는 단어를 쓸 수 있을만큼 저와 가족 모두 적응하게 되었네요. 돌이켜 보면 정말 짧은 시간동안 많은 변화가 있었네요. 이렇게 정신 없이 살다보니 작년에는 연말에 하던 한해 리뷰 조차 하지 못하고 넘어갔네요. 이제 2년이 다 되어가는 시점을 맞아 주요 업무들을 스스로 리뷰를 하며 피드백을 한번 해보려고 합니다. Warming up 2019.06 ~ 2019.10 이 때는 안드로이드 개발을 다시 시작하면서..

Review 2021.06.03

Google I/O 2021 Keynote 키워드 요약

유튜브에서 아래 영상을 Google I/O 키노트 인줄 알고 보고 키워드 별로 요약을 했는데 알고 보니 아래 영상 자체가 요약본이었네요. ^^ 추후 Google I/O 영상을 시리즈로 보면서 개인 적으로 정리할 텐데, 정리 하는 대로 쭈욱 올리겠습니다. Google I/O 2021 keynote in 16 minutes (요약 본) 구글 I/O Keynote 키워드 LaMDA Language Model 로 Chat Application 용 인공지능 엔진 명왕성 주제로 대화를 나눈 예제 딥러닝 이용 아직 초기 연구 단계, 구글 내부적으로 사용 중 이미지, 텍스트, 오디오, 비디오 리소스를 사용하여 모델을 구성 Map + AI 라이브뷰 상세한 거리 뷰 : 표지판, 횡단보도, 휠체어 등 올해말 까지 50개 도..

Android Context

Context 에 대해 공식 문서 내용에는 아래와 같이 나와 있습니다. Interface to global information about an application environment. This is an abstract class whose implementation is provided by the Android system. It allows access to application-specific resources and classes, as well as up-calls for application-level operations such as launching activities, broadcasting and receiving intents, etc. 번역을 해보자면, 어플리케이션 환경에 대..