분류 전체보기
-
실무로 통하는 클린 코드Review 2024. 8. 26.
어떤 기술을 학습해 가는 방법은 여러 가지가 있다. 최근 가장 관심 있는 방법 중 하나로써 기본적인 개념을 익힌 뒤 실용적인 관점에서의 예시들을 포함, 어떻게 활용하는지 익혀나가고 점진적으로 왜 이렇게 했는지 등 사고의 폭을 넓혀가는 방법이 와닿는다. 그런 관점에서 한빛미디어에 나온 "실무로 통하는..." 시리즈의 책들은 인과추론, 타입스크립트, 엑셀, 데이터 시각화등 책이 나와있는데 "실무로 통하는 클린코드" 또한 이러한 시리즈 책 중 하나이다.클린코드는 읽고, 이해하고, 유지보수하기 쉬운 코드를 의미합니다. 이를 위해 잘 구조화되고 간결하며 변수, 함수, 클래스에 의미 있는 이름을 사용합니다. 또한 모범 사례와 디자인 패턴을 따르며 성능과 구현 세부 사항보다 코드의 가독성과 동작을 우선시합니다. p3..
-
처음 시작하는 FastAPIReview 2024. 7. 28.
최근에는 프로덕션 레벨로 Java을 활용하여 작업을 이어오면서 개인프로젝트 몇몇을 제외하고는 Python 기반의 웹 서비스 개발을 거의 못하고 있었다. 종종 FastAPI에 대한 이야기를 듣곤 했었다. 작년말 해커톤에 참여할 일이 있었는데 그 때 함께 작업하시는 분이 FastAPI 이야기를 하셔서 1시간 정도 레퍼런스 문서를 보고 백엔드 API 서버를 만들기는 했었는데 이번에 이렇게 관련 서적을 읽을 기회가 있어서 한번 각을 잡고 읽어보게 되었다.Python을 개발언어의 강력함은 배우기 쉽고 이를 지탱하는 프레임워크가 굉장히 많다는 점이다. 그 중 웹 프레임워크는 과거부터 2가지 종류가 굉장히 인기가 많았다. 일종의 거대한 프레임워크라고 할 수 있는 Django와 대조적으로 경량화된 Flask이다. 어드..
-
한 권으로 끝내는 이미지 생성 AI with 미드저니Review 2024. 3. 23.
10년 전만 하더라도 AI 기술을 활용하는 사람들은 기계학습, 딥러닝을 포함하여 알고리즘과 수학적 지식을 필요로 했다. 이미지(또는 데이터)에서 사물을 식별하거나 이상패턴을 판별하는 등 특정 분야에서만 활용하고 있었고 전문적인 지식뿐 아니라 다양한 경험이 뒷받침되어야 사용할 수 있는 수준이었다. 학습 모델을 어떤 데이터로 만들것인지 그리고 최종 결과가 잘 동작하는지등 가늠하는 것도 어려운 주제이고 전문적인 최신 트렌드를 계속해서 학습해야하는 고충이 있다. 하지만 생성형 AI가 태동하기 시작하면서 분위기가 바뀌었다. 생성형 AI(generative AI)는 프롬프트에 대응하여 텍스트, 이미지, 기타 미디어를 생성할 수 있는 일종의 인공지능(AI) 시스템을 말한다. 즉, 프롬프트만 잘 만들수 있다면 전문적인..
-
You Don't Know JS Yet - 자바스크립트 개념, 스코프와 클로저Review 2024. 2. 25.
최근 함께 일하는 동료와 가볍게 JavaScript 주제로 이야기를 했었다. 기억나는 내용 중 하나는 JavaScript 개발자 면접관으로써 생각보다 숙력자를 찾기 어렵다는 것이다. JavaScript는 과거 웹 브라우저에서 동작시키기 위한 스크립트 언어였지만 이제는 서버뿐 아니라 앱 또는 GUI 개발까지 다양하게 활용되고 있다. github 플랫폼에 가장 많이 등록되어 활용되는 개발언어이기도 하고 각종 리포트의 항상 상위권 인기에 머무르는게 이 언어이다. 같이 일하던 동료가 말하는 숙련자란 Javascipt를 잘 이해하고 서버 개발에 활용할 수 있는 사람을 말한다. 그러한 관점에서 나 또한 비슷한 사람에 속한다. 오랫동안 다뤄왔지만 JavaScript 내부 동작에 대해 고민해보거나 개발 언어 특성에 맞..
-
[2023년 결산] 한빛냥 독자의 소리Daily 2024. 2. 24.
2023년 가을쯤 내가 작성한 리뷰 글이 하나 소개되었다. "파이썬 크래시코스"는 쉽게 잘 풀어쓰고 구성이 꽤 좋은 책이라 즐겁게 읽었는데 이렇게 소개까지 해주셔서 기분이 참 좋았었던 기억이 난다. [Review] - 파이썬 크래시 코스 해당 리뷰는 "나는 리뷰어다" 활동으로 작성한 글이다. "나는 리뷰어다"는 한빛미디어의 도서 서평단을 말한다. 특별한 위치 또는 권위가 있지 않아도 컨텐츠를 작성할 준비가 된 사람이라면 신청할 수 있다. 예를 들어 블로그를 운용하거나 인스타 또는 트위터등을 통해서 어느정도는 활동을 하는 경우인데 선정이 될 수도 있고 안될수도 있다. IT 개발자의 덕목 중, 기술에 대한 꾸준한 관심을 갖는 것 그리고 어떤 활동이든 자신의 시간을 관심분야에 할당하는 것이 중요하다고 생각한다..
-
[2023년 결산] WakaTime와 함께하는 개발 회고Daily 2024. 2. 24.
[Daily] - [2022년 결산] WakaTime와 함께한 개발 기록 작년에 이어 올해도 WakaTime에서 일년간의 기록을 잘 정리해서 이메일로 보내주었다. 간략한 회고를 해보자면, 평균 2시간의 개발을 했으며 올해도 열심히 정말 열심히 Java를 활용하여 서비스 개발을 했다. 주로 Java, Scala을 활용하여 개발을 했는데, 올해는 Go를 다시 한번 학습하고 서비스 개발에 활용하는 시간을 갖기도 하였다. 간결한 문법과 매우 빠른 성능 그리고 goroutine을 활용한 virtual thread 전략은 참 훌륭하다. 아쉽게도 마지막에 해당 프로젝트가 다시 Kotlin 기반으로 변경되긴 했지만. 한편, 2023년 9월 Java LTS 21 버전이 릴리즈되었고 공식적으로 virtual thread를..
-
Release의 모든 것Review 2023. 12. 25.
소프트웨어 개발을 처음 시작하는 사람들은 요구사항에 대한 정교한 설계 보다는 어떤 기술을 사용해서 어떻게 구현할 것인지에 대해 고민을 하게 되는데 운용을 포함한 입체적인 관점보다는 구현 자체에만 의미를 두는 경우가 많다. 여기서 정교한 설계는 어떤 시스템과 통합될 것인지 그리고 사용하게될 사용자수는 어떻게 되는지, 안정성을 위해 테스트 시나리오는 무엇일지 그리고 마지막으로 이 모든것을 포함하여 구현해야할 기능들에 대해 일정내 가능할지등 고민하는 것을 말한다. 문제는 실제 제품이나 서비스 운용 경험이 있어야 설계에 여러가지 고려사항들을 포함시킬 수 있다는 점이다. thread safe하지 않는 API를 사용해서 간헐적으로 프로세스가 죽는다던가 또는 책에서도 나오는 예시로 try-catch-finally에서..
-
파이썬 크래시 코스Review 2023. 8. 26.
개인적으로 Python이란 개발언어를 활용하게 된지는 꽤 오래되었다. 데이터베이스와 같은 라이브러리 종속적인 스크립트를 만들거나 CLI을 만드는 것으로 시작하여 웹 서비스 개발까지 경험하게 되었는데 현재의 Python의 위상은 그 이상으로 대단하다. Python은 윈도우, 리눅스, 맥과 같이 다양한 OS를 지원하고 쉬운 설치를 할 수 있다. 매우 쉬운 문법을 제공함으로써 아주 적은 코드로 개발을 할 수 있는데 프로그래밍을 시작하는 이들에게 공부를 시작하는 첫 관문이 되기도 하고 데이터분석을 위한 시작이 되기도 한다. 대표적인 해외 웹 서비스로써 인스타그램이 있다. 과거 인스타그램은 Python을 활용하여 전세계 서비스를 운용하였을 정도이다. 최근에도 적극 활용하고 있는지는 별도 확인해보지 않았다 데이터 ..