웹 개발은 웹 페이지로부터 데이터를 읽어오거나 클라이언트로부터 데이터를 받아오는 것이 필요합니다. Go 언어를 사용하여 웹 서버에서 Query와 Fragment를 다루는 방법, JSON 데이터를 읽고 쓰는 방법을 알아보겠습니다. 목차 Query String 데이터 처리 JSON 데이터 처리 Query String 데이터 처리 Query String은 URL에 포함된 데이터를 서버로 전달하는 데 사용됩니다. 일반적으로 '?' 문자 이후에 오며, 'key=value'로 이루어져 있습니다. 각 쌍은 '&'로 구분됩니다. 예시 http://example.com/search?querykey=queryvalue&stringkey=stringvalue 위의 예시에서 'querykey=queryvalue'와 'stri..
TCP 서버와 RPC 서버에 대하여 공부한 내용을 기록하려고 합니다. TCP 서버와 RPC 서버를 직접 생성해본적이 처음이라 완전하게 이해되지 않았지만 관련 내용을 공부할 때마다 참고하기 위하여 배운 내용을 정리해 두겠습니다. 잘못된 설명에 대한 조언 혹은 추가적인 설명은 항상 배우는 자세로 감사히 받겠습니다. 목차 TCP 서버 RPC 서버 느낀 점 TCP 서버 TCP 서버는 Transmission Control Protocol을 기반으로 클라이언트와의 네트워크 통신을 처리하는 서버 소프트웨어입니다. TCP 서버에 대한 자세한 설명, 특징과 용도에 대하여 설명드리겠습니다. TCP 서버란? TCP 서버는 클라이언트-서버 모델에서 서버 역할을 하는 소프트웨어입니다. 이 서버는 클라이언트로부터 연결을 수락하고..
Go 언어의 기초 문법을 이전 시간까지 다루었습니다. 앞에서 배운 문법과 패키지를 이용하여 웹 서버에 대한 공부를 시작하려고 합니다. 웹 서버 개발에 대한 참고는 'Go 언어를 활용한 마이크로서비스 개발'이라는 책을 참고하여 공부하였습니다. 목차 net/http 패키지 서버 생성 net/http 라우팅 net/http 패키지 net/http 패키지는 Go 언어에서 HTTP 웹 서버와 클라이언트를 구현하고 사용하기 위한 핵심 패키지입니다. 이 패키지는 다양한 HTTP 메서드 (GET, POST, PUT, DELETE 등)를 처리하고, 요청 및 응답을 다루며, 라우팅 및 핸들링을 담당합니다. 서버 생성 net/http 패키지를 사용하여 서버를 생성하는 방법은 아래와 같습니다. func main(){ port..
문제 https://www.acmicpc.net/problem/1005 입력 첫째 줄에는 테스트케이스의 개수 T가 주어진다. 각 테스트 케이스는 다음과 같이 주어진다. 첫째 줄에 건물의 개수 N과 건물간의 건설 순서 규칙의 총 개수 K가 주어진다. (건물의 번호는 1번부터 N번까지 존재한다.) 둘째 줄에는 각 건물당 건설에 걸리는 시간 D1, D2, ..., Dn이 공백을 사이로 주어진다. 셋째 줄부터 K+2줄 까지 건설 순서 X Y가 주어진다. (이는 건물 X를 지은 다음에 건물 Y를 짓는 것이 가능하다는 의미이다.) 마지막 줄에는 백준이가 승리하기 위해 건설해야 할 건물의 번호 W가 주어진다. 2 4 4 10 1 100 10 1 2 1 3 2 4 3 4 4 8 8 10 20 1 5 8 7 1 43 1..