얼마 전에 봤던 인상 깊은 글의 내용을 소개하고자 합니다. 얼마 전에 커리어리라는 커뮤니티에서 한 시니어 개발자 분이 쓴 "코드 가독성과 빼기의 미학"이라는 제목의 글을 봤다.사실 내용은 어느정도 알고 있는 내용이었고, 여기서 가장 큰 수확은 "코딩 주짓수"라는 재밌는 단어를 알게 된 것이다.요약하자면 "코딩 주짓수"하지 말고 읽기 쉬운 코드를 작성하라는 것이다.구글 코딩 가이드라인을 보면, 코드 가독성(Readability)를 강조한다고 한다. 읽기 쉬운 코드를 작성해야, 본인이 나중에 본인의 코드를 볼 때도 도움이 되고, 타인이 볼 때도 도움이 되어 유지보수성 향상에 도움이 된다는 것이다. 회사에서 신입으로 입사 후 시니어분께 처음 주입받은 개념 중 하나는 "코딩 주짓수 하지 마라"와 비슷한 내용의..
Github: RestApiServicehttps://github.com/HSRyuuu/Playground/tree/master/src/main/java/com/example/playground/spring/restapi Playground/src/main/java/com/example/playground/spring/restapi at master · HSRyuuu/PlaygroundContribute to HSRyuuu/Playground development by creating an account on GitHub.github.com 이 코드는 Lombok에 의존합니다. 참고하세요. 사용법 RestApiService restApiService = new RestApiService();..
Java 프로젝트를 컴파일하려면 jdk가 필요하다.컴퓨터가 java를 컴파일 하기 위한 javac를 찾을 수 있도록 환경변수를 설정해서 jdk의 위치를 지정해줘야 한다.컴퓨터한테 jdk 위치를 알려주는 과정..간단하지만 알아두면 앞으로 자주 쓸 것 같아서 기록해 둔다.이 글은 2024년 10월 14일, Windows 11 버전을 사용하는 환경에서 작성했다.0. jdk 설치우선 jdk를 설치해야 한다.여기선 C:\dev_files\jdk\openjdk-1.8에 위치한다는 것을 가정하고 설명한다.1. 시스템 환경변수 검색해서 "시스템 환경변수 편집"으로 들어가도 되고,제어판 - 시스템 - 고급 시스템 설정(시스템 속성) - 환경변수로 들어가도 된다.2-1. 시스템 변수 설정중요한 것은 jdk 위치이다.그런데..
개발 과정 중 전화번호 암호화, 비밀번호 암호화가 필요해서 암호화 알고리즘을 선택해야 했다. RSA와 AES는 복호화가 필요한 경우 사용하고, SHA는 복호화가 필요 없는 경우(비밀번호)에 사용했다.다른 글들을 찾아보니 대부분 암호화 알고리즘에 대해 정리했다. 그러나 이 글에서는 수학적인 부분은 간소화하고 Web 개발자의 관점에서 필요한 부분을 정리해보려고 한다.RSA / SHA / AES 방식의 차이점우선 RSA와 AES는 양방향 암호화 방식이고, SHA는 단방향 암호화 방식이다. 이 차이는 복호화가 가능한지 여부에 따라 나뉜다. 복호화가 가능하면 양방향이고, 복호화가 불가하면 단방향이다.전화번호의 경우 암호화해서 저장했다가, 필요한 경우 복호화해서 사용해야한다. 그러나 비밀번호의 경우에는 복호화가 필..
테스트 결과 이 Tool은 동적으로 페이지를 이동하며 동작하는게 아닌, 처음 입력한 페이지 하나에 대한 진단만 가능하다.결과적으로 최초 진단 목적과 달라서 사용하지 않지만 기록을 위해 남겨놓는다. Arachni - 웹 보안취약점 테스트https://github.com/ahannigan/docker-arachni GitHub - ahannigan/docker-arachni: Arachni Web Application Scanner in DockerArachni Web Application Scanner in Docker. Contribute to ahannigan/docker-arachni development by creating an account on GitHub.github.com Arachni는 ..
ICMP란?ICMP(Internet Control Message Protocol, 인터넷 제어 메시지 프로토콜)는 네트워크 장치에서 네트워크 통신 문제를 진단하는 데 사용하는 네트워크 계층 프로토콜이다. ICMP가 사용되는 주요 방법은 데이터가 목적지에 잘 도달하는지, 도달 시간이 적절한지를 확인하는 것이다. ICMP의 용도ICMP의 주요 용도는 오류보고이다. 두 장치가 인터넷을 통해 연결되면 ICMP를 사용하여 데이터가 의도한 대상에 도달하지 못한 경우, 수신 장치에서 전송장치로 전달할 수 있는 오류를 생성할 수 있다. 다만 데이터에 대한 정보를 전달하기 위한 프로토콜이지만, 데이터 자체를 관리하지는 않는다.예를 들어 데이터 패킷이 라우터에 비해 너무 큰 경우 라우터에서는 패킷을 삭제하고 ICMP 메시..
소나큐브란?소나큐브는 프로그래밍 언어에서 버그, 코드 스멜, 보안 취약점 등을 발견하기 위한 정적 코드 분석 툴이다. 설치 / 세팅1. 소나큐브 설치https://www.sonarsource.com/products/sonarqube/downloads/ Download | SonarQubeGet the latest LTS and version of SonarQube the leading product for Code Quality and Security from the official download page.www.sonarsource.com 2. 소나큐브 실행다운로드 파일 압축 풀기소나큐브 실행Window: /bin/windows-x86-64/StartSonar.bat 실행Linux: /bin/linu..
Apache POI 응용 라이브러리Apache POI는 Java에서 엑셀을 다룰 수 있게 도와주는 라이브러리이다.회사에서 Excel 파일을 파싱 할 일이 꽤나 있어서 자주 쓰는 기능을 라이브러리 화했다. gradle로 apachepoi 라이브러리를 import 한 뒤, 아래 gitlab 코드나 full code를 복붙해서 사용하면 된다.귀찮아서 SpringBoot 프로젝트를 만들어서 gradle로 apache poi 라이브러리를 import 했다.implementation 'org.apache.poi:poi-ooxml:5.2.3'참고 링크JAVA & Spring/라이브러리 & Tools] - [Apache POI] Java 코드로 엑셀(.xlsx) 파일 생성하기 - Java로 Excel 다루기 [Apac..