전체 글

전체 글

    [Chapter3] 하이퍼링크는 무엇인가?

    Summary 보통 링크라고 불리는 하이퍼링크는 웹에서 기본적인 개념이다. 링크가 무엇인 지 설명하기 위해, 웹의 매우 기본적인 구조로 돌아볼 필요가 있다. 1989년으로 돌아가, 웹의 발명가인 Tim Berners-Lee는 웹을 대표하는 3가지 기둥에 대해 말하였다. : URL, 웹 문서를 추적하는 주소 시스템 HTTP, URL들이 주어졌을 때, 문서들을 찾는 전송 프로토콜 HTML, 내장된 hyperlinks를 허용하는 문서 형식 3가지 기둥에서 볼 수 있듯이 웹의 모든 것은 문서와 문서에 어떻게 접근할 것인 지에 관련되어 있다. 웹의 원래 목적은 텍스트 문서를 통해서 도달하고, 읽고, 찾기쉬운 방식을 제공하는 것이다. 그리고 나서, 웹은 이미지와 동영상, 이진 데이터에 접근하는 것을 제공하도록 진화..

    [Chapter2] 웹 페이지, 웹 사이트, 웹 서버 그리고 검색 엔진의 차이

    Summary 웹 페이지 (Web page) 파이어폭스, 구글 크롬, 오페라, MS 익스플로러나 엣지, 애플의 사파리 같은 웹 브라우저에서 보이는 문서이다. 이런 것들을 단순히 "페이지"라고 하기도 한다. 웹 사이트 (Web site) 다양한 방식으로 그룹으로 묶이거나 연결된 웹 페이지들의 모음이다. 보통 "웹 사이트"나 단순히 "사이트"라고 한다. 웹 서버 (Web server) 인터넷에 웹사이트를 호스팅하는 컴퓨터이다. 검색 엔진 (Search engine) 구글, 빙, 야후 같은 다른 웹 페이지들을 찾게 도와주는 웹사이트이다. 우리는 일반적으로 웹 브라우저나 웹 페이지를 통해 검색 엔진에 접근할 수 있다. 도서관과 간단한 유사점을 보자. 아래는 도서관에 방문했을 때, 일반적으로 하는 일이다: 검색 ..

    [Chapter1] 인터넷은 어떻게 동작하는가?

    Summary 인터넷은 통신, 연결될 수 있는 모든 컴퓨터들의 가장 큰 네트워크이면서 그 상태를 유지시키는 방법이다. 이 기술적 인프라가 웹을 동작할 수 있게 만든다. 인터넷을 지원하는 다양한 기술들은 시간이 지남에 따라 진화해 왔지만 인터넷이 작동하는 방식은 거의 변하지 않았다. Deeper dive 참고 : 이 글은 유선 케이블에 대해서만 이야기하지만 무선 네트워크도 동일한 방식이다. 1. 단순한 네트워크 두 개의 컴퓨터가 통신할 때, 컴퓨터는 서로 물리적으로 (예를 들어, 이더넷 케이블) 또는 무선으로 (예를 들어, WiFi나 Bluethooth) 연결되어야 한다. 모든 현대컴퓨터들은 이러한 연결 중 하나를 이용하여 연결을 지속할 수 있다. 이러한 네트워크는 두 대의 컴퓨터로 제한되지 않고 원하는 ..

    [CS] 메모리 구조

    1. 메모리 구조 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드(load)되어야 합니다. 또한, 프로그램에서 사용되는 변수들을 저장할 메모리도 필요합니다. 따라서 컴퓨터의 운영체제는 프로그램의 실행을 위해 다양한 메모리 공간을 제공하고 있습니다. 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간은 다음과 같습니다. 1. 코드(code) 영역 2. 데이터(data) 영역 3. 스택(stack) 영역 4. 힙(heap) 영역 다음 그림은 운영체제가 제공하는 메모리 공간을 표현하고 있습니다. 2. 코드(code) 영역 메모리의 코드(code) 영역은 실행할 프로그램의 코드가 저장되는 영역으로 텍스트(code) 영역이라고도 부릅니다. CPU는 코드 영역에 저장된 명령어를 하나씩 가져가서 처리하..

    [MSSQL] 커서 (CURSOR) 사용법

    커서 (CURSOR) mssql 명령어는 기본적으로 테이블에서 데이터를 처리할 때 집합 단위(Table)로 처리합니다. 하지만 특정 상황에 집합 단위가 아닌 행 단위(Row)로 데이터를 처리해야 하는 경우에 커서(CURSOR)를 이용하여 처리할 수 있습니다. 커서를 사용하면 테이블에서 여러 개의 행을 조회한 후 쿼리의 결과를 while 루프 안에서 한 행씩 처리해줍니다. 보통 DML(select, update, delete, insert)에서 사용됩니다. 커서의 특징 데이터를 집합 단위가 아닌 행 단위로 처리할 수 있어 주로 배치작업을 할 때 사용합니다. 집합 단위가 아닌 행 단위 작업 수행으로 처리 속도가 느리기 때문에 필요한 경우에만 사용하는 것이 좋습니다. 처리할 데이터가 적은 경우에는 문제가 되지..

    [CS] 스레드

    1. 프로세스 (Process) 프로세스란 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램이라고 할 수 있다. 즉, 사용자가 작성한 프로그램이 운영체제에 의해 메모리 공간을 할당받아 실행 중인 것을 말한다. 프로세스는 프로그램에 사용되는 데이터와 메모리 등의 자원(리소스, resource) 그리고 스레드로 구성된다. 2. 스레드 (Thread) 스레드란 프로세스 내에서 실제로 작업을 수행하는 주체를 의미한다. 두 개 이상의 스레드를 가지는 프로세스를 멀티 스레드 프로세스라고 한다. 3. 멀티 스레드 (Multi thread) 일반적으로 하나의 프로세스는 하나의 스레드를 가지고 작업을 수행한다. 그러나 멀티 스레드는 하나의 프로세스 내에서 둘 이상의 스레드가 동시에 작업을 수행하는 것을 의미한다. 또한..

    [C#] 2. C# 참조 타입과 값 타입, 박싱과 언박싱

    1. Object C#에 존재하는 모든 타입의 기본 클래스는 Object로 모든 값 타입과 참조 타입이 Object 클래스를 상속받고 있다. Object 클래스에는 필드는 존재하지 않고, Equals(), GetType(), ToString() 등의 메서드들이 존재한다. 2. 참조 타입과 값 타입 (Reference Type & Value Type) CLR은 참조 타입과 값 타입이라는 두 종류의 타입을 지원한다. 참조 타입은 값을 사용자가 직접 관리하는 힙 영역에 할당하고, 메모리의 주소는 변수명과 함께 스택에 할당한다. 참조 타입을 사용할 때마다 메모리의 할당이 발생하기 때문에 모든 타입이 참조 타입이라면 엄청난 성능 저하가 있을 것이다. 따라서 성능 향상을 목적으로 단순하고 자주 사용되는 타입들을 경..

    [C#] 1. C# 기초

    1. C# C#은 마이크로소프트에서 개발한 객체 지향 프로그래밍 언어로, C++과 JAVA와 비주얼 베이직(VB)의 장점을 합쳐 C#을 만들었습니다. C++과 JAVA의 문법과 비슷한 문법을 가지고 있습니다. 2. C#의 장점 첫 째, 뛰어난 생산성 수 많은 라이브러리와 IDE(통합 개발 환경)가 손쉽게 코딩을 할 수 있게 도와줍니다. ※ IDE(Integrated Development Environment)(통합 개발 환경) : 코딩, 디버그, 컴파일, 배포 등 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경을 제공하는 소프트웨어를 말한다. 둘 째, 엄격한 문법 사소한 실수까지 컴파일 에러를 띄워주기 때문에 사소한 에러까지 방지할 수 있습니다. 셋 째, 완벽한 프로그래밍 C#에..

    [JavaScript] 유효성 검사 (빈 값 체크)

    안녕하세요 코북입니다. 글을 썼던 게.. 언제.. 였더라.. 기억도 안 나요..^^ 최근 새롭게 맡게 된 일 때문에 더 바빴던 것 같기도 하고(핑계) 오늘부터 잘하면 되죠ㅎㅎ.. 아무튼 최근에 자바스크립트 유효성 검사하면서 헷갈렸던 부분이 있어 정리하는 글을 적어보려고 합니다. 자바스크립트의 자료형에 대해서 유효성 검사(빈 값 체크)를 하는 경우가 많이 있습니다. 자바스크립트 자료형에서 빈 값을 확인하는 대표적인 방법은 not 연산자를 사용하여 처리하는 것입니다. var val = ""; if(!val){ console.log("값이 없음"); } else { console.log("값이 있음"); } 이와 같은 방법으로 유효성 검사를 할 수 있는 이유는 "", null, undefined, 0, NaN..

    [Javascript] location 객체 이해하기

    안녕하세요 코북입니다. 이번 개발 건 진행 중 현재 페이지의 주소를 자바 스크립트로 가져와야 하는 상황이 있었습니다. C#으로는 구현해본 경험이 있었지만 javascript로는 처음 구현해봤는데요. location객체에 대한 이해가 많이 부족하다고 느껴 정리해보려고 합니다. 자바스크립트의 location 객체는 현재 브라우저에 표시된 HTML 문서의 주소를 얻거나, 브라우저에 새 문서를 불러올 때 사용할 수 있습니다. 이 객체는 Window 객체의 location 프로퍼티와 Document 객체의 location 프로퍼티에 같이 연결되어 있습니다. location 객체의 프로퍼티와 메서드를 이용하면, 현재 문서의 URL 주소를 다양하게 해석하여 처리할 수 있습니다. 우리가 가장 많이 사용하는 locati..