본문 바로가기

코딩과 교육/전문코딩

정규식을 이용한 C주석 제거 방법 (/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/)|(//.*) 텍스트에디터에서 치환방법에 정규식을 적용, 위의 내용을 ''로 치환하면 모든 주석이 제거됨 이클립스를 이용한 STM32CubeIDE 사용시 나오는 기본 코드에 붙은 주석 기호가 지나치게 많다. 초반에는 위치를 파악하기 위해서 도움이 되지만 나중에 코드가 완성된 후 혹은 만드는 중에는 주석라인때문에 코드작성이 불편할 정도다. 그래서 모든 주석을 삭제하는 정규식을 찾아보았다. 만들어서 써도 되지만 누군가 만들어 둔 것이 있으리라 생각되어 구글 검색을 했고 원하는 결과를 얻었다. 기본적으로 아래 주석 형태를 모두 삭제한다. /* 주석 내용 *//* 주석 내용 */ /* 주석 * 내용 */ // 한줄주석 참고링크 http.. 더보기
Linux shell 스크립트 실습 예제 1 실습1. 다음 지시사항대로 셸 스크립트를 만들어 보세요. -1. 홈디렉토리 아래에 A0000 부터 A9999 까지 디렉토리 생성 - 스크립트 이름 : mkd_10k.sh - ubuntu 사용자의 경우 - /home/ubuntu/A0000, /home/ubuntu/A0001, /home/ubuntu/A0002, ... for 를 사용하는 방법이 몇가지 있으며 그 중 우분투 18.04 에서 bash 사용시 seq 를 이용하는 것이 가능하다. 아래코드에서 if 조건을 반대로 (-lt 대신 -gt 를 사용) 하면 조금 더 효율적으로 코딩이 가능하다. #!/bin/bash cd $HOME names=$(seq 0 9999) for name in $names do if [ $name -lt 10 ] then fna.. 더보기
리눅스에서 find 로 찾은 파일 복사 리눅스에서 find 로 파일 찾기 find . -name "*.txt" 결과를 복사 find . -name "*.txt" -exec cp {} /home/wd \; txt 파일 중 처음 10개(씩)를 복사 ls *.txt|head -10|tail -10|xargs -i cp "{}" "./test1" Argument list too long 에러 메시지시 mv 방법 - find $directory -type f -name '*' -exec mv {} $directory2/. \; [reference] xargs : https://ko.linux-console.net/?p=229 r2 http://bahndal.egloos.com/577448 더보기
리눅스 tar 이용한 압축, 백업 명령 리눅스에서 압축과 파일보관을 위해 기본적으로 제공되는 tar 가 있다. tar 명령어도 여러가지 옵션이 있고 아래는 자주 사용되는 기본 명령어다. 1. tar 압축[정확하게는 tar 를 이용한 파일을 하나로 묶기] > tar -cvf [파일명.tar] [폴더명] ex) abc라는 폴더를 a.tar로 압축하고자 한다면 > tar -cvf a.tar abc 2. tar (압축) 풀기 > tar -xvf [파일명.tar] ex) a.tar라는 tar파일 압축을 풀고자 한다면 > tar -xvf a.tar 3. tar.gz로 압축하기 - tar로 하나의 파일로 묶은 후 압축을 gz로 실행 > tar -zcvf [파일명.tar.gz] [폴더명] ex) abc라는 폴더를 a.tar.gz로 압축하고자 한다면 > ta.. 더보기
tmux 사용법 터미널 멀티플렉서, 원격 접속(텔넷, ssh 등)이 끊겨도 이후 재접속하여 기존 작업을 이어서 진행해 나갈 수 있음. 기본 명령어는 "Ctrl + b" 설치 우분투 계열 $ sudo apt install tmux CentOS 계열 $ sudo yum install tmux MACOS $ brew install tmux 구성 요소 session : 윈도우로 구성 window : 일반적인 터미널 화면, 세션 내에서 탭 사용 pane : 윈도우 내 화면 분할 가능 # 시작 : tmux # 도움말 : [Ctrl+b] ? Session 명령어 새로운 세션 tmux new -s (session_name) 세션 만들면서 윈도우 생성 tmux new -s (session_name) -n (window_name) 세션 .. 더보기
실습 링크 실습1 실습2 실습3 실습4 CNN 더보기 참고 https://colab.research.google.com/drive/15k_fWJEgIWRjIC8edrGH2-vbfSG_B66H?usp=sharing https://colab.research.google.com/drive/1biJJJbvfyzWw14Ef4lAz763iQ_39toMy?usp=sharing https://colab.research.google.com/drive/1J4trvEnuZbS_MhD1R2GmjSJPHJZdmt_j?usp=sharing 강의 PDF https://drive.google.com/file/d/19Wu2UfjZuy9ZorqdIeI0rKwRn0lhPk_W/view?usp=sharing https://drive.google.. 더보기
소수 구하는 알고리즘 - 자바 코딩 소수구하는 알고리즘 예전에 파이썬으로 했던 소수 알고리즘이다.2개의 수를 넣으면 그 두 수 사이의 모든 소수를 찾아서 화면에 출력한다.실제로 소수를 찾는 시간은 매우 빠르지만 너무 많은 수를 출력하게 되면 화면 출력시간때문에 지연시간이 길어진다. 2로 나누어 떨어지는 수는 소수가 아니므로 통과3으로 나누어 떨어지는 수는 소수가 아니므로 통과그러므로 3 이상의 모든 소수는 6k-1 또는 6k+1 에 해당한다. 모든 수에 대해서 % 연산을 수행하지 않고 6k-1, 6k+1 에 대해서만 수행한다.1부터 자기자신(N)까지의 모든 수를 대상으로 "N%(1...N)" 을 수행하지 않고, sqrt(N) 까지만 수행한다. 약수가 있다면 하나는 작은 수이고 다른 하나는 큰 수일텐데, 작은 수는 아무리 커도 sqrt(N).. 더보기
제어관련 참고할 PDF 아두이노를 이용한 PID제어기설계 : 아도이노 이용한 Ball 밸런스 : PID 제어 아두이노 사용 : PID제어 1, 2 : 더보기