전체 글 35

[Git] 파일 상태

Git을 공부하는 데 있어서 파일의 세 가지 상태와 세 개의 directory를 이해하는 것은 중요하다. 그래야 다른 것들을 이해하기 수월하다. 다른 블로그들에서도 이해하기 편한 것들이 많지만, 공부하면서 새롭게 알게 된 것들도 있기 때문에 블로그를 작성해보았다. 조금 더 간단한 설명을 원한다면 아래 블로그를 참고하는 게 더 좋을 수 있다. https://anerim.tistory.com/203 [깃 Git] git의 영역 정리(working directory, staging area, repository) / git의 상태 정리(untraked, tracked, staged, un 안녕하세요. 디자인도 하고, 개발도 하는 '디발자 뚝딱'입니다. 이번 포스팅에서는 working directory, sta..

카테고리 없음 2024.01.31

[Linux] Samba

개요 회사에서 서버를 관리하면서 Samba를 설치하고 관리하게 되었다. 이번 기회에 Samba에 대해서 정리하고 장단점을 짧게 살펴보고자 한다. 정의 먼저, Samba는 뭔가? 삼바(samba)는 Windows PC에서 Linux 또는 UNIX 서버에 접속하여 파일이나 프린터를 공유하여 사용할 수 있도록 해 주는 소프트웨어이다. 1991년 호주의 박사과정 학생이었던 앤드루 트리젤(Andrew Tridgell)이 개발하였다. 출처: https://ko.wikipedia.org/wiki/%EC%82%BC%EB%B0%94_(%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4) Linux와 Windows가 자유롭게 파일 공유를 할 수 있게 한다고 이해하면 편할 것이다. 이번 포스팅..

Linux 2024.01.30

[SpringBoot] Maria DB 연결

Spring boot를 공부하면서 개인서버를 운영해보고 싶다는 생각이 들어서 데이터베이스 서버도 직접 linux에 깔아서 spring boot와 연결했다. Linux는 ubuntu 22.04.3 LTS 버전이다. Maria DB 설치 설치는 굉장히 간단하다. (root 권한에서 다음 명령어들을 실행하길 권장한다.) 아래 명령어를 입력하면 mariadb가 깔린다. apt -y install mariadb-server mariadb-client 그 후에 restart, enable, status 명령어를 통해서 mariadb 서비스를 재시작하고 부팅시 자동으로 시작되도록 enable도 한다. systemctl restart mariadb systemctl enable mariadb 다음 명령어를 입력해서 아..

web 2023.11.27

[Spirng boot] 라즈베리파이에서 웹 어플리케이션 베포

개요 나는 springboot에서 개발을 하면서 서버를 구축해봐야 겠다는 생각을 했다. 근데 막상 정보를 찾아보려고 하니까 AWS에 배포하는 건 많은데 직접 서버를 구축하고 배포하는 것은 거의 못봐서 내가 겪은 시행착오들을 포함해서 글을 작성해본다. 난 일단 라즈베리파이에 ubuntu 22.04.3 LTS가 올려진 환경에서 web server 환경을 구축하고 spring boot에서 빌드한 웹 어플리케이션도 올릴려고 한다. Web server와 WAS Web에 대해서 공부를 하면서 WAS와 web server가 뭔지 헷갈릴 때가 많았다. 둘이 비슷하면서도 다른 개념이라서 헷갈릴 여지가 있는 것 같다. 일단 web server의 정의는 다음과 같다. 소프트웨어 : 정적 컨텐츠를 제공하는 서버 프로그램 하드..

web 2023.10.26

[Ubuntu 22.04.3 LTS] 라즈베리파이 HDD 마운트

이번에 NAS 서버를 구성하기 위해서 unbuntu가 설치된 라즈베리 파이에 HDD를 부착했다. HDD 선정 난 씨게이트 바라쿠다 8TB를 구매했다. 일단, wd랑 씨게이트 둘 중에서 고민했는데 아래 글을 보고 씨게이트를 구매하기로 확정했다. https://blog.naver.com/dummy_98/222295756269 HDD 오해와 진실 그리고 선택 - 1부(불량율) 많은 사람들이 하드웨어 포럼에 와서 "어느 HDD가 좋냐"는 질문을 수없이 던진다. 그때 마다 ... blog.naver.com 관련 글도 굉장히 유용하니 참고하면 좋다. 그리고 나서 5400rpm과 7200rpm 중에 고민했는데 거실에 설치할 거라서 소음 이슈가 있을까봐 5400rpm으로 했다. 그리고 가격도 더 저렴한 것 같다. 해외..

Linux 2023.10.24

[Linux] 라즈베리파이 원격 접속

개요 라즈베리파이를 사서 웹 서버를 구축하려고 했다. 내부망으로 원격 접속하게 하는 것은 쉬웠으나, 외부망에서도 원격 접속하는 것은 생각보다 어려웠다. 나는 ssh를 통해서 원격 접속을 했다. 그리고, ddns 서버, 포트 포워딩을 이용하여 외부망에서 원격 접속이 가능하게끔 했다. OpenSSH 먼저, ssh를 통해서 접속을 하려면, 다음과 같은 명령어를 입력해주면 된다. apt -y install openssh-server 그 후, 다음 명령어를 사용하여 ssh 서비스를 활성화시켜야 한다. systemctl enable ssh 기본적으로 ssh의 port는 22번으로 설정되어 있는데 이를 그대로 사용하면, 중국 쪽에서 접속 시도가 많이 발생한다고 한다. 그러므로, 나는 ssh의 port를 바꿔줄 것이다..

Linux 2023.10.09

[java] 백준 11659번

https://www.acmicpc.net/problem/11659 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net 이 문제를 풀면서 알고리즘은 너무 쉬웠다. 구간합을 구하고 나서 계산만 하면 끝이라서... 하지만, 난관은 io 속도 있었다. 사용자의 input을 처리하기에 scanner는 너무 느렸다. 그래서 BufferedReader라는 객체를 사용해서 해야 했다. BufferedReader br = new BufferedReader(new InputStreamReader(System..

코딩 테스트 2023.09.02

[디버깅을 통해 배우는 리눅스 커널의 구조와 원리1] 라즈비안 4.19 깔기

몇 달째 아이쇼핑하던 디버깅을 통해 배우는 리눅스 커널의 구조와 원리1을 구매했다. 그리고 나서 Raspberry pi4에 2019-07-10-raspbian-buster-full.img를 설치하려고 했다. https://downloads.raspberrypi.org/raspbian_full/images/raspbian_full-2019-07-12/ Index of /raspbian_full/images/raspbian_full-2019-07-12 downloads.raspberrypi.org 예전 kernel 버전의 이미지들은 위의 링크에 있다. 문제 발생 근데 웬걸 부팅을 할 때, start4.elf is not compatible이라고 하면서 이상한 메세지들이 계속 떴다. 그래서 알아보니, 옛날 버..

Linux 2023.09.01

[Device Driver] GPIO without device tree 2편

개요 지난 글에서는 sysfs interface를 사용해서 gpio를 다루는 법에 대해서 공부해봤다. 이번에는 gpio API를 사용해서 device driver를 만들어 볼 것이다. 저번에 gpio를 다루는 법에는 크게 두 가지가 있다고 했다. Integer-based interface와 descriptor-based interface. 이번에 하는 방법도 integer-based interface이다. gpiod_* vs gpio_* methods in the Linux Kernel 해당 글에서 말하고 있는 gpiod API가 descriptor-based interface이고 gpio API가 integer-based interface이다. Integer-based interface vs descr..

Linux 2023.09.01

[Device Driver] GPIO without device tree 1편

개요 linux device driver에 대해서 공부하면서 gpio를 다뤄보고 싶었다. 내가 강의를 들으면서 강사분이 임베디드는 gpio를 다루면 절반은 한 거라고 하셨다. 그만큼 gpio를 다루기 위해서 알아야 하는 기본지식이 많다. 그렇지만 그렇다고 해서 또 그럼 이걸 알면 나머지는 쉬운가..? 절대 아니다. 그냥 첫 걸음을 내딛는 것 같다. GPIO를 다루는 방법 Gpio를 다룰려면 뭘 해야 할까..? 이게 내가 처음에 gpio에 대해서 굉장히 고민했던 부분이었다. 왜냐면 gpio를 다루는 법에 대해서 명료하게 이야기 해주는 곳이 없었다. 그러나, kernel.org라는 공식 사이트에서 크게 두 가지 방법이 있다고 한다. Descriptor-based interface Integer-based i..

Linux 2023.09.01