1. 유용한 개발 관련 아티클 및 영상 #3 MySQL의 VARCHAR와 TEXT MySQL의 VARCHAR 컬럼에는 최대 저장 가능 길이가 있음(65535 바이트) 하나의 VARCHAR 컬럼 길이가 너무 크면, 다른 컬럼들이 사용할 수 있는 최대 공간의 크기가 영향을 받게 됨 TEXT나 BLOB와 같은 LOB 컬럼은 이 제한 사항에 거의 영향을 미치지 않음 따라서 많은 컬럼을 가진 테이블에서는 VARCHAR 타입 대신 TEXT 타입을 사용해야 할 수도 있음 하지만 LOB 컬럼은 데이터가 크다면 외부 공간에 저장하게 되므로 조심해야 함 출처: https://medium.com/daangn/varchar-vs-text-230a718a22a1 구글 테스팅 블로그에 올라온 PR 꿀팁 출처: https://tw..
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) 알뜰한 아키텍처를 이야기한 이유 아이러니하게도 클라우드 컴퓨팅이 기존 온프레미스 시대의 하드웨어 제약을 없앴음 원래 창의성과 혁신은 바로 기술의 제약에서 옴 클라우드 시대에 해당하는 새로운 제약 조건은 비용이며, 이를 통해 새로운 창의성을 발휘하고자 함 알뜰한 아키텍처의 원칙과 사례 요약 비용을 (비기능적) 요구사항으로 설정하라 비기능 요구사항은 특정 기능보다는 시스템 작동을 판단하는 기준임 개발 및 운영 과정의 모든 단계에서 비용을 고려해야 함 시스템을 비즈니스 운영 비용에 맞춰라 시스템을 설계/구축할 때는 수익을 고려해야 함. 돈을 버..