본문 바로가기

전체 글

(104)
내배캠 11/28 TIL OS와 프로세스 - 프로세스는 생각보다 친숙하다 윈도우에서 게임같은거 실행하다가 소위 '튕기는' 현상이 나오면 바로 뜨는게 강제종료와 '프로세스 종료' 였으니.... 쉽게 예를 들면 구글 크롬을 실행하고 탭을 눌러 유튜브에 들어간다. 그럼 메모리에 관련 영역을 할당받아 작업수행이 시작되는데, 그것이 프로그램의 인스턴스로서 프로세스가 시작된 것이다. - 정말정말 옛날 컴퓨터 광고를 보면 '멀티프로세서 탑재' 이런 문구를 볼 수 있었다. 말 그대로 병렬적 처리가 가능하다는 뜻이다. 즉 우리가 구형 컴퓨터에서 게임을 실행하면 자주 보는 '프로세스 강제종료'같은 일이 일어나지 않을 것이란 것. OS의 종류 - Batch 는 말 그대로 정말 정직한 타입이다. 운영자가 하라는 대로 차례로 한줄씩 구동하는 방식이다...
내배캠 11/25 TIL Operating System - Part 1 intro - OS를 쓰는 이유는 크게 1. 하드웨어와 I/O 장치들(예를들어 마우스 키보드 등) 의 사용을 위한 연결 2. 프로그램 실행을 위한 메모리 할당작업 3. CPU 연산을 위한 저장장치와의 연결과 스케줄링 정도로 요약할 수 있겠다. - 하드디스크는 저장의 영속성이 보장되지만 데이터 접근이 느린 대신, RAM같은 메모리는 데이터의 휘발성이 있는 대신 데이터의 접근이 매우 빠르다. 이러한 차이를 고려하여 OS 는 스케줄링이란 개념으로 이 작업들을 관리한다. 크게 단기 스케줄링, 장기 스케줄링이 있는데 장기 스케줄링은 어떤 작업을 수행할 것인지(자원할당을 받는지) 결정하고 단기 스케줄링은 CPU에 어떤 프로세스(작업)을 할당할 것인지 결정한다고 생각하면..
내배캠 11/24 TIL Linked List - 올것이 오고야 말았다 - 지금까지 신경을 안썼던 이유는 우리의 파이썬이 알아서 해주고 있었기 때문. - 지금까지야 배열에서 삽입 추가 삭제 하면 알아서 뿅뿅 해주는걸로 알았지만 사실 이번에 그 원리를 알게된건 처음이었다. - 배열의 가장 큰 단점은 배열의 중간에서 삽입 / 삭제시 배열을 다시 정리해야되는데, ([1, 2, 3] 에서 1과 2사이에 4를 Push한다면 2,3을 오른쪽으로 재배치해야함) 이를 극복하기 위해 Linked List를 고안한 것이다. - C언어 개념인 포인터(화살표) 를 살짝 배우고, 이 Pointer 의 방향만 바꾸면 되는게 Linked List의 핵심 - 또한 기존의 배열에서 나타난 Index개념대신, 노드와 Head, Tail 이란 개념으로 시작과 끝..
내배캠 11/23 TIL 알고리즘 - Udemy 에서 JS로 하는 자료구조와 알고리즘 강의를 끊어놓은게 있고 앞부분 빅O 표기법, 시간 공간 복합도를 들었는데 설명을 잘해주셔서 그냥 병행해서 현재 내배캠에서 하는 알고리즘 파이썬 과정과 병행하기로 했다. - 알고리즘 풀이에 적합한 언어이고, 이미 웹개발 종합반에서 배운 언어이기도 해서 오늘은 간단하게 배열 안에서 제일 큰 값 찾아내기, Up and Down 만들어보기, 알파벳 빈도수 찾기 등을 풀어보았다. - 내일은 아마 시간, 공간복합도를 특강으로 배울텐데 같이 해서 TIL 작성을 할 생각이다 - 훗날 내배캠 과정이 끝나고 구직하는 과정에서 또 알고리즘을 하겠지만, 우선 목표는 알고리즘 가이드에 나와있는것처럼 프로그래머스 레벨 2정도를 푸는 것이다. 파이썬 - List나 Dic..
내배캠 11/21 TIL 아침조회 - 향후 2주간은 기초 프로그래밍 시간으로 파이썬 문법들과 자바스크립트 기초를 닦는 시간입니다. 파이썬 기본문법과 크롤링 - 사실 프로그래밍 언어는 문법만 살짝 다르지 근본은 같다고 생각한다. JS의 Array가 PY의 List로, Object가 Dictionary로 이름이 다르다는것 뿐? 파이썬 크롤링도 사실상 Dev Tool과 간단한 문법만 알면 쉽다. Requests 라이브러리로 내용들을 잘 가져오고, Beautifulsoup로 HTML 형식으로 가져온다. 이게 사실상 파이썬 크롤링의 전부다. 조금 더 심화된 내용들을 이번주에 배울 예정이다. VSC의 version control 에 잘못생성된 git 없애기 - 엊그제 vsc를 최신버전으로 업그레이드 했는데, 아마 git을 자동으로 업데이트..
내배캠 1주차 미니프로젝트 회고 1. 한 주의 흐름 1) 한 일 프로젝트 명: 미니프로젝트 - 팀 소개 웹페이지 제작 필수 작업: 팀원들의 정보를 보여줄 수 있는 웹페이지 구현, 페이지별 방명록 CRUD 2) 느낀점 (이번 프로젝트를 통해 느낀 점) 강성주 - 부트캠프의 의미는 신병훈련소. 훈련소는 죽이되든 밥이되던 훈련생을 멱살잡고 끌고간다 그런의미에서 팀에 의미를 두었고, 그것을 달성한것이 다행이었다. 기술은 쥐어짜면 나오지만, 팀은 와해되면 끝장이다. 김은정 - 다른 팀원들에 비해 많이 더뎠지만, 다들 재촉하지 않고 스스로 해보는게 중요하다며 격려해주셔서 미흡하지만 개인페이지를 스스로 만들 수 있었던 점이 뿌듯했다. 팀프로젝트이기 때문에 소통하는 것이 정말 중요하다는 것을 배웠고, 일단 하면, 뭐든 된다. 변준혁 - 세상에 잘하는..
내일배움캠프 4기 미니프로젝트 팀이름 : 성주와 귀요미들 프로젝트명 : 누구세요? 개발기능 1. 버튼클릭시 상세 페이지 이동 2. 방명록 기능(API 등은 추후 추가예정)
이 블로그의 목적과 도움이 되실 분들 예상 온라인상에 글 작성하는게 익숙치 않아서 이 블로그를 개설만하고 반년가량 방치했는데 내가 배운 내용을 기록으로 남기는게 얼마나 중요한지 이제 깨달았습니다. 독학으로 배운 내용들을 정리해 올리게 되는데 혹시나 제가 작성한 글이 잘못되었거나 하는 피드백은 언제나 환영합니다. 혹은 제가 이것저것 알아가면서 발생했던 문제를 어떻게 해결했는지 기록해놓을 예정입니다. (사실 구글링해서 나오는 문제 해결법이 좋긴한데 실제론 되는것도 있고 안되는것도 있고 하더라구요) 왕초보의 경험담이니 어려운 MDN 사이트나, 전문가의 언어로 쓰여진 것보다 나을수도 있습니다.