분류 전체보기 20

[Ubuntu/Linux 6.9.5] Add a new System Call in Linux/Linux에 시스템 콜 추가하기

linux-6.9.5 버전에 새로운 시스템콜을 추가해보자 1. linux-6.9.5 백업해두기 https://min0ng.tistory.com/23 [VirtualBox/Ubuntu/Linux 6.9.5] 1. Linux Kernel Version Update / 리눅스 커널 최신버전으로 업데이트하기1. git clone 으로 최신버전 kernel 가져오기$ wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.9.5.tar.xz$ tar xvf linux-6.9.5.tar.xz 1-1. 커널 build에 필요한 라이브러리 설치$ sudo apt-get update$ sudo apt-get install build-emin0ng.tistory.com이 과..

리눅스커널 2024.06.27

[VirtualBox/Ubuntu/Linux 6.9.5] 1. Linux Kernel Version Update / 리눅스 커널 최신버전으로 업데이트하기

1. git clone 으로 최신버전 kernel 가져오기$ wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.9.5.tar.xz$ tar xvf linux-6.9.5.tar.xz 1-1. 커널 build에 필요한 라이브러리 설치$ sudo apt-get update$ sudo apt-get install build-essential libncurses5 libncurses5-dev bin86 kernel-package libssl-dev bison flex libelf-dev dwarves 2. build 준비 /usr/src 위치로 이동 $ sudo mv linux-6.9.5 /usr/src/ 2-1. configure file 가져오기 저기서 현..

리눅스커널 2024.06.27

[논문 공부] RFUSE: Modernizing Userspace Filesystem Framework through Scalable Kernel-Userspace Communication

Abstractstorage device의 발달, file scale의 증가로 filesystem design은 계속해서 변해왔다 근데, in-kernel file system에 이런 새로운 부분을 적용하는 것은 매우 challenging하다 그래서 user-space file system이 주목받아왔다. FUSE는 unix에서 제공하는 user-space file system인데 complex한 internal task가 overhead를 매우 크게 가져가서 성능이 그렇게 좋지 못하다.  해당 논문에서는 scalable message communication between the kernel and userspace를 사용한 새로운 user space filesystem RFUSE를 제안한다.  RFU..

백업용 2024.06.09

[이것이 코딩테스트다 with 파이썬] chap5 DFS/BFS 음료수 얼려 먹기

N*M 크기의 얼음틀 구멍이 뚫려있는 곳은 0 칸막이인 곳은 1 연결되서 얼어져서 나오는 아이스크림의 개수는? # 입력 n, m = map(int, input().split()) ice=[] for i in range(n): ice.append(list(map(int, input().split()))) def find_zero(arr): for i,v in enumerate(arr): for j,k in enumerate(arr[i]): if k == 0: return i,j return -1,-1 count = 0 move = [[1,0],[-1,0],[0,1],[0,-1]] def find_icecream(board, x, y): if x =n or y=n : return False..

PS 공부 2024.03.22

[이것이 코딩테스트다 with 파이썬] chap4 구현. 게임 개발

게임판이 n*m 정사각형 각 칸은 육지 혹은 바다 캐릭터는 동서남북 중 하나를 바라봄 0 1 2 3 0 1 2 3 이런 구조의 게임판 형태 캐릭터의 행동 매뉴얼은 다음과 같다 1. 현재 위치, 현재 방향을 기준으로 반시계 방향 90도 방향부터 갈 곳을 정함 2. 그 방향에 가보지 않은 칸이 존재하면 회전 후 한칸 전진 3. 없으면 회전 수행 후 1번으로 복귀 4. 네 방향 모두 이미 가봤거나 바다로 되어 있으면 방향 유지 후 한 칸 뒤로 이동 후 1번으로 복귀 5. 이 때 한 칸 뒤가 바다라 이동 불가면 멈추기 맵이 입력되고 0이면 육지 1이면 바다 둘째줄에 캐릭터의 좌표와 바라보는 방향이 공백으로 구분되서 주어짐 0123 순서대로 북동남서 # index 순으로 북동남서 dx = [0,1,0,-1] dy..

PS 공부 2024.03.22

[이것이 코딩테스트다 with 파이썬] chap4 구현. 왕실의 나이트

8*8 좌표 평면에서 나이트가 움직인다 나이트는 2가지 경우로 이동한다 1. 수평으로 두 칸 이동, 수직으로 한 칸 이동 2. 수직으로 두 칸 이동, 수평으로 한 칸 이동 8*8 평면에서 나이트의 위치가 주어졌을 때, 나이트가 이동할 수 있는 경우의 수를 출력 a b c d 1 2 3 4 이런식으로 생겼고, a1과 같이 입력이 주어졌을 때, 이동할 수 있는 경우의 수를 출력 일단 다 뚫려있으면 총 8가지 경우가 가능 좌2위1, 좌2아래1 우2위1, 우2아래1 좌1위2, 좌1아래2 우1위2, 우1아래2 걍 다 검사해라 task 1. a~h까지 입력받았을 때 숫자로 변환 2. 8가지 경우에서 좌표가 0~7 범위 이내면 가능 그걸 벗어나면 count가 되지 않게 구현 dir = [[-2,-1],[..

PS 공부 2024.03.22

[Kotlin] Object와 Companion Object의 차이

더보기 혼자 공부하면서 작성하는 내용입니다! 틀린 점이 있을 수 있어요~ 로컬 데이터 베이스 관련 코드를 작성할 때 database를 가능하면 싱글톤으로 사용하라는 문구를 보았다. 다행히 유니티로 C# 공부를 하면서 싱글톤 디자인이란 뭔지 알고 있었고, kotlin에서는 그걸 Object라는 걸로 선언해서 이용할 수 있다는 것까진 알고 있었다 그래서 Database는 따로 만들고 UserDataManager라는 object를 선언해서 데이터 베이스 건드리는 함수를 다 적어서 만드려고 했는데.. 뭔가 이상했다 구글링을 하면서 검색해봐도 다 Object를 선언하지 않고 Abstract class인 Database 안에 Companion object를 사용해서 데이터베이스 인스턴스를 만들고 있는 거였다.. 도..

디지털 동반자 2023.07.26

[Kotlin] 안드로이드 스튜디오 - 파이어베이스 연결

https://firebase.google.com/?hl=ko Firebase | Google’s Mobile and Web App Development Platform Discover Firebase, Google’s mobile and web app development platform that helps developers build apps and games that users will love. firebase.google.com 그냥.. 여기서 하란대로 했더니 됐다.. 중간에 plugin with id 'com.android.application' was already requested at line 2 이런 오류가 떠서 뭐지.. 했는데 그냥 위에 이미 넣은 코드를 복붙해서 가져올 때 겹쳐서 ..

디지털 동반자 2023.07.22