본문 바로가기
반응형

분류 전체보기153

http API server (w/o spring) 지난번에 이어 과제테스트에 대한 짤막한 구현을 작성해보고자 한다.저번 게시글에서는 springboot로 간단하게 api를 구현했는데short url short url인스타로 시간 열심히 녹이던 중, 재밌는 게시물을 봤다. 취업할 때 회사에서 이런 과제테스트를낸다고 하던데…  이걸보고 심심하던 차 한번 구현해보고 싶어졌다.아래에 텍스트로 다시 정리hoonzi-text.tistory.com 이번엔 좀 당황스러운 경우를 만나 해당 케이스에 대해 적어본다…. 요즘 회사들중 면접 시 과제테스트를 실시하는 회사들에 대비해서 P사에서모의로 테스트 볼수 있게 만들어 놨다.  vscode server를 통해 과제 내용을 구현하게 되는데과제테스트를 봐본적 없는 나로서는 해당 환경이 처음이었다.intellij 혹은 ecli.. 2024. 9. 28.
spring batch 간략 정리 코드로 보실 분?code → https://github.com/hoonzinope/springbatch-case-test GitHub - hoonzinope/springbatch-case-test: springbatch 기본 구조 작성 및 테스트springbatch 기본 구조 작성 및 테스트. Contribute to hoonzinope/springbatch-case-test development by creating an account on GitHub.github.com 서문배치작업에 대해 학습하라고 하신 팀장님의 명으로 열심히 알아보던 중... 그만 이직에 성공해버리고 말아 중간에 그만하게 되었는데... 많이는 아니지만! 지금까지 작성해 놓은 코드나 내용이 아까워서 그마저라도 적어놓자 싶어 작성하는.. 2024. 9. 17.
springboot 에 redis 세션 서버 사용 회사에서 지금 웹 서비스 중에 하나, 서버 이중화 한다고 세션 이중화 방안에 대해 알아보라고 하셔서...팀 내 공유하려고 정리한 사항 블로그에도 살짝.  문제 상황이중화 시 서버별 세션정보 불일치로 로그인 불가해결 방안sticky session웹 서비스 서버가 여러 대 있을 경우, 접속 시 세션이 생성된 서버로만 요청을 보내게끔 구성단점) 여러대의 서버를 둬도 하나의 서버로만 몰릴 가능성 존재session clustering여러 대의 서버의 세션 저장소를 하나로 관리한 서버에 생성된 세션을 다른 서버 세션 저장소에도 복제단점) 세션 생성 시마다 다른 서버에 복제, 메모리 필요, 성능저하 가능성 존재tomcat all-to-all session replicationtomcat 내 delta manager,.. 2024. 9. 1.
short url 인스타로 시간 열심히 녹이던 중, 재밌는 게시물을 봤다. 취업할 때 회사에서 이런 과제테스트를낸다고 하던데…  이걸보고 심심하던 차 한번 구현해보고 싶어졌다.아래에 텍스트로 다시 정리해 보자면 과제 테스트 요구사항(예시)URL bitly과 같은 단축 URL 서비스를 만들어야 합니다.단축된 URL 내의 키(key)는 8글자로 생성되어야 합니다. '단축된 URL의 키'는 ‘https://bit.ly/3onGwak’에서 경로(path)에 해당하는 '3 onGwak'를 의미합니다. bitly에서는 7글자의 키를 사용합니다.키 생성 알고리즘은 자유롭게 구현하시면 됩니다.단축된 URL로 사용자가 요청하면 원래의 URL로 리다이렉트 되어야 합니다.원래의 URL내로 다시 단축 URL을 생성해도 항상 새로운 단축 URL.. 2024. 6. 14.
java - mybatis 사용 (no spring) 검색하다 보면 mybatis 사용하는 예제들은 다 spring에 붙여서 쓰던데,이번에 나는 executable jar로 말아서 사용했어야 해서 (배치작업용)그것에 대해 작성해보려고 한다.lib 폴더에 jar 파일 가져다 놓고 import 하기db 정보, mybatis 설정, mapper 설정하기이제 사용하기순으로 정리 된다. 필요한 라이브러리를 jar를 받아준다.다른 건 필요 없고, 각 DB에 맞는 라이브러리 와 mybatis 라이브러리 두 개를 넣어준다.eclipse 기준으로 프로젝트 우클릭 → Build Path → Libraries → Add jars 해서 두 개의 라이브러리를 추가해 준다. properties를 설정해 준다.spring에 붙여서 쓸 때처럼 properties를 설정해줘야 하는데db.. 2024. 5. 30.
검색창 debounce 처리 지난 글 말미 (검색 자동완성 with mysql function)에 검색창에 검색추천 시 debounce처리를 해야 한다고 적어놨었는데, 그때 처리한 걸 정리하고자 적는다. debounce란? 짧은 시간 여러번 동작하는 걸 막고, 한 번만 실행하게 해주는 방법으로 보통 웹 화면상에 검색창 검색 시 방문자가 타이핑을 끝내고 난 뒤에만 검색 질의(query)에 대한 제안 옵션을 보여주고 싶을 때 사용한다. 이를 통해 불필요한 네트워크 요청을 줄이고, 성능을 향상시킬 수 있다. 저번 글에선 DB function과 해당 함수를 사용하는 view에 질의를 하는 검색창을 하나 만들었었는데, 이때 한글자 타이핑시 ajax → db query 식으로 동작한다. 이걸 줄여보자. javascript에서는 setTimeo.. 2024. 4. 14.
검색 자동완성 with mysql function 블로그 다른 글에서 검색창에서 자동완성을 위한 자료구조를 쓴 적이 있다. trie라는 자료구조를 이용해 단어를 쪼개고(자음까지) tree로 연결연결 시켜서 자동완성을 구현했었더랬다. 브랜드 이름 검색어 자동완성 with Trie 브랜드 이름 검색어 자동완성 with Trie 인터넷을 돌아다니다 글을 하나 보게 됐다. 카테고리 자동완성 개발기 카테고리 자동완성 개발기 안녕하세요. 29CM 발견스쿼드에서 백엔드개발을 담당하고 있는 이동권입니다. 검색페이지에서 hoonzi-text.tistory.com 그치만 이번에 프로젝트하면서 또 다른 방법으로 구현하는 선임을 보면서 해당 방법을 한번 정리해보고자 한다. 네이버 주식을 보면 검색할 수 있는 부분이 있고, 종목코드, 종목명, 종목명의초성, 종목명+초성으로 검.. 2024. 4. 7.
jar 인자 전달을 쉽게! jCommander 이번 프로젝트를 하면서 jar 파일을 만드는 경우가 생겼는데, 해당 jar는 일정 시간마다 한 번씩 실행되는 걸 염두에 두고 구성되었다. 실행하면 DB1 → 데이터 가공 → DB2 순으로 데이터를 밀어 넣는 방식인데 문제는 해당 jar 파일이 실패했을때를 대비해 jar의 실행 설정을 변경하여, 다시 실행시킬 수 있어야 한다는 점이었다. 우리가 흔히 보는 java의 main 함수는 jar로 만들어 실행 시 파라미터를 args로 받을 수 있다. // $java -jar test.jar date time flag public static void main(String[] args){ // args 로 실행 파라미터를 입력받을 수 있다! String date = args[0]; String time = args.. 2024. 4. 6.
mysql order by equal? mysql order by column 시 column value가 같을 경우, sort 순서는 보장되지 않는다. (결과값이 달라질 수 있다.) 왜? 쉽게 생각해서 table에 저장된 row순으로 출력 되지 않을까 싶은데, 실제로는 table의 row는 disk에 순서대로 저장되지 않고, insert, delete, update 를 거치면서 물리적으로 저장된 순서가 바뀔 수 있고, 그것보다는 order by 사용시 index를 사용하지 못하는 경우, filesort 알고리즘을 이용하게 되는데 해당 알고리즘은 정렬 수행 시 메모리에 임시 테이블을 만들거나, 너무 커서 메모리에 저장 못하면, 메모리가 아닌 디스크에 쓴 뒤 (일부 sort → merge) 반복 동작이 수행되는데, merge 작업 시 순서가 보.. 2023. 12. 5.
반응형