AI 공부하는 도비

대학원생이 AI, NLP등을 공부합니다

코딩 11

Git에 코드 올리는 명령어 간단하게 정리

Git에 올리는 기본 Process $ git clone [master link] $ git remote add [nickname] [master link] --------------------------------------------------- $ git checkout -b [branch-name] //브랜치 생성 $ git add . //업로드 $ git commit -m "commit message" $ git push -u [nickname] [branch-name] GitHub 최신 commit으로 Base 업데이트 $ git fetch upstream master //최신 history 가져오기 $ git rebase upstream/master $ git push --force orig..

코딩 2020.07.20

[Git 명령어] rebase, rewind, reset

Rebase //공식 upstream 저장소에서 최신 commit history 가져오기 $ git fetch upstream master //최신 commit history 기준으로 베이스 갱신(rebase) $ git rebase upstream/master //Fork 한 저장소(GitHub)도 수정하기 (PR은 자동으로 갱신) $ git push --force origin [branch-name] Rewind //수정내역 과거시점으로 되감기 $ git rebase -i --root 편집기에 나오는 내용중 원하는 시점인 commit의 'pick'을 'edit'으로 수정한다. Continue /수정내역 다시 현재시점으로 풀기 $ git rebase --continue *rebase과정 취소하기 $ g..

코딩 2020.07.18

[Git 명령어] branch, commit, stash

브랜치란? 같은 폴더 속 다른세상 *브랜치 생성 : 작업내용을 대표하는 키워드로 branch명을 생성한다. $ git checkout -b [branch-name] *master로 다시 이동 $ git checkout master *브랜치 삭제 $ git checkout master //master 브랜치로 변경 $ git branch -d [branch-name] 현재활동확인하기 *현재 소스파일 상태(status) 확인 $ git status *소스파일 수정한 내용 확인하기 $ git diff 만약 변경된 내용이 없거나 add를 한 뒤라면 아무것도 나오지 않는다 add란? 수정내역(commit)을 만들기 전 준비작업 *add하기 $ git add [파일명] 또는 $ git add . *add명령 취소하..

코딩 2020.07.18

[Git 명령어] Git 설정하기

*GitHub ID/PW 캐시데이터 삭제(삭제시 문제없음) : 다른 GitHub 계정과의 충돌방지 $ git config --global --unset credential.helper $ git config --system --unset credential.helper *차후 commit의 저자(author)정보 $ git config --global user.email "GitHub계정email" $ git config --global user.name "본인영문이름" *commit message를 수정할 기본 편집기 설정 : vim, nano, notepad 등 원하는 편집기로 설정가능 $ git config --global core.editor nano *nano 편집기 사용시 설치 필요 $sudo..

코딩 2020.07.18

[Git 명령어] 프로젝트 읽기

이 글은 Git에 올라와있는 오픈소스 프로젝트들에 대한 코드를 읽는데 도움이 되는 명령어들이다. 어떤 프로젝트이던지 그 구조를 파악하고 어느 개발자가 코드를 작성하였는지를 알면 전체적인 insight에 도움이 된다. *프로젝트 개발의 전체적인 흐름 공식 오픈소스 프로젝트를 upstream으로 두고, 이를 Fork해와서 origin으로 사용한다. Fork는 프로젝트를 내 git저장소로 복사해오는 개념이라고 생각하면 된다. Fork한 저장소를 origin으로 clone해오면 내 로컬저장소에서 프로젝트를 자유롭게 수정할 수 있다. 로컬에서 수정을 마친 뒤 push명령어를 통해 내가 Fork한 저장소, 즉 origin에 업로드할 수 있고, 이를 공식 오픈소스 프로젝트 즉, upstream에 pull-reques..

코딩 2020.07.18

[프로그래머스 lv1] 문자열 가운데 글자 찾기

프로그래머스 레벨1 가운데 글자 가져오기 문제입니다. 문제: 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 제한사항: s는 길이가 1 이상, 100이하인 스트링입니다. 언어: C #include #include #include #include char* solution(const char* s) { char* answer = (char*)malloc(2); int len = strlen(s); if(len%2){ //odd int mid = len/2; answer[0] = s[mid]; } else{ //even int mid = len/2-1; answer[0] = s[mid]; answer[1] = s[mid+1]..

코딩 2020.07.11

[프로그래머스 lv1] sql 최댓값 구하기

프로그래머스 레벨1 최댓값 구하기 문제입니다. 사용되는 ANIMAL_INS 테이블은 다음과 같은 column을 가집니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE VARCHAR(N) FALSE 문제: 가장 최근에 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요. 사용언어: SQL SELECT max(DATETIME) FROM ANIMAL_INS; 테이블에서 column의 최댓값, 최솟값을 가져오기 위해서 max(column), m..

코딩 2020.07.11

[프로그래머스 lv1] 문자열 내 문자의 개수 구하기

프로그래머스 레벨1 문자열 내 p와 y의 개수 문제입니다. 문제: 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 pPoooyY면 true를 return하고 Pyy라면 false를 return합니다. 제한사항: 문자열 s의 길이 : 50 이하의 자연수이고, 문자열 s는 알파벳으로만 이루어져 있습니다. 사용언어: C++ #include #include using namespace std; bool solution(string s)..

코딩 2020.07.11

[프로그래머스 lv1] 버블정렬로 문자열 내림차순

프로그래머스 레벨1 문자열 내림차순으로 배치하기 문제입니다. 문제: 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한사항: str은 길이 1 이상인 문자열 사용언어: C언어 #include #include #include #include char* solution(const char* s) { int length = strlen(s); char* answer = (char*)malloc(length+1); strcpy(answer, s); char tmp = 0; for(int i=0; i

코딩 2020.07.07

[프로그래머스 lv1] 문자열에서 숫자찾기

프로그래머스 레벨1 문자열 다루기 기본 문제입니다. 문제: 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수를 만들어라. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴한다. 제한사항: 매개변수 s는 길이 1 이상, 길이 8 이하인 문자열 사용언어: C언어 #include #include #include #include // 파라미터로 주어지는 문자열은 const로 주어집니다 bool solution(const char* s) { bool answer = true; int length = strlen(s); if(length == 4 | length == 6) { for(int i=0;i 47 && s[i] < 58) {} else { answer ..

코딩 2020.07.07