들어가기에 앞서 다음 문서는 RFC6749 공식문서를 읽고 한국어로 정리 및 재구성한 글입니다. 공식문서 본문과 100% 동일하지 않으므로 유의해주세요. 용어 정리 클라이언트: 웹, 앱 어플리케이션을 이용하는 주체(사용자) 자격 증명: 인증(Authorization) 및 인가(Authentication)를 포함한 개념 리로스 소유자: 소셜 로그인 제공하는 서비스 제3자 응용 프로그램: 클라이언트가 자격 증명을 시도하려는 서비스 소개 전통적인 클라이언트-서버 인증 모델에서, 클라이언트가 제한된 리소스(보호된 리소스)에 접근하기 위해 타사 응용프로그램에서 서버에 자격 증명을 제공하는 방식은 몇 가지 문제들이 있습니다. 문제는 다음과 같습니다: 1. 제3자 응용 프로그램은 리소스 소유자의 자격 증명(일반적으로..
들어가기 앞서 다음은 GDSC 백엔드 직렬 1팀에서 진행하는 Spring Boot Study 중 "이상민(23)"이 작성한 포스팅입니다. 공식 문서 및 다양한 참고자료를 바탕으로 해당 글을 작성했습니다. 참고 자료 주소는 본문 하단에 명시되어 있습니다. OAuth의 사용과 의미 OAuth is an open-standard authorization protocol or framework that provides applications the ability for “secure designated access.” For example, you can tell Facebook that it’s OK for ESPN.com to access your profile or post updates to your t..
이번에 우리 멋쟁이 사자처럼 팀원들과 함께 GET IT 해커톤에 참여했습니다. 아직 갓 고등학교를 졸업한 새내기라 선배들로만 구성된 팀을 이끌어 나가야 한다는 것이 조금 두려움이 있었지만... 그걸 조금 극복해보고 싶은 마음에 멋쟁이 사자처럼 공식 대회가 시작하기 전에 사전예행연습(?) 느낌으로다가 GET IT 해커톤에 참여해 봤습니다. 스타트업이라는 드라마에서 나온 장면인 해커톤 대회를 보고 정말로 해보고 싶다는 생각을 많이 했는데, 실제로 해보니깐 보기와는 다르게 하루 밤새워서 코딩을 한다는 것이 정말로 끔찍하고 힘들더라고요... 특히 잠 오는 것보다도 몸이 너무 찝찝하고 감기에 걸려서 기침, 인후통, 두통 등 온몸이 아프더라고요. 하지만 저만 힘든 게 아니라는 생각에 열심히 하고자 노력했던 것 같습..
실습문제 정답입니다. 1. 1이랑 자기자신을 제외하고 소인수를 출력하는 코드를 작성하시오. num = int(input()) for i in range(2, int(num/2) + 1): if num % i == 0: print(i, end=' ') 2. 숫자 여러개를 입력하고 마지막에 0을 입력, 0을 제외하고 최댓값과 최솟값 그리고 평균을 구하시오. num = list(map(int, input().split())) for i in range(len(num)): for j in range(len(num) - i - 1): if num[j] > num[j+1]: num[j], num[j+1] = num[j+1], num[j] sum = 0 for i in num: sum += i average = su..
고대의 컴퓨터 - 컴퓨터의 역사는 주판, 계산자, 계산판 등에서 시작 - 가장 오래된 기계적인 아날로그 컴퓨터: Antikythera(고대 그리스) 소프트웨어 등장 - 직조기 (최초의 프로그램이 가능했음) - 찰스 배비지: 해석기관(총 4가지의 핵심적인 컴포넌트: 중앙처리장치, 메모리, 출력장치, 입력장치) feat. 해석기관은 영국의 수학 교수 찰스 배비지가 고안한 기계적 범용 컴퓨터의 설계이다. 1837년에 처음으로 발표되었으며, 설계는 1871년 그가 죽기 전까지 계속되었다. 해석기관은 경제적, 정치적, 법적 문제로 인해 실제 만들어지지는 않았다. 현대적인 컴퓨터 (1) 기계보다도 전자장치를 사용해서 계산 (2) 아날로그가 아닌 디지털 방식 (3) 내장 프로그래밍 방식 전자식 숫자 적분 및 계산기(..
안녕하세요. 이번에는 제가 고등학교 생기부를 만들고, 특기자 전형을 준비하면서 직접 작성한 보고서입니다. 해당 내용을 참고하시든 사용하시든 상관없으니 자유롭게 사용해 주세요. 보고서 내용만 첨부하겠습니다. 개발 동기 'Find similar celebrities.py’ 프로그램은 사용자가 입력한 얼굴 이미지와 가장 닮은 연예인을 찾아주는 프로그램입니다. SNS에서 퍼지고 있는 ’닮은 연예인 찾기 필터‘에 관심이 생겨 탐구하였습니다. 이 과정에서 해당 필터는 인공지능 기술을 사용하지 않고, 인간의 심리적 특성인 ’성급한 일반화의 오류‘를 이용한 것이라는 점을 알게 되었습니다. 그래서 저는 이를 좀 더 정확하고 근거 있는 결과를 도출해내고 싶어 CNN을 학습하고 이를 적용해 직접 구현해 봤습니다. 개발 과정..
2차에서 떨어졌지만 1차는 통과했는 자소서입니다. 작성은 제가 했고, 첨삭은 학교 선생님을 통해 했습니다. 아마 2024 입시부터는 자기소개서가 폐지된 걸로 알고 있지만, 꼭 대학교 입시가 아니더라도 필요하거나 참고할 내용이 있으시면 참고하셔도 좋습니다. 그대로 사용하셔서 생기는 불이익은 책임지지 않습니다. 1. 고등학교 재학 기간 중 자신의 진로와 관련하여 어떤 노력을 해왔는지 본인에게 의미 있는 학습 경험과 교내 활동을 중심으로 기술해 주시기 바랍니다.(띄어쓰기 포함 1,500자 이내) *검정고시 출신자는 중학교 졸업 후 고등학교 재학 기간에 준하는 기간의 경험 기술 양자컴퓨터에 관한 탐구에서 RSA암호를 접해 RSA암호의 뛰어난 보안성에 대해 호기심이 생겨 탐구하였고, 이 암호체계는 큰 숫자를 소인..
안녕하세요. 이번에는 제가 고등학교 생기부를 만들고, 특기자 전형을 준비하면서 직접 작성한 보고서입니다. 해당 내용을 참고하시든 사용하시든 (이미지 제외) 상관없으니 자유롭게 사용해 주세요. 개발 동기 'StudyHelper.py'는 실시간으로 웹캠에 비친 사용자의 얼굴에서 홍채를 인식해 집중도 측정, 졸음 방지 기능을 제공하여 학습에 도움을 주는 프로그램입니다. 모 대학 교수님의 뇌파를 이용한 집중도 향상 AI 시스템의 연구성과를 보고 AI 기술이 학습에 도움을 준다는 점이 인상 깊었습니다. "뇌파가 아닌 다른 방법으로 집중도를 측정할 수 없을까?" 하는 호기심에 탐구하였고, 집중 여부에 따라 홍채의 움직임에 변화를 준다는 사실을 알게 되었습니다. 이러한 방법을 이용해 학습에 도움을 주는 프로그램을 개..
문자열 쉽다. dir(str)을 이용해 모르는 것이 나오면 찾아서 해결하자. 함수와 모듈 매개변수 미리 지정 함수를 선언할 때 매개변수의 기본값을 지정할 수 있다. 기본값을 지정함으로써 해당 매개변수를 생략하더라도 오류를 발생시키지 않는다. def para_func(v1, v2, v3=0): return v1 + v2 + v3 print(para_func(10, 20)) # 30 print(para_func(10, 20, 30)) # 60 매개변수의 개수를 지정하지 않고 전달하는 방법 먼저 튜플 형식으로 받을 경우, def para_func(*para): result = 0 for i in para: result += i return result print(para_func(10, 20, 30, 40))..
오늘은 리스트, 튜플, 딕셔너리 그리고 세트 자료형에 대한 강의를 들었습니다. 알고 있던 내용도 많았지만 굳이 외우지 않았던 부분이나 세트와 같은 생소한 개념도 있었기에 조작 함수에 관련해서는 풀셋으로 정리해 봤으며, 심화내용 또한 저가 알고 있는 선에서는 정리했습니다. 리스트 자료형 리스트 조작 함수 append() - 리스트 맨 뒤에 항목을 추가 pop() - 리스트 맨 뒤의 항목 제거, 스택 구현할 때 사용!! sort() - 정렬 reverse() - 순서를 역순으로 index(찾을 값) - 지정한 값을 찾아 해당 위치 반환 insert(위치, 값) - 지정된 위치에 값을 삽입 remove(지울 값) - 리스트에 저장한 값을 삭제(여러 개일 경우 첫 번째 값 삭제) extend(추가할 리스트) -..
중간고사 문제 및 정답 중간고사 문제 및 제출한 답안은 시험 종료 후 확인하기에는 어려움이 있어 집에서 기억나는 대로 소스코드를 재작성했습니다. 문제의 상세한 조건은 생략하고 핵심적인 부분만 구현했습니다. 문제 1 환율에 따른 원화 달러 환전 프로그램을 제작하시오. 조건 1. 번호 1, 2, 3번을 입력받아 환율계산 및 프로그램 종료를 구현할 것. (그 외의 번호를 입력받을 경우 잘못된 번호라고 출력) 조건 2. 무한반복 사용 Exchange_Rate = 1280.20 print("원화 달러 환전") print("1 : 원화를 달러로 환전합니다. ") print("2 : 달러를 원화로 환전합니다. ") print("3 : 종료 ") while True: num = int(input("번호를 입력하시오 :..
내일은 중간고사이기 때문에 3일 차 수업 내용과 중간고사 관련해서 이야기해 보겠습니다. 하루종일 반복문 반복문 내용은 너무 쉽기 때문에 모두 생략하겠습니다. [실습] 거북이 원 그리기 import turtle swidth, sheight = 500, 500 turtle.title('무지개색 원그리기') turtle.shape('turtle') turtle.setup(width = swidth+50, height=sheight+50) # 그래픽 창 turtle.screensize(swidth, sheight) turtle.penup() turtle.goto(0, -sheight/2) turtle.pendown() turtle.speed(10) for r in range(1, 250): if r % 7 ==..
이번 수업에서 배운 내용 중 중요하다고 생각되는 부분을 정리했습니다. 입출력 input() 함수 데이터형 주의하기 print() 함수 end 인자는 개행문자 대신에 출력할 문자를 지정할 수 있다. sep 인자는 공백 대신에 넣을 문자를 지정할 수 있다. \n 줄 바꿈 \t 탭 \\ 역슬래쉬를 문자로 인식 \' \" 따옴표 문자로 인식 %d 정수 %f 실수 %c 문자 %s 문자열 %o 8진수 %x 16진수 {1:5.1f} == 두 번째 %5.1f 변수와 데이터형 쉬워서 패스 연산자 비트 연산자: 정수를 2진수로 변환한 후 각 자리의 비트끼리 연산을 수행한다. & 비트 논리곱(and) | 비트 논리합(or) ^ 비트 논리적 베타합(xor) ~ 비트 부정 => 모든 0은 1로, 1은 0으로 바꾼다. 이를 1의..
이번 포스팅은 경북대학교 예비대학 3기 파이썬 교육을 받으면서 새롭게 알게 된 내용과 시험에 나올법한 내용을 정리했습니다. 기초 문법에 관한 내용은 따로 적지 않았습니다. 파이썬에 대하여 컴퓨터가 이해하는 말을 프로그래밍 언어라고 한다. 프로그래밍 언어는 컴퓨터에서 작동하는 소프트웨어를 만드는 도구 같은 것으로, 요즘에는 스마트폰에서 작동하는 앱도 프로그래밍 언어로 만든다. 그리고 프로그래밍 언어를 사용해 소프트웨어나 앱을 만드는 사람을 프로그래머라고 한다. 프로그래밍 언어의 개념 코딩 = 프로그래밍 프로그래밍 언어: 프로그램을 만드는 도구, 컴퓨터가 이해하는 언어 코딩하는 사람 = 프로그래머 프로그래밍 언어의 종류와 특징 C/C++ : 엑셀, 한글, 웹 브라우저 등 소프트웨어 개발에 주로 사용 Java..