본문 바로가기

스터디 로그

(36)
JAVA - (1) 자바를 공부하기 전에 알아두면 좋은 것들 JDK vs JRE vs JVM 0과 1의 조합은 운영 체제에 따라서 다름 -> 따라서 OS 마다 다른 컴파일러가 필요함예를 들어서 C언어의 경우, Windows, MAC, Linux의 컴파일러가 각각 따로 존재 하지만 자바는 하나의 컴파일러를 사용하되 JVM을 사용함. 각 OS 마다 따로 존재하는 JVM이 0과 1을 OS에 맞게 번역해 줌. 이것은 한 번만 컴파일을 해놓는다면 어디에서 실행시키든 똑같은 결과가 나온다는 큰 장점이 되기 때문에 JVM은 자바뿐만 아니라 그루비, 스칼라, 코틀린에서도 사용됨. JVM  JVM (Java Virtual Machine)- OS 별로 존재- 바이너리 코드를 읽고 검증하고 실행 JRE (Java Runtime Environment)- JVM + Java Class ..
역사상 강력한 지도자들 - Genghis Khan, Joseph Stalin, Adolf Hitler Genghis Khan (칭기즈 칸, 1162-1227)  출생과 배경 - 본명은 테무진으로, 몽골의 부족장 가문에서 태어남. 어린 시절 가난과 복잡한 정치적 상황 속에서 자랐고, 아버지가 암살당한 후 가족이 버려지면서 힘든 유년기를 보냄.업적 - 칭기즈 칸은 몽골 제국을 건설한 군사 지도자이자 정치가. 그는 여러 부족을 통합하여 거대한 제국을 만들었고, 이는 세계 역사에서 가장 넓은 육지 제국 중 하나로 평가됨몽골 제국 - 1206년, 그는 "칭기즈 칸"이라는 칭호를 사용하면서 몽골 제국의 칸(황제)이 됨. 이후 그는 아시아, 유럽, 중동에 이르는 대규모 정복을 시작하여, 그의 제국은 유럽에서 중국에 이르는 광범위한 영역을 지배하게 됨전략과 혁신 - 칭기즈 칸은 기마 전술, 첩보 활동, 군사 조직에서 ..
Image Processing with OpenCV and Python Reference https://www.youtube.com/watch?v=kSqxn6zGE0c https://www.kaggle.com/code/robikscube/working-with-image-data-in-python/notebook Matplotlib vs cv2 Numpy Arrays matplotlib reads in channels as RGB cv2 reads in channels as BGR import numpy as np from glob import glob import cv2 import matplotlib.pylab as plt cat_files = glob('{directory_path}/*.jpg') dog_files = glob('{directory_path}/*.jpg..
Mobile Robot 만들기 (1) Design of Microprocessor 수업 파이널 프로젝트로 모바일 로봇을 만들어보려고 한다. 프로젝트 요건은 realtime, multitasking, 그리고 GUI(교수님이 사랑하는 LabVIEW를 사용할 예정)이다. 1) Robot state estimation 방향과 위치를 파악하기 위해 로봇은 wheel encoder와 IMU를 sampling 할 예정 2) Wireless communication for the LabVIEW GUI and the robot wifi를 사용하기엔 bandwidth의 문제가 있을 것 같아서 우선 ESP-now를 살펴보기로 함 3) Actuator control 로봇의 wheel velocity를 컨트롤하기 위해 closed loop controller를 구..
LabVIEW 시작하기 LabVIEW is data-flow language, not a sequential-flow language Graphical Programming Language Control: user interface element that allows users to interact with the LabVIEW program Indicator: user interface element that displays information or output from the LabVIEW program to the user + Even one element is a control and the other is indicator, they can't have the same name. In while loops, to ..
[LeetCode] 1926. Nearest Exit from Entrance in Maze 2D matrix랑 entrance 위치가 주어지고, 제일 가까운 exit까지의 거리를 찾는 문제이다. 간단하게 BFS로 풀 수 있는 문제인데... 이게 왜 이렇게... 어려웠는지 모르겠다. Accepted 되기까지 한평생 걸렸다. 마지막에는 계속 Memory Limit Exceeded가 나와서 고생했는데, visited marking을 한 단계 미리 하니까 통과했다. class Solution: def nearestExit(self, maze: List[List[str]], entrance: List[int]) -> int: m, n = len(maze), len(maze[0]) q = deque([entrance]) maze[entrance[0]][entrance[1]] = '+' level = 0 ..
[C++] Lecture 3. Variables and Data Types Number Systems n bits이 있으면 2^n 개의 data를 나타낼 수 있음 e.g.) 8 bits: data range는 0 부터 2^8-1 = 255, 총 256개 Digits Bytes Data Range 8 1 0~255 16 2 0~65,535 32 4 0~2^32-1 = 4,294,967,295 64 8 0~2^64-1 Binary number system (base = 2, 1개의 bit으로 하나의 value를 나타냄, 1, 2) Octal number system (base = 8, 3개의 bit으로 하나의 value를 나타냄, 0-7) Decimal number system (base = 10) Hexadecimal number system (base = 16, 4개의 bit으..
[C++] Lecture 1-2. C++ 시작하기 오늘부터 최대한 빠른 시일 내에 이 crash course를 다 끝내는 게 목표이다. 이 시리즈의 글들은 거의 모든 부분이 아래 링크에서 발췌한 것일 예정이다. 따로 참고한 링크가 있다면 하단에 reference 남기도록 하겠다. Thank you freeCodeCamp! https://www.youtube.com/watch?v=8jLOx1hD3_o Lecture 1. we need compiler to generate executable binary file clang, gcc 모두 c/c++/objective-c 위한 compiler (gcc는 다른 언어 컴파일도 가능한 듯) clang 은 Apple의 default compiler (llvm이 backend) , gcc는 homebrew 통해서 따로..