VMware에 윈도우 설치하기
·
개발툴
윈도우 10 설치하기 ① 윈도우 iso 파일 만들기 아래의 사이트에서 도구를 다운받습니다. Windows 10 디스크 이미지 다운로드(ISO 파일) 요청의 유효성을 검사하는 중입니다. 이 작업은 몇 분 정도 걸릴 수 있습니다. 페이지를 새로 고치거나 뒤로 이동하지 마세요. 그러면 요청이 취소됩니다. www.microsoft.com 다운 받은 파일을 실행하면 아래와 같은 안내창이 뜹니다. 다른 PC용 설치 미디어 만들기를 클릭합니다. 다음을 클릭합니다. iso파일을 만들기 위함이기에 아래와 같이 선택 후 다음을 클릭합니다. 이후 뜨는 창에서 파일을 다운 받을 위치를 설정합니다. ② vmware에 iso파일로 윈도우 설치하기 create a New Virtual Machine을 클릭합니다. 다음을 클릭합니다..
VMware에 칼리 리눅스 설치하기
·
보안
칼리 리눅스란? 간단하게 설명하면 모의 해킹을 수행하기 위해 필요한 해킹 툴이 설치된 오픈소스 리눅스 OS이다. 데비안을 기반으로 만들어졌다. VMware에 칼리 리눅스 설치하기 (VMware가 설치되어 있다고 가정하고 진행하였습니다. VMware Workstation pro 버전 12 사용) Get Kali | Kali Linux Home of Kali Linux, an Advanced Penetration Testing Linux distribution used for Penetration Testing, Ethical Hacking and network security assessments. www.kali.org 위 사이트에서 컴퓨터 사양에 맞는 칼리 리눅스 iso 파일을 다운 받습니다. 다운이 ..
JAVA : Comparable & Comparator (+ 백준 11650)
·
JAVA
Java에서 Arrays.sort()를 이용하면 배열 값을 오름차순으로 정렬할 수 있다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.ArrayList; class Main { public static void main(String[] args) { String[] productsName = new String[]{"bag", "mouse","note"}; Arrays.sort(productsName); for(int i..
[알고리즘] Counting sort (+ 백준 10989)
·
알고리즘
Counting sort Counting sort는 정렬 알고리즘으로 시간 복잡도는 O(n)이다. 빠른 속도로 유명한 Quick sort의 시간 복잡도가 O(nlogn)이므로 counting sort의 속도는 상당히 빠르다. counting sort는 말 그대로 배열에 존재하는 숫자의 등장 횟수를 카운트해서 정렬한다. 1. 각 숫자의 등장 횟수를 카운트한다. : A배열 원소의 범위를 0~5까지로 가정하면 B배열의 크기는 6이다. B[idx] = A배열에 등장하는 숫자 idx가 등장하는 횟수 (ex. B[1] = A배열에서 1이 등장하는 횟수 = 1) 2. 등장 횟수를 누적 합으로 변경한다. : B2[i] = B[i] + B[i-1] + B[i-2] + ... + B[0] (ex. B2[2] = B[0]+..
SQL injection (+ Mybatis 방어)
·
WEB/DB
SQL INJECTION SQL Injection 이란, SQL Injection 은 웹 애플리케이션에서 데이터의 유효성 검증을 하지 않아, 개발자가 의도하지 않은 동적 쿼리(Dynamic Query)를 생성하여 조작된 SQL문으로 DB 정보를 열람하거나 변경할 수 있는 보안 취약점입니다. 예시 SELECT * FROM userInfo Where userID = '${userID}' and userPW = '${userPW}' 라는 쿼리가 있다 정보를 빼내려는 유저가 pw' or 1=1 limit 1-- 를 비밀번호로 입력하면 쿼리가 SELECT * FROM userInfo Where userID = 'admin' and userPW = 'pw' or 1=1 limit 1--' 이며 잘못된 결과가 실행된..
Spring : Maven Dependencies 문제 해결법
·
WEB/Spring
org.springframework.web.context.ContextLoaderListener]의 애플리케이션 리스너를 설정하는 중 오류 발생 : 에러 메세지 해결 갑자기 잘 작동하던 프로젝트가 404 페이지가 뜰 때가 있습니다. 이때 org.springframework.web.context.ContextLoaderListener]의 애플리케이션 리스너를 설정하는 중 오류 발생이라는 에러 메시지를 확인했다면, 이것은 maven dependencies가 사라져 발생하는 오류입니다. 해결법은 단순하게 maven dependencies를 추가해주면 됩니다:) 1. 프로젝트를 우클릭해서 Properties를 클릭 2. Deployment Assembly를 클릭해서 Add 버튼을 누릅니다. 3. Java Bui..
Mysql 서버 타임존 변경하기
·
WEB/DB
Mysql version 8.0 사용 Mysql에서 타임스탬프 필드를 사용하다 보면 데이터 입력 시간에서 문제가 발생하는 경우가 있다. mysql 타임존이 보통 UTC (그리니치 천문대가 있는 곳의 시간)으로 설정되어 있어 KST와 9시간 정도 차이가 있기 때문에 발생하는 문제다. 이에 한국시간으로 타임존 변경이 필요하다. 현재 타임존 확인하기 sudo mysql -u root -p # 터미널에서 mysql 실행 코드 select @@global.time_zone, @@session.time_zone,@@system_time_zone; 별도의 타임존 설정을 하지 않았다면 위와 같이 나타날 것이다. SYSTEM은 서버 시스템 시간을 타임존으로 사용하고 있다는 뜻이다. 이에 변경이 필요하다. 한국시간으로 변..
Spring : Github Pull request & Merge 충돌 해결
·
Git
스프링 프로젝트를 진행 중이며 팀원 마다 개인 브랜치를 만들어 push하고 개인 branch에서 master로 merge를 하고 있다. 1. 스프링에서 내 개인 브랜치 (haerin)로 push 한다. 2. 내 브랜치에서 master 브랜치로 pull request 한다. 3. request 방향을 확인하고 아래와 같이 자동적으로 merge 가능하다고 하면, 클릭으로 바로 merge 가능하다. Create pull request 클릭 그 후, merge pull request를 클릭하고 commit을 누른다. 4. 만약 아래와 같이 충돌이 발생하여 github에서 merge가 불가능하다면 충돌 부분을 직접 해결해야 한다. *충돌은 여러 사람이 같은 파일에서 작업하여 merge 할 때 발생한다. 5. 터미..