CS 7

정렬 알고리즘 (삽입,선택,버블,셸,퀵,힙,병합 정렬)

✨ 정렬 알고리즘  크래프톤 정글에서 퀵 정렬에 대해서 쪽지 시험이 나왔다. 퀵 정렬을 공부하면서 다른 정렬 방법에 대해서도 궁금증이 생겼고, 책과 블로그들을 참고하면서 정리 해보았다.  🔖 Insertion sort (삽입 정렬) 삽입 정렬은 손안의 카드를 정렬하는 방법과 유사하다.  새로운 카드를 기존 정렬된 카드 사이 올바른 위치에 삽입한다. key 값은 2번째 인덱스부터 시작되며, key 값이 자료의 길이만큼 이동되면 정렬이 완성된다.   특징 : 1. 안전한 정렬 방법이다. (바로 옆의 데이터와 비교 )→ 안전하다는 것을 동일한 값을 가진 원소들의 상대적인 순서가 유지되는 것을 의미2. 이미 정렬되어 있는 경우나 자료의 수가 적을 경우 구현이 간단3. 비교적으로 많은 레코드들의 이동이 필요하다..

CS 2024.09.11

1장. 컴퓨터 시스템 (Computer Systems A Programmer's Perspective)

🔖1.1 정보는 비트와 컨텍스트로 이루어진다. 소스 프로그램은 0 또는 1로 표시되는 비트들의 연속으로, 바이트라는 8비트 단위로 구성된다. 각 바이트는 프로그램의 텍스트 문자로 나타낸다. 그리고 대부분의 컴퓨터 시스템에서는 텍스트 문자를 아스키(ASCII) 표준을 사용하여 표시한다. 오로지 아스키 문자들로만 이뤄진 파일들을 텍스트 파일이라고 부른다. (이외의 다른 모든 파일들을(실행파일 등) 바이너리 파일이라고 한다.) + 최근에는 아스키 대신 유니코드가 많이 사용되고 있다. 모든 시스템 내부의 정보 (데이터,네트워크,프로그램 등)는 비트들로 표시되는데, 서로 다른 객체들을 구분하는 유일한 방법은 이들을 바라보는 컨텍스트에 의해서이다. 여기에서 컨텍스트는 저장매체, 프로세서의 구조, 파일 형식, 네트..

CS 2024.09.08

인증과 인가 / 쿠키와 세션 / 토큰과 JWT 이란 ?

웹서비스를 만들기위해서는 로그인 기능이 거의 필수적이다. 로그인 기능이 있어야 사용자에게 맞춤형으로 응답을 보낸다.  그렇다면 사용자로부터 인증을 받아야하는데,이때 쿠키와 세션이 쓰인다.  이번 포스팅에서 쿠키와 세션, 그리고 토큰 추가로 JWT에 대해 알아보고, 간단히 파이썬으로 구현해본다. 인증 (Authetication) : 사용자의 신원을 검증인가 (Authorization) : 인증 이후 프로세스로, 인증된 유저가 어떠한 자원에 접근할 수 있는지 확인 사용자가 로그인을 인증하면 → (인증) 서버측에서 쿠키를 주던가 세션 ID를 저장한다. →  (인가)  🔖 웹 어플리케이션 인증의 특수성비연결성 (Connectionless):서버와 클라이언트는 연결되어 있지 않고, 리소스 절약을 위해 서버는 하..

CS 2024.09.06

API (Application Programming Interface)는 무엇일까 ?

🔍  API를 알아보기 전에API, REST API 이런 단어를 프로그래밍을 하다보면 꼭 듣게 되는데,어떤건지는 대충 느낌을 알지만, 정확히 뭔지는 잘 설명을 못한다. API에서 I는 Interface로 사전적 의미로는 "두 물체 사이에서 상호 간 대화" 이다.즉, 컴퓨터에서 인터페이스는 read 또는 write의 역할을 해준다.ex) 키보드는 사람과 컴퓨터를 연결해주는 (물리적)인터페이스  그래서 이번 기회에 구체적으로 API에 대해 알아보고 공부 해보고자 한다. 🌟 API  (응용 프로그램 프로그래밍 인터페이스)아래 정의는 똑같은 말인데, 좀 다양한 말들로 설명하면 좀 이해가 쉬워져서 여러개를 가져와봤다. 정의 1.  응용 프로그램에서 사용할 수 있도록, 운영체제나 프로그래밍 언어가 제공하는 기능..

CS 2024.07.02

명령 프롬프트(터미널)로 특정 파일 찾기

내가 원하는 파일을 찾고 싶을때대부분 폴더 상단에 검색을 한다. 이렇게도 찾아지기는 하는데, 때로는 하루종일 찾게된다 ....  겨우 바탕화면에 붕어빵.txt 하나를 못 찾고 있다.이런 경우 터미널을 사용하면 훨씬 빠르게 찾을 수 있다. 매우 간단하니 알아두면 매우 유용할 것 이다. 바탕화면에 붕어빵.txt 파일을 미리 만들어 놨고, 이 파일을 찾는거를 목표로 하자 !    window + r  키를 눌러 cmd를 입력한다.그러면 검정색 명령 프롬프트(터미널)이 뜬다. 현재 내 컴퓨터 터미널 경로는  C:\User\chosun 으로 되어있다.    붕어빵 파일이 어디에 있는지 모르니 최상위 폴더로 디렉트하자.상위 폴더로 가는거는 cd..을 하면 된다. cd.. 명령어로 C: 폴더 위치까지 도달했다.   ..

CS 2024.03.18

[Python] os/shutil 라이브러리 정리

이 라이브러리들을 엄청 자주쓰지는 않지만 가끔 쓸 때 매일 까먹는다.그래서 간단하게 가장 기본적이고 핵심적인 os/shutil 라이브러리 함수를 정리해보았다.이거 익숙해지면 폴더 관련해서 노가다 안해도 된다 ...ㅎㅎ!!  가장 먼저 os,shutil의 라이브러리를 호출한다.import osimport shutil  - 경로 확인[현재 작업 경로]os.getcwd() # 현재 작업 경로지금 실행 파일의 작업 경로가 나온다  [해당 경로의 파일들 확인]os.listdir() #해당 경로의 파일들 확인현재 경로상의 파일 리스트이다.   os.listdir(path= '/Users/jerim/Desktop/따릉이') # path = "찾고자 하는 경로"만일 특정 경로의 파일 리스트를 보고싶을 때는 p..

CS 2023.11.09

Network,TCP/IP protocol 기본 개념 (컴퓨터 지식)

Network의 사전적 의미는 통신이 가능한 서로 연결된 장치의 모임이다. [네트워크의 구조] 1. Point-to-Point - 두 장치간의 전용 링크 ex) TV - 리모컨 2. Multipoint - 3개 이상의 특정 기기가 하나의 링크를 공유 [네트워크 범위] 1. PAN (Personal Area Network) - 개인 장치 네트워크 - 매우 제한적이고 짧은 영역 ex) 블루투스, 무선 키보드 2. LAN (Local Area Network) - 개인, 사무실, 학교 등에 있는 호스트 연결 - private 네트워크여서 외부 통제 불가능 - 컴퓨터 자원을 로컬 영역 네트워크에서 공유가능 - 관리자에게 권한이 많아 개인 정보 보호 기능 없음 ex ) 군대 또는 사무실 인트라넷 3. WAN (Wi..

CS 2023.10.24