분류 전체보기
-
Release의 모든 것Review 2023. 12. 25.
소프트웨어 개발을 처음 시작하는 사람들은 요구사항에 대한 정교한 설계 보다는 어떤 기술을 사용해서 어떻게 구현할 것인지에 대해 고민을 하게 되는데 운용을 포함한 입체적인 관점보다는 구현 자체에만 의미를 두는 경우가 많다. 여기서 정교한 설계는 어떤 시스템과 통합될 것인지 그리고 사용하게될 사용자수는 어떻게 되는지, 안정성을 위해 테스트 시나리오는 무엇일지 그리고 마지막으로 이 모든것을 포함하여 구현해야할 기능들에 대해 일정내 가능할지등 고민하는 것을 말한다. 문제는 실제 제품이나 서비스 운용 경험이 있어야 설계에 여러가지 고려사항들을 포함시킬 수 있다는 점이다. thread safe하지 않는 API를 사용해서 간헐적으로 프로세스가 죽는다던가 또는 책에서도 나오는 예시로 try-catch-finally에서..
-
파이썬 크래시 코스Review 2023. 8. 26.
개인적으로 Python이란 개발언어를 활용하게 된지는 꽤 오래되었다. 데이터베이스와 같은 라이브러리 종속적인 스크립트를 만들거나 CLI을 만드는 것으로 시작하여 웹 서비스 개발까지 경험하게 되었는데 현재의 Python의 위상은 그 이상으로 대단하다. Python은 윈도우, 리눅스, 맥과 같이 다양한 OS를 지원하고 쉬운 설치를 할 수 있다. 매우 쉬운 문법을 제공함으로써 아주 적은 코드로 개발을 할 수 있는데 프로그래밍을 시작하는 이들에게 공부를 시작하는 첫 관문이 되기도 하고 데이터분석을 위한 시작이 되기도 한다. 대표적인 해외 웹 서비스로써 인스타그램이 있다. 과거 인스타그램은 Python을 활용하여 전세계 서비스를 운용하였을 정도이다. 최근에도 적극 활용하고 있는지는 별도 확인해보지 않았다 데이터 ..
-
소프트웨어 아키텍처 the hard partsReview 2023. 4. 1.
소프트웨어 아키텍처 the hard parts는 2021년도에 출판된 소프트웨어 아키텍처 101 책의 후속 편이다. 저자 닐포드, 마크 리처즈의 책으로써 이번 hard parts에서는 프라모드 세달라지, 세약 데그하니가 저자로 추가되어 총 4명의 저자가 쓴 현대적인 소프트웨어 아키텍처의 advanced 기술 서적이다. 모든 문제가 하나하나 새로운 도전을 요하기에 어떻게든 문제를 해결하려는 중대한 의사 결정의 양편에 치우친 수많은 트레이드오프를 냉정하게 판단하고 평가할 때 아키텍트의 진가가 드러납니다. 소프트웨어 아키텍처에서는 최고의 설계를 고집하지 마세요. 그 대신 나쁜 것 중에서 제일 나은(least worst) 트레이드 오프 조합을 찾으세요. 26p 책 시작부에 나오는 이야기로써, 사실 시스템 또는 ..
-
State of Spring 2022IT/Java Stack 2023. 3. 6.
얼마 전 youtube를 보면서 시간을 보내다가 토비님의 영상을 보게 되었다. State of Spring 2022 내용에 대해 리뷰하는 내용이었는데, 꽤 재미있게 보기도 하였고 Spring 생태계에 대해서 이해할 수 있는 참고 자료이기도 하여 간략하게 리뷰를 해보려고 한다. State of series 우선 State of Spring은 VMware 회사에서 설문조사를 진행하고 정리한 통계 발표 자료이다. 사실 VMware의 자료는 처음 접한 상태였는데 구글링을 해보니 State of Kubernetes, State of observability등 다양한 시리즈가 있었다. 이 글의 첨부된 이미지들은 모두 State of Spring 2022 pdf에 포함된 내용들이다. 설문조사의 49%가 유럽 그리고 ..
-
소스코드 주석(comment)에 대한 짧은 글Think 2023. 3. 5.
위키피디아에 의하면 주석이란 소스 코드를 더 쉽게 이해할 수 있게 만드는 것이 목적인 메모를 말한다. 주석 또는 코멘트는 프로그래밍에 있어 내용을 메모하는 목적으로 쓰인다. 소스 코드를 더 쉽게 이해할 수 있게 만드는 것이 주 목적이며, 협업할 때 유용히 쓰인다. 컴파일러와 인터프리터에 의해 일반적으로 무시되어 프로그램에 영향을 주지 않는다. 위키백과 하지만 주석 때문에 소스코드를 더 이해하기 어려울 수 있다. 예를 들어, 1. 코드의 의도가 명백하여 오히려 주석이 중복 내용에 가깝다. "XX를 출력합니다, XX를 가져옵니다. XX를 처리하고 응답합니다."등이 있다. 2. 주석이 관리가 되지 않아 소스코드의 내용과 전혀 다른 설명을 하게 된 경우이다. 너무나도 슬픈 사실인데 소스코드를 수정하는 사람이 주..
-
마이크로서비스 아키텍처 구축 가이드Review 2023. 2. 25.
마이크로서비스란? 마이크로서비스는 소프트웨어가 잘 정의된 API를 통해 통신하는 소규모의 독립적인 서비스로 구성되어 있는 경우의 소프트웨어 개발을 위한 아키텍처 및 조직적 접근 방식입니다. 이러한 서비스는 독립적인 소규모 팀에서 보유합니다. 마이크로서비스 아키텍처는 애플리케이션의 확장을 용이하게 하고 개발 속도를 앞당겨 혁신을 실현하고 새로운 기능의 출시 시간을 단축할 수 있게 해 줍니다. - AWS - 마이크로서비스란 소프트웨어를 구축하기 위한 아키텍처이자 하나의 접근 방식으로, 애플리케이션을 상호 독립적인 최소 구성 요소로 분할합니다 - Redhat - 마이크로서비스란 단어가 사용되기 시작한지는 대략 10년정도 됬지만 널리 알려진지는 얼마 되지 않았다. 마이크로서비스가 없는 세상에서는 서비스/앱 개발..
-
[윈도우10] 마이크로소프트가 직접 제공하는 PowerToysIT/Tools 2023. 1. 11.
개요 윈도우 OS를 개발하는 마이크로소프트에서 직접 PowerToys 프로그램을 제공한다. 이 프로그램은 아주 강력하고도 재미있는 기능들을 묶음으로 제공한다. 예를 들면 맥에서 편하게 활용하던 Spotlight(Powertoys Run), 간단한 클릭만으로 화면이 잠기지 않게 해주는 카페인(awake), 그 외 모니터 눈금 표시나 RGB 색 확인 그리고 마우스 위치 확인, 이미지 크기 일괄 변경, 프로그램 레이아웃 커스텀등 다양한 기능들을 제공한다. 설치 Releases · microsoft/PowerToys Windows system utilities to maximize productivity. Contribute to microsoft/PowerToys development by creating a..
-
[2022년 결산] WakaTime와 함께한 개발 기록Daily 2023. 1. 11.
개발자의 하루 업무 일과는 생각보다 다양하다. 설계 및 문서화 그리고 동료의 코드 리뷰, 향후 해야할 일 검토 등 그 외에도 많다. 하루 또는 일주일간 내가 개발 시간에 얼마나 공을 들이고 있는지를 통계적으로 알수 있다면 어떨까? 이러한 질문에 명쾌하게 답을 줄 수 있는 제품이 있다. 바로 WakaTime이다. 작년에 가입을 하고 대략 일년 넘게 활용 중이다. 내가 업무와 관련된 개발 시간을 얼마나 들이고 있는지 그리고 오픈소스나 사이드프로젝트는 얼마나 시간을 쏟는지를 알고 싶었다. 가장 좋은 점은 일주일 단위로 통계정보를 요약해서 이메일로 보내준다는 점이다. 그래서 이메일만 잘 살펴보면 실제로 쓰고 있는 개발 시간에 대한 추적이 충분히 가능하다. 무료 플랜은 데이터 조회기간에 제한이 있는데 나의 경우에..