IT
-
python flask로 간편하게 REST API 서버 만들기 - (2) 간단한 REST API 구현해보기IT/파이썬 응용 프로그래밍 2021. 9. 4. 00:04
이제 Python flask를 활용해서 REST API를 만들어볼 차례이다. (REST API에 대해 모르는 사람은 1편 참고 : https://2island.tistory.com/8) 1. 가상환경 세팅 우선은 venv를 활용해서 개발 환경을 만들어보자. venv를 활용하면 의존성 정보를 프로젝트마다 다르게 저장할 수 있다. 파이썬 3.3 이상을 사용하는 유저라면, venv가 기본적으로 탑재되어 있으므로, 따로 설치를 해주지 않아도 된다. 자신이 작업할 프로젝트 폴더로 이동한 후, 터미널에서 다음과 같은 명령을 내려보자. python3 -m venv {가상환경 이름} 이렇게 명령을 내려주면 지정한 이름으로 가상환경이 생성된다. 가상환경 생성 후에는, 가상환경을 "활성화"를 시켜주어야한다. 활성화 시킬 ..
-
python flask로 간편하게 REST API 서버 만들기 - (1) REST API란?IT/파이썬 응용 프로그래밍 2021. 9. 2. 23:49
1. REST API란? API는 Application Programming Interface의 약자로, 클라이언트로 부터 요청을 받으면 응답을 만든다. 예를 들어 로그인을 한다고 가정하면, 웹 브라우저에서 사용자로부터 이메일 정보 혹은 id와 패스워드를 받아서 요청을 보내면 API는 이를 받고 알맞은 응답(로그인 성공 여부와 로그인을 실패했다면 왜 실패했는지 메시지 등등)을 만들어서 보내준다. REST는 API의 한 종류이다. HTML처럼 정해진 표준이 아니고 한 방식이라는 것이다. 그렇다면 REST는 어떤 방식일까? 우선 REST API는 다음과 같이 구성되어있다. URI - 요청을 전달받고, 응답을 전달할 자원 (주소) METHOD (HTTP) - HTTP Method를 통해 어떤 작업이 이루어질 ..
-
백준 1157번. 단어공부 (파이썬)IT/알고리즘 해설 2021. 7. 3. 18:04
문제 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. 입력 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다. 출력 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다. word = input() word = word.upper() from collections import Counter c = dict(Counter(word).most_common()) if len(list(filter(lambda x: x == max(c.val..
-
백준 1012번. 유기농 배추 (C++)IT/알고리즘 해설 2021. 6. 2. 00:47
문제 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 효과적인 배추흰지렁이를 구입하기로 결심한다. 이 지렁이는 배추근처에 서식하며 해충을 잡아 먹음으로써 배추를 보호한다. 특히, 어떤 배추에 배추흰지렁이가 한 마리라도 살고 있으면 이 지렁이는 인접한 다른 배추로 이동할 수 있어, 그 배추들 역시 해충으로부터 보호받을 수 있다. (한 배추의 상하좌우 네 방향에 다른 배추가 위치한 경우에 서로 인접해있다고 간주한다) 한나가 배추를 재배하는 땅은 고르지 못해서 배추를 군데군데 심어놓았다. 배추들이 모여있는 곳에는 배추흰지렁이가 한 마리만 있으면 되므로 서로 인접해있는 배추들이 몇..
-
백준 2606. 바이러스 (C++)IT/알고리즘 해설 2021. 5. 16. 14:02
문제 신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다. 예를 들어 7대의 컴퓨터가 과 같이 네트워크 상에서 연결되어 있다고 하자. 1번 컴퓨터가 웜 바이러스에 걸리면 웜 바이러스는 2번과 5번 컴퓨터를 거쳐 3번과 6번 컴퓨터까지 전파되어 2, 3, 5, 6 네 대의 컴퓨터는 웜 바이러스에 걸리게 된다. 하지만 4번과 7번 컴퓨터는 1번 컴퓨터와 네트워크상에서 연결되어 있지 않기 때문에 영향을 받지 않는다. 어느 날 1번 컴퓨터가 웜 바이러스에 걸렸다. 컴퓨터의 수와 네트워크 상에서 서로 연결되어 있는 정보가 주어질 때, 1번 컴퓨터를 통해 웜 바이러스에 걸리게 되는 컴퓨터의 수..
-
백준 1260번. DFS와 BFS (C++)IT/알고리즘 해설 2021. 5. 16. 03:48
문제 그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다. 입력 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다. 출력 첫째 줄에 DFS를 수행한 결과를, 그 다음 줄에는 BFS를 수행한 결과를 출력한다. V부터 방문된 점을 순서대로 출력..
-
프로그래밍 입문하기 전 알아두면 좋은 컴퓨터 지식 - 1. 주요 부품IT/컴퓨터 공학 지식 2021. 5. 9. 14:55
프로그래밍에 입문하기 전, "나는 컴퓨터를 잘 모르는데 과연 입문해도 될까?", "남들 다하는데 나도 하고싶은데.... 아무것도 모르겠어 어려워보여 ㅠㅠㅠ" 하며 입문하기 꺼려하는 사람들이 굉장히 많은 것 같다. 그런데 생각보다 입문하기 위해서 알아야할 것들은 별게 없다. 그래서 입문하기 전, 간단히 알아두면 좋을만한 정보를 작성하려고 한다. 우리가 흔히 컴퓨터에서 프로그램이 돌아간다! 할 때, 가장 중요하게 사용되는 부품들은 다음과 같다. 왼쪽부터 차례대로 CPU, RAM, HDD/SSD이다. -1) CPU는, 컴퓨터의 두뇌 역할이다. 프로그램이 돌아가기 위한 모든 연산을 실행하고 처리하며 각종 명령들을 해석하는 놈이다. CPU 스펙을 보게 되면, "듀얼 코어", "쿼드 코어"와 같은 코어를 볼 수 있..