분류 전체보기 썸네일형 리스트형 IntelliJ에 SonarQube 연동하기 (SonarLint) 안녕하세요. 유저인사이트 박태양입니다. 이번 시간에는 IntelliJ에 정적 분석 도구인 SonarQube를 연동하는 방법을 알아보도록 하겠습니다. 순서는 아래와 같이 진행됩니다. 1. 소나큐브 설치 및 키 발급 2. IntelliJ에 SonarLint 플러그인 설치 후 연동 우선 아래 링크를 통해 소나큐브를 다운로드 합니다. https://www.sonarsource.com/products/sonarqube/downloads/ Download | SonarQube Get the latest LTS and version of SonarQube the leading product for Code Quality and Security from the official download page. www.sona.. 랜덤한 IV(Initial Vector)를 사용하여 AES256 암호화, 복호화 하기 안녕하세요 유저인사이트 박태양입니다. 프로젝트를 진행하다 보면, 개인정보와 같은 암호화가 필요한 필드들이 있습니다. AES256 관련된 코드를 구글링 해보면 대부분의 블로그에서 IV값을 고정값으로 사용하고 있습니다. 이는 권장되지 않는 방식입니다. 저희는 소나큐브를 통해 아래와 같은 메시지를 확인할 수 있었습니다. Use a dynamically-generated, random IV 왜 문제가 되는것일까요? IV를 고정된 값으로 처리하면, 입력한 값이 동일한 경우 동일한 암호화 결과를 제공합니다. 예를들면 "박태양"이라는 문자열을 암호화할때 1회차 : $2a$12$lYImjNoPVvNn30O 2회차 : $2a$12$lYImjNoPVvNn30O IV를 랜덤한 값으로 처리하면 아래와 같이 결과가 미세하게 달.. OWASP Top 10 보안 취약점과 대응 방안 안녕하세요 유저인사이트 박준호입니다. 저는 이번에 웹 개발자라면 알아야 할 OWASP Top 10 보안 취약점과 대응 방안에 대해 정리 해봤습니다. 이 취약점이 가리키는 내용들과 해당 취약점의 대처 방안을 Spring Security 기준에서 알아보도록 하겠습니다. OWASP OWASP (Open Web Application Security Project)는 웹 애플리케이션 보안을 위한 오픈 소스 프로젝트로, 매년 많은 전문가들이 참여해 웹 애플리케이션 보안 취약점을 조사하고, OWASP Top 10이라는 보안 취약점 목록을 발표합니다. OWASP Top 10은 현재 가장 흔한 웹 애플리케이션 보안 취약점들을 정리한 목록입니다. 매년 목록들이 갱신되는데, 해가 넘어가면서 사라지거나 취합되기도 합니다. O.. Spring Boot 개발 중 자주 하는 실수 모음 안녕하세요. 유저인사이트 박태양입니다. 코드리뷰를 하다보면 제가 신입시절에 했던 실수들을, 실습생 혹은 다른 개발자도 반복하고 있었습니다. 주니어 개발자분들에게 조금이나마 도움이되고자, Spring Boot 개발 중 자주 하는 실수들을 정리해보았습니다. 1. @NotNull @NonNull import javax.validation.constraints.NotNull; 엔티티나 DTO 필드의 Validation에 주로 사용됩니다. import lombok.NonNull; null이 입력되면 NPE를 발생시킵니다. 생성자를 통한 의존성 주입 시 주로 사용됩니다. 보통 IntelliJ의 자동완성 기능을 사용하다가 발생하는 실수입니다. 2. @NotNull @NotEmpty @NotBlank @NotNull .. MariaDB Trigger 추가할 때 SQL syntax 에러 해결 Spring Boot 에서 .sql 파일로 Trigger를 추가하는데 문제가 발생했습니다. 아래는 발생했던 Trigger 추가 예시입니다. DROP TRIGGER IF EXISTS {트리거명}; DELIMITER | CREATE TRIGGER {트리거명} AFTER INSERT ON {테이블} FOR EACH ROW BEGIN UPDATE {대상테이블} SET {A} = {B} WHERE {C} = {D}; END; | DELIMITER ; Trigger 문에서 세미콜론을 사용하기 위해 미리 구분자를 | 로 변경 하고, 구문을 마무리 한 후 다시 구분자를 세미콜론으로 지정했습니다. 그런 후 테스트를 위해 추가하려는데 You have an error in your SQL syntax; check the m.. Github Actions을 통한 Docker이미지 자동 배포 안녕하세요. 유저인사이트 이현준입니다. 이번 시간에는 Github의 Actions기능을 사용하여 프로젝트의 Docker이미지를 자동으로 생성하고 배포하는 작업을 해보려고 합니다. 목차 1. Github Actions란? 2. Workflow란? 3. Workflow 정의 4. Workflow 동작 확인 1. Github Actions란? Github Actions은 Github에서 제공하는 CI/CD서비스 입니다. CI (Continuous Integration, 지속 통합)란 소프트웨어 개발 단계의 병합을 자동화 하는 것을 말하며, CD(Continuous Deployment, 지속 배포)는 개발한 소프트웨어를 자동으로 배포하는 것을 말합니다. Github Actions을 사용하면 Github에 등록된.. Svelte로 웹 개발을 간소화하기 안녕하세요 유저인사이트 박준호입니다. 이번에는 Svelte를 주제로 선정했는데요. 이전부터 Svelte에 대해 조금 관심을 가지고 있었던 차에 SvelteKit 1.0.0 버전이 출시되어 이참에 공부하고, 사용해 보고자 이렇게 준비하게 되었습니다. 그리고 본문에 앞서 Svelte는 따지고 보면 프레임워크가 아닌 컴파일러라고 합니다. 이에 대한 내용은 밑에 서술하겠지만, 이 글에서는 프레임워크라고 지칭하겠습니다. Svelte의 장단점 장점 1. 처리 속도가 뛰어나다. Svelte의 가장 큰 장점으로 꼽히는 부분입니다. Svelte 공식 사이트에서 말하듯이 Vanilla JS를 기반으로 하고 있어 속도는 JS 급이고, 리액트와 여타 프레임워크들과는 달리 가상 DOM을 사용하지 않아 확연한 속도 차이를 보여줍.. 실무에서 사용하는 Spring Security Configuration 안녕하세요. 유저인사이트 박태양입니다. 저희는 신규 프로젝트를 시작할때, SecurityConfig라는 클래스 안에 여러가지 보안 관련 코드를 구현합니다. 초기에 잘 작성된 코드이기에 특별한 수정 없이 사용하였지만, 간혹 해당 프로젝트에는 필요없는 코드도 섞여들어가는 경우도 있었습니다. Spring Security 버전이 변경되면서, 이번 기회에 보안 관련 코드를 정리하는 시간을 가져보았습니다. 목차 WebSecurityConfigureAdapter (deprecated) WebSecurity vs HttpSecurity HttpSecurity의 다양한 옵션들 1. WebSecurityConfigureAdapter (deprecated) 기존에는 WebSecurityConfigureAdapter를 상속받.. 이전 1 2 3 4 ··· 11 다음