[Git] 효율적인 업무를 위한 Workflow (Centralized Workflow, Feature-Branch Workflow, GitFlow, Forking Workflow)
·
공부/Git
git에 있는 repository를 여러 사용자가 공유하며 자신의 작업물을 올리고 최종 repository에 이를 병합하는 과정은 수도없이 많이 일어난다. 이러한 작업을 하는 방법에는 꽤나 여러가지가 있는데 4가지를 소개해보겠다. 1️⃣ Centralized Workflow 한국어로 번역하면 중앙 집중 작업 흐름 정도가 되겠다. 하나의 repository가 존재하고 모든 작업은 거기서 실행된다. 별도의 branch를 생성하지 않는다. 소규모 작업에 적합한 방식이다. 2️⃣ Feature-Branch Workflow 개발자는 절대! main branch에서 작업하지 않는다. 각자의 branch를 생성하고 각자 작업한다. 오류가 나거나 잘못된 파일이 main branch에 올라가는 일은 없다. master는..
[Git] local repository와 remote repository 그리고 명령어들(fetch, pull, push, fork, pull request)
·
공부/Git
Git은 버전 관리 시스템이다. 컴퓨터에 있는 파일을 인터넷에 올리고 여러 사람과 공유하며 그 파일을 수정하고 큰 프로젝트와 연동시키고 프로젝트에 있는 이슈에 대해 토론하는 등 훌륭하고 아름다운!!! 시스템이다. 평상시 우리는 컴퓨터를 이용해 이런 저런 코드를 짠다. 이때 ✅ 우리의 컴퓨터가 local repository가 된다. ✅ remote repository는 아주 먼 곳에 있는 저장소다. 우리가 local repository에서 짠 코드를 remote repository에 올리는 순간 저 멀리 카이로 피라미드 앞에서도 내 코드를 볼 수 있게 된다. 이렇게 다른 사람들에게 내 파일을 공유하기 위해 우리는 git remote add 명령어를 사용한다. 만약 내가 나 혼자만의 project를 저장하기..
[Git] git clone과 git remote add의 차이점
·
공부/Git
1️⃣ git clone git clone https://github.com/example/repository.git git clone은 원격 저장소에 있는 전체 내용을 로컬(컴퓨터)로 복제한다. 컴퓨터에 물리적인 다운로드가 되기 때문에 저장공간이 필요하다. 위 예시로 보면, example/repository.git의 모든 내용을 복제하여 C:\Users\Intellij\repository라는 폴더가 생기는 것이다. url에 있는 레포지토리가 말 그대로 복제된다. 다른 사람이 만든 코드를 가져와 사용할 수 있다. 2️⃣ git remote add git remote add upstream https://github.com/upstream/repository.git git remote add는 새로운 원격..
[Cloud] Cloud services : SaaS, PaaS, IaaS
·
공부/기타
Cloud services를 이해하기 위해 cloud computing이 무엇인가 이해해보자. ✅ Cloud computing 클라우드 컴퓨팅은 사용자가 클라우드 내에서 워크로드를 통해 리소스를 실행하는 행위다. 사용자는 리소스를 직접 관리하지 않는다. 클라우드의 위치, 소유 권한 등에 따라 public clouds, private clouds, hybrid clouds, multiclouds 가 존재한다. 클라우드 컴퓨팅이 없다면 서울에 있는 서버를 뉴욕에서 실행하기 위해 뉴욕에도 물리적인 서버실을 만들고 데이터를 옮기고 인프라를 구축하는 등의 수고를 거쳐야 한다.하지만 서버를 클라우드에 업로드했다면? 뉴욕, 카이로, 모스크바에서도 물리적인 수고 없이 서버를 그대로 사용할 수 있다. Cloud serv..
아스키 코드표
·
카테고리 없음
컴퓨터가 이해할 수 있도록 숫자를 이용해 문자를 표현하는 방식.
[라즈베리파이] mqtt 에러 Address already in use
·
공부/기타
mosquitto를 실행하려는데 Address already in use 라는 에러가 난다면? ps -ef | grep mosquitto 명령어 입력 후 실행중인 mosquitto의 번호를 알아내고 kill -9 1234 를 통해 실행 중인 프로그램을 종료시킨다. 이때 1234는 ps를 통해 나온 mosquitto의 번호.
[자료구조] AVL트리란?
·
공부/기타
이진탐색트리의 이상적인 모습은 아래와 같다. 이를 균형이진트리라고 한다. 부모 노드의 왼쪽 자식은 부모보다 값이 작고 오른쪽 자식은 부모보다 값이 크다. 이 규칙은 깨지지 않는다. 그러나, 아래와 같은 불균형이진트리도 이진탐색트리의 일종이다. 한쪽으로 치우쳐진 모양의 이진트리를 경사이진트리라고 한다. 경사이진트리는 삽입, 삭제, 탐색 등 모든 경우에서 최악의 시간 복잡도를 갖기 때문에 불균형이진트리를 균형이진트리로 만들어주는 방법이 고안됐는데 그중 하나가 ✅AVL트리이다. AVL트리에서 모든 노드의 양쪽 서브트리의 높이 차는 -1, 0, 1 중 하나다. 이때 BF가 노드 양쪽 서브트리의 높이차를 말한다. 이때 그래프가 위와 같은 모양이 되면 노드 20과 30의 입장에서 BF 값이 2가 된다. 즉, AVL..
[Git] 로그인 정보 확인하기 git config --list
·
공부/Git
git config --list 해당 명령어를 콘솔에 치면 깃 로그인 정보를 확인할 수 있다. 유저 정보, 이메일 등을 확인할 수 있다. git config --global user.name "이름" git config --global user.email "이메일@주소.com" 유저를 변경하고 싶다면 위 명령어를 통해 변경한다.
[라즈베리파이] opencv 설치하기, RealVNC 사용하기(Pi Imager v1.8.1, 2023-10 이후) | Could not find a version that satisfies the requiremnet opecv-python, No matching distribution found for opencv-python
·
공부/기타
pip install opencv-python pip3 install opencv-python pip install opencv-contrib-python pip install opencv-python==4.5.3.56 python3 -m pip install opencv-python python -m pip install opencv-python sudo apt install python3-pip python -m pip install opencv-python python3.9 -m pip install opencv-python 기본적으로 pip install –U numpy 명령어를 실행한 뒤 위 명령어 중 하나라도 정상적으로 입력되어 설치되는 것이 정상적이나... 라즈베리파이 5에 맞춰 라즈베리파이..
[라즈베리파이] Flask 웹서버 실행시 연결할 수 없습니다.
·
공부/기타
라즈베리파이에서 파이썬 플라스크 프로그램을 실행시키고 ip 주소를 통해 웹에 접속하고 싶은데 이런 달갑지 않은 화면이 뜬다면? sudo ufw allow 8080 과 같은 명령어를 통해 포트를 열어주었는지 반드시 확인할 것.
[라즈베리파이] 원격 접속 xrdp
·
공부/기타
라즈베리파이 원격 접속을 위해 기존에는 RealVNC Viewer를 사용했지만 원인 모를 사유로... 갑자기 작동하지 않았다. 몇 시간 넘게 구글링 해봤지만 답은 나오지 않았고 결국 포기했다(해결법 찾았다! https://codingjin0424.tistory.com/194) 윈도우가 제공하는 원격 데스크톱을 사용하기로 했다. 아래 명령어를 순서대로 입력한다. (나의 경우 putty 라즈베리파이 창) sudo apt-get install xrdp 포트를 열어줘야 사용 가능하다. sudo ufw allow 3389 윈도우 원격 데스크톱 연결을 열고 라즈베리파이 ip주소를 입력한다. 예를 누른다. 라즈베리파이 아이디 비밀번호를 입력한다. 접근 성공!
[Coding] 인터프리터 언어(interpreter language)와 컴파일 언어(compiled language)
·
언어
✅ 인터프리터 언어(interpreter language) 소스코드를 바로 실행하는 프로그래밍 언어를 말한다. 1️⃣ 소스코드를 직접 실행한다. 2️⃣ 소스코드를 중간 코드로 변환 후 실행한다. 3️⃣ 미리 컴파일된 코드를 실행하는 명령을 호출한다. 위 3가지 중 하나에 해당하면 인터프리터 언어다. 속도가 느리다. 코드에 문제가 있어도 문제와 마주하기 전까지는 실행이 가능하다. Python, Ruby, JavaScript 등이 있다. ✅ 컴파일 언어(compiled language) 코드를 기계어로 번역 후 실행하는 프로그래밍 언어를 말한다. 속도가 상대적으로 빠르다. 코드에 문제가 있을 경우 실행하는 것이 불가하다. 대표적으로 C, C++, C#, GO 등이 있다.
[이클립스] Eclipse 빨간줄, 노란줄, 초록줄 형광펜 없애기
·
언어/java
이클립스에서 이것저것 누르다가 코드가 형광펜으로 범벅 됐다면, 하단 Coverage -> Remove Active Session을 누르면 사라진다.
[알고리즘] 허프만 코드란?
·
공부
✅Huffman code 데이터를 압축하는 알고리즘이다. 데이터의 각 글자 빈도수를 알고 있을 경우 데이터를 압축하는 데 효과적이다. 예를 들어 e : 15번 | t : 12번 | n : 8번 | i : 6번 | s : 4번 의 빈도로 나타난 데이터가 있다고 해보자. 이 데이터를 압축하고자 하는 것이 우리의 목적이며 이를 위해 허프만 트리를 사용할 것이다. 1️⃣ 빈도수가 작은 것부터 차례대로 정렬한다. s : 4번 | i : 6번 | n : 8번 | t : 12번 | e : 15번 2️⃣ 빈도가 가장 작은 것부터 모아 트리로 엮는다. 부모노드는 각 노드의 빈도수를 합친 수다. 3️⃣ 부모노드의 값보다 작은 것이 있을 경우 그 부모노드와 작은 값의 노드를 연결, 다시 두 값을 합친 트리를 만든다. 이때 ..
[html] DOM이란 무엇인가
·
언어/html
✅DOM : Document Object Model xml, html 문서의 프로그래밍 인터페이스를 말한다. 문서의 항목을 계층(구조화된)으로 표현, 편집 및 삭제 등을 돕는다. 웹페이지의 객체 지향 표현이며 스크립팅 언어(자바스크립트 등)를 통한 변경이 가능하다. https://developer.mozilla.org/ko/docs/Web/API/Document_Object_Model/Introduction DOM 소개 - Web API | MDN 이 문서는 DOM에 대한 개념을 간략하게 소개하는 문서이다: DOM 이 무엇이며, 그것이 어떻게 HTML, XML 문서들을 위한 구조를 제공하는지, 어떻게 DOM 에 접근하는지, API 가 어떻게 사용되는지에 대한 developer.mozilla.org