반응형 전체 글373 [C,C++,C#] 전처리 ##연산자 C계열에 ##연산자가 있다. ##의 의미는 "이어준다"라는 의미이다. 전처리이기 때문에 치환을 하고 컴파일을 하기 때문에 가능하다. 아래는 예제코드와 결과이다. 배열을 써서 for문을 사용하여 초기화하여도 되나, 배열을 사용하면 안 될 때가 있을 시(있는진 모르겠지만) 이런 방식도 있다. #define MAKE_VAR(n) int var_##n = 100+n; #define VAR_PRINT(n) printf("%d\n",var_##n); #include int main() { for(int i=0;i 프로그래밍/C,C++,C# 2023. 6. 4. [Git] 3. branch(1) 브랜치 목록 git branch (feature/master와 같이 애매모호한 이름으로 정하지 말자) 브랜치 세부 목록 git branch -v 브랜치 생성 git branch [브랜치 이름] 브랜치 이동 git checkout [branch 이름] 브랜치 생성&이동 git checkout -b [branch 이름] 브랜치 해시값(SHA1) 출력 git rev-parse [brnach 이름] 이전 브랜치 되돌리기 git checkout - 브랜치 특정 commit으로 이동 git checkout [commit hash] 브랜치 직전(상대 위치) commit 이동 git checkout HEAD~1 # 2개 이전은 HEAD~2 식으로 숫자만 바꾸면 됨 프로그래밍/Git 2023. 5. 31. [Jenkins] Git 변경 적용되지 않는 오류 해결 Jenkins를 사용하다 git checkout -b 인데, git branch -b로 오타가 나서 Git을 다시 push한 후 Jenkins를 돌렸으나 여전히 오류가 나는 상황. + git branch -b feature/feature error: unknown switch `b' Git을 확인해도, Jenkins의 git checkout을 확인해도 아무런 문제가 없었는데, Jenkins workspace를 확인해보니 수정전으로 남겨져있었다. Jenkins에서 Cache와 같은 개념이 있다고 한다. 그래서 수정이안된건데, Workspace를 삭제하는 방법이 있다. (rm -rf 명령어로 수행하기엔, 실수로 인해 애꿎은 파일만 날릴 수도있다.) 빌드환경에서 "Delete workspace before b.. 프로그래밍/Jenkins 2023. 5. 29. [Git] 계정 자동 로그인(feat. VSCode) vscode에서 push, pull, remote 등 명령어를 입력하면 Git 계정과 비밀번호를 묻는데, 계속 물어서 귀찮을 때가 많다. 아래 명령어는 로그인 정보를 요구할 때 한 번 입력하게 되면 그 정보를 저장하고 이후로는 로그인 정보를 묻지 않고 자동으로 인증한다. (해당 repository만 적용하고자하면 global옵션을 제외하자) git config --global credential.helper store # 또는 로그인 정보를 시간단위로 저장 # git config --global credential.helper 'cache --timeout 600' 아래 명렁어로 설정이 되어있는지 확인할 수 있다. git config --list 프로그래밍/Git 2023. 5. 29. [Git] 2. Commit (feat. log, diff) git commit --help git commit --help git stage area -> commit (commit시 -m은 --message의 약자 필수 옵션) git add . git commit -m "[메시지(로그)]" git add & git commit 동시에 git commit -am "[메시지(로그)]" 메시지가 없는 commit git commit --allow-empty-message -am "[메시지(로그)]" 수정 이력 없이 commit (push를 하고 싶으면 강제 푸시를 해야 하니 git pull 또는 이력을 보고 또 보고 push 할 것) git commit --ammand --no-edit git push -f git commit 기록 출력(시간 내림차순) git lo.. 프로그래밍/Git 2023. 5. 27. [Linux]Ubuntu WIFI or 랜카드 인식에러(feat. Kernel update) 어떤 상황에 이 글을 봐야 하냐면, 1. 노트북을 구매하여 Ubuntu를 설치하였는데 WIFI가 인식 안된다 2. 노트북을 구매했는데 LAN포트가 없다. 3. 결론적으로 인터넷을 사용하지 못하고 있다. 4. WIFI 뿐만 아니라 HDMI, 터치패드, 블루투스 등이 인식이 안될 경우 +) OS 설치 시에 네트워크 연결을 묻지 않는다. -> 애초에 랜카드를 인식하지 못해서 안 묻는 거다. 문제야 여러 가지일 수 있지만, 보통 위 상황이면 Network Driver랑 Kernel의 버전이 안 맞는 것이다. 즉 최신 노트북을 샀는데 Ubuntu 20.04, Ubuntu 18.04 버전을 설치했을 경우이다. 터미널에서 아래의 명령어를 입력해 보자. (상황에 따라 sudo 추가) ls /lib/firmware 만약.. 프로그래밍/Linux 2023. 5. 25. [Jenkins] SCM shell script 실행하기 shell script를 실행하려고 하는데 아래와 같이 파일을 찾을 수없는 Can't open sh file 오류가 발생. 그러나 분명 파일은 존재한다. /var/lib/jenkins/workspace/learn-git@tmp/durable-176732c7/script.sh: 1: .: Can't open ./source . 1_git_tracked.sh sh 1_git_tracked source 1_git_tracked source 1_git_tracked.sh 모두 안먹히고 오류가 발생했다. 방법은 동일 경로에 있다 가정하고 sh ". ./shell_script_file.sh" 를 입력한다. stages { stage('1_tracked') { steps { sh ". ./1_git_tracked.s.. 프로그래밍/Jenkins 2023. 5. 24. [Git] 1. Git stage (feat. tracked 상태란) tracked(추적 파일)란 Git의 추적 개념이다. 즉 untracked 상태라면 Git이 관리해주지 않는 상태, tracked는 Git이 관리하는 상태이다. 왜 이런 상태를 만들었냐 하면, 만약 Git이 자동으로 파일들을 관리한다 할 때, 무수히 많은 파일들을 관리하기엔 버거울 수 있고 프로젝트와 관련 없는 데이터까지 관리하기엔 비효율적이다. 그래서 사용자가 효율적으로 관리하기 위해 tracked(추적 파일)와 untracked(추적하지 않는 파일)로 나뉠 수 있다. Git이 관리하는 저장 공간을 Stage라 하는데, 임시 저장공간이라 할 수 있다. 즉, tracked 상태란 Stage에 등록된 파일이라 할 수 있다. 이후에 git push 등으로 Git의 형상관리를 위해서는 최종상태가 stage상태.. 프로그래밍/Git 2023. 5. 24. [Jenkins] ERROR: script returned exit code 해결 젠킨스에서 "script returned exit code 20"에러가 발생했다. 해결방법은 너무나도 간단했다. 먼저, Jenkins의 파이프라인과 소스코드, Jenkins 로그이다. - Jenkins pipeline pipeline { agent any stages { stage('Git-checkout') { steps{ git branch: 'main', credentialsId: 'park', url: 'http://gitlab.park-duck.world/developer_c/proj-test-c.git' } } stage('Build') { steps{ sh 'gcc main.c' sh './a.out > index.html' } } } } - main.c #include typedef uni.. 프로그래밍/Jenkins 2023. 5. 8. [Jenkins] ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job. 해결하기 ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job 에러가 출력되었다. - Jenkins log Started by user park Running as SYSTEM Building in workspace /var/lib/jenkins/workspace/build-gcc The recommended git tool is: NONE using credential park Cloning the remote Git repository Cloning repository http://gitlab.park-duck.world/developer_c/proj-test-c.git > gi.. 프로그래밍/Jenkins 2023. 5. 8. [Jenkins] Git&Maven 설치, 설정하기 1. Github plugin&Maven 설치 이전 Jenkins 설치 과정에서 추천하는 plugin을 설치하였기 때문에 Github plugin도 설치되어있을 가능성이 크다. 그래도 확인은 해보자. [Dashboard] - [Jenkins 관리] - [플러그인 관리] - [Installed plugins] - [Github plugin] 확인 만약 없다면 [Dashboard] - [Jenkins 관리] - [플러그인 관리] - [Available plugins]에서 설치한다. 같은 방법으로 Maven도 설치한다. 2. Git&Maven 설정 [Dashboard] - [Jenkins 관리] - [Global Tool Configuration]에서 [Git installations]를 아래와 같이 입력. .. 프로그래밍/Jenkins 2023. 4. 16. [Jenkins] shell scripts 빌드 생성 젠킨스에서 빌드, 컴파일, 배포를 하는 단위를 Item이라고 정의한다. 1. Item 생성 먼저 Item의 이름을 지정해 준 뒤 Freestyle project를 클릭한다. 소스코드 관리, 빌드 환경 등은 나중에 해보기로 하고 [Build Steps]에서 [Execute shell]을 선택. Excute shell에서 shell 명령어로 "Hello Jenkins"을 입력하고 저장. (C의 printf와 같음) 2. Build 대쉬보드로 들어가 생성했던 Item 선택 [지금 빌드] 를 선택하면 해당 shell scripts가 실행되고, [Build History]에 남게 된다 3. 결과 확인 Build를 하게 되면 [Build History]에 빌드 번호(#1)가 나타나고 시간이 나타나는데, 시간은 Do.. 프로그래밍/Jenkins 2023. 4. 16. 이전 1 2 3 4 5 6 7 8 ··· 32 다음 반응형