[Network] 네트워크 확인을 위한 명령어(1) - ping
·
Computer Science/Network
PingIP 네트워크를 통해 특정 목적지까지 네트워크가 잘 동작하는지 확인하는 명령어이다. 기본 문법ping [option] [target_name] option은 선택적으로 사용할 수 있으며, target_name에는 목적지 Host의 IP 주소 혹은 도메인을 적는다. 해당 명령어를 사용할 때는 먼저 localhost에서 실행해서 로컬 네트워크 인터페이스가 작동 중인지 확인한 후에 점점 더 멀리 있는 Host와 Gateway에 ping 명령어를 수행해야 한다. 그래야 네트워크의 어느 부분에 문제가 있는지 단계적으로 파악해 나갈 수 있기 때문이다. 기본적으로 송신되는 인터페이스에서 설정된 IP가 출발지 IP로 지정되지만 출발지 옵션을 통해 루프백 인터페이스 IP, 즉 127.0.0.1(IPv4) 혹은 :..
[Network] ICMP
·
Computer Science/Network
들어가기 전에다른 업체에 방화벽 허용 요청을 했는데, 방화벽이 허용된 걸 어떻게 알 수 있을까요? 위의 질문과 관련해서 ICMP에 대한 개념과 ICMP 메시지가 활용되는 방법들에 대해 정리했다. 보안 상의 이슈로 모든 네트워크 통신 문제를 ICMP를 사용해 확인할 수는 없지만 실무에서 많이 사용되기에 알아두면 좋겠다.  ICMP(Internet Control Message Protocol)ICMP의 탄생을 이해하기 위해서는 IP의 특징을 먼저 알아야 한다. IP로 데이터를 전송하면 도착한 결과를 확인할 수 있을까?  정답은 NO 다. IP에는 데이터가 제대로 도착했는지 확인할 수 있는 방법이 없기 때문이다. "데이터를 보내기 위해 최선을 다하겠지만 안 되도 어쩔 수 없지."라는 IP의 특징을 바로 Bes..
[Network] 쿠키
·
Computer Science/Network
목차 1. 들어가기 전에 2. 쿠키의 사양서 3. 쿠키의 헤더 필드 a. Set-Cookie b. Cookie 4. 쿠키의 동작 방식 5. 자바 예제 코드 6. 장점과 단점, 그리고 대안 정리 면접 예상 질문 들어가기 전에 쿠키는 유저 식별과 상태 관리에 사용되고 있는 기능으로 클라이언트가 보관하는 데이터이다. 클라이언트가 서버에 요청을 보내면 서버에서는 쿠키를 생성하고 응답 헤더에 쿠키 값을 담아 보내면 브라우저는 그 쿠키를 가지고 서버와 통신한다. 위에 이미 적었듯이 유저를 식별해서 로그인을 구현하는 데도 사용되지만 웹 사이트 내의 언어 설정을 바꾸는 등의 정보를 기억하는 데 사용된다. 쿠키의 사양서 쿠키의 명세를 볼 때는 RFC라는 용어가 나오는데 여기서 RFC란 인터넷 상에서 동의된 통신 규칙들을..
[백준] 2108 - 통계학 (Java)
·
Computer Science/Algorithm
https://st-lab.tistory.com/108?category=857114 [백준] 2108번 : 통계학 - JAVA [자바] www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net.. st-lab.tistory.com *해당 포스팅은 상단에 링크된 포스팅을 바탕으로 개인 공부 목적을 위해 작성되었으므로 자세한 내용은 위 링크를 확인해 주시기 바랍니다. 여기서도 그냥 Arrays.sort()를 썼었는데 역시나 선생님은 시간 복잡도를 고려해서 카운팅 정렬을 쓰셨다. O(n)과 O(nlogn)은..
[백준] 10989 - 수 정렬하기 3 (Java)
·
Computer Science/Algorithm
https://st-lab.tistory.com/107?category=857114 [백준] 10989번 : 수 정렬하기 3 - JAVA [자바] www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. ww.. st-lab.tistory.com *해당 포스팅은 상단에 링크된 포스팅을 바탕으로 개인 공부 목적을 위해 작성되었으므로 자세한 내용은 위 링크를 확인해 주시기 바랍니다. 제출 코드 (통과는 함) import java.io.BufferedReader; import java.io.IOException; im..
[백준] 2751 - 수 정렬하기 2 (Java)
·
Computer Science/Algorithm
https://st-lab.tistory.com/106?category=857114 [백준] 2751번 : 수 정렬하기 2 - JAVA [자바] www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이.. st-lab.tistory.com *해당 포스팅은 상단에 링크된 포스팅을 바탕으로 개인 공부 목적을 위해 작성되었으므로 자세한 내용은 위 링크를 확인해 주시기 바랍니다. 역시나 선생님이 예상하신대로 나는 Arrays.sort를 썼지만 dual-pivot Quicksort에서 평균 시간 복잡도가 O(nlon..
[백준] 2750 - 수 정렬하기 (Java)
·
Computer Science/Algorithm
[백준] 2750번 : 수 정렬하기 - JAVA [자바] www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 st-lab.tistory.com *해당 포스팅은 상단에 링크된 포스팅을 바탕으로 개인 공부 목적을 위해 작성되었으므로 자세한 내용은 위 링크를 확인해 주시기 바랍니다. 1. 선택정렬 첫 번째 인덱스부터 시작해서 뒤의 인덱스들과 값을 비교하여 최소값들을 앞 순서로 보내는 방법. 시간 복잡도는 O(n²)이다. import java.io.BufferedReader; import java.io.IOExcepti..
[백준] 9020 - 골드바흐의 추측 (Java)
·
Computer Science/Algorithm
[백준] 9020번 : 골드바흐의 추측 - JAVA [자바] https://www.acmicpc.net/problem/9020 9020번: 골드바흐의 추측 문제 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때 st-lab.tistory.com *해당 포스팅은 상단에 링크된 포스팅을 바탕으로 개인 공부 목적을 위해 작성되었으므로 자세한 내용은 위 링크를 확인해 주시기 바랍니다. 선생님(모르는 제자가 하나 생기신)이 저번에 알려주신 골드바흐의 추측이 문제로 나왔다. 댓글에 나랑 비슷하게 생각하신 분이 계셨다. 진짜 나는 여기서 한 번 더 배워간다. 선생님은 천재다. import java.io.BufferedReade..
[자료구조] Graph 개념과 DFS, BFS
·
Computer Science/Data Structure
[자료구조 알고리즘] 그래프(Graph)에 대해서 [자료구조 알고리즘] Graph 검색 DFS, BFS 구현 in Java 본 포스팅은 위의 영상들을 정리한 글로 개인 공부를 목적으로 작성되었습니다. Graph란 정점(vertex)와 edge(정점과 정점을 연결하는 간선)으로 구성된 한정된 자료구조이다. 만약 이전에 배웠던 트리가 루트도 없고 자식도 없고 방향성이 없어진다면 뭐가 될까? 그게 바로 그래프이다. 사실 트리는 그래프의 한 형태로 단지 사이클이 없고 방향이 정해져있다는 조건이 있는 상태인 것이다. Graph의 특성 1. Directed VS Undirected 그래프는 방향이 있을 수도 있고 없을 수도 있다. 방향이 있는 그래프는 Directed Graph, 없는 그래프는 Undirected ..