웹 사이트를 만들었다. 주요 공부거리로는 -app.route/ajax를 이용한 json통신 익숙해지기 -html 코드 작성 -jwt를 사용한 보안 -jinja2를 이용한 사이드랜더링 구현 가 되겠다.
배열이란?흩어진 코드들을 쉽게 묶어서 사용하기 위한 기능알아볼 자료형 = list,tuple리스트 = mutable list형 객체만드는 방법튜플 = immutable 자료형만드는 방법풀어내기\-정말 간단하게 변경가능/변경 불가능이라고 생각하면 된다.그 이유는 한번
스택을 표현한 그림이다. 사실 다른거 다 필요없이 이 한장에 스택의 모든것이 설명된다고 봐도 과언이 아니다.다음은 스택의 구조를 알아보자.push = 스택에 data를 추가하는 행위이다. pop = 스택에서 data를 제거하는 행위이다. 가장 늦게온 data를 우선적으
완전탐색 - 브루트 포스 브루트 -> brute 한마디로 정리하면 무식하게 힘으로 밀어 붙인다는 소리다. 브루트 포스는 간단하다. 모든 경우를 다 직접 해 본다. -끝- 이라고 끝내면 섭섭하니 예를 하나 보자. 10자리 텍스트가 있다고 보자. ABABCDEFG
분할정복 분할정복을 사용한 merge - sort - algorithm 찾아보면서도 정말 애매모호하고 두루뭉실하게 설명이 되어 있었다. 분할정복이란 해결할 수 없는 문제를 작은 문제로 분할하여 문제를 해결하는 방법이나 알고리즘이다.(위키) 분할정복의 보통 제귀함수를
인스트럭션 : 컴퓨터에서 일을 시키는 단위 기계어로 이루어져있음.워드 : 하나의 기계어 명령어나 연산을 통해 저장된 장치로부터 레지스터에 옮겨 놓을 수 있는 데이터 단위레지스트리 : 윈도우에서 사용하는 시스템 구성 정보를 저장한 데이터베이스프로그램카운터(PC) : 마이
이해도 잘 가지 않고 막연한 '둔기'를 해석할 때가 왔다.이번에는 특히나 쓰레드/프로세스/추상화 개념이 이해가 잘 안되긴하는데글을 적어보며 정리하는 시간을 갖도록 하겠다.컴퓨터가 프로그램을 실행할때 하드디스크에서 정보를 가져와 메인 메모리에 저장 후, 프로세서로 복사가
주변에서 곡소리가 나온다. 다익스트라가 뭔지 도통 모르겠다는 사람들이 많다.그래서 이악물고 다익스트라를 먼저 공부하기로 했다...네델란드 박사님이 만든 알고리즘이다.떨어져 있는 두 노드 사이를 갈 수 있는 가중치가 가장 작은 경로를 찾는것이다.그냥 톨게이트 비용 가장
키워드를 저장하기 위해서 적은 것임으로, 추후 많이 수정할 예정b-tree 장점미친듯이 빠르다(O(logn))균등한 검색 속도단점데이터 삽입/삭제 시 연산이 엄청나게 복잡함낭비하는 메모리가 많음(1/2일때 분할,2/3일때분할...)순차탐색할때 중위순회가 매우 비효율적임
.
한 6시간 정도를 한참 해맸다. 진짜 뭔소린지도 모르겠고 파이썬 자료형도 다 익히지 못해서 이리저리 치이는 중이다.지금 느끼는게 작년에 한달 반짝 해서 백준 골드 찍었던 실력이 밑바닥을 보이는 느낌이다.그래서 1~2주차때는 그나마 할만하기도 했고 dfs/bfs정도까지는
책은 읽어도 뭔소리인지 모르겠다. 하지만 짤의 왼쪽처럼 포기할건가? 난 포기하지 않고 동료의 til 과 인터넷의 일명 '해석본'을 참고해서 글을 적을 것이다. 근데 적는다 해놓고 그렇게 자세하게 쓰지 않을것이다. 둔기는 이 돼지도감 하나면 충분하다. 3-1장
https://dev-game-standalone.tistory.com/92이 글은 위 링크의 글을 읽고 정리한 글에 가깝다.더 자세한 설명과 풀이를 보고 싶다면 링크의 글을 읽는것이 도움이 많이 될 것이다.RB트리, 즉 트리의 노드 색깔을 빨간색/검은색으로
컴파일러 라고 하면 흔히 C/C++ 언어를 저수준의 기계어로 번역해주는 소프트웨어라고 생각한다.맞는 설명이긴 하지만 엄밀하게 말하면컴파일은 어떤 언어의 코드 전체를 다른 언어로 바꿔주는 과정이다.컴파일러는 컴파일을 자동으로 수행해주는 소프트웨어를 의미한다.이 두개의 미
포인터 포인터가 무엇인가를 검색하면 어떤 특정한 값을 가르키는 사람들이 나온다. 포인터는 무엇인지 정의부터 알아보자. 포인터(pointer)는 프로그래밍 언어에서 다른 변수, 혹은 그 변수의 메모리 공간주소를 가리키는 변수를 말한다. 포인터가 가리키는 값을 가져오
메모리에는 사람이 간섭하지 못하는 부분이 있다. 그것은 heap 메모리인데, 여기에 있는 데이터를 변화를 시키지 못한다. 하지만 이것만 들으면 이해가 잘 되지 않을것이니 우리는 stack 과 heap, 그리고 data의 차이점을 알아야 한다. 정적 세그먼트 -
복습 - malloc/calloc/realloc \-inorder/preorder/postorder
CSAPP 6장 메모리 계층구조 6-1. 저장장치 기술 일반적으로 RAM은 정적인 SRAM과 동적인 DRAM으로 나뉜다. 1. SRAM 각 비트를 이중안정 메모리 셀에 저장한다. 각 셀은 여섯 개의 트랜지스터 회로로 구현된다. 이 회로는 안정적이라 전원이
이번장은 여러개의 코드와 데이터를연결하여 로드/실행이 가능한 파일로 만드는 작업인 '링킹'에 관한 내용이다.왜 링킹에 대해서 배워야 하는가?링커를 이해하면 큰 프로그램을 작성하는데 도움이 된다. 링커의 에러가 발생할때 왜 에러가 뜨는지, 링커가 어떻게 참조를 하는지에
자세한 내용은 csapp 9장에 나와있으며 여기는 간단하게 정리만 합니다.가상 메모리는 컴퓨터에서 사용 가능한 메모리를 추상화하여 사용자들에게 하나의 큰 메모리 처럼 보이게 만드는 기술이다. 실행되는 프로그램들은 실제 메모리 주소가 아닌, 가상 메모리의 주소를 받게 된
메모리 할당 정책 first fit : 리스트를 처음부터 검색해서 크기가 맞는 첫 번째 가용 블록을 선택 next fit : first fit과 비슷하지만 이전 검색이 종료된 지점에서 검색을 시작한다. best fit : 모든 가용 블록을 검사하여 크기가 맞는 가
CSAPP에서 가장 중요하다고 자주 언급되는 9장이다. 이번장은 메모리 관리, 동적 메모리 할당에 관련된 내용이 나온다. 우리가 가상메모리를 공부해야 하는 이유는 여러가지가 있다. 가상메모리는 거의 모든 컴퓨터 에서 사용하며, 하드웨어 예외, 어셈블러,링커,로더
드디어 CSAPP 6,7,8,9장을 모두 읽었다!! 긍정적으로 생각하자면 기본적인 운영체제에 대한 내용을 머리에 담고 있기 때문에다른 설명을 들을 때 아 그거! 라고 말을 할 수 있는 것이고부정적으로 생각하자면 아직도 읽어야 할 게 산더미처럼 쌓여있으며그저 수박겉햝기로
osi 7계층 라우터/허브/리피터/브릿지/랜선(utp/rj45/nic/mac주소/arp/rarp) 스타형/망형/원형/이더넷과 와이파이의 차이 tcp/ip 4계층 게이트웨이 서브넷 마스크 서브넷팅 ip클래스 cpu스캐쥴링 -비선점 = fcfs , sjf = 가장 짧은
CSAPP 10~12장의 내용은 프로그램 간의 상호작용에 대한 내용이다. 11장은 그 중에서도 네트워크 통신에 관한 내용이 나오며, 어떻게 우리 컴퓨터가 인터넷과 연결을 하고, 데이터를 받아오는가에 대해 이해할 수 있다. 적힌 개념의 내용은 적지만, 그 내용들을
이번주는 진짜 '꿀빨았다' -> malloc lab 의사코드 따라서 치니까 되네? -> 코드 함 봤더니 뭔말인지 이해되네? -> 더하는건 시간이 너무 많이 드는거 같으니 딴거해도 되겠네? -> 다음주 다다음주 할꺼도 미리 하고 책도 보고 하고싶은 공부해도 되네? =
소켓이란? 리눅스 커널의 관점에서 웹 소켓은 네트워크 상의 두 프로그램 간 양방향 통신을 위한 엔드포인트다. UNIX 관점에서 본다면 소켓은 식별자를 가진 열린 파일이다. 소켓 인터페이스 소켓 인터페이스는 네트워크 애플리케이션을 설계하기 위해 UNIX 입출력 함
CGI ( common gateway interface) CGI , 공용 게이트웨이 인터페이스는 웹 서버 상에서 사용자 프로그램을 동작시키기 위한 조합이다. 어디까지나 인터페이스이며 , 웹 서버 등으로부터 외부 프로그램을 호출하는 조합을 가리킨다. 프로그램이라기 보다
(블리자드 홈페이지에서 주소를 잘못 들어가거나 삭제된 페이지의 url로 접근하면 나오는 404페이지) 이 404 에러는 http status code 중 하나이며, code 중 에러에 관한 400번대 중 하나인데 404의 뜻은 '요청한 페이지를 찾을 수 없음'이다
이번주는 상당히 힘들었다. 힘들다는게 몸이 힘들었다는 뜻이 아니라, 처음 배워보는 네트워크 프로그래밍과 그것을 적용하는 tiny 서버 구축, 그리고 서버를 만들때 들어가는 함수조차 알지 못했기 때문에 이게 뭔소리인가 하루이틀정도 코드만 봤던거 같다. 그래서 진전도 없
일반적으로 가상머신/컨테이너로 돌아가는 서버의 경우 외부 이더넷/인터넷 과의 연결이 되지 않는다. 그렇기 때문에 도커를 쓰는 우리는 필연적으로 외부 인터넷과 도커 내부의 컨테이너를 연결하는 것을 해야 한다. 포트 포워딩 포트포워딩은 패킷이 라우터/방화벽 같은 네
이 글은 pintos 프로젝트의 정답 코드 및 이론을 포함하고 있습니다.pintos의 취지 특성 상 개인의 공부, 고민 과정이 정말 중요하다고 생각하며프로젝트 풀이에 대한 스포일러를 받고싶지 않으신 분은 읽으시는걸 비추천 합니다.이 글을 읽기전에cpu 스캐줄링에 대한
주의! 이 글은 pintos 프로젝트의 정답 코드 및 이론을 포함하고 있습니다. pintos의 취지 특성 상 개인의 공부, 고민 과정이 정말 중요하다고 생각하며 프로젝트 풀이에 대한 스포일러를 받고싶지 않으신 분은 읽으시는걸 비추천 합니다. 부활했다. 그렇게 나
서론 PintOS란 무엇인가? 교육용으로 만들어진 최소 기능만 구현한 Project OS 무엇을 해야 하는가? 1주차는 thread의 이해를 돕기 위한 Alarm Clock , Priority Scheduling 1주차 프로젝트 목표 1. Alarm Clock
결합하여 외부에서는 하나의 조작으로 보이는 조작의 집합을 의미한다.그리고 이러한 기능을 하기 위해서는 2가지의 조건이 필요하다.모든 조작이 완료할 때까지 어떤 프로세스도 변경을 알지 못하도록 '비가시적'이어야 하며조작중에 어느 하나라도 실패한다면 조작 전체도 실패하고
Kaist 권** 교수님의 강의를 들었다. 학부 다닐때도 우리학교 교수님들 보면 포스가 범상치 않았는데 오늘 강의를 해주신 교수님 또한 정말 대단한 분이라는걸 느꼈다. 가장 중요한 점은 강의를 진행할때 확신이 있다는 것과, 하신 말씀들을 곰곰히 생각해보면 포괄적으
주의! 이 글은 pintos 프로젝트의 정답 코드 및 이론을 포함하고 있습니다. pintos의 취지 특성 상 개인의 공부, 고민 과정이 정말 중요하다고 생각하며 프로젝트 풀이에 대한 스포일러를 받고싶지 않으신 분은 읽으시는걸 비추천 합니다. 그냥 아주 난리가 났
주의! 이 글은 pintos 프로젝트의 정답 코드 및 이론을 포함하고 있습니다. pintos의 취지 특성 상 개인의 공부, 고민 과정이 정말 중요하다고 생각하며 프로젝트 풀이에 대한 스포일러를 받고싶지 않으신 분은 읽으시는걸 비추천 합니다. 그냥 시간이 삭제되는
TLB (Translation Lookaside Buffer) 변환 색인 버파고 한다. virtual memory address를 physical memory address로 변환하는 속도를 높이기 위해서 사용되는 캐시이다. 말 그대로 주소변환용 캐시이기 때문에 c
주의! 이 글은 pintos 프로젝트의 정답 코드 및 이론을 포함하고 있습니다. pintos의 취지 특성 상 개인의 공부, 고민 과정이 정말 중요하다고 생각하며 프로젝트 풀이에 대한 스포일러를 받고싶지 않으신 분은 읽으시는걸 비추천 합니다. 이번주는 상당히 힘들
길고 긴 PintOS 프로젝트가 끝났다. 그렇게 오래한것 같지도 않은데 생각을 더듬어보면 뭔가 엄청나게 많은것들이 기억나기도 하고 정신이 혼란스럽다. 그만큼 힘들게 프로젝트를 진행했던거 같다. 이 글을 적음으로써 PintOS 기간중에 내가 무엇을 했고, 어떤 감정
나만의 무기 만들기 프로젝트에 앞서서, 자신이 공부하고 싶은 스택 중 하나를 선택해야 한다.spring과 node.js는 다른 문서에서도 직접적으로 다루겠지만 이 글에서는 간단한 요약과 왜 사용하게 되었는지를 적는다.front = reactback = node.jsda
크래프톤 정글을 마치고 10일이 지났다.5개월간의 생활을 정리할 겸 후기를 적을까 한다.그리고 이 글은 비전공자 기준으로 적었습니다.하루종일 공부한다. 말 그대로 하루종일(12시간 이상)cs, 알고리즘 등등을 중점으로 한다. 프레임워크 안가르쳐줌이외에 여러가지 있긴하지