본문 바로가기

IT233

[웹 지식] 토큰(token)에 대해서 토큰하면 어떤 것이 먼저 떠오르는가? 필자는 유희왕의 토큰 카드가 가장 먼저 떠오른다..ㅋㅋ실제로 토큰의 쓰임새는 크게 다르지 않다ㅎ 오늘은 토큰에 대해 알아보는 시간을 갖고, API 키와 어떤 차이점이 있는지도 살펴보자!  ㅇ토큰(Token): 인증 및 권한 부여를 위해 사용되는 데이터의 단위API 키와 유사한 목적을 가지지만, 일반적으로 더 정교하고 안전한 인증 체계를 구현하기 위해 사용된다. 주로 OAuth2.0와 같은 인증 프로토콜에서 활용되며, 사용자의 세션을 나타내거나 API에 대한 접근 권한을 부여한다. [발급 과정]토큰은 인증 서버에서 클라이언트의 자격 증명(예: 사용자 아이디와 비밀번호)을 검증한 후 발급된다그냥 쉽게 말해서, ID와 PWD가 올바르면 발급한다 [주로 사용되는 토큰 유형].. 2025. 1. 25.
[웹 지식] API 키(Key)란? ㅇAPI 키(Key): 특정 API를 사용할 수 있도록 허가받은 사용자임을 인증하기 위한 고유한 문자열(e.g. abcdef1234567890XYZ!@#)주로 API 제공자가 각 사용자나 애플리케이션에 발급하며, 다음과 같은 역할을 지닌다사용자 인증: API 요청을 보낸 사용자가 인증된 사용자임을 증명사용량 추적: API 제공자는 키를 통해 각 사용자의 API 호출 횟수나 사용 패턴을 추적권한 제어: 특정 API 키에 따라 사용할 수 있는 기능이나 데이터 접근 범위를 제한 [사용 방법] API 호출 시 키를 요청 헤더 or 요청 바디 or URL 파라미터에 포함하여 사용예를 들어, 기상청 Open API를 호출할 때 API 키를 URL 파라미터에 포함한다import requestsurl = "http:/.. 2025. 1. 24.
[웹 개발] 기상청 API 활용 Python 코드 https://github.com/drone-skynet/server GitHub - drone-skynet/server: 다중 무인 드론 중고거래 배송 시스템 구축다중 무인 드론 중고거래 배송 시스템 구축. Contribute to drone-skynet/server development by creating an account on GitHub.github.com  이전에 진행했던 다중 무인 드론 중고거래 배송 시스템에서 기상청 API 활용 방법에 대해 소개하고자 한다!우리는 기상청 API를 경로 탐색 서버(Flask)의 경로 탐색 모듈에 탑재하였다. 이 모듈은 기상청 Open API를 활용하여 실시간 기상 데이터를 수집하고, 드론의 경로 탐색 알고리즘에 반영하여 동적 경로 조정을 수행한다. API에.. 2025. 1. 24.
[ps java] 재귀 -> DP 변환 예시 코드(BOJ 9184) https://www.acmicpc.net/problem/9184재귀를 DP로 바꾸는 문제이다 [실버2]재귀 호출만 생각하면 신이 난다! 아닌가요?  아래와 같은 재귀 호출 알고리즘 코드가 있다하지만 a b c 에 15 15 15 만 입력하더라도 실행하는 데에 너무 많은 시간이 걸린다따라서 우리는 아래의 코드를 DP로 변형해 볼 것이다import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); whi.. 2025. 1. 19.
[ps java] 피보나치 수열 알고리즘(재귀, DP) 우리가 일반적으로 알고 있는 피보나치 수열에 대한 재귀 알고리즘은 다음과 같다import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); System.out.println(fibonacci(n)); br.close(); } private static int fibonacci(int n) { if (n == 0) {.. 2025. 1. 19.
[웹 개발] 캐싱 문제와 시크릿 탭 해결 방법의 이유 혹시 로컬로 서버를 개발하고 테스트하는 과정에서, 새로고침을 해도 브라우저의 내용이 즉시 반영되지 않는 문제를 경험해 본 적이 있지 않은가? 분명, 웹 서버를 개발하고 테스트하는 과정에서 새로 업데이트한 내용이 브라우저에서 즉시 반영되지 않는 문제를 경험했을 것이다. 이러한 현상은 브라우저의 캐싱(Caching) 때문이다. 이 글에서는 브라우저 캐싱이 어떻게 동작하는지, 왜 새로고침(refresh)으로 해결되지 않는 경우가 있는지, 그리고 시크릿 탭을 사용했을 때 문제를 해결할 수 있는 이유를 설명하려 한다.  ㅁ브라우저 캐싱(Caching): 웹 브라우저가 웹 서버에서 불러온 데이터를 로컬에 저장하여 다음 요청 시 더 빠르게 로드할 수 있도록 돕는 기술캐싱이 활성화되면 브라우저는 자주 요청되는 리소스(.. 2025. 1. 10.
[ps java] BOJ 15663 N과 M (9) 해설 "백트래킹" 대표 시리즈인 N과 M 시리즈 9번 문제 [실버2]역시 문제 조건 N ※ 백트래킹은 재귀를 활용하므로 보통 시간복잡도가 O(N^N), O(N!) 꼴이다 풀이의 핵심은 중복을 피하는 것이며, 이에 대해 두 가지 풀이 방법이 있다1) HashSet 사용 풀이2) 중복 방지 로직 풀이   https://www.acmicpc.net/problem/15663문제N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.N개의 자연수 중에서 M개를 고른 수열입력첫째 줄에 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8)둘째 줄에 N개의 수가 주어진다. 입력으로 주어지는 수는 10,000보다 작거나 같은 자연수이다.출력한 줄에 하나씩 문제의 조건.. 2025. 1. 7.
[ps java] BOJ 15650 N과 M (2) 해설 "백트래킹" 대표 시리즈인 N과 M 시리즈 [실버3]문제 조건 N ※ 백트래킹은 재귀를 활용하므로 보통 시간복잡도가 O(N^N), O(N!) 꼴이다   https://www.acmicpc.net/problem/15650문제자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열고른 수열은 오름차순이어야 한다.입력첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8)출력한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안 되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다.예제 입력 13 1예제 출.. 2025. 1. 6.
[ps java] fast I/O 정확하게 알고 쓰기 JAVA 같은 엔터프라이즈 언어의 입출력은 타 언어에 비해서 상대적으로 느리며, 특히 System.out.println()을 여러 번 호출하면 성능에 큰 영향을 미친다. 따라서 우리는 익히 아는 BufferReader와 StringBuilder를 사용하는데, StringBuilder를 ps에서 명확하게 사용하는 방법을 알아보고자 한다. 먼저 다음의 코드를 살펴보자! 전형적인 큐의 웰노운 문제이다import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayDeque;import java.util.Deque;import java.util.StringTokenizer;pu.. 2025. 1. 4.