Review
-
한 권으로 끝내는 이미지 생성 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 내부 동작에 대해 고민해보거나 개발 언어 특성에 맞..
-
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 책 시작부에 나오는 이야기로써, 사실 시스템 또는 ..
-
마이크로서비스 아키텍처 구축 가이드Review 2023. 2. 25.
마이크로서비스란? 마이크로서비스는 소프트웨어가 잘 정의된 API를 통해 통신하는 소규모의 독립적인 서비스로 구성되어 있는 경우의 소프트웨어 개발을 위한 아키텍처 및 조직적 접근 방식입니다. 이러한 서비스는 독립적인 소규모 팀에서 보유합니다. 마이크로서비스 아키텍처는 애플리케이션의 확장을 용이하게 하고 개발 속도를 앞당겨 혁신을 실현하고 새로운 기능의 출시 시간을 단축할 수 있게 해 줍니다. - AWS - 마이크로서비스란 소프트웨어를 구축하기 위한 아키텍처이자 하나의 접근 방식으로, 애플리케이션을 상호 독립적인 최소 구성 요소로 분할합니다 - Redhat - 마이크로서비스란 단어가 사용되기 시작한지는 대략 10년정도 됬지만 널리 알려진지는 얼마 되지 않았다. 마이크로서비스가 없는 세상에서는 서비스/앱 개발..
-
스프링 부트 실전 활용 마스터Review 2022. 12. 5.
개발 관점에서 성능은 크게 cpu bound, i/o bound 2가지 주제로 나눌 수 있다. cpu bound는 cpu 연산을 주로 말하기 때문에 실제 컴퓨터의 성능과 직접적으로 연관이 있지만 i/o bound는 디스크나 외부 네트워크와의 통신 등으로 실제 컴퓨터의 연산과는 다소 거리가 있다. 웹 생태계에서는 과거부터 주로 사용되었던 동기식 요청을 처리하기 위해 다수의 process(또는 thread)가 활용되었는데, 대용량 트래픽이 인입된다면 그에 맞게 process 또는 thread가 함께 생성되어야 하며, cpu보다는 늘어난 메모리가 문제가 되는 현상이 발생하게 된다. 이러한 대규모 i/o 이슈를 해결하기 위해 비동기 처리가 많이 활용되고 있다. Java에서는 Spring boot 버전 2부터 W..
-
UX/UI 디자이너를 위한 실무 피그마Review 2022. 11. 27.
UI 개발 담당이 아니더라도, 백엔드 엔지니어들도 개발 설계시 Figma의 내용을 확인하고 활용하게 된다. 기획자의 설계 의도를 파악하고 UX/UI를 함께 체크하여 필요한 서버 컴포넌트 또는 API들이 무엇이 있을지 설계해야 하기 때문이다. 기획 의도와 배경 그리고 전체적인 구조는 PPT 또는 글로 확인해도 의미가 잘 전달되지만 상황에 따른 흐름 확인은 실시간적으로 figma로 확인하고 커뮤니케이션하는 게 훨씬 업무 적용에 빠르다. 또한 웹에서 바로 화면을 볼 수 있기에 접근도 매우 용이다. 이 책은 디자인학과를 졸업하고 독학으로 Sketch를 익혀 UI/UX 세계에 입문한 저자가 쓴 Figma의 실무 활용 서적이다. "1장 피그마 시작하기"에서 간단한 figma 설명과 더불어 디자이너, 기획자, 개발자..