1. 기존 동시성 프로그래밍의 한계와 새롭게 도입될 구조적 동시성 (Structured Concurrency) [ 비구조적 동시성의 한계 ] ExecutorService를 이용한 동시성 적용 개발을 하다 보면 하나의 작업이 여러 개의 하위 작업(Task)들로 나누어지는 경우가 있다. 일반적인 단일 스레드 애플리케이션에서는 하위 작업들이 순차적으로 실행될 것이다. 하지만 만약 각각의 작업이 서로 독립적이고 하드웨어 리소스가 충분하다면, 이를 동시에 실행하여 전체 작업을 더 빠르게 그리고 더 적은 지연 시간으로 처리할 수 있을 것이다. 예를 들어 User와 Order API를 호출하여 얻어온 결과를 사용하는 코드가 있다고 하자. 이때 각각의 I/O 작업이 자체 스레드에서 동시에 실행된다면 더 빠를 것이므로,..
1. 유용한 개발 관련 아티클 및 영상 #2 인공지능이 만든 반도체 시장의 변화 지난해 하반기부터 삼성전자와 TSMC의 영업이익이 엇갈리기 시작함 파운드리 산업(반도체 수탁 생산)의 TSMC는 삼성전자에 육박하는 설비 투자를 진행했음 글로벌 팹리스 산업(반도체 설계)에서 10위권에 대만 회사가 3개나 존재함 대만은 파운드리 산업(반도체 수탁 생산)과 팹리스 산업(반도체 설계)간의 협업이 잘 되는중 우리나라 역시 삼성과 네이버가 결합하여 AI 반도체 생산에 들어가려는 좋은 신호를 보이는 중 출처: https://brunch.co.kr/@graypool/1407?fbclid=IwAR1JJSFBvCEUsj94xzaHDdL9DLZwvbI87CdLV71mKZWqk3Gi5e5Z-6mFQKg 깃헙이 MySQL 5.7..
1. 자바는 Call By Value(Pass By Value) 방식으로만 동작한다 [ 자바 개발자 제임스 고슬링의 얘기 ] 아래의 내용은 자바 언어의 창시자인 제임스 고슬링(James Gosling)이 집필한 “The Java Programming Language”의 일부 내용이다. 어떤 사람들은 객체가 참조로 전달(by reference)된다고 잘못 말한다. 프로그래밍 언어 설계에서 참조 전달(pass by reference)은 인수가 함수에 전달될 때 그 값의 복사본이 아니라 원래 값의 참조를 전달받음을 의미한다. 만약 함수가 전달받은 매개변수를 변경하면 함수를 호출한 코드도 동일한 메모리 슬롯을 사용하므로 값이 변경되어야 한다. 자바는 객체를 참조로 전달하지 않는다(not pass objects ..
1. 유용한 개발 관련 아티클 및 영상 #1 The Frugal Architecture - 알뜰한 아키텍처를 위한 7가지 원칙(아마존 CTO Werner Vogels) 알뜰한 아키텍처를 이야기한 이유 아이러니하게도 클라우드 컴퓨팅이 기존 온프레미스 시대의 하드웨어 제약을 없앴음 원래 창의성과 혁신은 바로 기술의 제약에서 옴 클라우드 시대에 해당하는 새로운 제약 조건은 비용이며, 이를 통해 새로운 창의성을 발휘하고자 함 알뜰한 아키텍처의 원칙과 사례 요약 비용을 (비기능적) 요구사항으로 설정하라 비기능 요구사항은 특정 기능보다는 시스템 작동을 판단하는 기준임 개발 및 운영 과정의 모든 단계에서 비용을 고려해야 함 시스템을 비즈니스 운영 비용에 맞춰라 시스템을 설계/구축할 때는 수익을 고려해야 함. 돈을 버..
2022년 회고를 작성했던 것이 엊그제 같은데 벌써 2023년 회고를 작성하게 되었습니다. 시간이 어쩜 이렇게 쏜살같이 지나갔는지 모르겠는데, 막상 2023년을 돌이켜보면 많은 일들이 있었고 값진 경험을 했던 한 해였습니다. 이번에도 마찬가지로 2023년을 돌이켜보면서 제가 보고 배우고 느꼈던 것들을 공유하고, 돌이켜보며 2024년의 목표를 세워보도록 하겠습니다. 1. 2023년 회고 [ 2023년의 학습과 자기개발 ] 2023년에는 다음과 같은 학습을 진행했고, 상반기에는 목표했던 대로 데이터베이스에 대해 많이 파고들었다. 1월: RealMySQL 1권 & 김영한님 HTTP 강의(2회) 2월: 실용주의 프로그래머 & 2022 If-Kakao, NhnForward & 토비님 스프링부트 강의 3월: 친절한..