전체 글 462

한국 근현대사 - (2) 조선 -1

위화도 회군 조선은 1392년 이성계가 위화도 회군을 통해 개국했다. 조선 전에는 (고조선 -> 삼국시대 -> 통일신라 -> 고려)정도로 변해왔다. 그 때마다 (한나라 -> 수나라 -> 당나라 -> 송나라 ->원나라 ->명나라) 순으로 영향을 받는 국가가 달라졌는데, 조선은 명의 제후국이었다. ​ 중앙 집권적인 왕조국가로 양반 관료제, 엄격한 신분제, 노비제도, 유교, 사농공장 등의 특징을 가지고 있었다. 기본적으로 명의 영향을 받다보니, 폐쇄적이고 충성, 효 등을 중시했다. 출처 : 맨체스터 유나이티드 - The Red Devils : 네이버 카페 (naver.com) 전쟁 1592년~1598년까지 임진왜란이 일어났다. 이 때 일본의 공격으로 조선의 국력이 약해졌다. ​ 또한 1636년~1637년까지 ..

대학교 2023.09.20

데이터 구조 - (2) 알고리즘의 성능

입력의 크기 출처 : 쉽게 배우는 자료구조 with 파이썬 각 알고리즘 마다 수행 시간이 다르다. 입력의 크기가 작으면 알고리즘 마다의 시간 차이도 적어서 괜찮은 경우가 많지만, n의 크기가 커질수록 그 시간 차이도 상당히 커지기에 알고리즘의 성능이 중요해진다. ​ 출처 : 쉽게 배우는 자료구조 with 파이썬 위와 같이 1번째는 n이 엄청 커져도 결국 나누기 2를 하기에 상수 시간이 걸린다. 2번째 경우는 n이 커질수록 for문의 반복횟수가 늘기에 n에 비례한다. 3번째 경우는 n이 커질수록 이중 for문과 수행시간을 확인해보면 n(n-1)/2로 n제곱에 비례한다. 알고리즘 복잡도 점근적 복잡도 : 입력의 크기가 충분히 클 때의 복잡도 출처 : 쉽게 배우는 자료구조 with 파이썬 차례대로 위의 기호는..

대학교 2023.09.20

파이썬 - (2) 함수 실습

함수 실습 실습 1 저번에 배웠던 휴보라는 로봇을 이용해 4가지 실습을 진행했다. 파이썬 hubo라는 키워드를 통해 정보를 얻을 수 있다. 이 포스팅에서 실습 1번과 3번을 다루려고 한다. 첫 번째는 지그재그 방식으로 (1,1)에서 (10,1)까지 이동하는 것이다. #제공받은 코드 from cs1robots import* #Task1 create_world() hubo = Robot() #이동한 위치 파란색으로 기록 hubo.set_trace("blue") #왼쪽으로 방향 전환 hubo.turn_left() #오른쪽으로 방향 전환 def turn_right(): hubo.turn_left() hubo.turn_left() hubo.turn_left() #위로 지그재그 def zigzag(): for _ ..

대학교 2023.09.19

자바 - (2) 기본 타입, 타입 변환

기본 타입 출처:혼자 공부하는 자바 각각 타입마다 저장되는 값의 허용 범위가 다르다. 문자열의 경우는 String이라는 타입을 이용한다. char의 경우는 유니코드를 저장할 수 있다. 그렇기에 문자열을 char 타입에 저장할 수 없다. 출처:혼자 공부하는 자바 자바도 마찬가지로 이스케이프 문자를 사용해서 줄 바꿈, 띄움 등의 기능을 사용할 수 있다. ​ boolean과 같은 논리 타입의 경우는 true, false의 리터럴 값을 저장할 수 있다. 타입 변환 - 자동 타입 변환 : 값의 허용 범위가 작은 타입이 큰 타입으로 저장될 경우 출처:혼자 공부하는 자바 위와 같이 범위에 따라 자동적으로 타입이 변환되는 경우를 말한다. ​ ​ - 강제 타입 변환 : 큰 허용 범위 타입을 작은 허용 범위 타입으로 강제..

대학교 2023.09.18

EDA - 3단계 : 캐글 스터디(1)

1주차 교재 : 쉽게 시작하는 캐글 데이터 분석 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 혼자 공부하는 머신러닝+딥러닝 : 네이버 도서 네이버 도서 상품과 정보를 제공합니다. search.shopping.naver.com 교재는 2개로 진행을 하는데, 메인은 쉽게 시작하는 캐글 데이터 분석이다. 1주차는 그냥 탐색 및 개발환경 구축 정도이다. 3주차부터 제대로 된 분석을 할 예정이다. 학습 내용 ​1주차 진행 : 본교재(0~2강), 부교재 강의(1,2강 시청) ​ 부교재 강의 : 1강, 2강 진행 내용 : 출처 : [혼자 공부하는 머신러닝+딥러닝] 1강. 인공지능, 머신러닝 그리고 딥러닝이란 무엇인가? - YouTube 1강은 인공지능의 발전사를 ..

파이썬 - (1) 개요

목차 주차별 계획은 이렇게 진행된다. 최근에 수업을 들어본 결과 수업 진행 방법이 신기했다. 이미 만들어진 코드들을 import해서 함수가 동작하는 방식을 직접 배우는 방법인데, 파이썬을 처음 접한 사람이라면 굉장히 이해하는데 어려울 것 같다. 나는 그나마 파이썬을 알고 있어서, 동작 순서와 방식은 이해가 되지만, 그 함수들의 코드 하나, 하나는 다 이해하지 못할 정도이다. 함수 함수, 프로시저 등 다양한 이름으로 활용된다. 함수는 파이썬에서 def를 통해서 정의할 수 있다. 함수 안에 다른 함수가 들어갈 수 있다. ​ 파이썬의 정수, 소수, 문자열 등 모든 것은 객체이다. 객체는 각자 할 수 있는 동작과, 고유의 속성을 가진다. ​ 파이썬은 한번 클래스를 만들면 그 클래스에 속하는 서로 다른 객체를 만..

대학교 2023.09.13

자바 - (1) 개발 환경 및 개요

개발 환경 우연히도 학교에서 교재로 "혼자 공부하는 자바"를 사용한다. 나는 과거에 이 책을 구매해서 혼자 공부해본 적이 있기에 조금 친숙했다. ​ 우선 oracle에서 자바를 설치해주고, 이후 이클립스를 설치하여 개발 환경을 구축해준다. 자바 개요 출처 : 혼자 공부하는 자바 자바 소스 파일은 컴파일을 통해 바이트 코드 파일로 변한다. 바이트 코드 파일은 운영체제에서 바로 실행할 수 없기에 JVM을 사용하여 완전한 기계어로 변역하고 실행한다. ​ 출처 : 혼자 공부하는 자바 모듈과 모듈이 모여 하나의 프로그램을 만든다. 기본적으로 java.base 모듈만 사용 가능하므로, 다른 모듈은 등록 후에 사용할 수 있다. 모듈은 위와 같이 requires를 통해 등록할 수 있다. //패키지 선언 package ..

대학교 2023.09.13

한국 근현대사 - (1) 19세기 중국, 일본

19세기 동아시아 동서양 세력 균형의 거대한 역전이 발생한다. 이를 대전환의 시대라고 부른다. 서양 세력이 바다를 통한 무역로를 개척하고, 또한 석탄과 기계를 사용한 산업혁명을 통해 급속도로 성장한다. 이는 증기기관차, 증기선 등 다양한 운송 수단까지 발전하며 동 서양의 균형이 뒤집히게 된다. ​ 1775년 경 동양의 무굴 제국과 오스만 제국은 전세계 인구의 2/3를 차지하고, 생산의 4/5를 차지할 만큼 균형의 차이가 있었다. ​ 이 무렵 서양은 기독교 문화권으로, 동양에게 무역로를 통제당해 세력이 약했고, 이는 대전환의 시대를 통해 균형이 바뀌기 시작한다. 중국(청) 1644년 명나라 멸망 이후, 청이 중국을 지배했다. 19세기 초 전세계 무역량의 1/3을 차지할 만큼 엄청난 국가였다. 광동 무역 체..

대학교 2023.09.13

마이크로프로세서 - (2) ATmega128 개요

AVR 8051 : 인텔이 만든 8비트 마이크로컨트롤러, CISC 구조 사용 ARM : 32비트 마이크로컨트롤러 AVR : 아트멜이 발표한 8비트 마이크로컨트롤러 출처 : ATmega128로 배우는 마이크로컨트롤러 프로그래밍 ATmega128이 AVR의 메가 시리즈에 속한다. ​ - AVR 특징 8비트 간단한 구조로 학습용으로 적합하다. 가장 최근에 발표된 아키텍처를 사용하며, 아두이노 역시 AVR을 기본으로 한다. ​ - ATmega128 64핀을 가지며, 보통 ATmega128A를 칭하는 말이다. 다양한 어셈블리 명령어로 구현되며, SRAM으로 구성된 메모리가 있다. 파이프라인은 대부분 1 클록에 실행되며, 32개의 8비트 범용 레지스터와 I/O 레지스터를 제공한다. ​ - ATmega128 메모리 ..

대학교 2023.09.13

마이크로프로세서 - (1) 마이크로컨트롤러 개요

마이크로컨트롤러 출처 : ATmega128로 배우는 마이크로컨트롤러 프로그래밍 마이크로컨트롤러는 하나의 칩으로 구현한 컴퓨터라고 할 수 있다. 하지만 위 사진과 같이 메모리도 적고 동작 속도도 느리다. 그렇기에 가볍고, 저렴한 가격, 신뢰성 향상, 융통성 있다는 장점이 있고, 낮은 처리 능력과 범용성 부족이라는 한계가 있다. 보통 신호등, 무선 전화기, 게임기 등 간단한 작업에 사용된다. ​ 추가로 마이크로프로세서는 중앙처리장치를 하나의 칩으로 만든 것을 말하고, 마이크로컨트롤러는 중앙처리장치와 메모리, 입출력 인터페이스를 포함한 것을 말한다. ​ 마이크로컨트롤러를 위한 프로그램은 컴퓨터에서 작성하지만 프로그램의 실행은 마이크로컨트롤러에서 이루어진다. 그렇기에 부트로더가 필요하다. 즉 컴퓨터에서 마이크로..

대학교 2023.09.13