2024년 6월 24일 개발 이야기 - 메시지 큐 기반 아키텍처가 요즘 인기가 떨어지는 이유는 뭔가요?Jay Park오늘자 방송: https://www.youtube.com/watch?v=aD6dkA-756w&list=PLdntWJk2tJPKvRB0mSqC5tyKUv7HFtcqg
2024년 5월 27일 개발자 이야기 - 2024년 자바 생태계 정리(by 뉴 렐릭) 외Jay Park유튜브에서 방송한 자료입니다. 오늘자 방송: https://www.youtube.com/watch?v=gI1NrJfdueU&list=PLdntWJk2tJPKvRB0mSqC5tyKUv7HFtcqg&index=1&t=25s
VSTS와 Azure를 이용한 팀 프로세스 관리Gyuwon YiVisual Studio Team Service와 Azure를 사용해 계획, 코딩, 테스트, 빌드, 배포, 모니터링, 진단 등 소프트웨어를 개발하는 과정의 다양한 작업들을 관리하고 자동화하는 방법을 실제 사례에 기반해 설명한다.
하드웨어 스타트업의 소프트웨어 이야기Mijeong Park어느날 우연히 스위처 소방수로 참여해서 2달 동안 수행한 일들을 공유합니다. 그 첫번재 이야기 ‘기본을 지키자’ 입니다.
전체를 리드하면서 업무를 진행해본 첫 경험이기도 했고, 유저가 증가하며 서비스되고 있는 프로젝트를 A to Z로 혼자 감당해본 첫 경험이기도 했습니다.
새로운 서버를 설계하고 개발하면서, 레거시 안정화 및 이슈 응대를 모두 병행하는게 쉬운 일은 아니었지만, 핑계대지 않고 하나하나 기본을 다져 보았습니다!
아직 갈길이 멀었지만, 성장해가는 아이오(스위처)의 소프트웨어 이야기를 하나씩 하나씩 풀어보려 합니다 ;)
2024년 7월 10일 개발 이야기 - 엔지니어링 분야에서 시니어 레벨 이상으로 성장하는 데 필요한 3가지 핵심 기술Jay Park오늘자 방송: https://www.youtube.com/watch?v=1FiAGFUnTUU&list=PLdntWJk2tJPKvRB0mSqC5tyKUv7HFtcqg
VSTS와 Azure를 이용한 팀 프로세스 관리Gyuwon YiVisual Studio Team Service와 Azure를 사용해 계획, 코딩, 테스트, 빌드, 배포, 모니터링, 진단 등 소프트웨어를 개발하는 과정의 다양한 작업들을 관리하고 자동화하는 방법을 실제 사례에 기반해 설명한다.
하드웨어 스타트업의 소프트웨어 이야기Mijeong Park어느날 우연히 스위처 소방수로 참여해서 2달 동안 수행한 일들을 공유합니다. 그 첫번재 이야기 ‘기본을 지키자’ 입니다.
전체를 리드하면서 업무를 진행해본 첫 경험이기도 했고, 유저가 증가하며 서비스되고 있는 프로젝트를 A to Z로 혼자 감당해본 첫 경험이기도 했습니다.
새로운 서버를 설계하고 개발하면서, 레거시 안정화 및 이슈 응대를 모두 병행하는게 쉬운 일은 아니었지만, 핑계대지 않고 하나하나 기본을 다져 보았습니다!
아직 갈길이 멀었지만, 성장해가는 아이오(스위처)의 소프트웨어 이야기를 하나씩 하나씩 풀어보려 합니다 ;)
2024년 7월 10일 개발 이야기 - 엔지니어링 분야에서 시니어 레벨 이상으로 성장하는 데 필요한 3가지 핵심 기술Jay Park오늘자 방송: https://www.youtube.com/watch?v=1FiAGFUnTUU&list=PLdntWJk2tJPKvRB0mSqC5tyKUv7HFtcqg
(독서광) 2024년 11월 선택 설계자들 - 어떻게 함정을 피하고 탁월한 결정을 내릴 것인가Jay Park오늘자 방송: https://www.youtube.com/watch?v=zgAlsZCA6wA&list=PLdntWJk2tJPJuQctXMbRDdr9TWOsXClm6
[독서광] 창업가의 질문 - 스타트업을 준비하는 사람들이 궁금해하는 가장 보통의 질문Jay Park오늘자 강의: https://www.youtube.com/watch?v=eIF69CTMO54&list=PLdntWJk2tJPJuQctXMbRDdr9TWOsXClm6
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?Jay Park오늘자 강의: https://www.youtube.com/watch?v=RCecshSbeZA&list=PLdntWJk2tJPJuQctXMbRDdr9TWOsXClm6
(독서광) 쉽고 빠르게 익히는 실전 LLM - ChatGPT 활용부터 LLM 파인튜닝, 임베딩, 고급 프롬프트 엔지니어링까지Jay Park오늘자 강의 링크: https://www.youtube.com/watch?v=LC681iD4kzo&list=PLdntWJk2tJPJuQctXMbRDdr9TWOsXClm6&index=1&t=2s
(독서광) 구술 문화와 문자 문화: 출간 30주년 기념판 (전후 해제 포함)Jay Park오늘자 강의 자료: https://www.youtube.com/watch?v=WJl3KWP0u_Y&list=PLdntWJk2tJPJuQctXMbRDdr9TWOsXClm6&index=1
1. CTO 둘이 풀어드리는 주간 뉴스 2024.9.2방송
제 컴퓨터에서는 잘 동작하는데요???
2. 참고자료
• <컴퓨터 vs 책> 블로그
http://jhrogue.blogspot.com/
• 유튜브 채널 OKdevTV > 재미있는 개발 이야기 리스트
https://www.youtube.com/playlist?list=PLdntWJk2tJPKvRB0mSqC5tyKUv7HFtcqg
• 슬라이드 셰어
/jrogue/presentations
• 채널 박재호(초급 개발자를 위한...) https://www.youtube.com/@채널박재호
OKdevTV
4. ① (개발) 제 컴퓨터에서는 잘 동작하는데요???
② (보안) 구글, 인증서 유효기간을 90일로 단축할지도…
③ (개발) 고객이 생성한 AI 코드를 수정하는 데 지쳤어요
④ (오늘의 논쟁) 그냥 PostgreSQL 쓰세요
⑤ (도구) 2024년 자바 개발자를 위한 도구 목록(feat 젯브레인)
⑥ (개발) Maven 빌드 시간 개선
⑦ (아키텍처) 기능을 제거하기 위한 의사 결정의 어려움
⑧ (우리가 몰랐던 사실) 애플 계산기 버그
⑨ (HR) 상사의 네 가지 유형과 소통법
오늘 소개할 내용
OKdevTV
5. • https://thoughtbot.com/blog/it-works-on-my-machine-why
• 환경
• 컴퓨터 성능 차이(예: 코어 수)
• 개발/디버그 모드 vs 양산/서비스 모드
• 환경 변수 차이
• 테스트 환경의 데이터베이스 vs 양산/서비스 환경의 데이터베이스
• 의존성 차이
• 브라우저 차이
• 캐시된 데이터
• 쿠키 설정 차이
• 보안 설정 차이(uOrigin 설치?)
• CORS
OKdevTV
(개발) 제 컴퓨터에서는 잘 동작하는데요???
1
• 코드
• 브랜치 차이
• 의존성 업데이트 차이
• 커밋 차이
• 기타 이유
• 사용자 권한 차이
• 물리적인 위치 차이
• 기능 플래그 차이
6. • https://www.itworld.co.kr/news/347316
• 구글은 TLS 서버 인증서의 유효 기간을 398일에서 90일로 단축할 계획이 있음
(https://www.chromium.org/Home/chromium-security/root-ca-policy/moving-forward-
together/, 2023년 3월 3일 발표된 내용)
• 보안 강화를 위해 필수적인 조치이긴 하지만, 인증서 관리가 완전 자동화되지 않을 경우에 발생하는 문제
가 더 심각할 수 있음
• 2023년 기업의 SSL/TLS 사용이 평균 36% 증가했다는 조사 결과가 있음
• 완전 자동화로 인증서를 관리하는 회사 비율은 높지 않을 것임(설문조사 결과 8% 정도 → 한국은 더 낮을 가능성이 높음)
• 대부분 엑셀과 이메일을 사용해 수동으로 관리하지 않을까?
• Certbot 활용!!!
• https://certbot.eff.org
• EFF에서 진행하는 프로젝트(Let’s Encrypt!(https://letsencrypt.org/ko/)와 연계)
• 윈도우, 리눅스, 맥OS 등 다양한 운영체제 지원
• 아파치, Nginx, HAProxy 등 다양한 소프트웨어 스택 지원
OKdevTV
(보안) 구글, 인증서 유효기간을 90일로 단축할지도…
2
7. OKdevTV
(개발) 고객이 생성한 AI 코드를 수정하는 데 지쳤어요
3
• https://news.hada.io/topic?id=16418
• 개인용 암호화폐 거래/데이터 수집 도구를 SaaS 향으로 서비스하면서 API를 고객에게 공개함
• 기능 발표와 지원을 위해 텔레그램 방을 개설해서 피드백을 받기 시작
• 하지만 고객 기반이 증가함에 따라 시간이 점점 더 증가함
• 짜증나는 것: 지원 요청의 양이 아니라 질
• API는 몇 가지 엔드포인트로 구성되어 있으며, POST 요청으로 해결 가능함
• 하지만 새로운 세대의 프롬프트 엔지니어 코더들에게는 기준이 너무 높음 → 종종 존재하지 않는 엔드포인트에 액세스하거나 존재하지 않는 API 응답에서 속성을
읽으려고 하는 형태로 나타남
• 조사 결과 ChatGPT가 환각에 빠져 엉뚱한 엔드포인트와 속성을 만들어냄(이유를 생각해봅시다!)
• 단순한 스크립트를 작성하려는 경우 도와주고 Hallucination을 수정함 - 많은 노력이 필요하지 않고 잠재 고객을 만들어냄
• 그러나 종종 고객은 더 복잡한 애플리케이션을 구상하고 있으며, 나는 그들에게 "죄송합니다. 전문 개발자를 고용하세요"라고 말해야 함
• 기본적으로 내가 자신들의 전체 앱을 무료로 만들어주기를 바라는 고객들로부터 많은 분노의 메시지를 받았음
• 고객들이 자신의 능력이 없기 때문에 소프트웨어 엔지니어링을 AI에 오프로드할 때, 그들은 여전히 AI가 만드는 버그를 고칠 개
발자를 찾아야 함 → 나는 그 개발자가 되고 싶지 않음. T_T
8. OKdevTV
(오늘의 논쟁) 그냥 PostgreSQL 쓰세요
4
• https://news.hada.io/topic?id=16365
• Sqlite가 아닌 이유
• 파일 하나에 저장하므로 애플리케이션이 단일 기기에서만 동작함
• 백업, 복제, 다중 애플리케이션 서버와 같은 엔터프라이즈 기능이 약함
• Cassandra/MongoDB가 아닌 이유
• 전제 조건이 안 맞을 가능성이 있음: 예) 일관성 포기, 대규모 데이터 확장에 대한 요구가 처음부터 존재해야 함
• 접근 패턴이 전통적인 트랜잭션 중심의 패턴과는 다르기에 혼란이 발생할 수 있음
• 분석 작업에는 적합하지 않을 가능성도 있음
• 색인으로 성능을 개선하기가 까다로움
• Redis가 아닌 이유
• RAM 용량 제한
• 데이터 모델 제약 사항이 존재함
• MSSQL/Oracle DB가 아닌 이유
• 라이선스 비용
• 가격 대비 가치는?
• MySQL이 아닌 이유
• 오라클과 관련이 있음
9. • https://blog.jetbrains.com/idea/2024/07/top-tools-for-java-developers-in-2024/
• 2024년 자바 개발자를 위한 개발 도구 목록
• JDK:
• IDE: 인텔리제이, 이클립스, VSCode
• 의존성/빌드 도구: Maven, Gradle
• 버전 관리 시스템: 깃, 서브버전, 머큐리얼
• 모니터링 도구: 인텔리제이 IDEA 프로파일러, 비주얼VM, J프로파일러
• 데이터베이스 도구: 인텔리제이 IDEA 얼티밋, 데이터그립, 리퀴베이스, 플라이웨이
• 컨테이너와 배포 도구: 도커, 쿠버네티스,
• CI/CD 도구: 팀시티, 깃헙, 깃랩, 젠킨스, 써클CI
• AI 도구: 젯브레인 AI 어시스턴트, 깃헙 코파일럿, 탭나인
• API 관리 도구: OpenAPI, 포스트맨, 젯브레인 HTTP 클라이언트
• 기타: SDKMAN!, Jreleaser, 테스트 컨테이너
OKdevTV
(도구) 2024년 자바 개발자를 위한 도구 목록(feat 젯브레인)
5
11. • https://www.gkogan.co/removing-stuff/
• 제품, 서비스, 회사가 필요 이상으로 복잡해졌다는 피드백을 받은 적이 있는가?
• 파인콘의 사례
• 한 때 필수적으로 여겼던 기능을 제거함으로써 많은 문제를 해결하고 더 나은 결과를 얻음 → 가격 책정 계산기!
• 예비 사용자와 이야기를 나눠보니 계산기 추정치가 너무 높아 가입을 포기함
• 사용자에게 잘못된 신뢰감을 줬기 때문에 고객은 추가로 알아보지 않고 섣불리 포기함
• 내부적으로 혼란을 해결하기 위해 더 큰 혼란을 초래함
• 무엇을 추가해야 하는지 논의하는 회의에서 수천 단어와 수십 시간을 보냄
• 단 한 사람만이 “우리도 계산기가 필요할까요?”라는 질문을 던짐
• A/B 테스트 결과
• 계산기를 보지 않은 방문자는 계산기를 본 방문자보다 가입할 확률이 16%, 문의할 확률이 90% 더 높음
• 결론
• 우리는 보통 빼기보다 더하기로 문제를 해결하려고 시도함
• 빼는 것보다는 더하는 것에 보상을 더 많이 받음
• 뭔가 기존에 존재하고 있다면, 정당한 이유가 있어 그렇다고 생각함
• 변화에 대한 혐오감은 생각 이상으로 강함
• 하지만 비필수 요소를 과감하게 제거하여 단순화하면 큰 성과를 얻을 수 있음
OKdevTV
(아키텍처) 기능을 제거하기 위한 의사 결정의 어려움
7
13. • https://publy.co/content/4455
OKdevTV
(HR) 상사의 네 가지 유형과 소통법
9
관계 중시형
ㄴ 티타임, 점심, 회식이 매우 중요함
ㄴ 사적 모임에 빠지지 않고 참석
ㄴ 공식 요청 전에 개인적으로 연락함
개인주의형
ㄴ 쉬는 시간에도 사적 이야기 X
ㄴ 퇴근/주말 후 연락 X
ㄴ SNS 미공개, 남들에게도 물어보지 않음
ㄴ 회식 싫어하고 출결 엄격함
완벽주의형
ㄴ 두괄식 선호, 업무 보고 수시로
ㄴ 진행 상황을 빠르게 공유 받기 원함
ㄴ 정량적인 근거를 중요시 여김
ㄴ 작은 실수에도 예민하게 반응
방목형
ㄴ 업무를 맡겨놓고, 진행 상황만 공유 받음
ㄴ 오래 걸리는 보고보다 간단한 브리핑을 선호함
ㄴ 사실 나열보다 담당자 의견을 듣고 싶어함
ㄴ 본인 의견이 달라도 담당자 의견을 중요시함
ㄴ 책임 회피성 보고에 예민하게 반응함