본문 바로가기

반응형

전체 글

(124)
뱃지 서비스 리팩토링 [1], 충격... 알파벳은 깃허브 프로필에 보여줄 수 있는 귀여운 뱃지를 서비스중입니다 프로젝트 열고 가장 충격적인 코드 중 하나가 뱃지서비스인데, 아래는 뱃지 api를 처리하는 컨트롤러 소스 원본.. (눈 건강을 위해 다 읽어보지 마세요...) 더보기 @RequestMapping(value = "/api/getSVG", method = RequestMethod.GET, produces = "image/svg+xml", params = "stuID") @ResponseBody public ResponseEntity getSVG(@RequestParam("stuID") String stuID, Model model) { List personDtos = personService.searchPerson(stuID); Strin..
[1] 에코 서버 만들기 먼저 에코 서버를 만들어 봅시다 에코 서버의 동작 원리는 다음과 같습니다 1. 클라이언트가 서버에게 문자열을 전송한다 2. 서버는 전달받은 문자열을 그대로 클라이언트에게 리턴한다 서버를 구현하기 위해서는 아래와 같은 구현이 필요합니다 1. 서버는 항상 클라이언트의 요청을 대기한다 2. 요청이 확인되면 클라이언트에게 데이터를 반환한다 public class Server { public static void main(String[] args) { try { ServerSocket serverSocket = new ServerSocket(); [1] serverSocket.bind(new InetSocketAddress("localhost", 1234)); Socket socket = null; [2] whi..
소켓 프로그래밍 시작 전 사전지식 소켓은 두 노드 사이에 통신을 가능하게 하는 엔드포인트라고 생각하면 편합니다 이렇게 써놓으면 어려울 수 있는데 "소켓은 파일이다" 이거 하나만 기억하면 됩니다 그냥 파일에 대고 읽고/쓰면 다른 애가 이걸 집어간다 정도로 이해합시다 파일에 읽고 쓴 걸 누가 집어가느냐하면 OS가 집어갑니다 이때 TCP/UDP 등 소켓 종류에 따라 OS가 처리해주는 방식이 다릅니다 아무튼 소켓은 파일이다 보니 입출력에 주의해야합니다 내가 파일에 뭐라도 써야 읽어갈 데이터가 있는거고, 그러면 이거 읽으려는 친구는 보통 계속 대기해야 하기 때문입니다 이걸 어렵게 말하면 봉쇄(block)이라고 합니다 파일 어떻게 읽고/쓸건지 다양한 방법이 있는데요 전부 구현할 예정입니다 다 구현하려니까 살짝 두렵지만... 포기하지 않고 끝까지 포..

반응형