프로그램 vs 프로세스 vs 프로세서 vs 쓰레드
2022. 7. 18. 14:07
CS
프로그램 운영체제 환경에서 실행될 수 있도록 만들어진 것 웹브라우저, 워드, 카톡 같은 것도 모두 프로그램이라고 할 수 있다. 프로그래은 주로 하드웨어에 저장되어 있다. 프로세스 프로그램은 주로 파일같은 형태로 저장되어 있고 운영체제에 의해서 실행되고 있는 상황을 프로세스라고 한다. 운영체제에서는 여러개의 프로세스가 실행중이다. 여러개의 프로세스는 엄밀히 말하면 동시에가 아닌 짧게 전환하며 여러가지 일을 동시에 처리하는 것 처럼 보이는 것이다. 다만, 코어가 여러개인 경우에는 멀티 프로세서로 여러개의 프로세스가 동작할 수 있다. 프로세스는 메모리에서 동작하게 된다. 프로세스는 최소 한개의 쓰레드를 가지고 있다. 연산이 연속적인 연산을 하는 것을 하나의 흐름(쓰레드)이라고 한다. OS는 Virtual Me..
[백준 #10974 파이썬] 모든 순열
2022. 7. 17. 23:30
Algorithm
완전 탐색 알고리즘 의미 그대로 전체를 탐색할 수 있도록 고안하는 알고리즘입니다. 문제를 해결함에 있어 어떻게 탐색을 해야할 지 다양하게 고민해보는 것이 중요합니다. 단순히 순차열적으로 해결할 수도 있고, 탐색에 어떤 조건이나 기준을 세워 전체를 바라보는 방법도 있습니다. 여러 방법으로 해결할 수는 있겠지만, 메모리 사용을 줄이고 탐색의 시간을 감소시키기 위해 더 효율적인 방법에 대해 고민하는 방법이 알고리즘 해결에 있어 가장 중요한 부분입니다. 10974 모든 순열 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. 10974번: 모든 순열 N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. www.acmicpc.net N!줄..
[JAVA] 공부하다 정리하는 기본 개념 1
2022. 7. 14. 22:57
Java
초기화(Initialization) 우리가 학교에 가면 필기구를 꺼내고 강의노트를 준비하는 준비 과정과 같은 의미입니다. 어떤 일을 시작하기 전에 준비를 하듯 작업을 시작하기 위해서 값을 설정하거나 넣는 것을 의미합니다. 우리는 보통 초기화를 컴퓨터에 있는 모든 내용을 다 지워버린다고 생각해서 조금 혼란이 올 수도 있을 것 같습니다. 하지만 프로그래밍에서는 이것만 기억하면 될 것 같습니다. 데이터 객체 혹은 변수를 위해 초기값을 지정해주는 것 이를 테면 다음과 같겠죠 public class Test{ public static void main(String[] args) { int a; System.out.println(a); } } 여기서는 출력을 할 때 오류가 발생합니다. 왜냐하면 객체를 선언했지만, ..

서버 개념 키워드 (5) #API #HTTP 패킷 #URL #URI #데이터 포멧
2022. 4. 13. 13:08
CS
API 응용 프로그램에서 사용할 수 있도록 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스 유형 Private API 내부 구성원만이 이용할 수 있으며 통제 권한은 기업에 있다. Partner API 특정 비즈니스 파트너와 공유할 수 있으며, API의 품질 저하 우려 없이 부가 수익 창출이 가능하다. Public API (Open API) 누구나 사용할 수 있는 API로 제 3자가 혁신적인 어플리케이션을 개발할 수 있다. 예시 코로나 맵은 public API의 성격을 가진 네이버 지도 API를 사용하여 선별진료소 위치, 잔여백신 예약 등 새로운 어플리케이션이 이어져 만들어지게 되었다. 사용 이유 개발 비용과 시간이 획기적으로 줄어들었다. 유지 관리가 쉽다. 새로운 수익 채널이 확대된다...
서버 개념 키워드 (4) #URL #Domain #Redirection #DB
2022. 3. 26. 15:19
CS
OS Operating System 컴퓨터 시스템의 자원을 효율적으로 관리하기 위한 환경을 제공하는 프로그램 추가정의 : 컴퓨터의 하드웨어를 관리 CPU, 메모리, 네트워크 등을 관리하는 운영체제의 성능이 컴퓨터의 성능을 좌우한다. Linux 컴퓨터 운영체제 중 하나로 유닉스 운영체제를 기반으로 만들어짐 특징 다중 사용자 , 다중 작업 스레드를 지원 pc용 OS보다 안정적이고 보안측면에서도 pc의 OS보다 우수하다. 다양한 네트워킹, 기술을 제공하고, 주로 서버용 OS로 사용한다. URL(Uniform Resource Locater) 네트워크 상에서 자원이 어디 있는지를 알려주기 위한 규약 쉽게 말해 주소창에 입력하는 웹사이트 주소이다. 예시 : https://www.google.com:443/searc..

서버 개념 키워드 (3) #네트워크계층 #TCP/IP #포트 #네트워크 장비
2022. 3. 9. 00:20
CS
OSI 네트워크 7계층 네트워크 프로토콜 디자인과 통신을 계층별로 나누어 설명한 형태 Layer 1 물리계층 통신 케이블을 통해 전기 신호를 사용하여 비트(0,1로 구분되는) 스트림을 전송하는 계층 Layer 2 데이터 링크 계층 물리적인 네트워크 사이에 Data 전송을 담당하는 계층 물리계층으로 데이터를 전송할 때 데이터 전송시 오류를 감지할 수 있는 기능을 제공해 오류를 감지하면 재전송한다. 주로 MAC 주소를 가지고 통신 Layer 3 네트워크 계층 전송할 데이터를 목적지까지 경로를 찾아 전송하는 계층 주소(IP)를 정하고, 경로(Route)를 선택하고, 패킷을 전달하는 것이 핵심인 계층 라우팅(목적지까지 가장 안전하고 빠르게 데이터를 보내는 기능)이 이루어진다. 대표적인 장비는 라우터 이며, 요즘..

서버 개념 키워드 (2) #프로토콜 #SSH #HTTP와 HTTPS차이
2022. 1. 9. 15:36
CS
프로토콜 클라이언트 - 서버 간 통신 약속 프로토콜의 종류 HTTP ( Hyper Text Transfer Protocol ) 웹 상에서 데이터를 주고받을 수 있는 프로토콜, 80번 포트 사용 구조 요청/상태라인 General Header- 클라이언트, 서버 또는 HTTP와 관계된 정보 Request Header- 요청 형식과 서버의 매개 변수 Response Header- 응답을 보내는 서버에 대한 정보 Entity header- 메시지 바디의 컨텐츠를 나타내는 HTTP 헤더 CRLF- 공백 (공백을 뭐 어려운 말로 적어놨다.) Body- 내용 동작 방식 클라이언트가 브라우저를 통해서 어떤 서비스를 url이나 다른 수단으로 서버에 요청하면, 서버에서 해당 요청사항에 맞는 결과를 응답한다. ex) 웹 브..

서버 개념 키워드 (1) #서버 #클라이언트 #웹서버
2022. 1. 5. 17:10
CS
공부를 시작함에 있어 가장 중요한 부분은 바로 개념입니다. 내가 무엇을 잘 이해하고 있는 지 판단할 수 있는 기본이 되며, 다른 사람과 소통하기 위한 가장 기본적인 언어를 배우는 과정이죠. 우리가 아무리 수능 공부를 통해서 영단어 수천 개를 외우더라도 실제로 의사소통에 어려움을 겪는 이유와 같습니다. 따라서 우리는 단어를 반복해서 경험하면서 이해하고 자연스럽게 언어를 사용할 수 있을 때, 우리는 비로소 이를 충분히 이해했다고 말할 수 있습니다. 이러한 목적을 바탕으로 서버 개념 단어들에 대해 정리를 시작해보고자 합니다! 저처럼 처음 개발공부를 접하는 분들도 쉽게 이해할 수 있도록 정리해보고자 하니 잘 부탁드리겠습니다 :) 서버와 서비스 서비스는 기능을 의미합니다. 사용자가 서버와 직접 정보를 주고받기는 ..