전체 글

전체 글

    [코독하구만 2] 2021년 여름방학 모각코 계획

    < 2021년 여름방학 모각코(모여서 각자 코딩) 계획 > - 목표 - 2020 겨울방학에 이은 두 번째 모각코! 누구보다 알찬 방학을 보내보자! - 일정 - 1차 : 2021.07.07(수) 2차 : 2021.07.15(목) 3차 : 2021.07.22(목) 4차 : 2021.07.29(목) 5차 : 2021.08.05(목) 6차 : 2021.08.12(목) - 개인별 계획 - 고도현 https://codekodo.tistory.com/72 2021년 여름방학 모각코 계획 < 2021년 여름방학 모각코(모여서 각자 코딩) 계획 > - 목표 - Flutter 스터디 - 설명 - 총 6주에 걸친 기간 동안 Udemy의 Flutter 강의를 수강한다. - 깃허브 - https://github.com/k906..

    2021년 여름방학 모각코 계획

    < 2021년 여름방학 모각코(모여서 각자 코딩) 계획 > - 목표 - Flutter 스터디 - 설명 - 총 6주에 걸친 기간 동안 Udemy의 Flutter 강의를 수강한다. - 깃허브 - https://github.com/k906506/2021-Summer-Assemble-And-Selfcode k906506/2021-Summer-Assemble-And-Selfcode This is 2021 Summer Assemble And Selfcode, so-called Mogakko. - k906506/2021-Summer-Assemble-And-Selfcode github.com - 일정 - 1차 : 2021.07.07(수) 2차 : 2021.07.15(목) 3차 : 2021.07.22(목) 4차 : 20..

    [패스트캠퍼스 서포터즈 3기 - Node.js 강의 후기] 3주차 : 리액트 맛보기

    본 게시글은 PC버전에 최적화 되어있으며 패스트캠퍼스 서포터즈 3기로 활동하며 "한 번에 끝내는 Node.js 웹 프로그래밍 초격차 패키지 Online"을 무료로 협찬받아 작성한 게시글입니다. NODEJS강의 NODEJS강의 NODEJS강의 NODEJS강의 NODEJS강의 위에서 보이는 아이콘들 다들 무엇인지 바로 알 것이다. 이러한 어플들의 특징은 웹 어플리케이션이라는 점인데 웹 어플리케이션은 우리가 기존까지 알고 있던 웹사이트와는 살짝 다르다. 웹 어플리케이션은 소프트웨어 공학적 관점에서 인터넷이나 인트라넷을 통해 웹 브라우저에서 이용할 수 있는 응용 소프트웨어를 말한다. 과거의 웹페이지의 경우 MVC의 형태를 지니고 있었다. Model - 데이터와 비즈니스 로직을 관리한다. View - 레이아웃과 ..

    [패스트캠퍼스 서포터즈 3기 - Node.js 강의 후기] 2주차 : 무한 스크롤을 통한 데이터 불러오기

    본 게시글은 PC버전에 최적화 되어있으며 패스트캠퍼스 서포터즈 3기로 활동하며 "한 번에 끝내는 Node.js 웹 프로그래밍 초격차 패키지 Online"을 무료로 협찬받아 작성한 게시글입니다. 노드 js 노드 js 노드 js 노드 js 노드 js 2주차 리뷰가 살짝 늦었따..학교 시험 시간과 겹치느라 한 주를 미뤘달까...^^;; 이번 주는 지난 주에 배웠던 스크래퍼를 이용해서 데이터를 가져오는 것을 배웠다. 우선 강의에서 무한 스크롤에 대해서 배웠는데 인스타그램이나 페이스북의 경우 뉴스피드에서 사용자가 스크롤을 내릴 경우 끊임 없이 스크롤이 생성되는 것을 볼 수 있다. 지금까지 이것에 대해 궁금해한 적이 없었는데 강의를 듣고 어떻게 구현하는 거지? 라는 생각이 들었다. 그래서 든 생각은 일정 시간마다 ..

    [패스트캠퍼스 서포터즈 3기 - Node.js 강의 후기] 1주차 : 웹 크롤러와 웹 스크래퍼

    본 게시글은 PC버전에 최적화 되어있으며 패스트캠퍼스 서포터즈 3기로 활동하며 "한 번에 끝내는 Node.js 웹 프로그래밍 초격차 패키지 Online"을 무료로 협찬받아 작성한 게시글입니다. 패스트캠퍼스에서 서포터즈를 모집한다길래 공짜로 강의를 들을 수 있는 기회여서 냅다 신청했음. 스프링 관련해서 강의를 듣고 싶어서 신청했지만 이번 서포터즈엔 스프링이 없다는게 함정... 그래도 노드도 결국엔 백엔드 쪽이고 학교 강좌에서 살짝 찍먹한 적이 있어서 좀 더 배워볼 겸 node.js 서포터즈를 신청했다. 뭐 아무튼 서포터즈로 선정되어서 리뷰를 한 달 정도 써야하게 됐음... 시험기간이라 빡세지만 한 번 달려봅시다! node.js! node.js! 정말 솔직한 리뷰이니 본 강의를 직접 돈 내고 들으실 분들은 ..

    6. Union Find(합집합 찾기) : MST - 1

    Union Find (합집합 찾기) MST - 1 정말 오랜만에 포스팅이다. MST 알고리즘 문제를 풀던 도중 생각나서 포스팅 하게 됐다. 매주 주말마다 알고리즘 개념 정리를 하려고 하는데 계속 실패하는 것 같다... ㅎㅎ;; 오늘 다뤄볼 주제는 MST, 최소 신장 트리 문제를 해결하기 위한 기본 베이스인 Union Find이다. 최소 신장 트리 문제를 해결하기 위한 방법에는 대표적으로 크루스칼(Kruskal)과 프림(Prim) 알고리즘이 존재한다. Union FInd는 크루스칼 알고리즘의 핵심이라고 말할 수 있다. 그럼 Union Find가 무엇인지 알아보자. Union Find는 말 그대로 Union, 집합을 찾는 알고리즘이다. 그래프 정보가 주어졌을 때 이들 간의 관계를 알아볼 수 있다. 바로 예시..

    [OS] 6. I/O Management andDisk Scheduling

    본 게시글은 PC버전에 최적화 되어 있습니다. Operating Systems, Internals and Design Principles (9th Ed.), William Stallings, Pearson, 2017 충남대학교 컴퓨터공학과 최훈 교수님의 '운영체제 및 실습'을 참고하였습니다. 1. I/O Divices 입출력장치는 Controller라는 부분을 가진다. Controller는 Controller Register, Status Register, Intenal Buffer 로 구성된다. 1. Controller Register 장치 드라이버가 0 또는 1 비트를 세팅함으로써 장치에 명령을 내린다. 2. Status Register 장치 드라이버가 해당 장치의 현재 상태를 체크한다. 3. Int..

    [OS] 5. Concurrency : Deadlock and Starvation

    본 게시글은 PC버전에 최적화 되어 있습니다. Operating Systems, Internals and Design Principles (9th Ed.), William Stallings, Pearson, 2017 충남대학교 컴퓨터공학과 최훈 교수님의 '운영체제 및 실습'을 참고하였습니다. 1. Principles Of Deadlocks 컴퓨터의 자원이 한정되어 있고 이것을 여러 프로세스가 원하므로 이 과정에서 발생할 수 있다. P1이 Ra를 요청하고 커널에 의해 Ra가 P1에 할당된다. (화살표 방향 주의) (c)의 경우 P1은 Ra를 요청했지만 P2에 할당되었고, P2는 Rb를 요청했지만 P1에 할당되었다. 따라서 데드락이 발생한다. (d)의 경우 (c)와 같은 형태이지만 자원의 개수가 많기 때문에..

    [OS] 4. Concurrency : Mutual Exlusion and Synchronization

    본 게시글은 PC버전에 최적화 되어 있습니다. Operating Systems, Internals and Design Principles (9th Ed.), William Stallings, Pearson, 2017 충남대학교 컴퓨터공학과 최훈 교수님의 '운영체제 및 실습'을 참고하였습니다. 1. Principles of Concurrency 컴퓨터 내부에서 다양한 프로세스 쓰레드가 실행되는데 한정된 자원을 갖고 동시다발적으로 작동하므로 충돌할 가능성이 있음. 1) 용어 정리 1. Race Condition : 경쟁 상태 두 개 이상의 프로세스 혹은 쓰레드가 공유된 자원을 읽고 쓰는 과정에서 어떤 결과가 나올지 모르는 상황 2. Mutual Exclusion : 상호 배제 하나의 프로세스가 공유된 자원에..

    [OS] 3. Threads

    본 게시글은 PC버전에 최적화 되어 있습니다. Operating Systems, Internals and Design Principles (9th Ed.), William Stallings, Pearson, 2017 충남대학교 컴퓨터공학과 최훈 교수님의 '운영체제 및 실습'을 참고하였습니다. 1. Processses and Threads 쓰레드는 프로세스 내부의 실행 단위. 쓰레드를 가벼운 프로세서라고도 부르기도 함. 하나의 프로세스에 여러 개의 쓰레드가 존재할 수 있다. -> 멀티쓰레드 하나의 프로세스는 최소한 하나의 쓰레드를 가지고 있어야 함. 프로세스는 Code, Data, Stack, Register Context를 갖고 있지만 쓰레드는 Register Context와 Stack으로 구성. 그림에..

    [OS] 2. Process Description and Control

    본 게시글은 PC버전에 최적화 되어 있습니다. Operating Systems, Internals and Design Principles (9th Ed.), William Stallings, Pearson, 2017 충남대학교 컴퓨터공학과 최훈 교수님의 '운영체제 및 실습'을 참고하였습니다. 1. What is a Process 프로세스는 실행상태에 있는 프로그램. 프로세스는 누가 만들어? 1. GUI를 통한 입력으로 사용자가 2. 다른 프로세스에 의해 -> 결과적으로는 커널이 생성 2. Process States Dispatcher에 의해 프로세스에서 다른 프로세스로 전환 가능. Dispatcher는 문맥 전환을 가능하게 해주는 OS의 기능. 프로세스를 실행하는 역할. Process Scheduling..

    [OS] 1. Operating System Overview

    본 게시글은 PC버전에 최적화 되어 있습니다. Operating Systems, Internals and Design Principles (9th Ed.), William Stallings, Pearson, 2017 충남대학교 컴퓨터공학과 최훈 교수님의 '운영체제 및 실습'을 참고하였습니다. 1. Operating System 운영체제는 프로그램의 실행을 컨트롤(?) 하는 소프트웨어이다. 독립적인 실행이 불가능하므로 프로그램이라고 부르지 않고 소프트웨어라 부른다. 프로그램은 독립실행이 가능해야한다. 따라서 OS는 프로그램이 아니라 소프트웨어로 보는 게 맞고, 라이브러리 개념으로 보는 게 맞다. 프로그램과 하드웨어 사이의 인터페이스 역할을 수행한다. (자원 관리) 운영체제의 목적은 효율성과 편리성이다. (..

    [DFS와 BFS] [Python / C++] 1260. DFS와 BFS - SILVER ⅱ

    본 게시글은 PC버전에 최적화 되어있습니다. www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 입력 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다. 출력 첫째 줄에 DFS를..

    [최단 경로] [Python] 10217. KCM Travel - GOLD Ⅰ

    본 게시글은 PC버전에 최적화 되어있습니다. www.acmicpc.net/problem/10217 입력 입력 파일의 첫 번째 줄에 테스트 케이스의 수를 의미하는 자연수 T가 주어진다. 그 다음에는 T개의 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 줄에는 공항의 수 N (2 ≤ N ≤ 100), 총 지원비용 M (0 ≤ M ≤ 10,000), 티켓정보의 수 K (0 ≤ K ≤ 10,000)가 공백으로 구분되어 주어진다. 이어서 K개의 줄에 걸쳐 각 티켓의 출발공항 u, 도착공항 v (1 ≤ u, v ≤ N, u ≠ v), 비용 c (1 ≤ c ≤ M, 정수), 그리고 소요시간 d (1 ≤ d ≤ 1,000) 가 공백으로 구분되어 주어진다. 인천은 언제나 1번 도시이고, LA는 언제나 N번 도시이다 ..

    [최단 경로] [Python / C++] 1956. 운동 - GOLD Ⅳ

    본 게시글은 PC버전에 최적화 되어있습니다. www.acmicpc.net/problem/1956 1956번: 운동 첫째 줄에 V와 E가 빈칸을 사이에 두고 주어진다. (2 ≤ V ≤ 400, 0 ≤ E ≤ V(V-1)) 다음 E개의 줄에는 각각 세 개의 정수 a, b, c가 주어진다. a번 마을에서 b번 마을로 가는 거리가 c인 도로가 있다는 의 www.acmicpc.net 입력 첫째 줄에 V와 E가 빈칸을 사이에 두고 주어진다. (2 ≤ V ≤ 400, 0 ≤ E ≤ V(V-1)) 다음 E개의 줄에는 각각 세 개의 정수 a, b, c가 주어진다. a번 마을에서 b번 마을로 가는 거리가 c인 도로가 있다는 의미이다. (a → b임에 주의) 거리는 10,000 이하의 자연수이다. (a, b) 쌍이 같은 도..