dev 7

실용주의 프로그래머

1. 인터넷 커뮤질 하다보면 개발책에 대한 수집욕이 생기는데 책이라는 매체의 수량은 한정되어 있어 이제 와서 구하려면 절판이라 정가의 배 이상으로 중고가격이 하늘을 꿰뚫어 버리거나 아예 구할수도 없는 경우를 보는데 책이 나온 이후 20주년이 지나고 나온 개정판? 미쳤 2. 뭐 20주년 개정판이 나온건 전부터 알았다만 내가 이 책을 읽은 이유가 그냥 웃긴데 23년 12월 18일 새벽인가..? 해외주식 단톡방에서 놀고있는데 갑자기 쿠팡 파패치 인수 뉴스가 딱 뜬 것 이 뉴스는 쿠팡 IR 사이트에서 먼저 공개되었다. 그래서 공유 링크타고 쿠팡 IR 사이트 들어가보니까 어떤 개발자의 책상샷이 보이는데 바로 실용주의 프로그래머 20주년 책이 바로 보이는거 (뽐뿌샷) 그래서 그날 책 샀음... 실용주의(實用主義)..

dev/book 2024.01.12

윈도우서버 IIS, ASP 기반의 시스템에서 아이핀/휴대폰인증 한글 리턴값이 깨질때

아이핀 또는 휴대폰인증 성공 인증업체쪽에서는 이름과 성별, 고유번호 등 일련의 정보를 리턴해준다. 인증 직후 이름이 이상한 값으로 리턴되어 저장이 되는 경우가 발생. 나이스아이핀은 이름의 경우 euc-kr만 리턴이 가능하나 나이스 휴대폰인증은 utf-8 또는 euc-kr로 리턴을 받을수 있음. https://dencode.com/string 1. 이름을 euc-kr로 리턴받을 경우 값은 ¼UAICo이 나온다. ¼UAICo은 dencode에서 한글을 euc-kr로 변환한 결과값이 아니다. 2. 이름을 utf-8로 리턴받을 경우 한글을 UTF-8로 인코딩한 값이 나온다. IIS와 ASP는 euc-kr 인코딩타입으로 지정되어있기때문에 소스코드와는 무관하다. 원인은 윈도우서버의 국가설정이 대한민국이 아니였기 때..

dev 2021.08.20

전체 드롭다운 메뉴 구현

전체드롭다운 메뉴 혹은 풀다운이라고도 하는듯 하다. 상단 메뉴에 마우스를 대면 하위 메뉴 전체가 보이는 메뉴로 흔히 관공서 홈페이지나 기업 홈페이지에서 자주 찾을 수 있는 유형 예시1) 국립중앙과학관 홈페이지. https://www.science.go.kr/ 하위메뉴가 많이 없는 편인 웹사이트는 상단 메뉴 아래에 흰 공백구역을 일부분 주고 그 공백에 하위 메뉴를 내려줘 메뉴 아래의 컨텐츠를 가리는것을 최소화 하기도 함 예시2) 과기정통부 홈페이지 https://www.msit.go.kr/ 최근의 추세인듯. 좌측에 상단 메뉴를 요약하는 이미지와 텍스트 우측에는 하위 메뉴. 마우스 접근에 따라 전체 배경을 바꾼다던지 텍스트에 밑줄, 폰트색 변경을 사용한 메뉴 강조 필요한 기능 요약. 첫번째로 mouseove..

dev 2018.10.31

jeus response header 서버 정보 숨기기

IE 개발자도구에서 main.do 를 누르고 자세히, 응답 해더를 누르면 이 웹사이트가 무슨 서버로 기동되는지 나온다 해커가 이 서버 정보를 토대로 취약점 힌트를 얻을 수 있을 것. tmax jeus의 공식 문서 참고. JeusMain.xml을 수정하여 해결한다. -Djeus.servlet.response.header.serverInfo=false 를 추가한다. 다른 블로그들 -Djeus.servelet.response.header.serverInfo=false 이라길래 서블릿 스펠링 틀렸음에도 믿었지만 안되길래 뭐지 했는데 뒤늦게 공식문서 보고 한숨 .... name container 사이에 추가하면 된다. 수정한거 FTP로 넣어버리고 제우스서버를 재시작한다. 다양한 컨테이너 옵션이 존재해서 뭔지 모르..

dev 2018.09.20

findbugs 취약점 걸린 경우 예외처리하기

findbugs에서 에러가 주루룩 떴을때 Math.random()을 사용하였기에 한 컨트롤러 클래스에서만 여러개의 취약점이 발생하였다. 간단히 수정하면 사라지지만 (SecurityRandom쓰면 해결됨) 이런 당연히 고쳐야 할 부정적인 취약점이 아닌 해결 방법도 애매한 거짓 음성반응에 대해 FindBugs 취약점 마커만 안뜨게 하는법이다. 일단 MAVEN을 쓰면 MAVEN REPO에서 FindBugs Annotations를 찾아서 넣던가 아님 외부 JAR를 추가해야한다. MAVEN REPO 경로 : https://mvnrepository.com/artifact/com.google.code.findbugs/annotations 외부 JAR 경로 : http://www.java2s.com/Code/Jar/a..

dev 2018.09.20

PL/I 소스코드 컴파일하기

프로그래밍 언어론 조별과제로 조사하다가 알게된 PL/I (PL/1) 컴파일 방법을 적어봅니다. 조별 발표때 앞에서 코드 실행해보면 추가점수가 뭐라고... 싶은데 다른 주제들은 검색하면 상세히 바로 잘 나오는데 검색해도 잘 안나오는 PL/I...... 발표 직전에 겨우 찾아서 ppt만들었던게 기억나네요 ftp://ftp.software.ibm.com/ps/products/pli/demos/ 링크에 들어가 pliwintb.zip 다운로드합니다압축 풀면 SETUP.EXE이 있는데 설치합니다오래된거라 그런가 눌러보고 안되면 관리자 권한으로 실행 눌러봐야 되네요 (윈도우 10 32bit 기준. 64비트는 설치 되는 컴퓨터가 있고 안되는 컴퓨터가 있는 듯 합니다.) PL/1을 만든 IBM에서 배포하는 "데모" 컴파..

dev 2018.09.11

java/spring dynamic web project에서 SonarQube 사용법

남들은 conf db 손대거나 하던데 어쨋든 내가 성공했던 방법을 정리한다. sonarqube와 sonarqube scanner를 설치한다. https://www.sonarqube.org/downloads/ https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner sonarqube는 java 1.8부터 이용 가능하기 때문에 환경변수를 1.8로 설정. sonarqube -> bin -> 자기 컴퓨터에 해당하는 폴더 -> StartSonar.bat 더블클릭. 약간의 시간이 지나고 SonarQube is up 올라오는거 확인 다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 액세스 할 수 없습니다라고 출력 시 StopNTService..

dev 2018.09.11