-
java : (링크) AES-256 암호화Language/Java 2023. 12. 18. 00:01
https://mogoh-developer.tistory.com/27 Cipher : java에서 암호화/복호화 구현 객체 https://scshim.tistory.com/305 초기화할 때 init() 메서드를 호출하는데, 인자로 opmode, key(certificate), params, 그리고 random을 요구한다. 여기서 중요한 것은 AlgorithmParameters 타입의 params 인자이다. 이 인스턴스는 피드백 모드의 IV 값, PBS 알고리즘의 salt와 iteration count 값 등을 저장하는 용도로 사용된다. 이 값들은 ENCRYPTION_MODE의 Cipher를 초기화하는 경우, 필수 요구사항이 아니다. ScureRandom에서 랜덤하게 생성하여 암호화 과정에 사용할 수 있..
-
(링크) 시퀀스 다이어그램프로젝트 관련 2023. 12. 18. 00:01
https://brownbears.tistory.com/511 시퀀스 다이어그램 작성 툴 diagrams.net 과 mermaid에 대해 알아냈는데 개인적으로 mermaid가 훨씬 사용하기 좋았다. 이 두개를 비교해보자면 단점 mermaid : 문법을 익혀야 함 -> 사이트에서 로그인하면 끌어다 사용할 수 있는 도구가 나타나기 때문에 처음 접해도 무리가 없다! 하지만 인텔리제이에 플러그인으로 설치하여 사용한다면 자동 완성 기능이 제공되긴 해도 문법을 보면서 해야 할것 같다. diagrams.net : 점선을 비롯한 도형과 텍스트 박스까지 하나하나 전부 그려줘야 함 장점 mermaid : 타이핑만으로 작업이 가능하기 때문에 작성과 편집이 비교적 굉장히 빠름 diagrams.net : 익혀야 할 문법이 없기..
-
intelliJ에서 Diagrams.io 플러그인 사용하기IDE/인텔리제이 IntelliJ 2023. 12. 18. 00:01
https://plugins.jetbrains.com/plugin/15635-diagrams-net-integration 위 링크를 통해 플러그인을 다운받은 후 인텔리제이에서 파일 > 설정 > 플러그인 > 디스크에서 플러그인 설치 > 다운받은 .zip 파일 선택 순서로 진행해주면 인텔리제이에 diagrams.io 플러그인이 설치된다. 플러그인을 설치했다면 패키지 폴더 구조 창에 마우스 우클릭시 나타나는 메뉴에서 위와 같이 diagrams.net File 메뉴가 생김을 확인할 수 있다. diagrams.net File 을 누르면 작업 파일이 생성된다.
-
(고민) Spring Boot 멀티모듈 구성시 a 모듈의 repository를 b 모듈에서 사용하기개인 프로젝트 2023. 12. 18. 00:01
https://cofls6581.tistory.com/274 위의 블로그를 통해서 결론내렸다! 내가 진행하던 방향은 계층별로 모듈을 나눈거였는데 하다보니 api 모듈과 domain(db) 모듈의 완전한 분리가 어려움을 느꼈고 서비스 도메인별로 모듈을 구분하는 것으로 변경하고자 한다. 오 그런데 이게 블로그라서 나눌수 있는 서비스 도메인이 있능가..? 블로그 프로필 관리 서비스 / 블로그 포스팅 관리 서비스 ...? 이왕 이렇게 된 것 관리자 전용 서비스도 만들어볼까?! api 모듈과 db 모듈을 두고 작업을 해보고 있는데 api 모듈에서 db 모듈에 의존성을 두고 있지만 api 모듈에서 db 연동과 관련된 내용은 모르게 구현하고 싶다. https://velog.io/@jonghyun3668/도메인-코드에..
-
API 설계 도구 모음 (링크)프로젝트 관련 2023. 12. 18. 00:01
엑셀로만 작업하다가 다른 방법은 없을까 싶어서 찾아보게 되었고 생각보다 다양해서 작성하게 되었다. 1. Gitbook 예시 : https://nate-crema.gitbook.io/aj-mealmap-api/internal/v1.0/users 정보 : https://devwaffle.tistory.com/entry/API-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-API-%EB%AC%B8%EC%84%9C%ED%99%94-DEVLOG 2. Postman 정보 : https://kbs4674.tistory.com/180 3. Slate 정보 : https://minkukjo.github.io/opensource/2020/10/28/Infra-24/ 4. swagger 정보 : http..
-
Go : init() 함수Language/고 Go 2023. 12. 17. 00:01
출처 : https://inf.run/tfefs 프로그램 최초 동작 시 가장 먼저 실행되는 함수로 init() 함수를 이용하여 프로그램의 전반적인 설정을 구성하는 작업을 수행할 수 있다. 특징 main() 함수보다 먼저 실행 된다. 가장 먼저 초기화 되는 작업 작성 시 유용하다. 모든 파일에 init() 함수가 있고 모든 패키지 호출 레벨이 같은 경우 패키지 이름 -> 파일 이름의 알파벳 순서로 init()을 실행한다. 하나의 파일에서 init() 메서드의 선언 갯수는 여러개일 수 있다. 하지만 이런 경우는 거의 사용하지 않는다. package section4 import "fmt" func init() { fmt.Println("Section4 Package - init1 - 1 go go") } fu..
-
Go : 접근 제어 설정Language/고 Go 2023. 12. 17. 00:01
출처 : https://inf.run/tfefs Go 언어에서는 변수, 상수, 함수, 메서드, 구조체 등 식별자에 대한 접근 제어 설정을 식별자의 명명 방법으로 설정할 수 있다. 소문자로 시작 : private 대문자로 시작 : public 다음과 같이 2개의 함수를 lib2 패키지에 정의했을 때 package lib2 func CheckNum1(c int) bool { return c > 100 } func checkNum2(c int) bool { return c > 1000 } 외부 패키지 함수에서 lib2 패키지를 import 하여 호출 가능한 함수는 public인 CheckNum1() 뿐이다. lib2 패키지 안의 다른 함수에서는 private인 checkNum1() 함수와 public인 Che..
-
Go : 라이브러리 import 시 Alias 별칭 사용하기Language/고 Go 2023. 12. 17. 00:01
출처 : https://inf.run/tfefs Go 언어는 소스 코드 저장 시 사용하지 않은 라이브러리가 import 선언되어있을 때 컴파일러가 자동으로 삭제해버린다. 이를 방지하기 위해서는 _ 문자를 해당 라이브러리 선언문에 별칭으로 작성해주면 된다. package section4 import ( "fmt" _ "section4/lib" check100Up "section4/lib2" ) func Access2() { var num = 109 fmt.Println(num, "> 100 :", check100Up.CheckNum1(num)) fmt.Println(num, "> 1000 :", check100Up.CheckNum2(num)) }
-
에러 기록 : rest api 응답시 도메인 객체의 id 필드 생략되는 경우에러기록 2023. 12. 17. 00:01
api 응답을 EntityModel 타입으로 해주고 있었더니 @Id 어노테이션이 붙은 id 필드가 응답 결과에 출력되지 않았다. id 필드를 출력해주기 위해 다음 코드를 추가해 주고 MappingJacksonValue 타입으로 반환값을 변경해주니 원하는 형태로 응답 데이터가 출력되었다. MappingJacksonValue mapping = new MappingJacksonValue(entityModel); mapping.setFilters(null); 검색해도 원인을 찾지 못해서 chatGPT에 물어보니 Jackson은 객체를 직렬화할 때 @Id 어노테이션 또는 id 필드에 대해 특별한 처리를 하지 않는 경우, 기본적으로 id 필드를 출력하지 않도록 동작합니다. 라고 했다. 관련해서 설계되어있는 내용을 ..