문제 public class Quiz { public static void main(String[] args) { System.out.println("Hello, World!"); } } 위 코드에서 main 메서드를 수정하지 않고(접근제어자, 메서드본문 등 모두 수정 불가) GoodBye, World! 만이 출력되도록 하는 방법은? (Hello, World!는 출력되면 안됨) 정답 더보기 public class Quiz { static{ System.out.println("Goodbye, World!"); System.exit(0); } public static void main(String[] args) { System.out.println("Hello, World!"); } } static 블록을 ..
개요 이분탐색은 구현 시 늘 헷갈린다. 그래서 관련 자료를 찾던 중 아래 글을 보게 되었고, 내용을 정리한다. https://www.acmicpc.net/blog/view/109 이분 탐색(Binary Search) 헷갈리지 않게 구현하기 개요 이분 탐색은 off-by-one error가 발생하기 쉬워서 늘 헷갈립니다. 이분 탐색 문제를 풀다보면 탈출 조건으로 lo
문제import java.util.*;public class Q6 { public static void main(String[] args) { Random random = new Random(); int[] array = new int[100000]; for (int i = 0; i A와 B에서 출력되는 값(반복문 수행시간)은 유사한가? 아니면 유의미한 차이가 있는가? 정답더보기B가 훨씬 빠르다.환경마다 다르겠지만, A는 2814ms, B는 488ms가 소요되었다. 순서를 바꿔서 정렬된 배열에 대해 먼저 반복문을 수행해도 마찬가지로,정렬된 배열의 반복이 훨씬 빠르다. 이는 Branch Prediction (분기 예측) 때문이다. 정렬된 데이터에 대..
. 카카오톡 봇 데모 모바일전용 링크 : https://bit.ly/yammabot PC버전 카카오톡 : 친구 탭 -> 친구추가 -> ID로추가 -> yammabot 소스코드 https://github.com/youhogeon/kakao-bot GitHub - youhogeon/kakao-bot: 카톡봇 / chat gpt 질의응답 등이 가능한 카카오톡 봇 입니다. 커스터마이징 카톡봇 / chat gpt 질의응답 등이 가능한 카카오톡 봇 입니다. 커스터마이징·기능추가가 편리하도록 만들었습니다. - GitHub - youhogeon/kakao-bot: 카톡봇 / chat gpt 질의응답 등이 가능한 카카오톡 봇 입 github.com
개요 몇 년 전에 네트워크 강의를 수강하며 TCP와 UDP의 속도/손실률이 실제로 어느정도 되는지 궁금해졌다. TCP/UDP 서버와 클라이언트 코드를 작성해서 비교해봤었는데, 따로 포스팅하지 않고 자료만 가지고 있었다. 그러다가 최근, 모 기업의 자기소개서를 작성하면서 해당 실험을 언급하게 되었고, 과거의 자료를 찾아 블로그에 포스팅한다. 실험 환경 TCP/UDP에 대해 각각 로컬네트워크, AWS서울리전, AWS오하이오리전에서 테스트했다. 또, 패킷의 크기가 400B, 4KB, 40KB일 때 각각 실험하였다. 각 환경에서 10ms간격으로 1000번 패킷을 전송하였고, 3s 간격으로 세 번 반복하였다. (단, AWS환경에서 40KB패킷을 전송할 땐 100번만 전송하였다 ㅡ '결과 분석' 참고) AWS는 t..
. import java.util.Arrays; public class Main { public static void main(String[] args) { perm(0, 0, new int[]{1, 3, 5, 7}, new int[3]); System.out.println("---"); comb(0, 0, new int[]{1, 3, 5, 7}, new int[3]); } static void perm(int cnt, int mask, int[] arr, int[] perm) { if (cnt == perm.length) { System.out.println(Arrays.toString(perm)); return; } for (int i = 0; i < arr.length; i++) { if ((mas..
개요 Postman에는 프록시 서버를 만들어 모든 네트워크 HTTP/HTTPS 요청을 가로채 분석할 수 있다. 다만 HTTPS 처리를 위해서는 특별한 설정이 필요하다. https://learning.postman.com/docs/sending-requests/capturing-request-data/capturing-https-traffic/ Capturing HTTPS traffic | Postman Learning Center Capturing HTTPS traffic: documentation for Postman, the collaboration platform for API development. Create better APIs—faster. learning.postman.com 원리 1. 브..
문제 class Q5 { static Integer value = 0; public static void main(String[] args) throws InterruptedException{ Runnable r = () -> { for (int i = 0; i < 100000; i++) { synchronized (value) { value++; } } }; Thread t1 = new Thread(r); Thread t2 = new Thread(r); t1.start(); t2.start(); t1.join(); t2.join(); System.out.println("value = " + value); } } 이 출력값은 200000인가? Hint: 문제 2번과 유사하다. ( https://blog...