분류 전체보기
-
9020. 골드바흐의 추측SW 정글/알고리즘 2024. 8. 10. 23:42
2보다 큰 짝수 n이 주어졌을 때, n의 골드바흐 파티션을 출력하는 프로그램을 작성하시오. 만약 가능한 n의 골드바흐 파티션이 여러 가지인 경우에는 두 소수의 차이가 가장 작은 것을 출력한다.풀이 import sysdef is_prime(s): if s == 1: return False for i in range(2, int(s**0.5)+1): if s % i == 0: return False return True#소수조합 경우의 수가 여러 개일 경우, A+B에서 A와 B의 차가 가장 작은 두 요소를 출력해라#TestCase 개수n = int(input())for i in range(n): num = int(sys.stdin.readli..
-
headers 설정할 때 User-Agent 문자열을 가져오는 법CS/네트워크 2024. 7. 3. 02:24
웹 스크래핑 공부할 때 주어지는 교안 중 User-Agent 뒤에 오는 문자열은 어디서 오는지 궁금했다. 그전에 User-Agent란?HTTP 요청 헤더는 클라이언트(브라우저or스크립트)가 -> 서버에 요청을 보낼 때 포함하는 추가 정보이다.headers는 사전(dictionary)형태로 구성되어 있고 'User-Agent' 라는 키를 포함한다. 여기서 User-Agent라는 키 = 필드(실제 문자열값=클라이언트의 소프트웨어 및 하드웨어 정보)는웹서버가 요청을 보낸 "클라이언트의 정보를 식별"하게 돕는다. 그러면 서버는 특정 클라이언트에 맞는 최적화된 응답을 제공할 수 있다.웹스크래핑 도구에서는 User-Agent를 설정해서 해당 요청을 브라우저에서 보낸 것처럼 보이게(보냈음을 알게) 해야하는데, 그 이..
-
[코드리뷰] 07.01(1) REST와 endpoint 명명 팁카테고리 없음 2024. 7. 2. 01:24
1. endpoint 수정단수형에서 복수형으로 표현을 바꾼 경우 RESTful* 디자인 원칙을 준수한 것으로 볼 수 있다. 디자인의 일관성을 높이는 방법이다. *REST (Representational State Transfer) 소프트웨어 아키텍쳐 스타일 중 하나 웹 서비스 개발을 위한 일련의 제약 조건과 원칙을 정의한다. 일관된 인터페이스를 유지하고, HTTP 메서드와 URI를 이용해 자원에 접근하는 방식으로 시스템을 설계한다. RESTful 은 REST 원칙을 따른 설계 시스템이나 웹 서비스, 그리고 이들이 제공하는 API을 표현하는 형용사이다. REST의 제약 조건을 준수함으로써 확장성, 성능, 유지보수성이 향상된다. 더보기클라이언트-서버 구조: 클라이언트와 서버는 독립적으로 동작하며 서로의 구현..
-
[독서] 객체지향의 사실과 오해 2장~7장책 리뷰 2024. 6. 27. 19:09
5월에 읽고 뒤늦게 올리는 후기 기차타고 온 날 적느라 나열만 한 수준이다. 저장되어있던 거 나라도 알아볼 수 있게 조금 수정하고 올림 기억에 남는 것 1. (어떤) 메시지를 누구에게 보낼 것인지 기억해라 전달해야 할 메시지를 먼저 정한 후, 그걸 수행할 객체를 정하자 2. 구조에 기능을 맞추는 것이 객체지향과 일맥상통한다. 단, 사용자의 요구사항을 중요시하여 기능을 먼저 정하고 이후에 어떤 구조를 쓸지 정할 때는 다른 경우이다. 3. 인터페이스와 구현부를 분리하면 구현부의 메커니즘이 변해도 인터페이스를 사용하는 것에는 문제가 없다. 자동차 수리를 한다해도 운전자는 그대로 자동차(=인터페이스)를 이전과 같이 운전할 수 있다. 수행해야할 책임=역할이 변하지 않는다면 그 내부 구현이 변하더라도 똑같이 인터페..
-
[까먹기 전에] 중첩 배열 or 다차원 배열에 대한 간단한 예시기타 2024. 6. 26. 03:20
자바스크립트를 다시 공부하다가 콘솔 출력 파트 중 list에서 이해가지 않는 부분이 생겼다. let a_list = [1, 4, 2, [3, 1]] a_list.length // 4 a_list[3] // [3, 1] a_list[3][1] // 1여기서 왜 마지막 줄의 값이 1인지? Chat GPT에게 물어보았다그렇다. 겹겹이 된 list 표현이었다. *참고로 인덱스는 0부터 시작이다. a_list의 [3]은 우선 [3,1] 이란 배열 녀석들이 통째로 해당된다. 다른 1, 4, 2처럼 딱 숫자만 나오지 않는다. 그러니 a_list[3] 뒤에 [1]을 하나 더 붙여 한 번 더 들어갈 수 있다. a_list[3][0] 은 3이 호출될 것이고, a_list[3][1]은 1이 호출된다. 그래서 궁금하여 한 번..
-
[독서] 객체지향의 사실과 오해 1장책 리뷰 2024. 4. 2. 02:07
조영호 지음 🐯표시는 기존의 지식이나 생각을 덧붙인 것이다. 1장 역할, 책임, 협력관계에서 본 객체지향 객체들의 모임이란 역할, 책임, 협력해야 하는 동적인 공동체이며 이 공동체를 시스템이라고 한다. 우리는 이 시스템을 작은 단위로 분할, 즉 객체로 분할하여 재사용할 수 있고 유지보수하기 쉽게 구성해야 한다.🐯유지보수와 재사용은 비용효율적이다. 비용에는 시간도 포함이다. 그리고 이러한 역할, 책임, 협력을 할 때 취하는 행위가 나오는 동시에 객체에는 상태가 존재한다. 🐯앞으로 나아가기 위해 서있는 상태에서는 걸어가고 엎드린 상태에서는 기어가듯, 행위를 할 땐 항상 상태가 존재한다. 역할이 주어지면 그에 따른 책임이 존재하는 것처럼 말이다. 객체의 덕목 : 협력적, 자율적 Object같은 최고수준의 객체..
-
공공데이터 open api의 xml 파일을 csv 파일로 변환하기기타 2023. 11. 11. 09:18
1. 공공데이터 open api 활용신청을 해서 인증키를 발급받는다. 2. 인코딩 키를 복사해 둔다. 3. 해당 데이터의 참고문서를 열어서 URI를 복사한다. 4. 크롬 확장 앱 중 Talend API Tester 를 연다. 5. 다음과 같이 URI의 ServiceKey 앞 ?(물음표) 전까지만 복사해서 get 요청에 넣는다. (getCountryBasicList까지) 6. [Add query parameter] 버튼을 눌러서 서비스키와 필수 항목을 적어야한다. 필수항목은 참고문서 내용을 활용해야 하며 예시를 보자. 요청 메시지 명세를 보면 항목구분에 "1"로 되어있는 것은 not null이어야 한다. 전체 csv 데이터를 저장하고 싶으니 아래로 더 내려서 "전체 결과 수" 를 확인한다. 등록된 국가는 ..