반응형

전체 글 221

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

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

[ C++ ] #1697 숨바꼭질

이는 좀 특이하게 1차원 BFS문제이다. 2차원에서는 상하좌우로 BFS를 진행했다면 이 문제에서는 앞으로 뒤로 2배앞으로 이렇게 세개로 진행하면 된다. 이렇게 배열을 찾아가다가 동생 위치에 숫자가 써지면 답이 된다! 코드로 짜보자! 코드는 금방짰다! 1차원 배열에서 BFS는 처음이라 낯설었지만 이해하고 나니 코드가 어렵지는 않았다. #include #include using namespace std; int road[100001]; int main() { ios::sync_with_stdio(0); cin.tie(0); int N, K; cin >> N >> K; road[N] =1; queue Q; Q.push(N); while (road[K] == 0) { int a= Q.front(); Q.pop(..

BOJ/[ BOJ ] C++ 2023.01.27

[ C++ ] #4179 불!

흠..쉬울것같았는데 은근 고민스럽다..! 일단 미로문제니까 BFS로 풀자! 먼저 진호의 위치와 불의 위치를 파악하고, 진호의 위치로부터 가장자리로 가는 최단거리를 구한다. 최단거리를 구하는 방법은 check판에 이 자리까지 오는데 걸린거리를 기록하면서 나중에 최대값을 찾으면 될 것 같다. 불이랑 만나는지는 최단거리 루트를 구하고 생각할지, 아니면 BFS하면서 같이 구할지 고민하다가 fire배열을 만들어서 BFS업데이트할때 같이 업데이트해가면서 비교해봐야겠다고 생각했다. 계속 어떤 케이스는 되고 어떤케이스는 안되고 해서 오류를 하나하나 고쳐나갔다. 근데 이제 웬만하면 모든케이스가 다 되는데... 너무 억울한데..도대체 뭐때문에 안되는지 모르겠다ㅠㅠ 일단 내 코드는 차차 고민해보는걸로하고..! 다른 아이디어..

BOJ/[ BOJ ] C++ 2023.01.26

[ 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이 된다. 오버플로우 플래그 오버..

[ C++ ] #7576 토마토

골드단계의 문제를 스스로 풀어보는건 처음이라! 꼭 스스로 풀겠다는 다짐을 하며 문제를 보았다. 음..1부터 시작해서 그냥 0인거 BFS하면 되겠다 싶었는데 요일를 세야하니까 한 타임에 몇개가 큐에 들어왔는지 세서 그 큐가 다 소진될때마다 하루씩 늘려야겠다고 생각했다. 풀 수 있을거같은데 시간초과가 날거같은...느낌? 일단 GO 다른 방법이 생각났다. 며칠째에 내가 익었는지 내 칸에 적어놓는다면 내 다음칸은 내 칸을 보고 +1을 하면 된다!! 다이나믹한 방법이다. 야호~! 맞았따~!~! 혼자힘으로 했다는게 너무 뿌듯하다~!~! #include #include #include using namespace std; int dx[4] = {0,1,0,-1}; int dy[4] = { 1,0,-1,0 }; que..

BOJ/[ BOJ ] C++ 2023.01.23

[ 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
반응형