반응형 전체 글372 [컴파일러] 1-1. 언어처리기 해당 카테고리는 컴파일러:원리, 기법, 도구에 대한 책을 기반으로 정리하면서 쓰여나갈 것임. Compilers: Principles, Techniques, and Tools (Dragon Book) (stanford.edu) 2판으로 900 페이지가 넘는다. 컴파일러란? 인간 위주의 프로그래밍 언어를 컴퓨터가 실행할 수 있는 형태로 변역해주는 것이 컴파일러이다. 1-1. 언어처리기 컴파일러는 원시 언어(source language)를 읽어 목표 언어(target language)로 번역하는 프로그램이다. 목표 프로그램이 실행 가능한 기계어(machine-language) 프로그램이라면 사용자에 의해서 호출되어 입력을 처리하고 출력을 생산할 수 있다. 인터프리터(interpreter)는 다른 종류의 일반적.. 프로그래밍/Compiler 2024. 2. 9. [NGINX] port 접속이 안될 때(3000, 8080, 8090 등) 만약 nginx에서 default인 80포트는 접속이 되는데 다른 포트번호는 접속이 안된다. 라는 문제가 있으면 가장 먼저 고려해볼 것은 방화벽이다. 리눅스 기준으로 설명한다. 보통 nginx를 처음 접하면 블로그에서 수행하라는 데로 하는 경우가 대부분인데(내가 그렇다...) 아래의 명령어를 사용하게 되면 http port인 80번과 https port 인 443번만 허용하게 해준다. (또는 sudo ufw allow HTTP라고 하면 80번 port만 허용한다) sudo ufw allow 'Nginx Full' 그래서 80 or 443번 port에서 허용되어 잘되는가 싶지만, 왜 3000 또는 8080, 8090에서는 timeout 에러가 나는 이유를 모르고 구글링하게 되는데, 가장 기본적인 문제는 1.. 프로그래밍/NGINX 2024. 2. 7. [JS] Drag&Drop 구현 예제(feat. SortableJS) Drag&Drop 라이브러리를 찾아서 사용중인데 구조를 간단히 설명하자면 Sortable([드래그할 아이템들의 컨테이너], [옵션값(Json 형식)]으로 구성되어있다. new Sortable(Element, Option); 첫번째 인자에는 Element를 적으라고 하지만, 왠지 모르겠으나 id값을 넣어줘도 작동을 한다. 옵션값은 상당히 많아 가장 아래의 문서 링크를 참조하면되고 여기서는 자주쓰일법한 예제만 적어둔다. 1. 위치 이동 See the Pen Untitled by Sangyoung Park (@Sangyoung-Park) on CodePen. 2. 그룹 이동 See the Pen sortableExcample2 by Sangyoung Park (@Sangyoung-Park) on CodePen.. 프로그래밍/Javascript 2024. 2. 2. DNS란?(DNS 구성) DNS 구성에 대해 설명을 할 것인데, 공식문서가 아닌 내가 알고 있는 지식(+ 들은 얘기, 블로그 참조)을 적은 내용으로 틀린 정보가 있을 수도 있다. (피드백 주시면 감사감사...) 1. DNS란? DNS(Domain Name System)란 외우기 쉬운 text형태의 Host Domain Name을 외우기 힘든 숫자형태의 IP주소를 text로 변환해 주는 시스템이다. 좀 더 자세히 설명하자면 네이버를 접속하기 위해 주소창에 "223.130.195.200"을 입력해야한다. (글 쓴 기준 IP) 이 숫자는 의미가 없기 때문에 외우기가 힘드며 다음, 유튜브, 티스토리 등 외워야 할 사이트가 많으면 헷갈리기 일쑤이다. 외우기 쉽게 알파벳, "www.naver.com"이라는 텍스트로 입력하면 "223.130.. 0. 이론 2024. 1. 27. [Flutter] Module was compiled with an incompatible version of Kotlin에러 해결 아래와 같은 에러가 발생 Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.9.0, expected version is 1.7.1. "아마 너의 버전이 1.7.1인데 metadata version이 1.9.0이니까 업그레이드해야 할 거 같아"라고 말하고 있다. 라이브러리를 설치할 때 의존성 버전이 맞지 않아 나타나는 문제인데 라이브러리 버전을 낮추거나 Kotlin version을 높여야함. Kotlin version을 업그레이드해 본다. Flutter 경로에서 "android\build.gradle" 파일을 열어준 뒤 에러창 말대로 "ext.kotlin_version"을 1.9.. 프로그래밍/Flutter 2023. 12. 24. [Git] Remote 명령어 모음 git저장소에 프로젝트 이름에 오타가 났다. 프로젝트 이름에 캘린더(Calendar)인데 Calandar라고 써버렸다. 프로젝트 이름을 변경하면서 기존 git의 remote도 다 변경하는 김에 git remote 명령어를 작성 1. 등록된 저장소 이름 출력 git remote 2. 저장소 이름 & URL 출력 git remote -v 3. 저장소 추가 git remote add [저장소 이름] [URL] 4. 저장소 이름과 branch 정보 출력 git remote show [저장소 이름] 5. 저장소 이름 변경 git remote rename [기존 저장소 이름] [변경할 저장소 이름] 6. 저장소 URL 변경 git remote set-url [저장소 이름] [변경할 URL] 7. 원격저장소 업데이트.. 프로그래밍/Git 2023. 12. 23. [Flutter] 첫 앱 시작하기 먼저 나의 환경은 Windows10 ,VSCode이다. 환경 구성은 아래 포스팅에서 확인한다. 2023.12.21 - [프로그래밍/Flutter] - [Flutter] VSCode에서 Flutter 환경 구축하기 [Flutter] VSCode에서 Flutter 환경 구축하기 먼저 나의 환경은 Windows10이며 Flutter개발을 VSCode에서 진행하도록 환경을 세팅해본다. 크게 목차는 1. Flutter SDK 설치 2. VSCode 설치(+Flutter extension ) 3. Android Studio(Android SDK와 Emulate 등을 설치하기 위 park-duck.tistory.com 1. 프로젝트 생성 먼저 Flutter 프로젝트를 진행할 경로로 이동하여 프로젝트를 생성한 뒤 VS.. 프로그래밍/Flutter 2023. 12. 22. [Flutter] VSCode에서 Flutter 환경 구축하기 먼저 나의 환경은 Windows10이며 Flutter개발을 VSCode에서 진행하도록 환경을 세팅해본다. 크게 목차는 1. Flutter SDK 설치 2. VSCode 설치(+Flutter extension ) 3. Android Studio(Android SDK와 Emulate 등을 설치하기 위함) 4. Flutter Doctor 실행 Flutter를 실행하는데 Android Studio, Visual Studio를 설치해야하는 것에 불편함을 느끼지 않을 수 없지만, SDK나 다른 Tool 등을 따로 설치 불가능하니 어쩔 순 없다. 1. Flutter SDK 설치 - 아래 사이트에서 본인의 OS를 선택한 뒤 SDK를 설치한다. https://docs.flutter.dev/get-started/insta.. 프로그래밍/Flutter 2023. 12. 21. [ESP-32] ESP32 VSCode에서 Hello World 출력 ESP8266과 ESP32는 Toolchain이 다르기 때문에 혼동하지않도록 주의한다. 환경은 Ubuntu20.04, ESP32-Cam을 사용하며 아두이노가 아닌 VSCode로 SDK를 직접 구성하고 CMake를 통해 빌드, flash한다. 1. 필수 구성요소 설치 python3, cmake, ninja, git 등을 설치 sudo apt-get install git wget flex bison gperf python3 python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0 2. ESP-IDF Library 가져오기 ESP8266에도 ESP-IDF Library가 존재하는데, 폴더명이 똑같으니.. 프로그래밍/ESP-32 2023. 12. 14. [STM32 RC카 제작] 0. 자동차 프레임 찾기 예전부터 RC카를 제작하려 했다. RC카에 OpenCV를 이용하여 서라운드뷰를 구현하는 것이 목표인데, SW전공자인 나로서는 뭘 사야 무리 없이 돌아갈까? 미니카 같은 작은 자동차를 사면 mcu를 넣을 수 있을까? RC카를 사더라도 분해가 안되면 어떡하지? 모터는 뭐사야하지? 모터드라이브? 그냥 핀에 꼽으면 돌아가는 거 아냐? 잘못 사면 돈 아깝다는 생각으로 생각만 하다가 그냥 질렀다. 큰 자동차 중에 제일 싼 거로... 0. 필요 물품 구매 제일 먼저산건 RC카 배송을 받아보니... 무선조종기에 건전지가 없잖아? 분해를 해야 하는데 드라이버가 없잖아? 보드 교체해야 하는데 납땜기가 없잖아? 참고로 납땜기 21종세트는 글 쓰는 현재 날짜 10/15(일)에도 오지 않고 있다... 해외직구라 그런 듯하다. .. 1. 개인 프로젝트/1. RC Car 2023. 10. 15. [Git] repo 사용하기(feat. git 여러개 설정하기) 먼저 repo란 Google에서 제공하는 git 유틸리티이며 여러개의 저장소를 한번에 clone 또는 checkout 할 수 있다. 원래는 Android Project에서 시작하였으나, Android 뿐만 아니라 여러개의 저장소를 관리해야할 때는 목적 상관없이 repo를 사용하기도 한다. repo가 python으로 만들어진 git 유틸리티 이므로 git과 python이 설치되어 있어야 한다. 1. 설치 - Windows 브라우저에 https://storage.googleapis.com/git-repo-downloads/repo 를 접속하여 repo를 다운로드한다. C:\Users\[User name]에 bin 폴더를 생성하고 다운로드한 repo를 옮긴다. (명령 프롬프트로 사용하려면 repo.exe로 파.. 프로그래밍/Git 2023. 10. 12. [STM32] Timer 설정하기(feat. 이론) 시작하기 전에 전자전공도 아니고 관련 지식이 없는 상태에서 공부를 하기 위해 구글링하며 이글 저글 짜집기하다 도출된 주관적인 결론으로 틀릴 확률이 높으니 참고만 하시길... +) 피드백 주시면 정말 정말 감사합니다. 먼저 나의 환경은 Ubuntu 20.04, NUCLEO-F411RE 1. 이론 Timer는 어떻게 작동하느냐? Clock, Prescaler, Count Period의 개념을 먼저 알아야한다. Clock(클럭) 만약에 1초에 84MHz의 클럭이 발생한다면 1초에 84,000,000의 신호(High/Low)가 발생한다는 뜻인데 그렇다면 84,000,000번째의 신호를 받았다면 그건 1초가 지났다는 뜻이다. 그런데 84,000,000의 신호를 모두 인터럽트 등으로 처리를 한다면 그건 불필요한 정.. 프로그래밍/STM32 2023. 10. 7. 이전 1 2 3 4 5 ··· 31 다음 반응형