전체 글319 근황 블로그를 늘 적어야지!라고했었는데대형 SI프로젝트를 하면서신규기능도 만들고시큐어코딩을 담당하여 코드 분석을하고있었고각종 욕심이 많아서CQRS는 도입이 완벽하게 힘들어서 인프라가 이미 결정된상황에서 읽고 쓰는방식을 비슷하게 사용하여읽는 속도개선을 진행해보겠다고 하고..네 일사서하고있습니다..읽고쓰기 개선-현재 특정 화면에서 페이징을 이용하였음에도 속도 개선이 이뤄지지않음- 원인 조회할때마다 필터링, 계산로직의 이유로 많은 자원소비--> 쓰기 에대한 값이 변경되었을때 임시테이블에 계산로직에 대한 값을 저장 (변경이 되지않더라도 사용자가 또한 계산시도시 갱신가능)——> 읽기는 임시테이블에서 필터링만 작업---> 보안장치를 위해 매번 자정마다 읽기테이블 순차적 갱신 추가등등... 욕심이 많아서 늦퇴 운동 공부.. 2025. 10. 3. [PL/SQL] 선언부(declarative part) PL/SQL은 Oracle Database에서 절차형 로직을 구현하기 위해 사용되는 강력한 언어그 중 선언부(declarative part)는각종 변수, 커서(cursor), 예외(exception), 사용자 정의 타입(type) 등을 미리 정의해 두는 영역으로,본문(executable part)에서 사용할 데이터를 준비하는 역할을 합니다.선언부를 잘 설계하면 코드 가독성·유지보수성은 물론 성능까지 크게 개선할 수 있습니다. 선언부의 위치와 기본 구조CREATE OR REPLACE PROCEDURE proc_exampleIS -- 혹은 AS (AS를 써도 되고 IS를 써도된다) -- ← 여기부터 선언부 시작 v_emp_id EMPLOYEE.EMPLOYEE_ID%TYPE; .. 2025. 8. 8. [배포도구] 이노 셋업 (Inno Setup) : 내가만든 exe를 설치파일으로 변환하는 프로그램 이노 셋업(Inno Setup)Pascal 기반의 스크립트로 설치 마법사를 만들 수 있는 무료 설치 프로그램 생성 도구입니다.윈도우용 설치 프로그램을 만드는 강력하고 가벼운 도구로, WPF나 WinForms 같은 데스크탑 앱 배포에 적합합니다!장점무료이며 상업적 사용 가능설치 마법사 UI 자동 생성언어팩 지원파일 복사, 레지스트리 등록, 바로가기 생성 등 다 가능압축률 좋음우선 설치방법부터 알아보겠습니다~ 1. 설치설치링크 : https://jrsoftware.org/isinfo.php 설치 파일을 실행하시면 설치 진행하시면서 다넘어가는데iss확장자는 연결하는 게 좋습니다. 다 설치가 되었으면 이제 설치 패키지를 만들어보겠습니다. 2. 설치 패키지 스크립트 작성1) Welcome 창실행을 처음으로.. 2025. 6. 24. [springboot] @Value와 싱글톤 공유 문제로부터의 교훈 문제 상황개발 중 GPT 추천 기능에서 @Value("${openai.prompt}")로 주입된 프롬프트 템플릿 문자열을 기반으로 사용자의 MBTI, 선택지, 목표 등을 바꿔서 요청하는 로직을 만들었다.처음에는 문제없이 잘 동작했다고 생각했지만, 서버 배포 후 이전 사용자의 값이 그대로 반영되어 응답되는 버그가 발생했다. 프론트엔드 : 어 .. 전 분명 토마토와 각종 과일중에 먹을걸 추천해달라했는데 산과 바다중에 고민해요..?! 문제의 코드//... 생략@Servicepublic class RecommendService { @Value("${openai.prompt}") private String promptTemplate;//... 생략 private String put.. 2025. 6. 2. [클린코드] 추상화와 클린코드? 추상화(abstraction): 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념 또는 기능을 간추려 내는 것 (컴퓨터과학 - 위키백과) 소프트웨어 공학을 공부하다 보면 소프트 웨어 = 프로그램 + 문서 프로그램 = 소스코드와 데이터이 내용부터 배우고 시작하였다그리고 나서 OOP에 대해서 배우고 추상화라는 개념도 자세하게 배우는데 추상화가 클린코드에 어떤 부분에서 고려를 중점으로 해야할지 고민을 해본 적이 없었다. 추상화를 한다는것은 즉 핵심적인 내역을 간추려 냈다는 것인데좋은 코드를 짜기위해서는 남들이 봐서도 그 간추린 내용을 유추할 수 있어야 한다. 아! 추상화를 하는게 중요한것보다 추상화를 잘 하는것이 제일 중요하다는 것을 느꼈다. 그래서 클린코드 입장에서 추상화를 한번 적어보았다. 예시를 .. 2025. 5. 27. 오랜만에 가벼운 WIL(Work I Learn & diary) - 2024년 4월 2주차 (4.07~4.13) 가벼운 WIL(Work I Learn & diary) 매주 회사에서 성장해 나아가는 모습을 일기형식으로 적어보기나중에 제가 이랬던 저를 보면서 흐뭇해 하기를 바라면서 :) Event신규기능설계로직분석 및 구상틀 작성기술부채에 대한 경험이번주 동안에 느낀점한동안 신규기능을 많이 만들어 내고 시간날때마다 만든 기능과 각종 기능들을 검수도 진행하였다.그러면서 FP(기능점수)를 간이법으로 산출하기도 하였고 한동안 바쁜 나날 에 몸이 좀 힘들어서 쭈욱 한번 휴식을 취했다.힘들어도 달리면 언젠간 못달리니까 적당히 달리기위해서 몸을 회복하는 시간을 가졌다. 이번엔 기술부채에 대해서 경험이다.예전에 일어난 고질적인 하나의 문제가 있었다고한다.그 문제는 정말 사소로운 문제였고 그냥 간단하게 Y , N가 쓸때없이 추가된 .. 2025. 4. 14. [Docker] Mysql 컨테이너 한글이 입력이 안되는 경우 증상Docker Mysql 컨테이너를 실행하여 mysql은 잘 실행이 되고 있었으나insert를 위해서 한글을 입력하고자 할때Mysql 콘솔에서 한글이 입력되지 않는 경우였습니다.INSERT INTO test(user_name) VALUES('춘식이');을 입력을 하거나 복사 붙여넣기를 하면INSERT INTO test(user_name) VALUES('');로 되는 상황이 발생하였습니다.해결 순차적 정리1. 컨테이너 내부 접속실행 중인 컨테이너 확인docker ps docker exec -it container_name bashmysql에 접속후 클라이언트 문자셋확인mysql> SHOW VARIABLES LIKE 'character\_set\_%';+--------------------------+.. 2025. 3. 26. 가벼운 WIL(Work I Learn & diary) - 2024년 2월 2주차 (2.03~2.09) 가벼운 WIL(Work I Learn & diary) 매주 회사에서 성장해 나아가는 모습을 일기형식으로 적어보기나중에 제가 이랬던 저를 보면서 흐뭇해 하기를 바라면서 :) Event통합테스트이번주 동안에 느낀점이번주는 통합테스트를 준비하였고통합테스트를 진행했다 해당과정속에서 에러가 무었이 났고 어떤점이 부족한지를 분석하였고나도 데이터를 준비하고 직접 테스트를 해보는과정으로 실제 사용자를 경험하듯이 해봤고사소한 버그를 발견해서 수정을 하였다 통테를 준비를 하는 과정에서 팀원의 실수를 발견했지만 이게 팀이죠~ 하면서 다행히 퇴근전에 발견해서 자연스럽게 통테를 준비하였다.그날 저녁에 고맙다고 밥을 사주셨고 개발스킬도 중요하지만 협업과 팀원간의 유대도 중요하다고 배운 한주였다. 2025. 2. 10. 가벼운 WIL(Work I Learn & diary) - 2024년 1월 4-5주차 (1.20~2.02) 가벼운 WIL(Work I Learn & diary) 매주 회사에서 성장해 나아가는 모습을 일기형식으로 적어보기나중에 제가 이랬던 저를 보면서 흐뭇해 하기를 바라면서 :) Event설날내생일통합테스트준비 - 시나리오사이드프로젝트 기획서 정리 이번주 동안에 느낀점이번주는 정리를 하려고했는데 주말간 시골가는 문제로 한번에 정리를 하기로 마음을 먹었다.우선 4주차에는 통테준비와 신기능을 위한 인터페이스 연결 준비 및 조회 화면을 제작하기 위한 기획/ 페이지 정리를 하였고 간단한 sql을 이용한 조회기능을 살짝 미리 추가를 해놨고- 기존에 버그 및 로직상 문제가 되는 에러를 수정하였다 - SORT조건에 대한 null값이 있어 조건 수정 - 계산 로직에 예외 처리 추가 - 예외처리에 대한 문제로 .. 2025. 2. 3. 가벼운 WIL(Work I Learn & diary) - 2024년 1월 3주차 (1.13~1.19) 가벼운 WIL(Work I Learn & diary) 매주 회사에서 성장해 나아가는 모습을 일기형식으로 적어보기나중에 제가 이랬던 저를 보면서 흐뭇해 하기를 바라면서 :) Event트러블 슈팅이번주 동안에 느낀점너무 바빠서 적는것도 주말에도 너무 바빳다한주간 부서를 옮긴 이후 각종 이슈에 대한 모든 트러블 슈팅을 담당하였다117개의 기능을 다 트러블슈팅을 진행한다...엄..ㅎ.. 근데 로직은 이제 좀 잘보겠다 2025. 1. 21. 이전 1 2 3 4 ··· 32 다음 728x90