본문 바로가기

TIL/2024TIL

2024_0529_TIL

  • 실제로 로봇 과정은 여러가지 분업해서 개발해야하는 경우가 많음
    • 엔진, 센서, 운영체제 등등을 분업함
  • data 수집 및 crawling 및 시각화 python 수업
  • GUI 수업이 필요함 thread 연습하기 프로그래밍
  • 자율주행도 해야함
  • 수업은 따라가도 프로젝트를 따라가기 어려움. 실제로 내가 공부하고 원하는 것을 해야함.
  • 모르는 것을 찾는 능력도 사용해야함환경설정

 

ℹ️ Ubuntu 설치 

  1. etcher.balena.io/#download-etcher
    명령 프롬프트
  2. sudo add-apt-repository universe
  3. sudo apt install libfuse2
    2개의 라이브러리를 설치했으면 위의 balena를 활용해서 아래와 같이 Ubuntu환경을 Flash 가능함
    이때 USB는 꼽은 상태에서 진행하면 됨
  • ❗ 간혹 balena 프로그램을 설치했음에도 위와같이 Flash 파일이 안뜨는 경우가 생김 exe 클릭해도 실행이 안됨 그러한 경우 위의 Download Etcher에서 Debian (.deb)를 클릭
    • sudo apt install ./balena-etcher_**_amd64.deb
    • 위 명령어를 prompt를 넣어서 직접설치해주면 됨
  • 이후 Ubuntu를 설치하기위해서 usb를 꼽은 상태에서 BIOS를 들어가서 1순위 우선순위로 start
  • 설치시 유의사항이 Normal installation하고나서 download updates while installing Ubuntu + Install third-party software for graphics and Wi-Fi hardware and additional media formats를 선택하여 진행

ℹ️ Ubuntu 환경

  • sudo apt update
    • 평소에 update를 잘하기
  • ❗ sudo apt update 시 Error
    • E: Could not get lock /var/lib/apt/lists/lock. It is held by process 1648 (packagekitd)
    • N: Be aware that removing the lock file is not a solution and may break your system.
    • E: Unable to lock directory /var/lib/apt/lists/
  • 👍 sudo rm /var/lib/apt/lists/* -vf
    • 위 명령어 입력한 이후에 sudo apt update하면 위의 error가 해결이 됨
    • sudo rm /var/lib/apt/lists/* -vf 명령어는 /var/lib/apt/lists/ 디렉토리 안의 모든 파일을 강제로 삭제하는 명령입니다. 이 명령어는 주로 APT의 목록 파일을 정리하여 패키지 목록을 새로 고칠 때 사용될 수 있습니다.
    • 이후 sudo apt update 진행하면 업데이트됨.
  • sudo apt upgrade
  • sudo ubuntu-drivers autoinstall

ℹ️ terminator 다운로드

  • sudo apt install terminator
  • property - scrolling - infinity
  • wget --version
  • sudo apt install wget
  • wget dpkg ~ chrome 설치관련 구글 검색
  • defalut application에서 web을 chrome으로 설정

📌평소에 정리하는 습관을 들여야함

📌workspace에서 dev_ws 해당 폴더등에 구분하는것이 중요함

📌code는 document가 아님 별도의 폴더를 구분해야함

📌확장이 가능한 구조로 잘정리해서 정리하는 것

📌workspace

  • project
    • source
    • date
    • driver

📌User - home 밑에 workspace를 만들기

  • ~이 home을 의미함
  • venv 가상환경을 home 밑에 만들기
  • workspace에 venv를 만드는것이 아니고
  • venv에 code를 작성하는 것도

📌python 가상환경을 default로 사용함

  1. https://www.w3schools.com/
    • c++은 다른 사이트에서 공부하는 것을 권함
    • python, SQL 공부하는데는 괜찮음
    • python tutorial에서 Python Inheritance까지는 최소한 python 기초를 한달안에

📌개념이 없이 코딩만 하고 있는지 여부를 면접에서 파악을 하게됨

📌포트폴리오가 뛰어나지 않으면 그곳에서 처내지게됨. 그래서 좋은게 정보처리기사 자격증이 있으면 좋음. 컴공에서 다루는 CS 개념을 문제가 나오기 때문에 이것을 공부했다는 것, 용어를 알고 있다는 느낌을 줄 수 있음.

📌시험 시간이 맞지 않을 수 있으니 미리미리 준비해두고, 회사다니면서도 자격증이 있으면 도움이 됨

 

ℹ️ 가상환경

  • opensource기반으로 작업을 하기때문에 버전관리를 하는것이 좋음
  • releases가 하나의 버전으로 잘 배포가 된것이 아님.
  • 각각이 구동되는 환경이 달라지기 때문에 가상환경으로 버전을 나눠서 관리해주는 버전관리가 필요함

ℹ️ 클라우드 : 데이터센터에서 하나의 큰 리소스를 일부 빌려주는 것

  • pip python installer는 os에 설치되는 것임
  • python installer를 사용해서 python을 사용하는 것임
  • system(OS)에서 pip install 왠만하면 하지 말기 base에 너무 많은 파일이 설치가 되면 느려짐
  • venv에서는 sudo를 하지 않기 system에 설치가 됨

ℹ️ Jupyter notebook

  • 개발환경이라고 볼 수는 없고 Markdown을 포함한 결과를 제시하고 있기에 문서라고 볼 수 있음
  • 스터디할때 활용하면 좋음. 이것은 학습용이고 개발용은 아님

~/venv/

VS code에서 자주 발생하는 문제 : 가상환경 설정시 venv 글씨가 깨져보이거나 안보이는 경우가 많음.

 

 

연습, 배운내용 정리하기

✅ubuntu 설치하기 위해서 balena 설치 및 IOS 이미지 파일 설치

  • ubuntu 이미지 파일을 flash하기 위해서 설치할 파일
    1. 22.04 Ubuntu image file download
    2. 설치 이미지 flash 툴인 balena ETCHER download ETCHER FOR LINUX X64 (64-BIT) (APPIMAGE)
      • 다운로드가 느리거나 실행이 안되는 경우에 Debian (.deb) packages 에서 아래 명령어 실행
      • sudo apt install ./balena-etcher_**_amd64.deb
      • Appimage 실행을 위한 라이브러리 설치
      • sudo add-apt-repository universe
      • sudo apt install libfuse2
      • balenaEtcher.Appimage 속성 변경 Allow executing file as program
  • Bios에서 USB를 부팅 1순위로 놓고 설치
  • 설치 시 언어선택 English
  • Normal installation
  • 전체 파일 지우고 다시 설치
  • third party 설치 --> display, wifi, bluetooth와 같은 driver 설치

✅sudo를 사용하여 terminator 다운로드

  • sudo apt install terminator
  • sudo 명령어를 사용하면 os에 terminator가 설치가 됨

✅wget를 사용한 구글 크롬 다운로드

  • sudo apt install wget
  • wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
  • sudo dpkg -i google-chrome-stable_current_amd64.deb
  • sudo apt install ./google-chorme-stable_current_amd64.deb
  • ❓ 위 둘의 명령어의 차이는 뭐지?
    • 둘 다 설치하는데는 상관없지만 향후에 의존성 오류, 시스템 복구 및 문제해결, 패키지 파일 관리 등등에서 dpkg만이 할 수 있는 것들이 있음
  • 위의 명령어를 사용하여 deb 패키지를 다운받음
  • . dot이 의미하는 바는 현재 폴더의 위치를 말함
  • .. two dot이 의미하는 바는 한단계 상위폴더를 말함

✅주기적으로 해주어야 할 것들

  • sudo apt update
  • sudo apt upgrade
  • ❓ update와 upgrade는 어떠한 차이지?
    • update는 해당 패키지 목록을 업데이트 하며, 설치는 따로 하지 않음
    • upgrade는 해당 패키지의 버전을 최신상태로 업데이트 하는 것

✅가상환경 설정하기위한 폴더 만들기

  • mkdir venv
  • 위 명령어로 환경파일을 저장할 폴더를 생성할 수 있음.
  • ~/ 물결표시가 의미하는 바는 system/user_name/

✅pip installer 설치하기

  • 현재 버전 찾아보기 : pip3 --version
  • sudo apt install python3-pip

✅python3 가상환경에서 설치하기

  • python3 -m venv ~/venv/eda_venv

✅sudo apt install 과 pip install 과의 차이점 설명하기

  • sudo 명령어를 사용하면 어떠한 폴더에 있더라도 해당 OS에 설치가 완료됨
  • pip install의 경우에는 해당 base 또는 가상환경에 activation 되었을때 해당 환경에 설치가 됨.

✅한글설정을 추가할때 유의해야할 것들

  • Keyboard에서 한국어를 추가한 뒤에 Hangul이라고 써져있는 Korean을 추가해야함. 만약 해당 Hangul이 안써져 있는경우에는 재부팅후 선택창이 생김
 
 
 

'TIL > 2024TIL' 카테고리의 다른 글

24-05-26~06-01_TIL  (0) 2024.05.26
24-05-19~25_TIL  (0) 2024.05.19
24-05-12~18_TIL  (0) 2024.05.18