Developer/Posting(27)
-
Java Spring: from String to HashMap with toUpperCase()
요즘 한창하고 있는 DB 마이그레이션 작업 중 일부를 발췌했다. 타 DB로 이관을 위해 작업을 하는데 컬럼 타입이 달라 1차적으로 단순하게 Json Field에 저장되어 있는 Key, Value 형태의 내용을 String 형태로 빼내왔고 이를 JackSon에서 제공하는 Object Mapper를 이용하여 HashMap형태로 저장하였다. IDE의 도움을 받았으나 readValue() 메소드는 try, catch 블록으로 감싸져야 된다고 나와 기본적인 제공내용으로 Wrapping을 진행해놓았다. (어짜피 String값이 기존 DB에서 무조건 넘어오게 되어 있어 소스는 완벽하게 제공되기에 exception을 빡빡하게 걸 필요가 없다고 판단했다) private HashMap convertStringToMap(S..
2022.09.11 -
Django: ORM 쿼리셋 정렬 순서가 아무렇게나 나온다구요...? (feat. DB별 기본 정렬)
이번주 막바지 프로젝트를 향해 달리시던 튜티분께서 질문을 하셨다. "로컬 환경에서 Table.objects.all()을 통한 쿼리셋 도출 시 PK 순으로 잘 나와서 그대로 배포했는데 배포환경에서는 데이터가 정렬기준 없는 듯이 뒤죽박죽 나와요. 원인을 못찾겠습니다." 코드를 보여달라 말씀드렸고, 보니 특별히 ordering 관련된 내용이 없어서 해당내용을 코드로서 추가(order_by) 해준다면 기대한대로 모든 환경에서 작동할 것이라 가이드를 드렸으나 이 부분에 대해 정확한 원인을 파악해보고 싶어 문서를 뒤지기 시작해보았다. 우선 장고 공식 문서 내 ordering 관련된 내용이다. (Django - Model Meta options - ordering) 하단 단락을 보면 순서가 명확히 정의되지 않았다면 ..
2022.08.07 -
[Dummy API] Mock API를 만들어서 테스트해보는 가장 간단한 방법(mocki.io)
Dummy API 앞서 진행하던 Golang 프로젝트는 외부 API로 request를 보낸 후 response를 받아 처리를 해야되는 역할이 존재했다. 즉, 외부 API 호출에 따른 response body 내용을 확인해야 했으나 현재 실제로 구축이 되지 않아 대략적인 구조만 연동정의서를 통해서 수령 받게 되었다. 연동정의서에 있던 Response Body를 확인하였다. (아래는 가짜로 만든 내용쓰) { "status": 200, "data": { "detail": [ { "model": "model~", "pk": 1, "fields": { "create_date": "2022-02-22T11:54:34.118", "update_date": "2022-02-22T11:54:34.118", "status..
2022.06.19 -
Jenkins Port 변경하기_최신판 (젠킨스 2.332 버전 이상이라면 봐야함)
이전에 CI/CD 환경은 여러번 구축해보았지만 최근 외주 프로젝트 서버 내 CI/CD 환경을 구축해보면서 겪은 일이다. (서버 OS는 우분투 18.04) 젠킨스는 기본 포트를 8080으로 쓰고 있어 포트가 중복될 확률이 좀 높은 편이다. (대표적으로 톰캣) 그래서 이전에 구축할 당시에는 아래 이동욱님 블로그처럼 설정파일에서 포트번호를 변경해주었었다. https://jojoldu.tistory.com/354 Jenkins Port 변경하기 Jenkins의 기본 포트는 8080입니다. 사정상 한대의 서버에 이것저것 설치해서 쓸 경우 8080포트는 사용하기 어렵습니다. (Upsource, Tomcat 등 대부분의 소프트웨어는 8080 포트를 기본으로 쓰고 있습니다 jojoldu.tistory.com 하지만 위..
2022.05.03 -
Error: Your Command Line Tools (CLT) does not support macOS 11.
오랜만에 홈브류를 이용하려다보니 제목과 같은 에러가 발생하였다. Error: Your Command Line Tools (CLT) does not support macOS 11. It is either outdated or was modified. Please update your Command Line Tools (CLT) or delete it if no updates are available. Update them from Software Update in System Preferences or run: softwareupdate --all --install --force If that doesn't show you any updates, run: sudo rm -rf /Library/Develop..
2021.05.31 -
?: (mysql.W002) MariaDB Strict Mode is not set for database connection 'default'
뷰단 수정을 진행하였는데, 이로 인해 테스트케이스 통과가 안되는 이슈가 발생해서 도커가 자동으로 종료되는 일이 발생하였다.이슈 해결을 위해 도커 로그를 보게 되었는데 아래와 같은 로그가 떠있어서 번역 및 구글링을 진행하여 해결하였다. 1. 이슈내용2021-04-21T05:59:08.285801940Z ?: (mysql.W002) MariaDB Strict Mode is not set for database connection 'default' - MariaDB Strict Mode가 '기본' 데이터베이스 커넥션으로 설정되어 있지 않습니다. 2021-04-21T05:59:08.285805079Z HINT: MariaDB's Strict Mode fixes many data integrity problems..
2021.04.21