SMALL

분류 전체보기 140

vmware에 ubuntu server 22.04 LTS 설치하기

1. 구글에 ubuntu server 검색 후 다운 받기 2. vmware에서 Create a New Virtual Machine 클릭 -> 커스텀이 있고, 추천이 있는데 앵간 잘 모르면 추천으로 선택하기 3. Browse를 클릭해 다운받아둔 ubuntu server 22.04 LTS 파일을 넣어주기 4. ubuntu 설치 정보 입력하기 이건 데스크탑 버전만 뜨는 것 같음. 서버 버전은 뜨지않고 다음 단계로 넘어갔음 5. Virtual Machine 정보 입력 machine name에 알아보기 쉽도록 'Ubuntu server 22.04 LTS'라 저장하기 6. 디스크 용량 지정 용량은 나중에 확장할 수 있지만, 기본값 20GB보다는 조금 여유있게 설정해두는것이 좋음 7. Virtual Machine 기..

Linux 2024.01.12

논리 회로

01. 불 대수 1. 불 대수 2진수의 값으로 논리적 동작을 취급하는 대수 하나의 변수는 0 또는 1의 값을 가짐 불 대수의 연산자는 논리곱(AND), 논리합(OR), 논리 부정(NOT)이 있음 2. 불 대수의 기본 성질 종류 논리식 종류 논리식 합의 법칙 X + 0 = X X + 1 = 1 X +X = X X + x̄ = 1 곱의 법칙 X * 0 = 0 X * 1 = X X * X = X X * x̄ = 0 교환법칙 X + Y = Y + X X * Y = Y * X 흡수 법칙 X + X * Y = X X + x̄ * Y = X + Y X * (X + Y) = X 결합 법칙 X + (Y + Z) = (X + Y) + Z X * (Y * Z) = (X * Y) * Z 분배 법칙 X * (Y + Z) = (..

1.4 소수 알고리즘

1. 소수 판별법 소수(Prime Number)란? -> 1과 자기자신 외에는 나누어 떨어지는 정수가 없는 양의 정수 -> 2, 3, 5, 7, 11, 13, .... 소수 판별법 -> 소수를 판별하고자 하는 정수 N에 대해 - 2 ~ N-1까지의 정수로 나누어 보는 방법 -O(N) - 2 ~ sqrt(N)까지의 정수로 나누어 보는 방법 - O(N^0.5) -> 12 = 2*6 = 3*4 = 4*3 = 6*2 #include #include int is_prime(int n) { int i; for (i = 2; i < n; i++){ if (n%i == 0){ return false; } } return true; } 2. 에라토스테네스의 체 주어진 정수 N보다 작은 모든 소수를 구함(Eratosthe..

자료구조,C++ 2024.01.12

1.3 유클리드 알고리즘

1. 최대공약수(Greatest Common Divisor) 주어지는 두 정수의 약수 중에서 가장 큰 공통약수 280과 30의 GCD는 10임 -> 280의 약수 : 1, 2, 3, 5, 7, 8, 10, 14, 20, 28, 40, 56, 70, 140, 280 -> 30의 약수 : 1, 2, 3, 5, 6, 10, 15, 30 소인수분해를 통해 GCD를 구할 수 있음 -> 직관에 의존하는 방법이기 때문에 컴퓨터에 부적절함 2. GCD 관련 법 GCD관련 법칙 GCD(u,v) = GCD(u-v, v) if u > v GCD(u,v) = GCD(v, u) GCD(u, 0) = u 3. 유클리드 알고리즘 임의의 두 정수 u, v에 대해 (1) v가 u보다 크다면 v와 u의 값을 바꾸기 (2) u = u -..

자료구조,C++ 2024.01.12

1.2 알고리즘의 분석

1. 경험적 분석과 수학적 분석 분석은 알고리즘을 정확히 선택하기 위한 방법 시간 소요량 vs 공간소요량 - 경험적 분석(Empirical Analysis) -> 실제 코드를 작성 후, 실행하여 시간을 측정 -> 데이터 수를 다르게 하여 함수관계 유추 - 수학적 분석(Mathematical Analysis) -> 알고리즘 자체를 가지고 수학적인 분석을 함 2. 최악의 경우와 최선의 경우 -> 최악의 경우(Worst Case) 가장 많은 시간과 자원을 필요로 하는 경우 -> 최선의 경우 (Best Case) 가장 적은 시간과 자원만이 소요되는 경우 -> 평균적 경우(Average Case) 개념이 모호함 자료의 균일분포? 가장 많은 빈도의 경우? (적당한 시간과 자원이 소요되는 경우가 아닐까..?) 3. ..

자료구조,C++ 2024.01.12

C/C++, Visual C#, Java, Python, PHP, HTML, Javascript, CSS

1. C 운영체제 개발을 위해 만들어짐 -> 운영체제 = 시스템 자원을 관리하는 소프트웨어 C언어는 메모리를 최적화할 수 있게 만들어짐 [활용 분야] 임베디드 시스템 개발(가전제품, 무기 등등)에 들어가는 프로그램을 개발하는데 사용됨 2. JAVA 우리나라 IT업계에서 가장 많이 사용하는 언어 공공기관이나 대기업에서 발주하는 대부분 프로젝트는 자바언어를 사용해야하는 경우가 많음 안드로이드앱 개발 할 때도 주로 사용됨 3. Python 다른 언어보다 접근이 쉽다는 특징을 가지고 있음 C언어로 100줄 코딩할 것을 Python으로 10줄이면 끝날 정도로 매우 간단함 따라서, 이 언어로 개발하면 다른 언어보다 개발기간이 매우 짧다는 특징을 가지고 있음 [활용 분야] 인공지능 개발, 자동화 프로그램... 등에 ..

카테고리 없음 2024.01.11

웹 서버(Apache, Nginx, IIS)

1. 웹 서버의 종류 -> Apache, Nginx, IIS 2. Apache 1995년, Apache 재단에서 만든 HTTP 서버 당시 Unix 기반으로 만들어진 최초의 웹 서버 NCSA httpd가 있었음 그러나 NCSA httpd는 버그가 굉장히 많았고, 개발자들이 버그를 수정하고 기능을 추가해 Apache를 만들었음 Apache서버는 Process-Driven 방식을 사용함 Apache는 클라이언트로부터 받은 요청을 처리할 때 새로운 프로세스 혹은 스레드를 생성하여 처리함 즉, 새로운 요청이 들어올 때마다 새로운 프로세스를 계속 생성한다는 뜻임 프로세스를 만드는 것이 시간이 오래 걸리다보니 요청이 들어오기 전에 프로세스를 만드는 prepork방식을 사용해, 새로운 요청이 들어왔을 경우 미리 만들어..

카테고리 없음 2024.01.11

네트워크

네트워크? 컴퓨터끼리 연결해서 데이터를 교환하는 시스템 범위에 따라 랜(LAN, Local Area Network)과, 왠(WAN, Wide Area Network)로 나뉨 LAN : 가정이나 사무실 등 하나의 거점 내부를 연결하는 네트워크 [LAN 특징] 랜은 두가지 접속 방법이 있음 -> 케이블로 접속하는 유선 랜과 전파로 접속하는 무선 랜 1. 유선랜 : 인터넷 -> ONU -> 라우터 -> 스위치 -> 컴퓨터 (랜 케이블 연결) 2. 무선랜 : 인터넷 -> ONU -> 라우터 -> 컴퓨터 (전파로 통신) 유선랜은 규격으로 대부분 이더넷을 사용함 이더넷은 랜에 이용되는 물리적인 회선이나 접속 커넥터에 관해 정해진 규격으로, OSI 참조 모델의 1층과 2층(물리계층, 데이터링크 계층)에 해당됨 무선 ..

카테고리 없음 2024.01.10

TCP/UDP

1. TCP(Tranmission Control Protocol) : 전송을 제어하는 프로토콜(규약) / 인터넷상에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜 일반적으로 TCP와 IP를 함께 사용하는데, IP가 데이터의 배달을 처리한다면, TCP는 패킷을 추적 및 관리함 TCP는 연결형 서비스를 지원하는 프로토콜로 인터넷 환경에서 기본으로 사용 [TCP 특징] - 연결 지향 방식으로 패킷 교환 방식을 사용한다. (가상 회선 방식이 아님) - 3-way handshaking과정을 통해 연결을 설정하고 4-way handshaking을 통해 해제 - 흐름 제어 및 혼잡 제어 - 높은 신뢰성 보장 - UDP보다 속도가 느림 - 전이중(Full-Duplex), 점대점(Point to ..

카테고리 없음 2024.01.10

HTTP/HTTPS

HTTP HTTP(Hyper Text Transfer Protocol) : 서버와 클라이언트의 데이터 교환을 요청(Request)과 응답(Response)형식으로 정의한 프로토콜 기본 매커니즘 : 클라이언트가 서버에게 요청하면, 서버가 응답하는 것 웹 서버는 HTTP 서버를 HTTP 서비스 포트에 대기시킨다. 이 포트는 일반적으로 TCP/80 또는 TCP/8080이다. 클라이언트가 서비스 포트에 HTTP 요청을 전송하면, 이를 해석해 적절한 응답을 반환한다. ex) Request """ HTTP Method """ GET """ Request URI """ /index.html """ HTTP Version """ HTTP/1.1 """ Request Header """ Host: dreamhack.io..

카테고리 없음 2024.01.09
LIST