CTO 둘이 풀어드리는 주간 뉴스 2024.7.24방송
15년 전의 나에게 해주고 싶은 프로그래밍 조언
참고자료
• <컴퓨터vs책>블로그
http://jhrogue.blogspot.com/
• 유튜브채널OKdevTV >재미있는개발이야기리스트
https://www.youtube.com/playlist?list=PLdntWJk2tJPKvRB0mSqC5tyKUv7HFtcqg
• 슬라이드셰어
https://www.slideshare.net/jrogue/presentations
• 채널박재호(초급개발자를위한...)https://www.youtube.com/@채널박재호
OKdevTV
오늘의 짤방
OKdevTV
(오늘의 짤방: 😂😂 via @Shefali__J)
① (개발) 15년 전의 나에게 해주고 싶은 프로그래밍 조언
② (보안) CrowdStrike의 위기, 라이벌들에게 공격의 기회를 제공하다
③ (HR) 2024년 Frontend 취업이 더 어려운 이유와 성공사례
④ (우리가 몰랐던 사실) .DS_Store의 기원은?
⑤ (도구) CPU Energy Meter
⑥ (오늘의 논쟁) AWS님들, 저 다시 클라우드 엔지니어가 되게 해주세요
⑦ (아키텍처) RESTful API 설계
⑧ (우리가 몰랐던 사실) UUID 버전은 여덟가지???
⑨ (HR) 떠날 때를 아는 방법
오늘 소개할 내용
OKdevTV
• https://news.hada.io/topic?id=15848
• 품질과 속도 사이의 균형 맞추기
• 톱을 갈고 있는 시간은 거의 항상 가치가 있음
• 어려움을 쉽게 설명할 수 없다면, 그것은 아마도 우발적 복잡성일 것이고, 이 문제는 해결할 가치가
있음
• 버그를 한 층 더 깊이 해결하려고 노력하기
• 버그 조사를 위해 히스토리를 파고드는 것의 가치를 과소평가하지 말 것
• 나쁜 코드는 피드백을 주지만, 완벽한 코드는 그렇지 않음. 나쁜 코드를 작성하는 쪽으로 오류를 범
할 것 à 주의 나쁜 코드의 사례를 잘 생각해야 함
• 특정 상태를 표현할 수 없게 하기 위해 데이터 수집을 재작성하는 대신, 몇 가지 핵심 검사점에서 불변성에 대한 어설션을 몇 개
추가함
• 서버 모델이 작성할 DTO와 정확히 동일하므로 그냥 직렬화함. 모든 상용구를 작성하는 대신 필요에 따라 나중에 DTO를 작성할
수 있음
• 이 컴포넌트들은 사소하고 버그가 있어도 큰 문제가 없으므로 테스트 작성을 건너뜀
• 디버깅을 쉽게 만들기
• 팀에서 일할 때는 항상 질문하기
• 배포 주기가 매우 중요함. 빠르고 자주 배포할 수 있는 방법을 신중히 고민해야 함 OKdevTV
(개발) 15년 전의 나에게 해주고 싶은 프로그래밍 조언
1
• https://news.hada.io/topic?id=15924
• CrowdStrike는 오랫동안 해커로부터 고객 네트워크를 보호하기 위한
클라우드 기반 소프트웨어인 엔드포인트 탐지 시장을 지배한 회사
• CrowdStrike는 사이버 보안 회사가 원격으로 업데이트할 수 있
는 클라우드 기반 보안 소프트웨어를 채택하도록 설득하는 데 앞
장서 왔음
• 금요일 아침(미국 시간) 중단 사태로 인해 전 세계적으로 PC 시
스템이 다운되었고, 많은 장치에서 "BSOD 블루 스크린 오브 데
스"라고 알려진 오류 화면이 표시됨
• 항공편이 지연되고, 일부 911 대응이 중단되었으며, 은행 거래가 지연됨
• 보안 관계자에 따르면, 보통 "점진적으로 소규모 배치 업데이트
를 하는데 이렇게 모든 고객에게 대량 업데이트 한 것"은
CrowdStrike가 설명해야 할 실수임
OKdevTV
(보안) CrowdStrike의 위기, 라이벌들에게 공격의 기회를 제공하다
2
happy international bluescreen day😍 via @sxchopea)
OKdevTV
(HR) 2024년 Frontend 취업이 더 어려운 이유와 성공사례
3
• https://velog.io/@whatever/2024년-Frontend-취업이-더-어려운-이유와-성공사례
• 시장 상황에 따른 전체 개발자 수요 감소가 큰 원인 하지만 현재 프론트엔드 개발자의 경쟁률은 다른 개발
직군에 비해 눈에 띄게 높음
• React 개발자의 공급이 특히 많아졌고, 그에 반해 기업은 까다롭게 뽑기 시작했다. à 공급은 많고 수요는
작아짐
• 스타트업은 역량 중심의 채용에 더욱 진심
• 신입을 채용하더라도 사용자들이 볼 수 있는 만큼의 충분한 개발 경험이 있는지, 하나의 제품을 만들 때 애착을 가지고 실제로 개
선해본 적이 있는지와 같은 실질적인 경험을 요구
• React로 블로그를 만들었거나, 클론 코딩을 하는 것은 기업 입장에서 매력적이지 않음
• 어떻게 해야할까?
• 기초를 튼튼하게
• 기업들이 원하는 문제를 해결하는 역량 확보 à 사용자의 문제를 고민하고, 이를 기술로서 해결
• 실천 방안
• 사소하더라도 주변의 문제를 서비스로 만들어보기
• 라이브러리에서 해결한 기술적 문제를 끝까지 파보기
OKdevTV
(우리가 몰랐던 사실) .DS_Store의 기원은?
4
• https://www.arno.org/on-the-origins-of-ds-store
• MacOS X에서 파인더를 재작성하기로 결정을 내림 à 기존 코드베이스가 너무 오래됨(8년)
• 파인더 백엔드와 프론트엔드로 나눠짐(Finder_FE/Finder_BE)
• 아이콘 네비게이션 서비스를 데스크톱 서비스(DS, Desktop Service)로 결정 à 그래서 아이콘 관련 정보를 담는 폴더를 앞에 .
을 추가한 .DS_Store로 결정
• 이름을 다르게 바꾸기에는 너무 늦었음
• 한 가지 골치아픈 버그
• .DS_Store 파일이 과도하게 생성되는 문제 à 사용자가 보기 설정을 조정하거나 폴더에서 아이콘 수동 위치를 바꿀 때만 만들어
져야 하는데… 폴더를 방문하면 만들어짐. ㅠㅠ
• https://github.com/sosy-lab/cpu-energy-meter
• 인텔 CPU의 전력 소비를 미세한 시간 단위(수십 밀리초)로 모니터링할 수 있는 리눅스 도구
• 소켓, 코어 별 전력 모니터링
• 통합 그래픽 전력 모니터링
• 메모리 노드별 전력 모니터링
• RAPL (Running Average Power Limit) 기능을 사용
OKdevTV
(도구) CPU Energy Meter
5
• https://news.hada.io/topic?id=15857
• AWS는 Generative AI(GenAI)에 지나치게 집착하여 AWS를 AWS답게 만드는 모든 것을 외면하고 있음
• 2024년에는 AWS의 GenAI 집중도가 히스테리컬한 수준으로 높아짐. AWS 서밋의 80% 이상이 GenAI에 관한 것이었고, 연
례 보안 컨퍼런스도 GenAI 시대의 보안을 주제로 함
• GenAI를 광범위하게 사용하고 있지만, 이는 기존 비즈니스에 새로운 기능을 더하는 것임
• AWS는 개발자들이 핵심 인프라에 집중하지 말고 대신 GenAI에 시간을 써야 한다고 암시적으로 전달하고
있음
• AWS가 GenAI 제품을 구축하지 말아야 한다는 것이 아니라, GenAI 전용 회사인 척해서는 안 된다는 것임
• 과거에 지원했던 비즈니스 제품도 여전히 소중히 여겨야…
• 개발자의 고충에 귀 기울여야 함
• 성능/신뢰성/비용 효율성/보안/운영 우수성/지속 가능성 등 인프라 기본에 충실
OKdevTV
(오늘의 논쟁) AWS님들, 저 다시 클라우드 엔지니어가
되게 해주세요
6
• https://x.com/thatstraw/status/1810613137655165220
OKdevTV
(아키텍처) RESTful API 설계
7
• https://ntietz.com/blog/til-uses-for-the-different-uuid-versions/
• 요약 정리
• V4: 랜덤 ID가 필요한 경우
• V7: 정렬이 필요한 경우
• V5/V8: 전용 ID 정책이 필요한 경우
OKdevTV
(우리가 몰랐던 사실) UUID 버전은 여덟가지???
8
• https://news.hada.io/topic?id=15851
• 모든 사람은 언젠가는 평생 해왔던 일을 더 이상 할 수 없게 되는 시점에 도달함 T_T
• 문제점: 오래 코드를 작성하며 경력을 유지하기 어려움
• 기본적으로 프로그래머가 너무 많음 T_T
• 엄청난 변화가 있는 업계에서 그렇게 오랫동안 경력을 유지하기는 어려움
• 주의 사항: 경력과 능력은 상관없음
• 나이 때문에 사람을 차별해서는 안 됨. 나이와 능력은 상관없음
• 나보다 나이 많은 사람 중에는 뛰어난 사람도 있고 무능한 사람도 있었음
• 20대에도 뭐든 성공적으로 작성할 수 있는 사람이 있는 반면, 단순한 개념조차 이해하지 못하는 사람도 있음
• 진실: 모든 사람은 언젠가 직업, 고용주, 업계, 심지어 전체 경력이 끝나는 시점에 도달함
• 뒤쳐지고 있다는 것을 발견하고 강제로 밀려나는 것보다 솔직해지고 현명한 결정을 내리는 것이 더 낫게 느껴짐
• 당신의 경력은 당신 것임. 최선을 다해야 하며 끝낼 때도 당신 몫
OKdevTV
(HR) 떠날 때를 아는 방법
9

(OKdevTV) 2024년 7월 24일 개발 이야기

  • 1.
    CTO 둘이 풀어드리는주간 뉴스 2024.7.24방송 15년 전의 나에게 해주고 싶은 프로그래밍 조언
  • 2.
    참고자료 • <컴퓨터vs책>블로그 http://jhrogue.blogspot.com/ • 유튜브채널OKdevTV>재미있는개발이야기리스트 https://www.youtube.com/playlist?list=PLdntWJk2tJPKvRB0mSqC5tyKUv7HFtcqg • 슬라이드셰어 https://www.slideshare.net/jrogue/presentations • 채널박재호(초급개발자를위한...)https://www.youtube.com/@채널박재호 OKdevTV
  • 3.
  • 4.
    ① (개발) 15년전의 나에게 해주고 싶은 프로그래밍 조언 ② (보안) CrowdStrike의 위기, 라이벌들에게 공격의 기회를 제공하다 ③ (HR) 2024년 Frontend 취업이 더 어려운 이유와 성공사례 ④ (우리가 몰랐던 사실) .DS_Store의 기원은? ⑤ (도구) CPU Energy Meter ⑥ (오늘의 논쟁) AWS님들, 저 다시 클라우드 엔지니어가 되게 해주세요 ⑦ (아키텍처) RESTful API 설계 ⑧ (우리가 몰랐던 사실) UUID 버전은 여덟가지??? ⑨ (HR) 떠날 때를 아는 방법 오늘 소개할 내용 OKdevTV
  • 5.
    • https://news.hada.io/topic?id=15848 • 품질과속도 사이의 균형 맞추기 • 톱을 갈고 있는 시간은 거의 항상 가치가 있음 • 어려움을 쉽게 설명할 수 없다면, 그것은 아마도 우발적 복잡성일 것이고, 이 문제는 해결할 가치가 있음 • 버그를 한 층 더 깊이 해결하려고 노력하기 • 버그 조사를 위해 히스토리를 파고드는 것의 가치를 과소평가하지 말 것 • 나쁜 코드는 피드백을 주지만, 완벽한 코드는 그렇지 않음. 나쁜 코드를 작성하는 쪽으로 오류를 범 할 것 à 주의 나쁜 코드의 사례를 잘 생각해야 함 • 특정 상태를 표현할 수 없게 하기 위해 데이터 수집을 재작성하는 대신, 몇 가지 핵심 검사점에서 불변성에 대한 어설션을 몇 개 추가함 • 서버 모델이 작성할 DTO와 정확히 동일하므로 그냥 직렬화함. 모든 상용구를 작성하는 대신 필요에 따라 나중에 DTO를 작성할 수 있음 • 이 컴포넌트들은 사소하고 버그가 있어도 큰 문제가 없으므로 테스트 작성을 건너뜀 • 디버깅을 쉽게 만들기 • 팀에서 일할 때는 항상 질문하기 • 배포 주기가 매우 중요함. 빠르고 자주 배포할 수 있는 방법을 신중히 고민해야 함 OKdevTV (개발) 15년 전의 나에게 해주고 싶은 프로그래밍 조언 1
  • 6.
    • https://news.hada.io/topic?id=15924 • CrowdStrike는오랫동안 해커로부터 고객 네트워크를 보호하기 위한 클라우드 기반 소프트웨어인 엔드포인트 탐지 시장을 지배한 회사 • CrowdStrike는 사이버 보안 회사가 원격으로 업데이트할 수 있 는 클라우드 기반 보안 소프트웨어를 채택하도록 설득하는 데 앞 장서 왔음 • 금요일 아침(미국 시간) 중단 사태로 인해 전 세계적으로 PC 시 스템이 다운되었고, 많은 장치에서 "BSOD 블루 스크린 오브 데 스"라고 알려진 오류 화면이 표시됨 • 항공편이 지연되고, 일부 911 대응이 중단되었으며, 은행 거래가 지연됨 • 보안 관계자에 따르면, 보통 "점진적으로 소규모 배치 업데이트 를 하는데 이렇게 모든 고객에게 대량 업데이트 한 것"은 CrowdStrike가 설명해야 할 실수임 OKdevTV (보안) CrowdStrike의 위기, 라이벌들에게 공격의 기회를 제공하다 2 happy international bluescreen day😍 via @sxchopea)
  • 7.
    OKdevTV (HR) 2024년 Frontend취업이 더 어려운 이유와 성공사례 3 • https://velog.io/@whatever/2024년-Frontend-취업이-더-어려운-이유와-성공사례 • 시장 상황에 따른 전체 개발자 수요 감소가 큰 원인 하지만 현재 프론트엔드 개발자의 경쟁률은 다른 개발 직군에 비해 눈에 띄게 높음 • React 개발자의 공급이 특히 많아졌고, 그에 반해 기업은 까다롭게 뽑기 시작했다. à 공급은 많고 수요는 작아짐 • 스타트업은 역량 중심의 채용에 더욱 진심 • 신입을 채용하더라도 사용자들이 볼 수 있는 만큼의 충분한 개발 경험이 있는지, 하나의 제품을 만들 때 애착을 가지고 실제로 개 선해본 적이 있는지와 같은 실질적인 경험을 요구 • React로 블로그를 만들었거나, 클론 코딩을 하는 것은 기업 입장에서 매력적이지 않음 • 어떻게 해야할까? • 기초를 튼튼하게 • 기업들이 원하는 문제를 해결하는 역량 확보 à 사용자의 문제를 고민하고, 이를 기술로서 해결 • 실천 방안 • 사소하더라도 주변의 문제를 서비스로 만들어보기 • 라이브러리에서 해결한 기술적 문제를 끝까지 파보기
  • 8.
    OKdevTV (우리가 몰랐던 사실).DS_Store의 기원은? 4 • https://www.arno.org/on-the-origins-of-ds-store • MacOS X에서 파인더를 재작성하기로 결정을 내림 à 기존 코드베이스가 너무 오래됨(8년) • 파인더 백엔드와 프론트엔드로 나눠짐(Finder_FE/Finder_BE) • 아이콘 네비게이션 서비스를 데스크톱 서비스(DS, Desktop Service)로 결정 à 그래서 아이콘 관련 정보를 담는 폴더를 앞에 . 을 추가한 .DS_Store로 결정 • 이름을 다르게 바꾸기에는 너무 늦었음 • 한 가지 골치아픈 버그 • .DS_Store 파일이 과도하게 생성되는 문제 à 사용자가 보기 설정을 조정하거나 폴더에서 아이콘 수동 위치를 바꿀 때만 만들어 져야 하는데… 폴더를 방문하면 만들어짐. ㅠㅠ
  • 9.
    • https://github.com/sosy-lab/cpu-energy-meter • 인텔CPU의 전력 소비를 미세한 시간 단위(수십 밀리초)로 모니터링할 수 있는 리눅스 도구 • 소켓, 코어 별 전력 모니터링 • 통합 그래픽 전력 모니터링 • 메모리 노드별 전력 모니터링 • RAPL (Running Average Power Limit) 기능을 사용 OKdevTV (도구) CPU Energy Meter 5
  • 10.
    • https://news.hada.io/topic?id=15857 • AWS는Generative AI(GenAI)에 지나치게 집착하여 AWS를 AWS답게 만드는 모든 것을 외면하고 있음 • 2024년에는 AWS의 GenAI 집중도가 히스테리컬한 수준으로 높아짐. AWS 서밋의 80% 이상이 GenAI에 관한 것이었고, 연 례 보안 컨퍼런스도 GenAI 시대의 보안을 주제로 함 • GenAI를 광범위하게 사용하고 있지만, 이는 기존 비즈니스에 새로운 기능을 더하는 것임 • AWS는 개발자들이 핵심 인프라에 집중하지 말고 대신 GenAI에 시간을 써야 한다고 암시적으로 전달하고 있음 • AWS가 GenAI 제품을 구축하지 말아야 한다는 것이 아니라, GenAI 전용 회사인 척해서는 안 된다는 것임 • 과거에 지원했던 비즈니스 제품도 여전히 소중히 여겨야… • 개발자의 고충에 귀 기울여야 함 • 성능/신뢰성/비용 효율성/보안/운영 우수성/지속 가능성 등 인프라 기본에 충실 OKdevTV (오늘의 논쟁) AWS님들, 저 다시 클라우드 엔지니어가 되게 해주세요 6
  • 11.
  • 12.
    • https://ntietz.com/blog/til-uses-for-the-different-uuid-versions/ • 요약정리 • V4: 랜덤 ID가 필요한 경우 • V7: 정렬이 필요한 경우 • V5/V8: 전용 ID 정책이 필요한 경우 OKdevTV (우리가 몰랐던 사실) UUID 버전은 여덟가지??? 8
  • 13.
    • https://news.hada.io/topic?id=15851 • 모든사람은 언젠가는 평생 해왔던 일을 더 이상 할 수 없게 되는 시점에 도달함 T_T • 문제점: 오래 코드를 작성하며 경력을 유지하기 어려움 • 기본적으로 프로그래머가 너무 많음 T_T • 엄청난 변화가 있는 업계에서 그렇게 오랫동안 경력을 유지하기는 어려움 • 주의 사항: 경력과 능력은 상관없음 • 나이 때문에 사람을 차별해서는 안 됨. 나이와 능력은 상관없음 • 나보다 나이 많은 사람 중에는 뛰어난 사람도 있고 무능한 사람도 있었음 • 20대에도 뭐든 성공적으로 작성할 수 있는 사람이 있는 반면, 단순한 개념조차 이해하지 못하는 사람도 있음 • 진실: 모든 사람은 언젠가 직업, 고용주, 업계, 심지어 전체 경력이 끝나는 시점에 도달함 • 뒤쳐지고 있다는 것을 발견하고 강제로 밀려나는 것보다 솔직해지고 현명한 결정을 내리는 것이 더 낫게 느껴짐 • 당신의 경력은 당신 것임. 최선을 다해야 하며 끝낼 때도 당신 몫 OKdevTV (HR) 떠날 때를 아는 방법 9