본문 바로가기

전체 글192

[C언어] 확실히 알고가자 프로토타입(Prototype)이란?(개념잡기) C언어를 공부하다 보면 코딩을 하는 능력과는 별개로 단어적인 개념으로 인해 쉽게 지치기 마련이다. 단어를 사전적 그대로 받아들이기보다 어떠한 이미지로 기억하는 것이 훨씬 더 효율적이다. 포로토타입(Prototype)이란 무엇일까? Pro의 접두사로 "~~ 이전에"라는 의미가 가진 무엇인가 라는 생각이 든다. Pro(~이전에) + to(~에) + type(타입, 유형) : ~하기 이전에 어떠한 타입으로 무언가를 해놓은 것. 위의 개념적 이미지를 가지고 다음 사례를 읽어보자 1. 책을 읽기 이전에 어떠한 책인지 대략적으로 파악할 수 있는 어떠한 타입? : 목차 2. 본격적인 출시 이전에 어떠한 기능을 검증하기 위해 제작하는 제품(타입)? : 시제품 핵심 이미지 : ~을 하기 이전에 미리 확인하는 이미지 C언.. 2021. 1. 6.
[JavaScript] 자바스크립트 버전? ECMA Script에 대한 이해 어떤 프로그래밍 언어를 쓰던 버전에 대한 이해는 중요하다 할 수 있다. 특히 파이썬의 경우를 보면 쉽게 이해가 가는데 파이썬 2.x와 3.x에 대한 버전의 차이는 매우 크다 할 수 있다. 이 글을 쓰게 된 이유는 JavaScript라는 버전 또한 역시 버전이 존재하는 건 당연시 하지만, 그 이름이 다소 생소하여 정확히 인지하고자 작성하게 되었다. 기본적으로 Js.ver x.x 로 될 줄 알았지만, JavaScript에 대한 버전은 ECMA Script Number 앞글자를 따서 ES5, ES6, ES11... 이렇게 나타낸다. 이름의 유래를 살펴보면 다음과 같다. "ECMA Script 란, ECMA라는 곳에서 표준화시켜 놓은 스크립트를 의미한다." 정 리 그냥 JavaScript라는 언어를 표준화를 위.. 2021. 1. 4.
동기(Synchronous)와 비동기(Asynchronous) 방식의 차이점 비동기를 알기 위해서는 동기를 먼저 정확히 알아야지만 동기의 범위에서 비동기를 이해할 수 있다. 이 글은 동기와 비동기에 대한 전체 큰 그림을 잡기 위한 글이다. 비동기라 불리는 대표 방식인 Node.js로 살펴보자 서버 환경에서 작동하는 자바스크립트인 Node.js가 왜 나오게 됐을까? 어떠한 기술이 나오게 됐다는 이면에는 어떠한 기술을 사용하기 이전에 불편함이 있었다는 말이다. 기존의 웹 서버들은 대부분 스레드를 기반인 동기 방식으로 처리를 하였다. 하지만 이 방식에 불편함이 있다 보니 이벤트 기반으로 하는 비동기 방식으로 처리하는 Node.js가 나오게 되었다. 즉, Node.js는 스레드를 신경 쓰지 않고 개발할 수 있게 만든 비동기 방식의 자바스크립트이다. ps) 일반적으로 스레드는 개발자가 몰.. 2021. 1. 2.
[Python] 파이썬 : 객체지향 프로그래밍(OOP)란? 이 질문에 대답을 하기전, 우선 프로그래밍 언어들이 나누어지는 기준을 알아야 합니다. 크게 절차 지향 언어와, 객체지향 언어입니다. 대략적으로 절차 지향 언어는 C언어를 생각하시면 되며, 객체 지향 언어는 Python의 예시를 생각해보시면 됩니다. C언어의 경우는 오로직 위에서 아래로 흘러가는 프로그래밍 기법을 사용하고 있으나, Python의 경우는 이와는 별개로 독립적인 프로그래밍 기법을 사용하고 있습니다. Ref) 2020/12/30 - [* IT/Dictionary] - 객체지향 언어를 위한 필수 지식 : 객체(Object)와 클래스(Class) 개념 객체지향 언어를 위한 필수 지식 : 객체(Object)와 클래스(Class) 개념 객체지향 언어를 공부하다보면(C++, Java, Python 등.... 2020. 12. 31.
객체지향 언어를 위한 필수 지식 : 객체(Object)와 클래스(Class) 개념 객체지향 언어를 공부하다보면(C++, Java, Python 등..) 항상 나오는 개념이다. 객체와 클래스라는 개념은 항상 등장한다. 이 글은 객체와 클래스의 개념적인 "그림"을 그리기 위해 작성한 글이다. 객체(Object)란? 어렵게 생각하지말자 지금 모니터로 보고있는 PC이든, 핸드폰이든, 태블릿이든 사람, 자동차, 키보드, 마우스 등... 모든 것이 객체의 개념이다. (이미지를 생각하면 좋다) 객체(Object)를 분해해보자 특성 + 행동으로 나누어지게 된다. 이 2가지를 기억해야 한다. 사람 ㄴ 특성 : 이름, 나이, 성별, 연락처, 거주 지역 등.. ㄴ 행동 : 걷기, 달리기, 등 자동차 ㄴ 특성 : 브랜드, 차종, 색상, 주행거리 등.. ㄴ 행동 : 전진하다, 후진하다, 와이퍼 작동하다, 급.. 2020. 12. 30.
쉽게 이해하는 전송방식의 차이 : TCP와 UDP 차이 기본적인 OSI 7 Layer를 알면 더 좋지만, 이 글은 OSI 7 layer에 대한 지식 없이 쉽게 이해하도록 글을 작성하였다. 또한 깊이 있는 특징이나, 전문적인 예시는 빼고 머릿속에 그림을 그리는 것을 목표로 글을 작성하였다. 우리가 컴퓨터로 어떠한 데이터를 보내기 될 때 전송하는 방식이라는 게 존재한다. 그 방식들 중 TCP와 UDP라는 개념이 있다. 즉 전송방식에 TCP와 UDP라는 개념이 있다라고만 알고 이 글을 읽어 나가자. * 패킷이란? : 네트워크를 통해 전송하기 쉽도록 자른 데이터 전송 단위 각 OSI 계층별로 데이터가 불려지는 이름은 달라진다. 하지만 이 글은 전체 흐름을 잡는 것이기 때문에 그냥 데이터 = 패킷이라고 받아들여도 괜찮다. 나중에 세부적으.. 2020. 12. 29.
[JavaScript] 자바스크립트 : 기본 입출력(전체 틀로 익히자) * 입력 prompt(); : 사용자에게 특정 값을 입력받을 때 사용 * 출력 ㄴ 브라우저에서? document.write(); : 결과값을 브라우저 화면에 출력 alert(); : 웹 브라우저에서 알림처럼 내용을 출력 ㄴ 콘솔에서? console.log() : 위 2개와는 다르게 웹브라우저에서 안뜨는것처럼 보인다. 하지만 개발자모드에서 콘솔창에 들어가보면 제대로 결과가 출력되는지 확인이 가능하다. 그렇다면 왜 console.log()를 사용하는걸까? 웹 페이지를 제작할시에 어디서 오류났는지를 쉽게 알 수가 있기 때문에 사용을 한다. 2020. 12. 29.
인터넷(Internet), 웹(Web), 이더넷(Ethernet)의 차이 흔히들 인터넷 = 웹은 같다고 생각을 한다. 더욱더 사전적 의미를 보면 더욱 비슷해 보인다. 뿐만 아니라 인터넷과 이더넷도 비슷해 보이며 인터넷에서 잘못 쓴 오탈자가 아닐까? 라는 생각을 해본적도 있었다. 하지만 명확한 차이가 있으며 그 차이점을 서술하였다. 인터넷(Internet) 너 개념이 뭐니? Internet : Inter(~사이에) + net(그물)의 줄임말로 서로 상호 간 연결되어 있는 그물 자체를 생각하면 쉽다. Ex) 전세계가 연결되어 있는 하나의 망 그 자체 웹(Web) 너의 개념은 무엇이니? 웹(Web) : 사전적 말로 거미줄을 의미한다. 사전적 의미로 살펴보면 Internet과 큰 차이가 없어 보인다. 사전적 의미로 보면 헷갈리기에, 왜 거미줄이라는 개념이 나왔는지 살펴볼 필요가 있다.. 2020. 12. 28.
[Git] Git 개념 : 구조화로 전체 흐름을 먼저 파악하자 학습을 해나갈 때 처음부터 많은 양이 주어지게 되면 하다가 지치고, 쉽게 포기하게 된다. 특히 git과 관련된 책들을 보다보면 한결같이 하나부터 열까지 모든 것을 세세하게 알려주고 있다. git에 대한 전문가가 되기 위해서는 이러한 작업이 언젠가는 수반이 되어야하는게 맞지만, Git을 배우는 초보자 입장에서는 일단 실무에서 쓰이는것 위주로 빠르게 한 번 훑는 작업이 더 효과적이다. 어떤 개념을 이해 할 때 가장 좋은 방법 중 하나는 기준이 되는 전체 흐름을 이미지로 우선적으로 기억하는 것이 효율적이라고 생각한다. git에서 가장 기본이 되는 3가지가 있다. 1. 버전관리 2. 백업 3. 협업 개인적으로 1 - > 2 - > 3 순서대로 학습을 해야한다고 생각한다. 이러한 디테일을 알고 가기 전 전체 숲을.. 2020. 12. 28.
[REST API] VScode에서 Google Books 검색결과 가져오기 본 글의 목적은 Vscode에서 REST API를 활용한 기초적인 기술을 적어놓은 글입니다. HTTP방식 중 GET 메서드를 활용하였습니다. * HTTP Method 1. GET : 조회 2. POST : 추가 3. PUT : 전체 수정 4. PATCH : 부분 수정 5. DELETE : 삭제 > 2020/12/25 - [* IT/Dictionary] - 큰 그림과 단계별로 이해하는 API, Rest(ful) API, SDK 개념 큰 그림과 단계별로 이해하는 API, Rest(ful) API, SDK 개념 API, Rest(ful) API, SDK가 무엇인지 정립해서 글을 작성한다. 깊고 심화된 내용보다 전체 그림을 이해하도록 작성하였다. 각 각을 이해하기 위해서.. 2020. 12. 27.