전체 글
-
이펙티브 엔지니어를 읽고...잡동사니/Developer 2023. 11. 17. 10:24
교보문고 돌아다니다가 눈에 띄여서 구입했고 ... 생각보다 책이 아주 얇다 .. 그것이 선택이 이유다 ! 솔직하게 얇아서 샀다!! 99% 진심이였고 막상 펼쳐놓고보니 결론부터 말하면 다 알고있는 내용이고 다 너무 당연한 내용들이였다. 그럼에도 불구하고 이책을 소장하기로 마음 먹은것은 아는것과 그것을 실천하는것은 엄연히 다르다는 사실이라는 것과 내가 무심코 지나치고 잊는 것과 잊지 않는것은 아주 많은 차이의 결과를 도출시키는것이란것을 알기에 소장하기로했다. 원래는 책을 어렸을때부터 닥치는 대로 많이 읽었지만 ... 언젠가 부터는 남들과 비슷한 핑계로 1년에 1~2권도 간신히 읽는 편이다. 그 흔한 만화책 조차도 안본지 몇년은 된거 같다. 디지털화된 생활에 유튜브나 숏폼 을 통해 지식을 손가락으로 취득하는 ..
-
Spring Boot Version 올리기 - feat. 순환 참조(Circular References)Spring/Spring Boot 2023. 8. 28. 08:47
이젠 놓아주자... Spring boot 3 가 드디어 출시 하였다 .. 라고 하기엔 좀됬다 ... Spring framework 5.0 을 이제 슬슬 놓아 줘야 하겠지만.. 아직 현장에는 Spring boot 1.x 버전도 돌아다니는곳이 많다. Spring boot 를 현재 2.1 버전으로 구축 되있는 영역을 버전을 높이기위한 준비를 진행 하기로 했다. 목표는 Spring boot 3 이 목표다 이유는 아래와 같다. 1) Spring boot 2.7 버전 지원이 몇년 남지 않았다. 2) Java 8 은 이제... 그만... 3) 라이브러리들의 호환성... 챙겨 보자 4) 프레임워크의 버전이 높아 짐에 따라 가져갈수 있는 안정성 일단 , 버전업을 하기전에 여러가지 검토가 필요하다. 버전을 어디까지 올릴수..
-
2022 NHN Forward 후기 Part.1컨퍼런스/2022-NHN Foward 2022. 12. 12. 09:55
얼마만의 컨퍼런스인가.... 코로나 때문에 대부분 온라인으로 하던 컨퍼런스들이 이제는 점점 오프라인에서 하기 시작한 거 같다. 19년도에 참가하고 참 오랜만의 컨퍼런스 참가이다. 19년도에 참가했을 땐 뭔가 NHN Forward 참가 자체가 그리 어렵지 않았다. 아무래도 다니던 회사가 NHN의 투자 회사였고 , 그리고 같이 계시던 CTO님의 배경(?) 덕도 톡톡히 봤기 때문에 당연하게 참가 가능한 것처럼 생각했던 거 같다... 회사가 어려워져서 퇴사하지 않았다면 아마 올해도 무난하게 참가했을 거라 생각했을지도 모르겠다. 다른 여느 컨퍼런스와 동일하게 참가 신청을 했다. 생소한 체험은 아니지만 뭔가 낯설긴 했다. 그리고 인원 제한이 있는 만큼 마을 비우고 참가 신청 완료 ! D2 와 NDC 의 쓰라린 실패..
-
Git 문제 해결 - (1)Devops 2022. 9. 5. 15:45
원격 브랜치 명이 변경됬을때 Git 사용시 내가 사용하는 저장소의 브랜치 명이 바뀔때가 있다. 그럴경우 현재 내 로컬 저장소와 서로 명칭이 안맞게 되고 push 시 제대로 이루어지지 않게 된다. 그렇다고 다른 브랜치로 checkout 시도시 문제가 생기는 경우가 있다. 이럴때 아래 순서대로 진행하면 현재 내 로컬 저장소에 브랜치명들을 최신화 가능하다. 1) 브랜치 정보 초기화 : git remote prune origin 2) 브랜치 최신 정보 업데이트 : git remote update --prune 3) 브랜치 변경사항 체크 : git fetch -p 4) 브랜치 이동 : git checkout development 원격 재설정이 필요할때 Git 원격 브랜치들을 사용하다보면 이젠 사용하지 않지만 내것..
-
Python - 데이터베이스 비동기 처리 ( SQLAlchemy )Python 2021. 11. 25. 17:12
비동기 처리를 위해선 통신뿐만 아니라 데이터 베이스 처리 부분도 비동기 처리가 되어야만 완벽한 비동기 처리가 가능하다. java 에선 R2DBC 가 있지만 아직 정식 버전이 아니고 안정성도 보장돼있지 않다. 찾아보면 아직까지는 시범적으로 사용해보라고 하지만 python에서 사용하는 sqlalchemy 경우 지원하기 시작한 지 기간이 좀 됐고 지속적으로 버전이 올라가면서 잘 지원이 되고 있는 거 같다. 설정 일단 사용을 위해서 sqlalchemy 를 설치해줘야 하고 드라이버도 일반 동기 드라이버가 아닌 비동기 드라이버를 사용해야 한다. SQLAlchemy 1.4 버전이상 부터 Async를 지원한다. pip3 install aiomysql pip3 install sqlalchemy 기본 설정 및 사용 여러 ..
-
Mongo DB - 대량 데이터 Insert 성능 ( feat. mongoengine )NoSql/MongoDB 2021. 11. 24. 16:27
몽고를 제대로 쓰기 시작하면서 몇 가지 알게 될 것들을 정리해보고자 한다. 그 첫 번째 순서... 대량으로 입력할 때 어디까지 얼마나 걸릴까...? 막연하게 기존에 RDB 보다 대량 입력에 뛰어나다고는 알고 있지만 실제로 어느정도까지 수행이 가능할지 테스트해보고자 했다. 분명 환경이나 이런것들이 데이터 이관을 위한 스크립트를 작성하다가 문뜩 기록해보자는 생각이 들어서 작성한 것이기 때문에 완벽한 성능 테스트 구성을 해놓고 했다고 할 순 없다. 일단 환경 조건 자체는 아래와 같다. 1) 몽고 클러스터 : atlas cloud 기반 m10 급 2) 언어 환경 : python , mongoengine 4) select 대상 : AWS RDS 데이터 ( 약 2200만건 ) 중 특정 조건에 해당되는 필터링된 데이..
-
자바공화국에서 Java 개발자의 Python 사용하기 ( feat. 경험담 )잡동사니/Developer 2021. 10. 25. 11:05
언어는 도구이고 그것을 사용하는것은 결국 사람이다! 흔히들 많이 하는 말들중 하나가 결국 어느정도 수준이되면 언어는 단순 도구에 지나지 않는다고 한다. 개발자들에게 유명한 이야기지만 남자들이라면 무협지에서 흔하게 많이 나오는 말중 하나다. 결국 모든 길은 하나로 통하게 되고 그 끝에 다다르면 내손에 무엇이 쥐어져있는건 그렇게 중요하지 않다 최근에 이직을하고 새로운환경 새로운 사람들과 일을 시작하다보니 나 스스로도 배울것이 아주 많아 졌다. 간만에 느껴보는 쫄깃함(?) 이랄까? 10년차 개발자가 되면서 사이드로 여러가지 언어들을 사용했지만 결국엔 자바공화국에 사는 대한민국 개발자로써 메인은 항상 자바였다. 자바를 사용하면서 다른언어들에 대해서 관심이 없던것은 아니였고 성격상 다른것들을 조금씩 해보는 수준이..
-
Spring boot - API 서버 만들기 ( ft. Kotlin ) - ( 2 )Spring/Spring Boot 2021. 9. 9. 10:45
이전 글에서 ( https://ellune.tistory.com/69 ) 간단하게 설정을 한상태에서 패키지 구성과 간단한 추가 환경 설정에 대해 기록할 예정이다. 패키지구성 자체는 사람마다 다 다른편이고 선호하는 방식도 각자 다르다. 개발자의 스타일이 나온다고 해야할까 ? 그렇기 때문에 정해진 정답은 없지만 지켜야할 몇가지 컨벤션들은 정해져 있다. 그중 내가 스스로 지키고 있는 컨벤션 몇가지를 나열하려고한다. 1) 대문자를 사용하지 않는다. 2) 최대한 명사 단위로 사용한다. 3) 모든 패키지는 서비스 단위 도메인별로 그룹핑한다. 4) 기본적인 controller , service ,repository 구성을 지킨다. 5) 데이터들은 domain 이란 패키지명을 이용하고 그안에서 vo , dto , en..