Git 설치 for MAC
·
Git
① Homebrew 설치 - Homebrew는 MAC OS용 패키지 관리자입니다. brew install을 이용해 유용한 패키지를 쉽게 설치할 수 있습니다. - git 설치를 위해 필요합니다. ② Git 설치 1. 아래의 명령어를 터미널에 입력하면 git이 설치됩니다. brew install git 2. git 설치가 완료되었는지 확인합니다. git --version ③ Git config 설정 (계정 설정) - 계정 설정을 해두면 commit/push 등 로그인이 요구되는 과정을 생략할 수 있습니다. 1. 계정 설정 -- global : git의 전역 설정 git config --global user.name "git계정이름" git config --global user.email "git계정이메일" ..
Java 정규식 (Regular Expression)
·
JAVA
정규식이란? - 텍스트 데이터에서 특정 패턴과 일치하는 문자열을 찾아내는 데 사용한다. [a-z] 영어 소문자 지정 [0-9] 숫자 지정 [-_.] 허용하는 문자 지정 [a-z0-9-_.] 소문자 알파벳, 숫자, -, _, . 지정 [.]{2,} . 2개이상 지정 ^[.]|[.]$ .으로 시작하거나 .로 끝나는 문자열 지정 class Solution { public String solution(String new_id) { // Step1 : 소문자로 변경 new_id = new_id.toLowerCase(); // Step2 : 소문자, 숫자, -, _, .만 아이디로 허용 String match = "[^a-z0-9-_.]"; new_id = new_id.replaceAll(match, ""); re..
Spring : Spring Legacy Project 생성 오류
·
WEB/Spring
Spring Legacy Project를 만드는 과정에서 java.lang.ExceptionInInitializerError 라는 에러가 발생하였다. ▶ Spring Legacy Project는 아직 java 17을 지원하지 않는데, spring 자체에서 java 17을 지원하여 위와 같은 에러가 발생할 수 있다. ▶ 그래서 따로 설치한 버전으로 default jre를 변경했다. 1. 응용 프로그램에서 STS4 패키지 내용 보기를 선택한다. 2. Contents > Eclipse > SpringToolSuite4.ini를 연다. -vm과 -vmargs 사이에 설치해둔 자바 경로를 bin까지 입력한다. 3. STS preferences에서 Java > Installed JREs를 클릭하여 default j..
Spring : Page load failed with error
·
WEB/Spring
ios에서 http로 접속하거나, 인증받지 않은 https로 이동하려고 시도하면 위와 같은 에러 창을 만날 수 있습니다. 이때 info.plist를 수정하면 해결할 수 있습니다. 1. 응용 프로그램에서 SpringToolSuite4를 우클릭하여 패키지 내용 보기를 선택합니다. 2. Contents > info.plist를 오픈합니다. 3. 아래의 코드를 추가합니다. (모든 HTTP 허용 코드) NSAppTransportSecurity NSAllowsArbitraryLoads 4. SpringToolSuite4 재시작 참고 사이트 [iOS] iOS9 App Transport Security 설정법 iOS9으로 업데이트 되면서, HTTP로 접속을 하거나, 인증되지 않은 HTTPS 즉, 정상적인 SSL이 아닌..
Spring : 응용 프로그램을 실행할 권한이 없습니다 오류
·
WEB/Spring
어느 날 SpringToolSuite4를 실행하려다, 응용 프로그램을 실행할 권한이 없습니다.라는 창을 본 적이 있다. 해당 경우, 아래의 코드를 터미널에 입력하여 코드 서명을 다시하면 해결할 수 있다. codesign --force --deep --sign - /Applications/SpringToolSuite4.app/Contents/MacOS/SpringToolSuite4 (마지막에 입력하는 경로는 SpringToolSuite4 설치 경로에 따라 수정해주세요) [터미널 창] - 해결책은 찾았으나 명확한 이유를 찾지 못해, 정확히 어떤 이유로 발생하는 문제인지 아는 분은 댓글로 알려주시면 감사하겠습니다:)
동적 프로그래밍 (Dynamic Programming: DP)
·
알고리즘
동적 프로그래밍 (DP) : 큰 하나의 문제를 여러 하위 문제로 나누어 풀고 그 결과들을 결합해서 최종 목적인 큰 문제를 해결하는 방식의 알고리즘. 💡 반복적인 처리(계산)를 피할 수 있음 ☞ 이전 단계 처리 결과를 저장하고 다음 단계를 해결할 때 이미 진행했던 부분은 저장되어 있던 값을 불러옴 💡 점화식을 세우면 쉽게 DP 문제 해결 가능 (ex. 피보나치수열 점화식 : dp[i] = dp[i-1]+dp[i-2] ) 💡 어떤 값을 어떤 방식으로 저장할지 정하는 것이 포인트!! 1. Top-Down: 말 그대로 문제풀이가 위에서 아래로 진행 > 주로 재귀 함수 사용 > 시간 복잡도 문제가 발생할 수 있고 저장 유무에 따라 DP로 보지 않는 의견도 있음 2. Bottom-Up: 반대로 문제풀이가 아래에서 ..
CSRF (크로스 사이트 리퀘스트 변조) 실습
·
보안
-실습 환경- vmware workstation 12 pro kali 2020.03 CSRF - Cross Site Request Forgery - - 웹사이트가 이용자가 자신의 의지와 상관없이 공격자가 의도한 행위(정보 수정, 삭제, 등록 등)를 웹 사이트에 요청하게 하는 공격 - 웹사이트는 위조된 요청이 신뢰성 있는 사용자로부터 온 것인지 판단하기 때문에 사용자가 로그인한 상태에서만 이루어진다. ▶ 특정 사이트의 사용자의 브라우저에 대한 신뢰성을 이용한 공격 실습 실습 내용 : 공격자가 올린 이미지 파일을 읽음으로써 사용자는 자신의 비밀번호를 변경 요청하게 된다. 실습 준비: DVWA 설치 모의해킹환경 구축을 위한 DVWA 설치하기. 앞서 bee-box에 대해서 소개해드렸는데요. 이번에는 DVWA에 ..
setoolkit을 이용하여 피싱 사이트 제작 실습
·
보안
-실습 환경- vmware workstation 12 pro kali 2020.03 windows 10 * setoolkit 이란, Social Engineering의 약자로, 칼리 리눅스에 내장되어 있는 도구입니다. 이 사회 공학 키트는 타깃의 물리적, 기술적 보안 취약점을 이용하지 않고 사람의 성격 또는 신뢰도에 따른 취약점을 이용하는 사회공학적 기법에 사용됩니다. * 실습 내용 : 공격자는 구글 로그인 페이지를 복제한 피싱 사이트를 제작한다. 피해자는 공격자가 메일을 통해 보낸 링크를 클릭한다. 구글 로그인 페이지로 착각한 피해자는 계정 정보를 입력한다. 공격자는 해당 정보를 탈취할 수 있다. 실습 과정 1. setoolkit 실행 2. 피싱 사이트 제작하기 위해 1 입력 3. Website Att..