많이 쓰는 핵심 디자인 패턴의 종류, 기술 부채를 갚기 위해 첫 발을 떼던 순간…
(Dev + IT + )
4월 둘째주 Dev
- # 이슈 픽 #Best 많이 쓰는 14가지 핵심 GoF 디자인 패턴의 종류
- # 추천 픽 #꾸욱꾹이 기술 부채를 갚기 위한 첫 발을 떼기까지
- # 맛IT는 녀석들 #줍줍 개발자에게 물어보았습니다 – 『별의 커비 디스커버리』
- # 데브털이사전 이번 주에는 특별히 ‘디자인 패턴’을 좀 털어봤어
- # 데브잇냥 독자탐구생활 [찐 UXer가 알려주는 UX/UI 실무 가이드] by 헤이션 님
- # 데브잇냥 지식in (Q) 시니어 엔지니어는 무슨 일을 해야 하나요? (A) 저도 시니어는 처음이라…
이슈 픽 #Best
많이 쓰는 14가지 핵심 GoF 디자인 패턴의 종류
지난 뉴스레터에서 디자인 패턴에 대해 잠깐 언급했었는데, 많이 관심 가져줘서 이번에는 그 후속으로 디자인 패턴의 종류를 찾아봤어.
프로그래밍 과정에 어떤 문제와 고난과 역경에 부딪히더라도, 내가 가는 길이 오롯이 나 혼자 개척하는 길이라고 생각하지 않아도 된다고. 이미 같은 문제를 겪은 선배들이 마련해 놓은 해결책이 디자인 패턴이라는 형태로 남겨져 있거든.
물론 내가 오롯이 고민하고 상황을 타개할 수도 있겠지만, (그런 도전 정신도 가끔은 필요한데,) 어떨 땐 욕심부리지 말고 모험심은 고이 접어 넣어둬야 할 때도 있어. 그럴 때 패턴을 상황에 맞춰서 적절하게 사용하기만 하면 좀 더 데드라인을 맞추는 데 수월해지지. 그런데 디자인 패턴이면 패턴이지. GoF는 뭘까?
디자인 패턴이라는 게 1987년에 발표된 논문에서 처음으로 제안된 개념이래. 그 이후 95년에 GoF(Gang of Four)로 불리는 4인방이 디자인 패턴을 구체화하지. 그때부터였어요. 우리 디자인 패턴이 인기를 얻게 된 게…
그 이후로 지금까지 소프트웨어 공학에서 가장 많이 사용하는 패턴이 GoF 디자인 패턴이 되었지. GoF 디자인 패턴은 총 23개로 구성되는데, 그중에서 현재까지 가장 많이 쓰이는 14가지 핵심 패턴을 정리한 정보가 있어서 소개할게.
어떤 문제와 고난과 역경이 그대의 프로그래밍에 시련을 안겨도. 지지마. 그것만으로 모든 걸 완벽하게 해결할 순 없겠지만. 디자인 패턴에서 실마리 정도 찾게 되면, 다음 한 걸음이 조금은 수월해지지 않겠어?
디자인 패턴은 의사소통에서도 요긴하게 사용된다고 해. 그러니까. 이거랑 저거랑 여기랑 저기랑 그거를 적용해 봅시다를, 여기에 댕댕이 디자인 패턴을 적용해 봅시다와 같이 소통할 수 있다는 거지.
뭐, 그게 항상 답은 아니야. 어떻게 내 상황에 맞게 자알~ 쓰느냐가 중요하다는 사실. 잊지말길!
추천 픽 #꾸욱꾹이
기술 부채를 갚기 위한 첫 발을 떼기까지
이런! 개발에 뭔가 문제가 생겼어. 그건 해법이 잘못됐거나, 그전에 문제 정의가 잘못됐거나, 그그전에 도메인 이해가 잘못됐기 때문일 수도 있어.
이게 사이클 같은 거라서, 자주 반복하면서 여러 피드백과 요구 사항을 반영하는 과정을 거치면 개발 완성도가 높아질 수 있대. 이런 사이클은 특히 기술 부채를 해소할 때 그 호흡이 길어지고 더 많이 반복된다고 해.
기술 부채는 오랜 시간 쌓여온 자산이면서 동시에 언젠가는 청산해야 할 빚이기도 한데, 새로운 프로젝트팀에 합류해서 기술 부채를 어떻게 갚아 나갔는지 소중한 경험을 공유한 글이 있어서 물어왔어.
코드만 짠다고 모든 문제가 해결되는 건 아닌가 봐. 기술 부채를 해결하는 게 코드 짜는 것보다 더 머리 아플 수 있다고.
https://cutt.ly/ZFmtvpA
맛IT는 녀석들 #줍줍
재미난 소식과 알짜 정보들을 물어왔다냥
- [정보] 개발자에게 물어보았습니다 – 『별의 커비 디스커버리』
닌텐도의 히트작이자 장수 게임 중 하나인 ‘별의 커비’. 2D에서 3D로 변환하기가 어려워 10년이 넘도록 후속작이 나오지 못했다는데? 드디어 3D로 재탄생하게 됐어. 그 개발 비화가 공개됐다냥. 나처럼 귀욤귀염한 캐릭터가 적에게 둘러싸이면 불쌍하잖아!! 그래서 개발에 난항을 겪었다아… 정말? 레알, 게임에 진심인 것! → - [정보] “놀이와 재미” 관점에서 보는 NFT
최근 들어 NFT에 대한 기사와 관련 콘텐츠들이 많이 보여. 그런데 ‘NFT를 위한 NFT’가 많다는 느낌을 지울 수 없다지? 진짜 가치는 콘텐츠에 있는 거 아냐? 그런 의미에서 NFT라는 키워드를 재미라는 관점에서 바라본 글이 있어서 가져왔어. → - [정보] 가상, 현실, 그리고 허구 – 가상(virtual)에 대한 철학적 진단
한동안 메타버스라는 단어에 많은 이들이 관심을 가졌어. 지금 조금 시들한 느낌이지만, 관련된 기술과 서비스 개발은 지속되고 있어. 언젠가 우리 삶에 더욱 밀접하게 다가올 거라는 건 다들 감 잡고 있겠지? 그래서 말인데, 이제 단순히 트렌드로서의 메타버스가 아니라 메타버스란 무엇인지 좀 더 본연적인 고민을 해야 하지 않을까? 여기저기 혼재되어 있는 메타버스에 대한 생각들을 우리는 어떻게 받아들이고, 심화해서 앞으로 나가기 위해서는 필요한 것은 무엇인지 철학(?)한 내용을 소개할게. 나 철학하는 냥이인 것이냥~ → - [영상] 메타버스를 구현할때 가장 중요한 포인트 바로 이것!
메타버스를 구성하는 주요한 포인트는 가상현실이라는 공간을 구현하는 일 아닐까? 메타버스의 공간을 구성하는 주요 기술의 개념부터, 개발자의 관점에서 메타버스에 접근할 때 필요한 점, 그리고 미국 시장에서 메타버스를 어떻게 바라보고, 반응하는지 시장의 분위기까지! 미국 현지에서 직접 전하는 영상이 있어서 소개한다냥. 메타버스에 대해서 새로운 시각을 가질 수 있을 거야. → - [정보] Persistent Task Group
파이썬 3.11에 추가될 예정인 asyncio.TaskGroup API에 관한 글이야. 3.12에 추가 여부를 논의 중인 aiotools.PersistentTaskGroup API는 무려 직접 개발 중! 오픈 소스에 기여하는 과정과 버그 사례까지. 살아 있는 생생한 이야기를 간접적으로 경험해 볼 텐가! → - [뉴스] 구글, 5400억 매개변수 초대형 언어 모델 ‘PaLM’ 공개
PaLM은 프로그래밍, 수학 문제 해결, 그리고 무려 농담까지 설명할 수 있는 언어 모델이래. 복잡한 논리적 추론은 물론이고 복잡한 조합이 필요한 시나리오에 대한 명시적인 설명도 생성할 수 있다고 해. 예를 들어 웹에서 찾을 수 없는 참신한 농담도 명확하게 설명할 수 있대. → - [뉴스] 구글 AI, 21개 다국어 음성-음성 번역 애플리케이션 위한 대규모 말뭉치 ‘CVSS’ 오픈소스로 공개
구글이 다국어 음성 번역에 활용할 수 있는 약 2,000여 시간에 달하는 분량의 말뭉치를 오픈소스로 공개했어. 지난번에 페이스북도 통번역 AI 프로젝트를 공개한 바 있었는데, 조만간 실시간 통번역으로 세계인의 의사소통이 원활해지는 날이 올 거 같아. (그럼 이제 외국어 안 배워도? 으응…?) →
데브털이사전
이번 주에는 특별히 ‘디자인 패턴’을 좀 털어봤어
- [영상] 디자인 패턴, 외워도 어떻게 적용하는지 모르겠다면?
객체지향에 대해 공부하다 보면 디자인 패턴도 배우게 될 거야. 각각 어떻게 코딩하는지 외우긴 했는데 하..? 실무에 어떻게 적용하는지 모르겠다면, 실전 예시로 실용적인 이해를 돕는 영상을 같이 보자. 너무할 정도로 설명을 잘해주셔서 15분 뚝딱이야. → - [정보] MVC 창시자가 말하는, MVC의 본질
Model, View, Controller. 줄여서 MVC. 소프트웨어 개발을 통틀어 가장 유명한 패턴이지. 우리는 왜 MVC를 써야 할까? 왜 MVC는 수많은 애플리케이션의 디폴트일까?라는 생각을 해봤다면 MVC 창시자의 이야기를 한번 들어보자. → - [정보] 유용한 리액트 패턴 5가지
리액트 개발자라면 컴포넌트 구조 설계를 할 때 재사용성과 확장성에 대해 한 번쯤 고민해 봤을 거야. 이때 사용하면 유용한 5개의 패턴이 있대. 해당 패턴을 사용해 배포한 라이브러리 예시까지 있으니까 잠시 시간 내서 읽어보는 건 어때? → - [정보] 옵저버 패턴 개념 떠먹여드립니다
어떤 이벤트가 일어나는 것을 감시하고, 미리 정의해둔 어떠한 동작을 즉각적으로 수행하게 해주는 패턴을 옵저버 패턴이라고 해. 옵저버 패턴의 구현 원리부터 실제 구현까지 알려줄 건데, 떠먹을 준비됐어? → - [정보] 혹시 싱글톤이세요? 저는 벙글톤이에요ㅋㅋㅋ
아 진짜 미안! 정말 아쉽게도 벙글톤 패턴은 없어. 대신 자바와 코틀린에서 싱글톤 패턴을 쉽게 구현하는 방법을 잘 정리한 글을 찾아왔어. 코틀린에서의 구현 방법은 대단히 충격적이야. → - [정보] 아.. 열심히 공부했는데 패턴을 쓰지 말라고? 쓰게 해줘 패턴.
디자인 패턴은 만병통치약이 아니야. 디자인을 할 때 가장 중요한 원칙은 ‘최대한 단순한 방법으로 문제 해결하기’라는 걸 잊으면 안 돼. 패턴 중독을 피해서 패턴을 잘 적용하는 법을 같이 알아보자. →
데브잇냥 독자탐구생활
한빛냥이 선택한 독자의 소리
[찐 UXer가 알려주는 UX/UI 실무 가이드] by 헤이션 님현장 실무에 투입되어 같이 프로젝트를 준비하고 있는 느낌이에요. 현장 경험이 충분하지 않고서는 이렇게 다양한 사례를 담아낼 수 없겠다는 생각이 들었습니다. UX 기획, 자료 수집, 콘셉트, 아이디어 그리고 UI 설계에 이어서 하나의 프로젝트를 완성하기 위해 다양한 부서와 협의하고 확인하는 실무 현장을 경험하고 싶은 분께 추천합니다.
[고객을 끌어오는 구글 애널리틱스4] by 동사힐 님“데이터 그 자체로는 아무런 의미도 없다. 그 데이터를 바탕으로 적절한 질문을 던질 수 있어야 한다.” 단순한 툴 사용이 아니라 수집된 데이터를 비즈니스에 어떻게 활용하는지 배우며 비즈니스적 관점을 가질 수 있는 의미 있는 책입니다. 특히 커리어를 확장하고 싶은 백엔드 개발자, 이들과 협업을 하는 기획자와 마케터 그리고 데이터 분석가에게 큰 도움이 됩니다.
[혼자 공부하는 R 데이터 분석] by Jinhwan Kim 님프로그래밍 無 경험자이지만 데이터 분석 관련 직무로 입사한 직장인 또는 데이터 분석을 시작해 보고 싶은 학생에게 추천합니다. 데이터 분석 프로젝트 단계 중 ‘데이터 가공→데이터 분석→결과 공유’ 과정을 주로 다루고 있어 혼자서도 R을 활용한 데이터 분석, 시각화의 쌩 기초를 배울 수 있는 가이드 도서로 충분합니다.
데브잇냥 지식in
데브계 이모저모(주모~~~~~ok옥?)
- (Q) 시니어 엔지니어는 무슨 일을 해야 하나요? (A) 저도 시니어는 처음이라… →
- 이것은 채용 공고인가, 노코드 소개인가? 토스가 부릅니다. Deus 프로젝트! →
- 왜 소프트웨어 개발은 예상보다 2~3배 더 오래 걸릴까? →
- React에서 자주 사용하는 Javascript 문법 정리해 봄! →
- 웹 앱의 통일성을 위해…애플, 구글, MS가 뭉친다고? →
- React 18 정식 릴리스. 새로운 기능이 뭐냐고 물으신다면? →
- FastAPI 시대가 로딩 중입니다…아직 Flask 쓰시나요? →
- NFT 경제, 메타버스가 답인가? 사고파는 것만이 능사가 아니라… →
- 번역 한번쯤 해볼까? 싶은 당신께. 해본 사람이 자세히 알려 줌. 광고 놉, 유튭 영상임. →