전체 글

초보 개발자의 지식 공유의 장
#10String이 주어지면, 중복된 char가 없는 가장 긴 서브스트링 (substring)의 길이를 찾으시오. // Input : "aabccbc"// output : 3("abc") 문자 list를 만든 후, for문을 돌며 문자를 추가한다. 같은 문자가 포함되어 있을시 list length를 구하여 maxLength보다 크면 maxLength교체 크지 않으면 현 maxLength를 유지한다. 1234567891011121314public static int solution(String str) { int maxLength = 0; List list = new ArrayList(); for(int i=0; i list.size() ? maxLength : list.size(); list.clear(..
팩토리얼(Factorial) 구하기재귀적 방법을 사용하지 않는 팩토리얼 구현을 작성하라. Factorial(n) = 1 * Factorial(n-1);재귀 팩토리얼12345public long recursiveFactorial(int n) { if(n
면접 단골문제인 피보나치(fibonacci) 구현 1에서 n까지의 피보나치 수열을 반환하는 메서드를 작성하라. 123456789101112131415161718192021222324252627282930313233public static List fibonacci(int n){ if(n
Gson을 사용하여 json변환 작업시, = 문자가 \u003d로 변환되서 나오는 것을 목격12345Map map = new HashMap();map.put("id", "asd12sdnwe==");Gson gson = new Gson();String json = gson.toJson(map); Colored by Color Scriptercsasd12sdnwe\u003d 이런식으로 출력된다.문제해결을 위해 구글링을 했더니 아래와 같이 gson 을 사용하면 유니코드로 변환되지않는다.12345Map map = new HashMap();map.put("id", "asd12sdnwe==");Gson gson = new GsonBuilder().disableHtmlEscaping().create();String ..
※용어정리 개인정보처리자 : 개인정보를 처리하는 공공기관이나 사업자, 단체 등을 의미개인정보취급자 : 개인정보를 처리함에 있어서 개인정보가 안전하게 관리될 수 있도록 임직원, 파견근로자, 시간제근로자 등 개인 정보처리자의 지휘,감독을 받아 개인정보를 처리하는 자를 지칭감사(Audit) : 개발된 컴퓨터 시스템의 작동을 평가하는 작업자산(Asset) : 조직이 보호해야할 대상(정보, 하드웨어, 소프트웨어 등을 말하며 인력, 기업 이미지 등의 무형자산도 포함)위협(Threat) : 손실이나 손상의 원인이 될 가능성을 제공하는 환경의 집합(보안에 해를 끼치는 행동이나 사건)취약점(Vulnerability) : 자산의 잠재적 속성이나 처한 환경으로 위협의 이용대상으로 관리적, 물리적, 기술적 약점위험평가 : 정..
서비스 거부 공격(Denial of Service)정상적인 서비스를 할 수 없도록 가용성(Availability)를 떨어트리는 것이 공격의 목표3가지 유형 존재파괴 공격 : 디스크, 데이터, 시스템 파괴시스템 자원 소진 공격 : CPU, 메모리, 디스크 등의 자원에 과도한 부하를 발생시키는 유형네트워크 자원 소진 공격 : 과도한 트래픽으로 네트워크 대역폭을 소진시키는 유형Dos VS DDosDos : 공격자가 단일 컴퓨터를 통해 공격하는 경우DDos(분산 서비스 거부) : 공격자가 물리적으로 분산된 다수의 컴퓨터를 이용하여 공격하는 형태Ping Of Death Attack(죽음의 핑)Ping(ICMP Echo Request(8), ICMP Echo Reply(0)) 사이즈를 매우 크게 생성하여 전송 큰사..
포트스캐닝(Port Scanning)어떤 포트가 열려 있는지 확인하는 것으로 침입 전 취약점을 분석하기 위한 사전작업 중 하나nmap을 주로 사용nmap [scan_type] [options] (target)scan_type 문법-sS : TCP SYN(Half-Open) Scan -sT : TCP Connect(Open) Scan-sU : UDP Scan-sF : TCP FIN Scan-sX : TCP Xmas Scan-sN : TCP NULL Scan-sA : TCP Ack Scan-sP : Ping(icmp/icmp echo) Scan-D : Decoy Scan동작방식TCP SYN(Half-Open) 스캔 (스텔스 스캔)완전한 연결을 수행하지 않기 때문에 로그가 남지 않는다SYN -> SYN + A..
UDP 프로토콜비연결형 프로토콜연결 설정 과정이 없기 때문에 데이터그램 전송시 마다 주소 정보를 설정해서 전송순차적 전송을 보장해주지 않음데이터그램 기반의 전송방식을 사용. 데이터를 정해진 크기로 전송하는 방식신뢰할 수 없는 프로토콜UDP 프로토콜의 장점단순하고 가벼운 프로토콜로 전송속도가 빠름비신뢰적인 특성으로 인해 대량 데이터의 송수신으로는 부적절하며 주로 한 번의 패킷 송수신으로 완료되는 서비스에 많이 사용DNS 서비스(53/udp), DHCP(67, 68/udp) 등 네트워크 관리 명령어ping 명령ICMP(echo request(type 8), echo reply(type 0))종단 노드 간에 네트워크 상태를 관리하기 위한 명령어traceroute 명령종단 노드 사이에 있는 여러 중계 노드(라우..
** 전송계층 프로토콜End To End Reliable DeliveryProcess To Process Communicationport : 16bit(2byte), 논리적 주소 TCP 프로토콜연결지향 프로토콜(Connection Oriented Protocol)물리적으로 전용회선이 연결되어 있는 것처럼 가상의 연결통로(Software)를 설정해서 통시하는 방식가상회선방식 : 물리적으로 전용회선이 연결되어 있는 것처럼 논리적으로 동작하는 방식신뢰할 수 있는 프로토콜(Reliable Protocol)흐름제어(Flow Control)상대방이 받을 수 있을 만큼만 데이터를 효율적으로 전송슬라이딩 윈도우(Sliding Window) 제어방식 사용. 상대방이 수신할 수 있는 크기(Window Size)만큼의 데이..
ICMP 프로토콜Network Layer(3계층)의 IP 프로토콜은 신뢰할수 없는 프로토콜이기 때문에, 단점을 보완하기 위해 나온 프로토콜에러 발생 원인을 알려주거나 네트워크 상태를 진단해주는 기능을 제공Error-Reporting Message 기능 : 전송 중 오류 발생시 에러 메시지를 생성하여 응답Query Message 기능 : 네트워크 상태를 진단하기 위한 쿼리 요청 및 응답 메시지 생성(Ping)ICMP 메시지는 Type 필드와 Code 필드로 구성 (Type 필드 : 메시지의 유형을 의미, Code 필드 : 유형별 세부내용 제공)Type : ICMP 메시지의 유형/용도Type3 : Destination Unreachable (목적지 도달 불가)Type3 의 Code3 : Port Unreac..
깡냉쓰
평범한 개발자 노트