목록분류 전체보기 (90)
coding etude
SQL (Structured Query Language): 데이터 베이스에 데이터를 저장, 조작 및 검색하기위한 라이브러리이며 SQL의 언어는 굉장히 직관적이다. 예를들어 user 라는 데이터 베이스의 users 라는 데이브르이 정보를 보고 싶다면 USE user; SELECT * FROM users; 다음과 같이 작성하면 된다 . 시작에 앞서 DB에 대해 잠시 알아보도록 하자. 위에서 설명한 것과 같이 DB에는 테이블이 있고 각 테이블에는 필드와 레코드가 존재 한다. 또 여기서 각 필드의 열(rows)를 clumn 이라고 한다. 말로 잘 이해가 안갈꺼라고 생각해서 다음 그림을 준비했다 . 자, 그럼 이제 SQL에서 DB의 생성과 관리하는 살펴보자. CREATE DATABASE db_name; // 데이..
commonJS 란? : Javascript 를 모듈화 하기 위해서 필요한 API를 정의한 표준 라이브러리. 여기서 모듈화라는 말은 참 어려운 말인것 같다... 정확하게 정의된 의미기 아닌것 같아서 여기저기 둘러 봤지만 딱히 찾을 수가 없었다.. 그래서 내가 내린 결론은 모듈화라는것은 일정한 영역(scope)을 정의(definition)해서 사용(usage)하는 것이다. Javascript를 예로 들면 하나의 js 파일은 그 고유의 영역을 가지고 있고 그 파일의 범위를 export로 정의한 다음 어디에서나 require 를 사용해서 가져와 사용하는것!! 이라고 정의를 내리려고 한다. 정의를 설명하려고 했는데 결국 사용법을 모두 설명한것과 같은느낌이다... 위에서 설명한 방법과 같이 여러 개의 파일은 ex..
node.js 란??(공식 홈체이지 : nodejs.org/ko/docs/) : 자바스크립트 코드를 원래의 기계언어로 직접 컴파일 해주는 javascript runtime(구동 환경). node.js 는 비동기적 논블로킹 모델로 되어있기 때문에 속도가 빠라다는 장점이 있다. node.js는 설치 시 같이 번들링 되어 있는 모듈들도 포함되어 있다. (fs/ http/ url/ path) = require('(fs/ http/ url/ path)') 의 형식으로 바로 사용이 가능하다. node.js를 사용함에 있어 npm(node package manager) 은 가장 중요한 세계에서 가장 큰 오프소스 라이브러리 생태계 중 하나이다. 코딩 시 필요한 라이브러리 및 개발 환경에 필요한 오션들을 npm을 통하여..
이것저것 바빠서 또 .. 오랜만에 포스팅을.... (...유구무언.. 인간은 나약한 존재... ) 오늘은 클라이언트와 서버에 대해서 이야기 해볼까 한다. 클라이언트란 무엇일까? 사전적 의미는 고객라이는 뜻으로 사용자 정도로 해석하면 될 것 같다. 그렇다면 서버는?? 사전적 의미는 제공하는 사람 or 제공자 이다. 그럼 클라이언트의 종류는 어떤것이 있을까? 사실 클라이언트의 종류는 굉장히 다양하다 컴퓨터/ 모바일/ 브라우져 등등 서버에 요청을 보내고 그 결과를 사용자에게 전달해서 보여주는 기기 또는 프로그램을 모두 통칭하는 말이다. 자 그럼 우리는 이 시점에서 서버와 클라이언트의 상관 관계도를 그려보아야 한다. 보통 서버라고 하면 위의 사진과 같은 모습을 상상할 것 이다.. 생각하는것이 맞다..........
동기/ 비동기는 무엇일까? 한국어 사전을 검색해 보았다. 최소 7가지의 동기라는 단어가 나온다....-_-;;; 그 중에서 가장 적절한 말은 (동기 : 같을 동/ 기약할 기 [명사 : 같은 시기. 또는 같은 기간])을 의미한다. 그럼 synchronous는 무엇일까?? [synchronous : 동시 발생[존재]하는] 이라는 뜻을 가지고 있다. 이 말인 즉, 실행 했을 때 그 결과값이 동시에 발생해야(존재해야) 한다는 말이다. 예를들어 커피숍에 들어가서 주문을 하려고 줄을 섰는데.. 첫번째 사람이 커피를 주문하고, 결재를 하고, 커피를 만들고, 커피를 받으면 다음 사람이 주문을 할 수 있는 것이 동기 인것이다. '커피를 주문 했으니 주문한 커피를 반환해야 한다' // 주문과 받는것이 동시에 이루어 지고 ..
정말 오랜만에 포스팅을 하는.. 쿨럭.. 정신줄 놓고 sprint 끝내는거에만 집중 해서인지.. 그동안 복습을 하나도 안했다는... 이러다가 진짜 아무것도 못하게 될까봐.. 다시 한번 정신을 붙잡고.. 쿨럭.... fs(file system) 이라는것이 처음 나왔다.. 여기서부터는 서버와 DB의 영역으로 들어서는 듯한데.. 당췌 이해하기가 어렵다.. 일단 개연성 없이 주어진 데이터를 머리속에 입력해 보자. 아무튼 이 fs를 정확하게 인지하고자 검색을 했다.(en.wikipedia.org/wiki/File_system) 해석하자면 컴퓨터에서 데이터를 저장하고 불러올 때 메모리에 그냥 저장만하면 구분없는 하나의 큰 데이터로 표시 될것이고 원하는 파일을 찾을 수 없게 되는데, 이러한 상황을 방지하기 위해 데이..
Linked List : node 들의 연결 구조로 head 와 tail을 가지고 있고 각 node는 다음 node의 값을 가지고 있는 구조이다. 1. Linked List의 장점과 단점 : Linked List는 데이터와 link 주소 를 가지고 있는 node 들의 연결 이라고 볼 수 있다. 실제로 node 들이 연결 되어 있는것이 아니라 단순히 데이터가 다음 데이터의 주소를 가지고 있는 것이다. 이 node들 데이터와 주소 두가지를 모두 가지고 있어야 하는 특이한 데이터 이다. @장점 - node들의 link주소를 이용하면 데이터의 삽입과 삭제가 간편하다. : 만약 리스트의 모든 위치를 파악하고 있다면 단순하게 node.next를 바꿔주는것 만드로 어느 위치에서든 데이터를 삽입 할 수 있다. @단점 ..
OOP (Object-Oriented Programming) : 사전적 의미 그대로 객체 지향 프로그래밍의 약자로 명확히 정의된 의미는 없다. 하지만, 객체 지향의 특성을 통하여 객체지향의 의미를 알 수 있다. 객체 지향 프로그래밍이란 실세계에 존재하는 모든 것(객체)을 가상의 프로그램의 세계에 구현하기 위해 객체의 특징적인 개념 또는 기능들을 추상화(abstraction)작업을 통하여 간결하게 만들어 내는 프로그래밍의 한 형식이라고 할 수 있다. (abstraction 을 통한 encapsulation을 실행하는것) *지향의 사전적 의미 : 그것(객체구현)을 실현하는 데 필요한 수단과 예상되는 결과의 관념을 이르는 말 객체지향 언어는 이전의 컴퓨터 친화적인 언어에 가까운 절차지향 프로그래밍과 다르게 인..