일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Xcode
- 스프링부트 웹 소켓
- swift
- Spring
- 프로그래밍언어론
- 42seoul
- 데이터베이스
- DBMS
- AI
- javascript
- springboot
- 밥먹는 철학자
- CI
- IOS
- MySQL
- 오라클
- CD
- 소켓
- libasm
- 네트워크
- 아이패드다이어리
- 리눅스
- 인공지능
- 스프링부트
- jenkins
- Dining philosopher problem
- 스프링
- JPA
- 다이어리
- sql
- Today
- Total
목록sswu (33)
Hi yoahn 개발블로그
1. 공인 IP (Public IP) - 인터넷 사용자의 로컬 네트워크를 식별하기 위해 ISP(인터넷 서비스 공급자)가 제공하는 IP주소 - 공용 IP 주소. 외부에 공개되어 있는 IP 주소 * Public IP는 전세계에서 유일한 IP주소를 가짐 * 외부로부터의 접근 가능, 보안 프로그램 설치 필요 2. 사설 IP (Private IP) - 일반 가정 & 회사 내에 할당된 네트워크 IP 주소 - 로컬 IP, 가상 IP - 서브넷팅된 IP. 라우터에 의해 로컬 네트워크상의 PC나 장치에 할당됨 2.1 사설 IP 주소 범위 - 아래의 3가지 주소대역으로 고정 Class A: 10.0.0.0 ~ 10.255.255.255 Class B: 172.16.0.0 ~ 172.31.255.255 Class C: 19..
1. Netmask - 네트워크 주소 부분의 비트가 모두 1 인 것 - IP 주소와 넷마스크를 AND 연산하면 네트워크 주소를 얻을 수 있다. 2. subnet mask 2.1 서브넷 마스크의 형태 # 기본 서브넷마스크 ( == 넷마스크) - 별개의 서브넷 마스크를 생성하지 않아도 기본적으로 적용되어 있는게 기본 서브넷 마스크 (C 클래스 그대로 사용 -> 네트워크를 쪼개지 않고 하나의 네트워크에 할당할 수 있는 2^8 - 2 개의 주소를 사용하겠다는 뜻. (기본 서브넷 마스크: 255.255.255.0)) # 서브넷 네트워크 - 기본 서브넷마스크로 쪼개진 네트워크 주소를 서브넷 네트워크라고 한다. Subnet Mask A class /8 255.0.0.0 B class /16 255.255.0.0 C ..
1. 컴퓨터 네트워크 - 데이터를 전달하기 위해 많은 노드와 노드를 연결하는 링크로 구성된 시스템 - 컴퓨터끼리 데이터를 주고받는 시스템 - 호스트 | 라우터 등과 같이 데이터를 중계하거나 처리하는 네트워크 종단장치를 노드라고 한다. 호스트 - 프로그램을 구동하는데 필요한 컴퓨터 1.1 IP address - 인터넷에서 호스트를 구분하기 위해 사용되는 글로벌 주소 - 네트워크 상에서 통신을 하기 위한 규약 중, 네트워킹을 하는 장비들에게 고유한 주소를 주어 그 주소를 통해 통신하도록 하자는 규약이 있다. 1) IPv4 - 32bit 주소 - 42억개 이상의 IP가 존재한다. 중간의 일부 번호들은 특별한 용도를 위해 예약되어 있다. (127.0.0.1 : localhost) 2) IPv6 - 128bit ..
프로세스: 어떤 일을 하기 위한 특별한 방법. 단계나 작업으로 구성됨 프로세스 없는 소프트웨어 개발은 프로그래밍 한 후 사용자가 만족할 때까지 수정하는 과정을 반복하게 된다. 이 경우 문제점 1) 설계의 중요성을 깨닫지 못함. 사용자의 높은 요구에 도달하기 어렵다. 2) 설계 작업이 없어 구조가 나빠질 수 있다. 3) 계획이 없어 작업 목표 없음. 일을 한 후에도 잘한 것인지 못한 것인지 판단할 수 없고, 비용과 일정을 조절할 수 없다. 4) 체계적인 테스트 작업, 품질 보증 차원의 활동에 대한 필요성의 인식이 없다. 따라서 발견되지 않은 결함이 남아 계속 고치게 될 것이며 시스템이 더욱 악화된다. -> 이러한 문제점들은 소프트웨어 개발과 유지보수에 비용이 많이 들게 한다. 프로세스 - 단계적인 작업의 ..
1.1 소프트웨어 소프트웨어 특징 4 -프레드 브룩스 - 복잡성 (complexity) 소프트웨어는 자동화하려는 대상이 복잡, 수많은 내부의 요소들로 이루어져 상호작용이 많고 복잡함 - 순응성 (conformity) 요구나 환경, 데이터의 변화에 따라 적절히 변형되는 특징 - 변경성 (changeability) 소프트웨어는 개발 과정에 자주 변경된다. - 비가시성 (invisibility) 소프트웨어는 종이나 자기 디스크 같은 매체에 저장되지만, 개념적이고 무형적이다 소프트웨어는 구조가 코드 속에 숨어 있어 쉽게 드러나지 않는다. - 소프트웨어는 마모되어 소멸되지는 않는다. 1.1.1 소프트웨어의 종류 1 ) 주문형 소프트웨어 - 특정 고객의 수요를 만족하기 위하여 개발된 SW - 그 고객 맞춤으로 제작..
1. 타입의 정의모든 프로그램 -> 명시적/묵시적 데이터 사용알고리즘 + 자료구조 = 프로그램 가장 원시적인 데이터 = bit 들의 모임- 너무 낮은 수준의 추상화, bit로 데이터, 자료구조 구성 어려움-> 시스템에 내장된 타입의 기초적인 추상화는 기본 제공 데이터 타입= 값들의 집합 & 그 값들에 대해 유효한 연산들의 집합 내장 타입 -> 가능한 연산은 언어 설계자가 제공사용자 정의 타입 -> 가능한 연산은 정의한 사람이 제공해야 함 2. 추상 데이터 타입- 객체 = 성질 + 행위 = 속성 + 동작- 데이터 타입을 정의 할 때 값들이 표현되는 형태와 사용되는 방식을 함께 정의 => Class # 추상 데이터 타입의 장점- 한 구조 내에 데이터 타입의 두 요소 (데이터, 연산)가 함께 표현됨 -> 높은..
1. 프로그래밍 언어 설계의 원칙- 바람직한 언어를 판단- 좋은 프로그래밍 언어를 선택할 수 있다. 1) 효율 Efficiency- 돈, 시간, 공간의 효율 ▶ 최적화 용이성- 실행 효율- 초창기 언어일 수록 중요(컴퓨터가 귀한 자원)- 프로그램이 짧은 시간&적은 메모리로 실행을 완료하려면 실행 파일이 효율적이어야 함 -> 컴파일러가 실행파일을 효율적으로 만들도록 하는 것: 최적화- 최적화가 얼마나 정교하게 높은 수준으로 이루어질 수 있는가 최적화가 쉽게 이루어지려면 언어가 어떻게 설계되어야 하는가-> FORTRAN = 변수 길이 6글자 이하 (word=36bit, 글자인코딩=6bit=1글자) -> 판독성은 떨어지고 인건비는 올라감 ▶ 번역 효율- 컴파일 시간이 빠른 것1. go to 레이블이 go to..
1. 네트워크 구조 모델- 컴퓨터의 역할에 따른 분류1) 피어-투-피어 구조- 모든 컴퓨터가 동등하게 요청과 응답이 가능한 구조- 각 노드가 자원을 분산해서 관리모든 것이 동등하기 때문에 보안이 좋지 않음private, 개인적으로 사용하는 용도내 ip에서 다른 pc에 연결해서 데이터를 주고받을 때 사용 2) 클라이언트-서버 구조- 모든 자원이 서버에 집중- 가장 일반적인 네트워크 구조 장점- 역할 분리 -> 유지보수 쉬움- 수정/업그레이드/패치를 클라이언트와 서버가 독립적으로 할 수 있다.- 보안 유지가 수월함- 클라이언트의 자원 액세스 권한을 쉽게 제어- 오랜시간 검증되므로 사용자/개발자 친화적, 사용이 쉽다. 단점- 모든 자원이 서버에 집중됨-> 트래픽 몰림, 클라이언트 접속이 늘어나면 처리비용 급격..
네트워크 관련 파이썬 모듈IP 주소와 ipaddress 모듈TCP/IP 에서는 호스트를 식별하기 위해 IP주소를 사용 - IP 주소 표현 방법: IP주소/(네트워크 주소의 자리 수)ex) "192.168.100.10/24" -> 24비트가 네트워크 주소 표현을 위해 사용됨 1. IPAddress 모듈- IP 주소를 표현하고 처리하기 위해 사용됨- 파이썬에서 아용되는 IP 주소를 나타내기 위한 클래스 ipaddress.ip_address()- IP 주소 객체 생성IPv4, IPv6 자동 인식 IPv4, IPv6 호스트 주소 객체 직접 생성- ipaddress.IPv4Address('192.168.0.1')- ipaddress.IPv6Address('2001:ab8::2000') IP주소 속성- 주소 객체 ..
1. 1950년대: 프로그래밍 언어의 여명기1) FORTRAN (FORmula TRANslation): 복잡한 수식을 쓰면, 어셈블리어로 자동으로 번역해 주는 것- John Backus (IBM) -> 포트란 개발, BNF 개발- 목적: 과학/공학 계산 목적- 목표: 결과로 나온 기계어 코드의 효율- 변수 길이 최대 6글자 이하 why? -> 포트란 개발 당시 IBM 컴퓨터의 메모리 워드 사이즈 = 36bit 명령형 패러다임의 시작2) COBOL (COmmon Business-Oriented Language): 비즈니스 지향 언어- 설계자: Grace Hopper- 목적 분야: 관공서, 경영. 행정, 상업분야- 설계 목표: 높은 인간 판독성 -> 영어 문법과 유사 (영어와 유사할 수록 친근하고 쉽게 느낌..