반응형

개발 28

[git 입문 3]- git commit 메세지 작성하기, 수정하기, git log, git ignore

이번 시간에는 https://ebang.tistory.com/31 grocery)라고 적혀잇는데 이건 다다음시간에 알아본다. ebang 이라는 사람은 2022년 마지막 날까지 열심히 커밋을 했구나 , 라는 걸 알 수 있다. 그런데 이 git log 명령어는 commit 메세지를 모두 보여준다. 지금까지는 한 줄 짜리 짧은 메세지였지만, 너무 긴 메세지라면 한줄만 보면서 여러 histoy를 보는 것이 훨씬 간편할 지도 모른다. 그래서 이런 명령어를 사용한다. [git log 메세지 간단하게 출력하기] git log --oneline git log --pretty=online--abbrev-commit --abbrev-commit 옵션은 hash값이 짧게 보이는 것이고, --pretty=online 옵션은..

개발/.git 2023.01.01

[ git 입문 1 ]- 깃이란? (깃 개념, 터미널, 터미널에서 커밋하기)

1. git - version control system이다. (버전관리 시스템) - 당신이 어떤 글을 쓰고 있는데 에세이_최종.docs 에세이_찐_최종.docs 에세이_진짜_찐_최종.docs 라고 고쳐가며 글을 계속 수정해나간다고 치자. 일반 사람들은 보통 이렇게 글을 고쳐 나가면서 가장 마지막으로 수정한 제출본만을 사용한다. 하지만 수정 전의 파일이 저렇게 많아지다보면 어떤 걸 수정했었는지도 기억이 안나고, 관리하기가 매우 복잡해진다. 이런 것들을 해결할 수 있는 것이 '버전 관리 시스템'이다. 이런 것 중 하나로, 가장 많은 사람들이 사용하는 버전 관리 시스템이 git이다. 그리고 그 사용량은 전세계적으로 매우 압도적이기 때문에, git을 사용한다고 보면 된다. 깃을 이용하면 매 순간 저장할 때마다..

개발/.git 2022.12.31

[깃 입문 2]- 깃의 사용( git init, add, commit )

2. git의 사용 약간의 복습을 해보겠다. git은 컴퓨터, 기계에 저장만 되어있다면 인터넷 없이도 사용할 수 있다. 흔히 하는 착각이 git이 클라우드 처럼 사용할 수 있는 '저장소'역할이기 때문에, 마구잡이로 자기가 쓴 코드나 글을 올려두는 용도로 사용하고는 한다. 하지만 git은 그 목적이 '버전 관리 시스템'이다. 무려 git은 Linus Tovalds(LINUX 창시자)가 오픈소스(모두가 볼 수 있는, 사용할 수 있는) 버전 관리 시스템을 만들어보겠다고 시작한 이 서비스이다. 이런 서비스를 저장소로만 이용된다면 조금 아쉽지 않겠는가? 심지어 git은 인터넷 없이도 사용할 수 있다. 오로지 내 컴퓨터 안에서 git이라는 프로그램을 이용해 내 파일들의 변화를 관리할 수 있는 것이다! 본론으로 가보..

개발/.git 2022.12.31

[알고리즘]최소신장트리 (MST)구현하기 - C로구현하기

*신장 부 그래프: 그래프 G의 모든 정점들을 포함하는 부그래프. * 신장트리: (자유)트리인 신장 부그래프. 최소신장트리 Minimum spanning tree: G의 신장트리 가운데 간선 무게의 합이 최소인 것. -통신망, 교통망 등의 설계에 자주 응용된다. * 최소신장트리의 속성 * 사이클 속성 (없음) * 분할 속성 * 최소신장트리 구하는 알고리즘 *탐욕법 초기구성으로부터 시작하여 부분적인 향상을 계속함으로써 전체 최적해를 찾을 수 있는 문제들 탐욕적 선택 속성을 가진 경우에만 탐욕해가 최적해가 된다. *prim 알고리즘 해석 : 단순연결 무방향 가중 그래프 G에 대한 최소신장트리를 계산한다. 그래프의 임의의 정점 s를 택하여 s로부터 시작하여 정점들을 배낭에 넣어가며 배낭안에서 MST, 즉 최소..

개발/C,C++ 2022.12.17

C - 인접행렬로 그래프 구현하기 (알고리즘)

#include #include #include //인접 행렬로 그래프 표현하기 /* 함수 기능 명세 [public] Makegraph : 문제에서 요구하는 대로 그래프를 완성한다. makeEdge : 두 노드를 받아, 맞게 vertex 를 표현한다. print_graph : 그래프에서 한 노드에 연결된 인접 행렬을 모두 표시한다. modify_weight : 노드 간의 vertex의 weight를 조정하되, 없으면 만들고 0이면 삭제한다. 0일 때: delete_vertex 0이 아닐 떄: 양쪽으로 modify_weight_utils [private] modify_weight_utils : 한쪽으로 node1에서 node2를 지운다 . */ void makeEdge(int (* graph)[7], in..

개발/C,C++ 2022.12.16

해쉬테이블 구현하기(C, C언어)

// // Created by Eun jung Bang on 2022/12/15. // 해쉬에서 충돌이 일어났을 때 해결하는 방법 해쉬 충돌: 두 개 이상의 원소들이 동일한 셀로 매핑되는 경우. 1. 분리 연쇄법 리스트를 이용해서 해당 셀에 이어서 연결한다. 2. 개방 주소 법 a. 선형 조사법: 바로 비어있는 다음 셀에 저장한다. (h(k) +i) . 1차 군집화의 위험 b. 2차 조사법: 제곱만큼 넘어가서 다음 셀에 저장 (h(k) + i^2),. 절반 이상 차면 버켓이 비어있어도 찾기 어려워짐. c. 이중 해싱: 다른 해싱 함수의 값만큼 넘어가서 다음 셀에 저장. (h(k) + i * h'(k)).h'의 개산 결과가 0이 아니어야 하고 m과 h'가 서로소. 개방주소법 알고리즘 Alg findElem..

개발/C,C++ 2022.12.16

이진트리 메소드 구현하기

중복 키가 없는 이진트리 구현하기 1. 메쏘드 i : key 입력 받은 후 트리에 삽입 d : key 입력 받은 후 해당 노드가 있다면 노드 삭제, 삭제한 키 출력. 없으면 X 출력 s : key 입력 받은 후 해당 노드가 있다면 키를 출력, 없으면 X 출력 p : 트리를 전위 순회로 인쇄. q : 종료 2. 메소드 구현 [public] * findElement(k) : key를 받아서 해당 노드를 찾아 원소를 반환(여기서 원소 = 키) * insertItem(k) : key를 받아서 트리에 해당 키를 가진 노드를 삽입. treesearch , setnode , expandExternal(left), expandExternal(right). * treeSearch(w, k) : (노드, 키) 트리에서 원..

개발/C,C++ 2022.12.15

입문 - Dataset클래스 정의하기(__getitem__, __len__())

데이터셋 클래스 정의 파이토치로 신경망 모델을 구축하려면 데이터셋도 일정한 형식에 맞게 정의해줘야 한다. 먼저 데이터셋 생성에 필요한 라이브러리를 임포트한다. import cv2 from torch.utils.data import Dataset 파이토치에서 제공하는 Dataset클래스를 활용해서 데이터셋 객체를 만들 수 있다. Dataset은 추상 클래스이며, 우리는 Dataset을 상속받은 다음 특수 메서드인 __len__() , __getitem__() 을 재정의(오버라이딩)해야 한다. 💡 추상 클래스: 곧바로 객체를 생성할 수 없고 상속만 할 수 있는 클래스. 추상 클래스를 사용하는 이유는 상속받는 클래스들의 메서드를 규격화하기 위해서이다. 상속을 강제해 메서드 시그니처를 일치시키기 위해서이다. i..

개발/AI(python) 2022.11.30
728x90
728x90