만쥬의 개발일기
article thumbnail
[스마트팜/Troubleshooting] - Mysql ERROR 1129 (HY000): Host IP ... error 해결하기

잘 동작하던 스마트팜 서버에서 갑자기 DB를 불러오지 못하는 현상이 발생했다. 에러를 잡으려고 콘솔에 찍어보려 했는데, 콘솔에 메시지도 전혀 찍히지 않는 것이었다.. 원인을 찾아보니 , forever로 실행한 애플리케이션은 콘솔에 메시지가 찍히지 않는다는 것이다. 생각해보면 당연한것임을,, 그래서 node명령어로 서버 실행 후 콘솔을 확인해보니 Error connecting to database: Error: Packets out of order. Got: 1 Expected: 0 이런 에러메시지가 찍혔고, 데이터베이스와의 연결에 문제가 생긴것을 확인했다. mysql -h DB_IP -u DB_ID -p 위 명령어로 데이터 베이스에 접속을 시도하자 ERROR 1129 (HY000): Host '접속IP'..

article thumbnail
[Linux/Shell] 폴더 여러개 한 번에 만들고, 삭제하기
🛠️TOOL/📄Linux 2023. 7. 4. 15:13

PS 문제 풀이를 친구와 함께 깃으로 공유를 하다보면, 각자의 코드를 작성해서 push하기 때문에 폴더를 여러개 만들어 공유하는 상황이 생긴다. 우리는 이런식으로 날짜별로 폴더를 만들어서 사용하기에 1~31일의 폴더를 노가다로 만들어야 했다. 하지만 리눅스의 쉘에서도 for문을 사용 가능하다는 사실. 예시를 위해 8월자 폴더를 만들어보자. 먼저 8월자 폴더를 생성하고, 해당 폴더로 이동한다. 그리고 터미널에 다음과 같은 명령어를 입력해주면, for i in {1..31}; do mkdir $i; done 폴더가 잘 생긴 모습이다. 하지만 이대로 커밋하고 푸시할경우, git은 기본적으로 빈 폴더를 추적하지 않기 때문에 변경 내역에 추가되지 않는다. 따라서 폴더마다 내부에 '.gitkeep' 파일을 생성해주..

article thumbnail
[VSCODE] C/C++ Code Formatter 설정하기
🛠️TOOL/🆚VSCODE 2023. 7. 4. 14:47

extension의 prettier를 사용해도 되지만, 직접 C/C++의 코드 포매터를 설정해보자. 개인적으로 Google이 내 코드 스타일과 가장 적합하여, 해당 포맷을 사용하기로 했다. 1.먼저 vscode를 키고, 좌측 하단 톱니바퀴를 누른다. 2. 리눅스의 경우, ctrl+shift+p 단축키로 Command Palette를 연뒤, open user settings를 검색하고 open user settings(JSON) 파일을 연다. 3.해당파일의 하단에 "C_Cpp.clang_format_fallbackStyle": "Google" 해당 코드를 추가해준다. 여기서 Google 부분에는 원하는 formatter를 써주면 된다. LLVM: LLVM coding standards Google: Goo..

article thumbnail
[CA] Datapath of instructions (R-type, Load/Store,Branch)
🖥️CS/📗컴퓨터구조 2023. 6. 16. 20:25

지난 포스팅을 보지 않았다면 먼저 읽고 오자. [CA] - MIPS의 Datapath 이해하기 오늘 배워볼 것은 MIPS의 Datapath이다. CPU의 핵심 구성 요소인 Datapath는 Computer Architecture의 꽃이고, 이후 CA내용을 이해하는데 있어 굉장히 중요한 요소라고 생각해서 포스팅을 작성하게 되었다. ❓D kangmanjoo.tistory.com 📚MIPS의 instruction들 MIPS의 명령어들은 다음 세가지 + jump 중 하나의 구조를 가지고 있다. 각 명령어의 필드와 일부 예시를 먼저 설명해보겠다. R-type 필드 opcode : 명령어의 종류를 나타내는 필드 rs,rt,rd : 각각 source, source, destination 레지스터를 가리키는 필드 sh..

article thumbnail
[CA] - MIPS의 Datapath 이해하기
🖥️CS/📗컴퓨터구조 2023. 6. 16. 17:27

오늘 배워볼 것은 MIPS의 Datapath이다. CPU의 핵심 구성 요소인 Datapath는 Computer Architecture의 꽃이고, 이후 CA내용을 이해하는데 있어 굉장히 중요한 요소라고 생각해서 포스팅을 작성하게 되었다. ❓Datapath란 Datapath는 컴퓨터 아키텍쳐에서 데이터를 처리하는 논리 회로와 구성 요소들의 집합을 말한다. 데이터 경로라고도 할 수 있고, 무엇보다 CPU의 핵심 구성 요소이기에 중요하다. 앞으로의 최적화 기술들과 주소 연산을 이해하는 데 있어 아주 중요하기에 자세하게 짚고 넘어가는 것이 좋다. 이 포스팅에서는 컴퓨터 아키텍쳐들 중에서도 RISC 기반인 MIPS 아키텍쳐의 Datapth에 대해 알아볼 것이다. 👀Datapath의 구성 요소 (MIPS) Datap..

article thumbnail
[스마트팜] - NAS 설치

저번 포스팅에서 말했듯, 우리는 NAS에 공인 IP를 직접 입력하기로 결정하였다. 지난 포스팅 >> 2023.06.09 - [Project/스마트팜-web] - [스마트팜] - 공인IP와 사설 IP, 포트 포워딩 [스마트팜] NAS 설치, 포트 포워딩 kangmanjoo.tistory.com 👀학교 서버실을 가다 계획서에서는 NAS를 학교 서버실에 설치하기로 했었기에, 신공학관 10층에 위치한 서버실을 방문했다. 학교 서버실을 들어와본 건 처음이라 신기했는데, 흔히 아는 서버실의 풍경다웠고 발열을 잡고자 에어컨을 24시간 틀어놔서 굉장히 춥고 팬이 돌아가는 소리가 어마어마했다. (말소리도 잘 안들릴 정도) ❓NAS에 공인 IP 설정하는 법 이제 서버실에 NAS를 설치하려면, 공인 IP를 할당해야 한다. ..

article thumbnail
[스마트팜] - 공인IP와 사설 IP, 포트 포워딩

킥오프 미팅이후, 메일로 다음 미팅 약속을잡은 뒤 우리는 강서구에 위치한 업체에 가서 나스를 업어왔다. 사실 나스 설치까지는 업체측에서 해주기로 했었는데, 좋은 경험이 될 것 같아 우리가 직접 하겠다고 나섰다. (이후 굉장히 후회했다) 나스를 직접 본 건 처음이었는데, 안에 2TB 하드 디스크가 꽂혀있었음에도 생각보다 더 작고 가벼웠다. 이게 40만원이 넘는다니,, 정말 탐난다. 나스의 초기 세팅은 이미 되어있는 것으로 전달받았으나, 계정 비밀번호가 유실되어 초기 세팅부터 직접 진행했다. 우선 NAS 뒤에 있는 reset 버튼을 눌러 초기화 후, OS 설치부터 진행하였다. NAS의 OS는 리눅스 기반 OS인 DSM이다. 이후 계정 생성등 초기 설정을 마친 뒤 (https://chelly.kr/synolo..

article thumbnail
[스마트팜] - 좌충우돌 첫 외주

아는 교수님의 소개로, 한 회사와 산학 협력 관계로 프로젝트를 진행할 기회가 생겼다. 약 2.5개월짜리 짧고 간단한 사이드 프로젝트이지만, 회사에서는 프로젝트를 어떤 프로세스로 진행하는지, 어떤 일들을 하는지 경험해볼 수 있는 좋은 기회라고 생각하여 동기 한 명과 함께 바로 참여하게 되었다. [Project Overview] 우선 이번 프로젝트의 목적은, 건대 충주 목장에 설치된 중계장치에서 기존 해당 업체 서버로 전송하던 데이터들을, 건국대학교 내에 따로 서버를 구축하여 데이터를 받아오고, 건대 충주 목장 전용 웹을 서비스하는 것이다. 우리가 해야할 일은 크게 건국대학교 서버실 내부에 NAS 설치하기 웹페이지 개발하기 (화면 정의서 有) 서버 만들기 서버로 전송된 데이터 웹페이지에서 서비스하기 이렇게 ..