반응형

공부 47

[ TCP/IP ] TCP/IP의 기본

1. 컴퓨터 네트워크 네트워크란 '망'이라는 의미를 갖고 있는데 실제로는 '어떤 자산을 서로 주고받을 수 있는 상태' 이다. 컴퓨터끼리 네트워크가 연결되어 있다면 데이터를 주고받을 수 있다. 즉, 컴퓨터 네트워크란 컴퓨터끼리 연결하여 데이터를 주소받을 수 있는 상태로 되어있는 것을 말한다. 컴퓨터 네트워크는 규모에 따라 아래와같이 나뉜다. LAN(local area network) : '랜'이라고 읽고 기업과 같이 비교적 좁은 공간에 있는 기기끼리 연결한 네트워크를 의미한다. WAN(wide area vetwork) : '완'이라고 읽고 회사의 지점 간 지리적으로 떨어진 장소에 있는 기기를 연결한 대규모의 네트워크를 말한다. 인터넷 : 여러개의 LAN이나 WAN을 연결한 전 세계 규모의 네트워크이다. 지..

공부/TCP IP 2023.01.30

[ Pandas ] 웹, API를 활용하여 데이터 수집하기

1. 웹을 활용해서 데이터 수집하기 1.1 HTML 웹 페이지에서 표 속성 가져오기 read_html() 함수는 HTML 웹 페이지에 있는 태그의 데이터를 모두 찾아서 데이터 프레임으로 변환한다. 표 데이터들은 별도의 데이터 프레임으로 변환되기 때문에 여러개의 데이터 프레임을 원소로 갖는 리스트가 반환된다. 웹페이지의 정보를 parsing하기 위해서는 read_html() 함수 인자에 url이나 html파일을 넣어주면 된다. 1.2 웹 스크래핑 BeautifulSoup 과 같은 웹 크롤링 도구로 수집한 데이터들을 데이터프레임으로 정리하는 방법을 알아보자. 먼저 스크래핑한 내용들을 파이썬 리스트, 딕셔너리 등으로 정리한 뒤, DataFrame() 함수에 리스트나 딕셔너리 형태로 전달하여 데이터 프레임으로 ..

[ spring ] 예제 - 회원관리 : 웹 MVC 개발

저번에는 멤버 컨트롤러와 의존관례를 설정했다. (아래링크) https://haena02.tistory.com/167 [ spring ] 예제 - 회원 관리 : 도메인, 리포지토리, 서비스, 테스트케이스 1. 비지니스 요구사항 정리 데이터: 회원ID, 이름 기능: 회원 등록, 조회 아직 데이터 저장소(DB)가 선정되지 않음(가상의 시나리오) 컨트롤러: 웹 MVC의 컨트롤러 역할 서비스: 서비스의 핵심 비지 haena02.tistory.com https://haena02.tistory.com/172 [ spring ] 스프링 빈과 의존관계, 예제 - 회원관리 : 의존관계 설정 스프링 빈을 동록하고, 의존관계 설정하기 리포지토리랑 서비스를 다 만들고 화면을 붙이고 싶다면 컨트롤러와 뷰 템플릿이 필요하다. 멤버..

[ 운영체제 ] CPU 스케줄링 개요

1. CPU 스케줄링 개요 운영체제는 CPU를 프로세스들에게 공정하고 합리적으로 배분해준다. 이를 CPU 스케줄링이라고 한다! 1.1 프로세스 우선순위 프로세스는 각각 우선순위를 갖고있다. 우선순위가 높을수록 빨리 처리해야한다는 의미이다. 대표적으로 우선순위가 높은 프로세스에는 입출력작업이 많은 프로세스가 있다. 입출력작업을 할동안은 CPU는 다른 프로세스를 실행시킬 수 있으므로 입출력작업을 먼저 실행시키는 것이 좋다! 비디오 재생이나 디스크 백업작업을 담당하는 프로세스와 같이 입출력이 많은 프로세스를 I/O bound process라고 하고 수학연산, 컴파일, 그래픽 처리와 같이 CPU작업이 많은 프로세스들을 CPU bound process라고 한다. *CPU를 이용하는 작업을 CPU burst 입출력..

공부/운영체제 2023.01.25

[ 컴퓨터구조 ] CPU의 작동원리

1. ALU와 제어장치 이번에는 CPU 내부에 있는 ALU와 제어장치에 대해 알아 볼 것이다. 1.1 ALU ALU는 레지스터를 통해 피연산자를 받아드리고, 제어장치로부터 수행할 연산을 제어 신호를 받아드린다. 이렇게 받은 정보들로 연산을 수행하고 결과를 레지스터에 저장한다. 매번 메모리에 저장하면 속도를 저하 시킬 수 있으므로 CPU안에 있는 레지스터에 우선 저장한다. 또, ALU는 음수와 양수를 구별하기 위한 플래그도 내보낸다. 플래그는 연산 결과에 대한 추가적인 정보를 가지고 있다. 부호 플로그 음수일때는 1 , 양수일때는 0이된다. 제로 플로그 연산결과가 0이면 1 , 0이 아니면 1이 된다. 캐리 플래그 올림수나 빌림수가 발생했을 때 1 , 발생하지 않았을 때 0이 된다. 오버플로우 플래그 오버..

[ Pandas ] 외부 파일 읽어오기(CSV, EXCEL, JSON)

판다스는 다양한 형태의 외부파일을 읽어와서 데이터 프레임으로 변환할 수 있다. file format Reader Writer CSV read_csv to_csv JSON read_json to_json HTML read_html to_html Local clipboard read_clipboard to_clipboard MS Excel read_excel to_excel HDF5 Format read_hdf to_hdf SQL read_sql to_sql 1. CSV파일 데이터 값을 쉼표로 구분한다는 의미로 comma-separated values 를 줄여 CSV라고 부른다. 쉼표로 열을 구분하고 줄바꿈으로 행을 구분한다. pandas.read_csv("파일경로") 인자로 여러 옵션들을 전달 할 수도 있..

[ spring ] 스프링 빈과 의존관계, 예제 - 회원관리 : 의존관계 설정

스프링 빈을 동록하고, 의존관계 설정하기 리포지토리랑 서비스를 다 만들고 화면을 붙이고 싶다면 컨트롤러와 뷰 템플릿이 필요하다. 멤버 컨트롤러를 만들게 되면 이 컨트롤러는 멤버서비스를 통해서 회원가입하고 데이터를 조회할 수 있어야한다. 이 경우에 멤버 컨트롤러가 멤버 서비스를 의존한다고 표현한다. 스프링이 뜰 때 컨트롤러의 객체를 생성해서 스프링이 가지고있다. 이를 스프링 빈을 관리한다고 표현한다. 스프링은 스프링 컨테이너에 스프링 빈을 등록할 때, 유일하나 하나만 등록해서 공유한다.(싱글톤) 같은 스프링빈이면 모두 같은 인스턴스이다. 1 컨포넌트 스캔방식 스프링이 서비스, 리포지토리, 컨트롤러 들을 관리 할 수 있으려면 각각 @Service, @Repository, @Controller 를 명시 해줘야..

[ 운영체제 ] 프로세스와 스레드

1. 프로세스 프로세스란 실행 중인 프로그램이다. 프로그램은 실행되기 전까지는 데이터덩어리지만 프로그램을 메모리에 적재하고 실행하는 순간 프로세스가 된다. 1.1 프로세스 직접 확인하기 프로세스를 직접 확인해보면 내가 실행중인 프로세스 외에도 알 수 없는 프로세스가 실행되고있다. 사용자가 보는 앞에서 실행되는 프로세스는 포그라운드 프로세스라고하고, 뒤편에서 실행되는 프로세스는 백그라운드 프로세스라고 부른다. 이 중에서도 사용자와 상호작용하지 않고 정해진 일만 수행하는 백그라운드 프로세스를 유닉스 체계의 운영체계에서는 데몬, 윈도우 운영체제에서는 서비스라고 부른다. 1.2 프로세스 제어 블록 프로세스가 실행되려면 CPU가 필요하지만, CPU자원은 한정되어있다. 이때문에 프로세스들은 차례대로 돌아가면서 CP..

공부/운영체제 2023.01.17

[ 컴퓨터구조 ] 명령어

1. 소스 코드와 명령어 우리가 작성하는 소스코드는 컴퓨터 내부에서 명령어로 변환되어 컴퓨터를 작동시킨다. 1.1 고급언어와 저급언어 C, C++, JAVA와 같은 프로그래밍 언어들은 모두 사람들이 이해하기 쉽게 만든 고급언어이다. 반대로 컴퓨터가 직접 이해하고 실행할 수 있는 언어를 저급언어라고 한다. 저급언어는 명령어로 이루어져 있다. 저급언어는 0과1로 이루어진 기계어와 0과1을 전역한 어셈블리어가 있다. 짜피 컴퓨터가 고급언어에서 저급언어로 바꿔주는데 왜 저급언어를 알아냐하냐!!라고 할 수 있지만 하드웨어랑 밀접한 임베디드 개발자, 게임개발자, 정보보안 전문가 등의 개발자들은 어셈블리어를 많이 사용한다. 어셈블리어를 잘 관잘하면 프로그램이 어떤 절차로 작동하는지 이해할 수 있기 때문에 개발자라면 ..

[ spring ] 예제 - 회원 관리 : 도메인, 리포지토리, 서비스, 테스트케이스

1. 비지니스 요구사항 정리 데이터: 회원ID, 이름 기능: 회원 등록, 조회 아직 데이터 저장소(DB)가 선정되지 않음(가상의 시나리오) 컨트롤러: 웹 MVC의 컨트롤러 역할 서비스: 서비스의 핵심 비지니스 로직이 들어있음 (ex.로그인 횟수제한) 리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인: 비지니스 도메인 객체 (ex. 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨) 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계 (데이터 저장소는 RDB, NoSQL 등 고민중인 상황으로 가정) 초기 개발 단계에서는 구현체로 가벼운 메모리 기반의 데이터 저장소 사용 2. 회원 도메인과 리포지토리 만들기 //멤버클래스 packag..

반응형