10일 전 SW 마이스터고 연합 해커톤을 하러 광주에 다녀왔다. 다녀와서 바로 적으려고 했지만, 바쁜 현생 때문에 잠시 잊고있었다. 그치만 내일의 나보다 오늘의 내가 적는게 기억력이 더 좋을 것 같아 지금이라도 쓰려고 한다. 해커톤 참가 & 팀 빌딩 학교마다 다른 것 같았지만 우리학교에서는 마역량이라는 제도를 활용해서 해커톤에 참가할 학생을 뽑았다. 20명까지만 가능했는데, 그동안 마역량 점수를 열심히 채워온 보람이 있었다. 그리고 일전에 토크 콘서트에서 인연이 있던 친구가 함께하자고 제안해준 덕분에 나는 지금의 우리팀과 합류할 수 있게 되었다. 주제 선정 위와 같이 주제는 총 4가지로 이뤄져있었고, 세분화되어있었다. 우리팀은 의논을 통해 지속 가능한 기술을 선택했고, 그 중 선배-동기-후배들이 기술 노..
계획 9월은 행사와 연휴가 많다... 9월은 중요한 행사가 2가지 있었다. AI Expo, SW 연합 토크 콘서트. 이걸 고려해서 계획을 해야겠다. 리액트 200제 공부하기 학교에서 받은 책인데, 리액트 기본에 대한 정리가 잘되어있다. 이걸 꾸준히 하루 한 파트씩 끝내보자. 수행평가 지금 점점 수행평가 시즌이 오고있다... k-고딩의 의무를 다 하기 위해 수행평가 점수를 잘 받을 수 있도록 노력할 것이다. 인문과목이든 전문 과목이든 내가 할 수 있는 최선을 다 하자. 마인드 하루 무너져 내렸다고 해서 포기하지 말자. 작은 것 부터 하나씩 바꿔나가자. 쉽지는 않겠지만, 휴대폰 사용을 줄이고 조금 더 개발에 집중하는 시간을 가지는 내가 되었으면 좋겠다. 컨퍼런스도 보면서 다른 사람들은 어떻게 개발하는지 보자..
운영체제의 특징 파악 사용자 편의성을 위한 인터페이스 제공 컴퓨터의 구성을 잘 알고 있지 않더라도 아이콘/버튼을 통해 컴퓨터를 다룰 수 있는 것을 의미함. 다양한 자원을 관리함 CPU 등과 같이 컴퓨터 자원의 속도를 관리함 윈도즈 계열 운영체제의 특징 장점 : 고객 지원이 체계적임 단점 : 문제점을 발견했을 때 수정에 시간이 걸림 ➡️ 시간적인 차이가 있음 리눅스/유닉스 계열 운영체제 특징 장점 : 다수의 개발자가 수정에 참여해 빠른 업데이트가 가능함 단점 : 체계적인 지원이 상대적으로 부족해 일반인들보다는 전문가들이 사용함. 운영체제의 역할과 목표 운영체제 기본 명령어 제어 방법 CLI : 사용자가 직접 명령어를 입력해 컴퓨터에게 명령을 내리는 방식 GUI : 마우스로 화면을 클릭해 컴퓨터를 제어하는 ..
인터넷 프로토콜 스택의 4계층 왼쪽은 컴퓨터 간 패킷 통신을 위해 거쳐야하는 7개의 계층을 의미합니다. 인터넷 프로토콜은 TCP/IP 프로토콜 통신 과정에 4계층으로 나눠져있습니다. 각 층은 아래와 같습니다. 애플리케이션 - HTTP,FTP 프로토콜 웹브라우저, 네트워크 게임, 채팅 프로그램, SOCKET 라이브러리 전송 - TCP, UDP :: OS(운영체제) 인터넷 - IP :: OS(운영체제) 네트워크 인터페이스 - LAN IP 패킷의 구성 출발지, 목적지, 기타 전송데이터 TCP/IP 패킷 출발지 포트, 목적지 포트, 전송제어, 순서, 검증정보 특징 전송제어 프로토콜 연결지향 - TCP 3 way handshake(가상연결) 데이터 전달 보증 순서 보장 신뢰성있는 프로토콜 현재에 대부분 쓰임 연결..
클라이언트와 서버간의 통신에 대해 조금 더 잘 이해하기 위해 네트워크 지식은 필수다. 그래서 오늘은 인터넷 네크워크가 어떻게 통신을 하는지 알아보고 이를 정리해보려고 한다. 클라이언트와 서버의 통신방법 우리가 어떠한 정보를 주고 받으려면 통신을 해야한다. 아래와 같이 클라이언트로 사용할 컴퓨터와 서버로 사용할 컴퓨터가 가까이 있다면 그냥 케이블을 활용해서 유선 연결을 하면 된다. 만약 멀리 그것도 아~주 먼곳에 내가 원하는 정보를 보내고 싶다면 인터넷 망을 활용해야한다. 하지만 이 인터넷 망으로 보낸다는 것이 단순하지 않다. 그림으로 보면 알겠지만 인터넷의 속은 굉장히 복잡하다. 왜냐하면 중간에 광케이블을 거쳐서 가기 때문에 정보가 전달되지 않을 수 있고, 전달된다 하더라도 그 정보가 깨지거나 유실되서 ..
자바스크립트는 웹 개발 분야에서 가장 인기 있는 프로그래밍 언어 중 하나로, 기술적 진보와 개발 생태계의 확장으로 인해 매우 강력한 도구로 자리 잡았다. 하지만 프로젝트의 규모가 커지고 복잡해지면서 기존 자바스크립트의 문제점들이 두드러지기 시작했다. 이로 인해 많은 개발자들이 타입스크립트를 채택하고 있다. 먼저 아래에는 스택오버플로우에서 조사한 가장 사랑하는 언어 순위를 매긴건데, 보면 타입스크립트가 자바스크립트를 한참 제치고 4위에 올랐다.(자바스크립트는 15위쯤...) Typescript란 타입스크립트는 Microsoft에서 개발한 오픈 소스 프로그래밍 언어로, 기존 자바스크립트의 문제점을 보완하기 위해 만들어졌다. 타입스크립트는 자바스크립트에 아주 강력한 타입을 부여한 언어라는건데, 그냥 쉽게 얘기..
방학이 끝난지 일주일이 지났다. 약 한 달간 기록보다 프론트엔드에 대한 기초적인 지식을 적용해보자 해서 HTML, CSS에 대한 기초적인 지식을 강의를 들으며 쌓아갔다. 회고를 통해 어떻게 나아갈지 조금씩 방향성을 잡아보려한다. Keep 방학이 끝난지 일주일이 지났지만, 나름의 목표를 가지고 새로운 지식을 쌓기 위해 노력했다. HTML과 CSS에 대한 기초적인 지식을 강의를 통해 학습했으며, 깃허브의 기능들도 익히면서 프론트엔드 개발에 대한 기초를 다졌다. 또한, 이전에는 간단한 깃허브 작업만 할 수 있었지만 이번에는 PR을 날리고 issue를 등록하는 경험까지 할 수 있었다. 비록 레포지토리를 정리하다가 실수로 삭제하는 일도 있었지만, 이러한 실수를 통해 중요한 경험을 얻을 수 있었다. 앞으로는 이러한..
자바스크립트에서 배열은 굉장히 많이 사용되는 자료구조이다. 자바스크립트 배열은 다양한 메서드를 제공하고 이는 굉장히 유용하게 쓰인다. (특히 코딩테스트 풀때...) 배열 메서드가 결과물을 반환하는 패턴 원본 배열을 직접 변경하는 메서드 원본 배열 : 배열 메서드를 호출한 배열, 즉 배열 메서드의 구현체 내부에서 this가 가리키는 객체 원본 배열을 직접 변경하지 않고 새로운 배열을 생성해 반환하는 메서드 const arr = [1]; // push 메서드는 원본 배열(arr)을 직접 변경한다. arr.push(2); console.log(arr); // [1, 2] // concat 메서드는 원본 배열(arr)을 직접 변경하지 않고 새로운 배열을 생성하여 반환한다. const result = arr.co..
배열(Array) 여러 개의 값을 순차적으로 나열한 자료구조 특징 사용 빈도가 높은 기본적인 자료구조 유용한 메서드 다수 제공 용어 정리 with 예시 const arr = ['apple', 'banana', 'orange']; 요소 : 배열이 가지고 있는 값 모든 값은 배열의 요소가 될 수 있다. ex. 'apple', 'banana', 'orange' 인덱스 : 배열에서 자신의 위치를 나타내는 0이상의 정수 배열 요소에 접근할 때 사용 ex. arr[0] = 'apple' 생성 방법 배열 리터럴 Array 생성자 함수 Array.of, Array.from 메서드로 생성 배열 vs 객체 구분 객체 배열 구조 프로퍼티 키, 프로퍼티 값 인덱스와 요소 값의 참조 프로퍼티 키 인덱스 *값의 순서 X O *l..
일급 객체 우리는 다음과 같은 조건을 만족하는 객체를 일급객체라고 한다. 무명의 리터럴로 생성할 수 있다. 즉, 런타입에 생성이 가능하다. 변수나 자료구조(객체, 배열) 등에 저장할 수 있다. 함수의 매개변수에 전달 할 수 있다. 함수의 반환값으로 사용할 수 있다. // 1. 함수는 무명의 리터럴로 샐성할 수 있다. // 2. 함수는 변수에 저장 할 수 있다. // 런타입(할당 단계)에 함수 리터럴이 평가되어 함수 객체가 생성되고 변수에 할당된다. const inc = function (num) { return ++num; }; const dec = function (num) { return --num; }; // 2. 함수는 객체에 저장할 수 있다. const auxs = { inc, dec }; //..