전체 글 151

공부공부-20230726(스터디, Go, 쿠버네티스)

회사에서 기술 공유 모임 = 스터디 에 참여하고 있다. 7월 25일의 주제는 대략적으로 Go에 대한 이야기가 많았는데 아무래도 go를 이용해서 실시간 서버 구축하는 일이 많아서 그런 것 같다. 일단 Go 언어에 대한 이야기로는 switch문 case에 무조건 break가 걸린다는 점, failthrough를 각 case마다 써야 break가 무시된다고 한다 전위 연산자가 없다는 점, 근데 후위 연산자는 또 있다는 점 규칙이 강하다는 점 (이거때문인지는 모르겠는데 아무튼 그래서 어떤 go프로젝트를 보아도 비슷하다고 하셨다) init 함수를 여러번 쓸 수 있다는 점(위에서부터 순차 실행) 러닝 커브가 낮은데 쓰는 회사가 꽤 돼서 주니어 개발자 중에서 적당히만 해도 회사가 뽑으려고 한다..? (기억이 잘 안난..

공부공부 2023.07.26

20230703

러스트 지난 29일 모닝 블로그에서 러스트에 대해 알아보았는데 생각보다 흥미로웠다. https://okky.kr/articles/1433322 위의 블로그는 나에게 러스트 예고편같은 느낌이다. 찾아서 공부해보면 좋겠다는 생각이 든다. 프로그래밍 언어 순위 https://www.tiobe.com/tiobe-index/ 파이썬이 1등이고 어셈블리가 10등이다..(그걸 어떻게 쓰고 있는걸까..) 최근 관심을 가졌던 클로저는 50위 안에 없었다. 완벽한 함수형 프로그래밍 언어이고 다른 것을 대체할 수 있다고 했지만 실제로는 사람들의 관심을 끌지는 못했던 걸까 싶었다. 러스트는 20등이다. C, C++의 메모리 누수를 보완하고 Java, Go의 느림을 보완한 언어라고 해서 관심을 가지고 있었는데 2015년도인가부..

모닝 블로그 2023.07.03

20230629

모닝이고뭐고 읽고 남기기만 하면 그만이다.. 러스트 https://www.technologyreview.kr/how-rust-went-from-a-side-project-to-the-worlds-most-loved-programming-language/ 읽다보니 너무 흥미롭고 재밌어서 가지고 온 부분인데 러스트는 자체적인 가비지 컬렉터 요소가 존재하지 않기 때문에 가비지 컬렉터가 작동으로 인해 발생했던 속도 저하가 발생하지 않게 되었다. ProxySQL https://hakurei.tistory.com/306 DBMS가 과하게 커넥션을 물게될 경우 고가용성을 보장할 수 없기 때문에 중간다리에 ProxySQL을 둔다고 한다. ProxySQL은 DBMS들과 각각 하나의 커넥션만 물고 순차적으로 쿼리를 처리한..

모닝 블로그 2023.06.29

20230628

아침마다 읽고 읽은 내용을 정리하려고 했는데 쉽지가 않다.. 오늘은 TSMC, 뉴스 기사를 읽어보았다. TSMC를 알게 된 것은 얼마 안되었는데 대만 회사라는 것 말고는 아는 것이 없어서 좀 찾아보았다. https://namu.wiki/w/TSMC 파운드리 회사라고 하는데 반도체 설계도면을 전달하면 도면대로 반도체를 생산해내는 회사라고 한다. 우리나라에는 삼성, SK하이닉스가 대표적이다. 2023년 1분기 기준, 세계 점유율 59%에 달하는 TSMC에 비해 삼성전자는 13%로 약 4배가량 높은 점유율을 보여주고 있다. 나무위키 피셜인지 진짜인지는 모르겠지만 TSMC의 모토가 '절대로 자체개발을 하지 않고, 오직 파운드리로서만 회사를 운영한다'라고 하는데 자체적으로 반도체를 개발하기보다는 파운드리만 고집함..

모닝 블로그 2023.06.28

20230622

MySQL 페이징 처리 orders, limit, offset을 이용해서 페이징 처리가 가능하다. limit: '행을 어마나 가져올지' offset: '어디서부터 가져올지' -> (offset + 1)행부터 가지고 온다. # MySQL # 10개를 가져옴 select * from USER limit 10; # 11행부터 10개를 가져옴 # select * from USER limit A offset B -> (B + 1)행부터 A개의 행을 출력 select * from USER limit 10 offset 10; # 11행부터 10개를 가져옴 # select * from USER order limit A, B -> (A + 1)행부터 B개의 행을 출력 select * from USER order limi..

모닝 블로그 2023.06.22

20230619

#1 https://jojoldu.tistory.com/719 100미터 17초에 달리기 최근에 교육생분들을 대상으로 신입 개발자를 준비할때 있었던 일들에 대해 이야기를 나누는 시간을 가졌다. 이제막 개발을 시작하게된 분들도 계시고, 컴퓨터 공학을 전공했지만 계속해서 취 jojoldu.tistory.com #2 https://jojoldu.tistory.com/720 좋은 API Response Body 만들기 기존 SSR 시스템(jquery + Server Template)을 API 기반의 신규 시스템으로 전환하는 작업을 하면서 팀의 백엔드 개발자분들께 Response Body 관해서 종종 코멘트를 한다. 이런 코멘트들이 쌓이다보니 그냥 jojoldu.tistory.com body 값에 boolean ..

모닝 블로그 2023.06.19

공부공부-230529

boiler-plate 테스트 데이터 생성 https://www.arhohuttunen.com/test-data-builders/ 빌더 패턴을 사용하는 방식이 있다. with 메소드로 setter와 비슷하게 값을 세팅하지만 객체를 반환하도록 해서 불변 객체를 유지하도록 한다. 커스텀 예외 관련해서 https://jjingho.tistory.com/121 표준 예외 사용 시 아래와 같은 장점이 있다고 한다. 다른 사람이 익히고 사용하기 쉬워진다. 읽기 쉬워진다. 메모리 사용량과 클래스 적재 시간이 줄어든다. 커스텀 예외를 사용하면 좀 더 이해하기 쉬운 코드가 되지 않을까하는 마음에 사용하였는데 잘 모르고 쓰는 것은 역시 독인 것 같다.. URL DB 저장 http://daplus.net/sql-url에-가..

공부공부 2023.05.29

공부공부-230528

벌써 28일이요..? 자바 문자열 공백 포함 출력 https://kkh0977.tistory.com/356 의외로 간단했다.. String nayoon = "nayoon"; System.out.printf("%10s.", nayoon); // ---- // nayoon. System.out.printf("%-10s.", nayoon); // ---- // nayoon . 문자열 제거 문자열 제거는 trim이나 strip(java 11 이후..)을 쓰면 모든 공백을 제거한다. https://hianna.tistory.com/526 근데 위 블로그를 보면 공백의 종류가 의외로 많다.. 스페이스, 탭.. 등등 그리고 trim은 특정 공백만 제거 가능한 반면 strip은 모든 공백을 제거하는 것이 가능하다. s..

공부공부 2023.05.28

공부공부-230521

Spring Event https://wildeveloperetrain.tistory.com/217 스프링 이벤트를 사용하는 이유는 '의존성 줄이기를 위함'이라고 합니다.. 팩토리 메소드 패턴 https://sun-22.tistory.com/84 장점 1. 객체 생성에 대한 명시적 선언이 가능하므로 코드를 보는 사람들의 이해도가 높아진다. 2. 호출할때마다 인스턴스를 새로 생성하지 않아도 된다. 싱글톤 패턴을 위해 사용된다. 3. 반환 타입의 하위 타입 객체를 반환할 수 있다. 4. 입력 매개변수의 개수에 따라 다른 클래스 객체를 반환할 수도 있다. (객체 생성 코드에 로직을 추가할 수도 있다는 것으로 이해..) 5. 정적 팩토리 메소드를 사용하는 시점에 반환할 클래스 객체가 존재하지 않아도 된다. 단점..

공부공부 2023.05.21

공부공부-230520

4번째 클코 정리 (이렇게 하지 않으면 죽어도 정리를 안한다.. 지독한 놈..) 클코에서 이야기한 좋은 개발자의 개발 방향은 1. 프로그래밍의 기본틀은 OOP 기반(class 기반) 2. 메소드 내부 구현은 FP 지향 3. 객체의 상태관리는 immutable object를 지향 그런데.. 우리가 한동안 열심히 OOP로만 개발하고 살아왔기 때문에 FP를 연습하는 것은 생각보다 쉽지 않은데.. FP를 제대로 연습하고 싶다면 극단적으로 FP를 지향하는 언어로 연습하는게 좋고.. 이러한 언어에는 리습이나 JVM 언어인 clojure와 같은 언어가 있다. 아무튼 직접 공부해보면서 FP를 연습하는게 좋다고 한다.. 변경 가능성이 있을 것은 인터페이스로 분리한다. 인터페이스로 분리 시 변경에 빠르게 대응할 수 있다...

공부공부 2023.05.20