arr[] = 5 | 4 | 6 | 8 | 2 | 3 | 1 | 7 | 9 | 0 삽입 정렬로 위 배열을 오름차순으로 정렬해보자. 삽입 정렬은 두번째 배열을 먼저 선택해 해당 인덱스의 앞값들과 비교해 삽입하는 방식이다. 먼저 arr[1]=4와 앞의 값 arr[0]=5와 비교한다. arr[1] < arr[0]이므로 삽입 한다. arr[] = 4 | 5 | 6 | 8 | 2 | 3 | 1 | 7 | 9 | 0 다음은 arr[2]=6과 앞의 값들을 비교하는데 [1],[0] 모두 작으므로 비교할게 없다. arr[3]=8또한 비교할게 없다. arr[4]=2와 8를 먼저 비교, arr[4] < arr[3]이므로 swap한다. 다음 값 arr[2]=6과 arr[3]=2비교, 작으므로 swap. 다음 값 arr[1]=..
선택정렬 정렬되지 않은 배열이 주어졌을 때 오름차순으로 선택정렬해보자. arr[] = 5 | 4 | 6 | 8 | 2 | 3 | 1 | 7 | 9 | 0 의 배열을 선택정렬을 사용해 오름차순으로 정렬하고자 한다. 값을 swap할 기준 인덱스를 맨 처음 값 arr[0]=5로 잡는다. 그리고 값을 비교할 비교 인덱스를 arr[1]=4로 잡는다. 4와 다음 6,8,2 .. 를 비교하면서 가장 작은 비교 인덱스 값을 기준 인덱스와 swap한다. 6,8은 4보다 크니 지나가고, 2와 비교했을 때 2가 더 작으므로 비교 인덱스는 arr[3]=2로 바뀐다. 이제 2와 3을 비교, 1을 비교했을 때 1이 더 작으므로 비교 인덱스는 arr[5]=1로 바뀐다. 비교 인덱스의 변화는 4-> 2-> 1->0 순으로 변하고 0..
참조 https://wayhome25.github.io/git/2017/07/08/git-first-pull-request-story/ git 초보를 위한 풀리퀘스트(pull request) 방법 · 초보몽키의 개발공부로그 개발을 하다 보면 코드를 여러 개로 복사해야 하는 일이 자주 생긴다. 코드를 통째로 복사하고 나서 원래 코드와는 상관없이 독립적으로 개발을 진행할 수 있는데, 이렇게 독립적으로 개발하는 wayhome25.github.io

서론 리눅스에서 시스템 호출을 한다는 것은 사용자가 작성한 프로그램에서 요구하는 커널 수준의 서비스를 제공해주는 것이다. 파일을 다루기 위한 시스템 호출/표준 함수들 open : 이미 존재하는 파일을 읽기,쓰기 용으로 열거나 새로운 파일을 만듬. creat : 새로운 파일을 생성하거나 연다. close : open, creat로 열려진 파일을 닫는다. read : 열려진 파일로부터 데이터를 읽는다. write : 열려진 파일에 데이터를 쓴다. lseek : 파일 안에서 지정한 바이트 위치로 이동. unlink,remove : 파일 삭제. 파일 입출력 프로그램 구현. 파일 디스크립터 파일 디스크립터란 하나의 실행중인 프로그램과 하나의 파일 사이에 연결된 개방 상태라고 할 수 있다. 위에서 본 filedes..

모의해킹 진행하면서 배운 거 정리해봄. 이거 좀만 빨리 알았으면 더 찾았을텐데 아쉽게 좀 늦게 알았음. 아래 사진처럼 사용자가 만든 클래스를 다른 파일에 임포트하는 방법이 있다. java.util.*은 java라는 파일 내에 util이라는 클래스 내의 모든 메소드들을 가져다 쓰겠다는 의미이다. 근데 java로 시작하는 건 약간 c++의 STL같은 느낌이니 사용자가 임의로 만든건 아니다.그렇게 중요한 내용이 들어있진 않다. 사진 마지막에 com.rps.common.utils.*을 보면 com/rps/common/utils.class 를 가져오면 어떤 메소드들이 있는지 알 수 있다. 근데 저 디렉토리만 있는게 아니라 앞에 WebContent/WEB-INF/classes를 붙여줘야 한다. WebContent/..

veth란? veth란 가상 네트워크 인터페이스이다. 도커와 같이 가상의 네트워크를 사용해야 하는 경우에 사용한다. veth는 쌍으로 만들어지며 네트워크 네임스페이스들을 터널로서 연결하거나, 물리 디바이스와 다른 네트워크 네임스페이스의 장비를 연결하는 용도로 사용한다. 여기서 네트워크 네임스페이스란 프로세스의 네트워크 환경을 분리하여 사용할 수 있도록 환경을 만드는 것을 의미한다. veth를 쌍으로 연결시켜 주어야 한다. $ ip link add veth0 type veth peer name veth1 위 명령어를 통해 veth0와 veth1을 연결했고 아직 활성화 되지 않은 상태이다. 둘이 연결되어 있기 때문에 하나를 활성화 시키면 다른하나도 활성화 된다. 이렇게 veth가 활성화된 모습을 확인할 수 ..

먼저 Dockerfile을 작성해야 한다. 간단하게 이렇게 작성했다. FROM ubuntu:18.04 ubuntu 18.04버전의 가상머신을 실행한다. RUN sed -i ~~ 미러 서버로 연결한다. RUN apt-get update 업데이트 명령어 실행. RUN groupadd -g 1000 web web 그룹 생성 RUN useradd -g 1000 -u 1000 -m web web 유저 생성 등등의 과정을 거쳐 web 유저를 생성하고 홈디렉토리를 만들었다. 간단하게 설명하자면 그냥 우분투에서 실행하는 명령어 앞에 RUN, FROM, COPY 등을 붙여 작성한다. 단계 별로 작업을 실행하고 run으로 도커를 실행한다. 이렇게 web 유저가 생성되고 홈디렉토리가 설정되었다. 이제 github에 올린 자..
git clone -b [branch_name] --single-branch [저장소 주소]
- Total
- Today
- Yesterday
- SVM
- 차량용 이더넷
- 딥러닝
- 단순선형회귀
- porks
- automotive
- HTML
- PCA
- 회귀
- AVTP
- SOME/IP
- 머신러닝
- 논문 잘 쓰는법
- one-to-many
- CAN-FD
- 이상탐지
- 케라스
- 차량 네트워크
- Ethernet
- AE
- cuckoo
- Python
- many-to-many
- json2html
- 로지스틱회귀
- AVB
- many-to-one
- 크로스 엔트로피
- problem statement
- automotive ethernet
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |