전체 글

· 백엔드
스레드는 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. 이러한 실행 방식을 '멀티스레드'라고 한다. 멀티 스레딩 멀티 스레드(multi thread)란 하나의 프로세스 내에서 둘 이상의 스레드가 동시에 작업을 수행하는 것을 의미한다. 멀티 스레드는 각 스레드가 자신이 속한 프로세스의 메모리를 공유한다. 멀티 스레드에서 동시성과 병렬성 동시성은 싱글 코어에서 멀티 스레드를 동작시키기 위한 방식으로 멀티 태스킹을 위해 여러 개의 스레드가 번걸아가면서 실행되는 성질을 말한다. 동시성을 이용한 싱글 코어의 멀티 태스킹은 각 스레드들이 병렬적으로 실행되는 것처..
· 백엔드
1. 프로세스 (Process) 프로세스는 메인 메모리에 할당되어 실행중인 상태인 프로그램을 말한다. 프로그램은 일반적으로 하드디스크(보조기억장치)에 저장되어 아무 일도 하지 않는 상태이다. 프로세스는 실행하면서 stack pointer, data, text, register 등이 끊임없이 변한다. 프로세스는 job, task 등으로 불리기도 한다. 1.2 프로세스 상태 New : 프로그램이 메인 메모리에 할당된다. Ready : 할당된 프로그램이 Ready Queue에 올라가고 CPU의 할당을 대기한다. Running : CPU가 해당 프로세스를 실행한다. Waiting : 프로세스가 끝나지 않은 시점에서 I/O로 인해 CPU를 사용하지 않고 IO Device나 특정 event를 wait한다. (해당 ..
· Debug
cannot remove ... [ symbolic link파일명]... -> 해결 : 링크파일명을 잘못작성함
· 백엔드
운영체제 : 컴퓨터의 사용자와 하드웨어 사이에서 중개자 역할을 해주는 프로그램 운영체제의 역사 수작업 -> 단일 프로그래밍 -> 다중 프로그래밍 & 시분할 -> 모바일 OS & 실시간 시스템 운영체제의 목적 - 사용자가 컴퓨터를 효율적으로 사용하는 것 - 컴퓨터의 하드웨어가 효율적으로 사용되는 것 컴퓨터 시스템의 처리 구조 운영체제는 사용자와 하드웨어간의 전반적인 상호작용을 하면서 컴퓨터가 실행되는 동안 항상 수행되는 프로그램입니다. - 사용자 관점에서 볼 때 좋은 운영체제란 사용의 용이성에 중점을 두고 자원 이용의 극대화에 중점을 둔 운영체제라고 할 수 있습니다. 따라서 운영체제란 PC, 대형 컴퓨터 등을 가리지 않고 항상 사용자를 편리하게 해주는 하나의 프로그램이라고 할 수 있습니다. - 시스템의 관..
· 백엔드
pwd (print working directory) -현재 어떤 디렉토리에 위치해 있는지 알려줘 ls (list) -디렉토리 내의 파일, 폴더들의 리스트를 출력 ls -l (파일과 디렉토리의 좀 더 구체적인 정보도 출력) chmod (change mode) - rwx(read 읽기, write 쓰기, execute 실행)권한을 설정합니다. ex) chmod 755 [file명/directory명] (https://www.youtube.com/watch?v=9_KIdQ8abH4&t=121s 04:08참고) mkdr (make directory) -새로운 디렉토리를 만들어냅니다. touch -새로운 파일을 만들어냅니다. rm (remove) -디렉토리를 삭제합니다 rm -r 디렉토리명 rm -f 파일명 c..
· 백엔드
호스팅이란? 인터넷 비즈니스를 시작하기 위해서는 기본적으로 홈페이지의 글/이미지/동영상등 정보가 저장될 수 있는 '서버'공간이 필요합니다. 개인이나 기업에서 서버를 직접 보유하고 관리하기에는 비용과 노력이 많이 드는데, '호스팅'을 이용하면 서버를 일정기간 임대하고 관리받을 수 있어 쉽게 비즈니스를 시작할 수 있습니다. 즉, 호스팅은 인터넷 상에서 비즈니스를 운영하는데 필요한 서버 공간을 전체 또는 일부를 임대해주는 서비스를 말합니다. 대표적인 서비스로는 '웹호스팅', '클라우드', '서버호스팅'이 있습니다. 적합한 호스팅은 무엇일까? 위의 설명과 같이, 홈페이지를 만들거나 서비스를 운영할 때 반드시 필요한 것 중 하나가 '호스팅'입니다. 어떤 서비스를 운영할 것인지, 서버 구축 및 관리 여건이 어떠한지..
· 백엔드
1. DNS 란? 사전적인 정의부터 보자. 도메인 네임 시스템(Domain Name System, DNS)은 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위해 개발되었다. 위키백과에서는 DNS를 이렇게 설명하고 있다. 예를 들면 우리가 자주 접하는 naver.com, google.com 모두 DNS를 가진 DN(Domain Name)이라고 할 수 있다. 이들은 사실 문자열의 탈을 쓴 IP라고 볼 수 있다. cmd에서 구글과 naver의 DN을 적어 ping을 확인해보자. 보다시피 google.com 의 IP 주소는 172.217.161.174 naver.com의 IP 주소는 210.89.164.90 각각 확인할 수 있다. (naver.com에서는 pi..
· 백엔드
브라우저 주소창에 woong-jae.com을 입력했을 때, 어떤 과정을 거쳐 블로그가 보이게 될까? 간단하게 알아보자 Browser? 브라우저의 주요 기능은 사용자가 참조하고 싶은 웹페이지를 서버에 요청하고, 서버의 응답을 받아 브라우저에 보여주는 것이다. 흔히 사용하는 크롬, 인터넷 익스플로러 등 인터넷 프로그램이다. 서버의 응답은 주소를 통해 요청하는데, 이 주소를 URI(Uniform Resource Identifier)라고 한다. 브라우저의 기본 구조 사용자 인터페이스 : 검색창, 새로고침, 뒤로가기/앞으로가기 버튼 등 사용자가 접근할 수 있는 영역이다. 브라우저 엔진 : 사용자 인터페이스와 렌더링 엔진 사이의 동작을 제어한다. 렌더링 엔진 : 브라우저의 핵심이다. 요청한 콘텐츠를 화면에 표시한다..
· 백엔드
HTTP 개요 HTTP는 HTML문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜이다. HTTP는 웹에서 이루어지는 모든 데이터 교환의 기초이며, 클라이언트-서버 구조의 프로토콜이다. HTTP는 애플리케이션 계층의 프로토콜로, 신뢰 가능한 전송 프로토콜이라면 이론상으로 무엇이든 사용할 수 있으나 TCP혹은 암호화된 TCP연결인 TLS를 통해 전송된다. HTTP 특징 1. 클라이언트 서버 구조이다. 클라이언트는 서버에 요청(Request)를 보내고 응답(Response)를 기대한다. 이로 인해 클라이언트와 서버의 관심사를 분리할 수 있고 각각을 따로 개발할 수 있게 된다. 2. 무상태(Stateless) 프로토콜이다. 간단한 예시로 특징을 보기위해 고객과 점원의 예시를 살펴보자. // Statefu..
· 백엔드
인터넷은 웹의 핵심적인 기술입니다. 인터넷의 가장 기본적인 핵심은, 컴퓨터들이 서로 통신 가능한 거대한 네트워크라는 것입니다. 더보기 인터넷의 역사는 잘 알려지지 않았습니다. 인터넷은 1960년대 미육군에서 기금한 연구 프로젝트에서 시작되었습니다. 그리고 1980년대에 많은 국립 대학과 비공개 기업의 지원으로 공공의 기반으로 변화되었습니다. 인터넷을 지원하는 다양한 기술은 시간이 지남에 따라 진화해 왔지만, 작동방식은 그다지 변하지 않았습니다. 인터넷은 모든 컴퓨터를 연결하고 어떤 일이 있어도 연결 상태를 유지할 수 있는 방법을 찾는 방법입니다. 단순한 네트워크 두 개의 컴퓨터가 통신이 필요할 때, 우리는 다른 컴퓨터와 물리적(보통 이더넷 케이블)으로 또는 무선(Wifi나 Bluetooth 시스템)으로 ..
배게
백엔드