본문 바로가기

소프트웨어

(67)
[Spring/JPA] RestController에서 텍스트 형태의 JSON string 데이터 처리 TL;DR @JsonRawValue 다음과 같은 JSON 데이터를 tbl_json_raw_value 테이블의 json 열에 저장하고 있습니다. { "name": "iroiro", "version_code": 1, "majority": [ "Java", "Kotlin", "Spring", "Javascript", "Swift", "Node.js", "Android", "Cpp", "iOS" ] } 여기서 json열의 stringified된 JSON 데이터를 아래와 같이 응답하고 싶은 경우가 있을 겁니다. { "status": 200, "json_data": { "name": "iroiro", "version_code": 1, "majority": [ "Java", "Kotlin", "Spring", "Ja..
Docker desktop 유료화 도커 데스크탑이 유료화가 2021년 8월 31일자로 유료화 전환이 되었습니다. 개인, 교육, 비영리 오픈 소스 프로젝트, 250명 미만, 매출이 10만달러(한화 약 116억원, 1161\ = 1$ 환산 시)미만인 회사에서의 영리적 사용은 기존과 동일하게 사용할 수 있다고 합니다. Hi there, You’re receiving this email because we’re updating the terms applicable to the Docker products or services you use. What you need to know: All of Docker’s products and services are now covered by a new set of terms - the Docker Sub..
[Android Studio] 안드로이드 스튜디오 여러 버전을 한 PC에 설치 TLDR; 신규 프로젝트를 위한 Android Studio Update가 필요! 어?? 안 되잖아? 안돼! 🤣 각 버전 별 IDE를 두개로 설치해서 쓰자! ??? PROFIT!!! Windows 10 기준으로 작성한 내용입니다. 참고해주세요. Butterknife Deprecated 소식이 좀 늦은 감이 있지만 Buffter Knife가 공식적으로 deprecated되었습니다. View binding을 사용하라고 합니다. 기존 프로젝트에서도 Butter Knife가 잘 동작은 하지만 새로운 프로젝트에 Butter Knife를 차마 사용하기가 좀 그렇습니다. 최신 Android App 개발 패러다임에 맞는 다른 요소를 사용하기에도 필수적이기도 하구요. 단, 이걸 써먹을라면 한 가지 조건이 있습니다. 어....
[Visual Studio Code] git bash 사용하기 Ctrl + Shift + p 단축키로 Show All commands를 실행 후 settings를 입력해 줍니다. Preferences: Open Settings (JSON) 이나 Preferences: Open workspace Settings를 선택하면 Settings.json이 열리고 아래와 같이 기본 설정값을 오버라이드 해줍니다. Preferences: Open workspace Settings의 경우 현재 작업 스페이스에만 적용이 되는 점을 참고하세요. Setting.json 2021-12-21 업데이트 아래 절취선 이하는 이전 방법이며 다음과 같이 설정해주어야 합니다. 새로 변경된 설정이 기존보다 더 직관적이며 한번 경로를 세팅해주면 터미널 간 변경을 쉽게 전환할 수 있도록 개선되었네요. 또..
[Spring-Maven] Maven 빌드 시 JUnit Test 하지 않도록 설정하기 Spring Boot 프로젝트를 Maven으로 Packaging할 때 JUnit 테스트가 자동으로 진행됩니다. 이 단계를 스킵하고 싶을 때 다음과 같이 설정하면 자동 테스트를 생략하고 Packaging을 할 수 있습니다. CLI에서 테스트를 생략하는 방법 $ mvn clean install -DskipTests $ mvn clean install -Dmaven.test.skip=true pom.xml에서 설정하는 방법 - 1 [...] org.apache.maven.plugins maven-surefire-plugin 2.19.1 true [...] pom.xml에서 설정하는 방법 - 2 true 이 경우 skipTests가 활성화 되어 있기 때문에 테스트를 하지 않으나 테스트가 필요한 경우에는 CLI에..
[IDE] Jet Brains IDE(WebStorm, IntelliJ, Android Studio 등)에 Terminal을 git bash로 변경 TLDR; CTRL + ALT + s Tools > Terminal Shell path 변경 "git bash 경로" -login -i 들어가면서 윈도우에서 개발을 하는 경우 git bash가 손에 더 익는 경우가 많습니다. 별도의 설정 없이 Git windows 를 설치하면 리눅스의 shell 사용 경험을 그대로 사용할 수 있다는 큰 장점이 있죠. 색상도 이쁘게 잘 나오구요. JetBrains의 Terminal에서 직접 git bash를 사용하고 싶다! IntelliJ, WebStorm, PyCharm, Android Studio같은 친구들이 Jet Brains사의 IDE들이죠. 이 친구들의 윈도우 버전을 설치하면 기본 Terminal은 cmd.exe로 설정되어 있습니다. 물론 별도로 git bash를..
[Spring boot] VS Code Spring Boot Extension의 app이 안보이는 현상 해결 TLDR; 2021년 3월 17일자에 업데이트 된 Visual Studio의 Spring boot 확장 프로그램이 JDK 1.8로는 구동이 안됨. Extension에서 JDK 를 별도로 설정함 그게 싫으면 다운그레이드를 함 자동 업데이트 멈춰!!🖐 그렇습니다. 두둥.. Visual Studio Code(VS Code)의 Spring Boot Extension이 또 먹통이 되었네요 🤣 Activating 'vscode-spring-boot' extension Found java exe: C:\Program Files\Java\jdk1.8.0_202\bin\java.exe isJavaEightOrHigher => true Redirecting server logs to /dev/null ERR: java.l..
[Node.js/보안] Express hpp 미들웨어 TLDR; hpp : HTTP Parameter Pollution Express의 중복 이름 파라메터 공격을 방어 성능에 큰 무리가 안 가는 것으로 보임 hpp - npm 왜 글을 쓰는가.. 최근 작업하던 Node.js WEB API 프로젝트에서 query parameter를 Array의 형태로 받도록 API를 만들었습니다. 개발 환경에서는 같은 이름의 query parameter로 여러개를 요청하면 Express에서는 Array의 형태로 req.query에서 parameter name을 key로 얻어 사용할 수 있었습니다. https://localhost:9876/api/api1?key=data1&key=data2 // req.query { key: ["data1", "data2"] } 여기까지는 OK..