그냥 개발 및 잡담
[GIT] 깃헙 다른 원격 저장소로 복제
[GIT] 깃헙 다른 원격 저장소로 복제
2022.06.04깃헙에서 다른 원격 저장소로 복제(커밋을 모두 이동)을 원할때 다음과 같이 하면 된다. git clone --mirror https://github.com/[유저]/[저장소].git [폴더] git remote set-url --push origin [이동할 원격저장소] git push --mirror
[NAS] D-1581 보드 서버 및 NAS(나스) 제작기 - #2 구입 완료 및 제작 후기
[NAS] D-1581 보드 서버 및 NAS(나스) 제작기 - #2 구입 완료 및 제작 후기
2022.03.27[DIY] 자작 NAS 구축하기 - 구입부터 설치까지 https://pental.tistory.com/244 [NAS] D-1581 보드 서버 및 NAS(나스) 제작기 - #1 부품 선정 https://pental.tistory.com/291 [NAS] D-1581 보드 서버 및 NAS(나스) 제작기 - #2 구입 완료 및 제작 후기 https://pental.tistory.com/292 [NAS] D-1581 보드 서버 및 NAS(나스) 제작기 - #3 8베이 케이스 변경 https://pental.tistory.com/298 2탄을 작성하기에 오랜 시간이 걸렸습니다. 사실 물건 다 받고 제작도 하고 서버도 올린지 오래지만,,, 갑자기 생각나서 글을 쓰게 되었습니다. 먼저 물품 사진들입니다. 구성품이야..
[NAS] D-1581 보드 서버 및 NAS(나스) 제작기 - #1 부품 선정
[NAS] D-1581 보드 서버 및 NAS(나스) 제작기 - #1 부품 선정
2022.02.28[DIY] 자작 NAS 구축하기 - 구입부터 설치까지 https://pental.tistory.com/244 [NAS] D-1581 보드 서버 및 NAS(나스) 제작기 - #1 부품 선정 https://pental.tistory.com/291 [NAS] D-1581 보드 서버 및 NAS(나스) 제작기 - #2 구입 완료 및 제작 후기 https://pental.tistory.com/292 [NAS] D-1581 보드 서버 및 NAS(나스) 제작기 - #3 8베이 케이스 변경 https://pental.tistory.com/298 저번 J5005-itx + 헤놀로지 서버는 팔아버리고, D-1581 보드를 구입하게 되었습니다. D-1581보드란..? 무려 16코어 32쓰레드인데 가격도 저렴...! 기존에 나..
[MAC] Pyinstaller을 통해 파이썬에서 맥 파일 배포 (pyqt5 + ui파일)
[MAC] Pyinstaller을 통해 파이썬에서 맥 파일 배포 (pyqt5 + ui파일)
2022.02.25패키징 도구 pyinstaller py2exe py2app py2exe는 Windows 전용이며, py2app은 mac 전용이다. 클로스 플랫폼은 아니지만 pyinstaller는 두 운영체제에서 모두 사용할 수 있다. pyinstaller는 맥에서 작성된 코드를 맥용으로만, 윈도우에서 작성된 코드를 윈도우용으로만 빌드할 수 있다. 여기에서는 pyinstaller로 ui 파일을 사용한 gui 앱을 빌드하는 과정에서 겪었던 시행착오에 대한 기록이다. pyinstaller 문법을 떼고 자신만의 앱을 작성하기 시작하면 드디어 완성된 앱을 패포하고 싶어진다. 지금까지 확인한 바에 의하면 대중적이며 안정적인 배포 유틸리티는 pyinstaller인 듯하다. 터미널용 앱이나 ui를 하드 코딩으로 만든 앱의 경우는 사용..
[MAC] Pyinstaller로 파일 제작시 경로 오류
[MAC] Pyinstaller로 파일 제작시 경로 오류
2022.02.25외주를 하면서 pyinstaller + python + pyqt5 를 통해 프로그램을 제작하게 되었는데, 클라이언트 측에서 Mac용도 제작해달라는 답변이 왔다. 하지만 나는 Mac용을 제작해 본적이 없는걸,,,, 일단 알겠다고 하고 구글링을 조졌다. 이게 왠걸 Pyinstaller가 맥용을 지원하네? 그냥 윈도우랑 동일하겠지 하고 파일 제작을 한것이 화근이었다... path = os.getcwd() filename = path + "/" + str(currentDT.strftime('%y%m%d%H%M%S')) + ".xlsx" print(filename) large_df.to_excel((filename), index=False, encoding='euc-kr', engine='openpyxl') 기존..
[GCP] Google Cloud에 Gitlab 설치하기
[GCP] Google Cloud에 Gitlab 설치하기
2020.03.29오늘은 GCP에 Gitlab을 설치하는 방법에 대해서 다뤄보도록 하겠습니다. [ 요구 사항 ] RAM : 최소 3.75GB CPU : 최소 2core OS : Ubuntu 16.04 or Later [ 인스턴스 생성 ] https://console.cloud.google.com/compute/instances Google Cloud Platform 하나의 계정으로 모든 Google 서비스를 Google Cloud Platform을 사용하려면 로그인하세요. accounts.google.com Google Cloud에 접속해서 새로운 VM 인스턴스를 생성한다. 사양을 자신의 크레딧 상황에 따라서 적절히 하도록 하자. 위와 동일하다. [ GitLab 설치 ] https://about.gitlab.com/ins..
[OS] Pintos - BusyWaiting 해제
[OS] Pintos - BusyWaiting 해제
2020.01.21Pintos를 처음 설치하게 되면 현재 스레드가 devices/timer.c의 timer_sleep() 함수를 호출하면 지정 Tick동안 While문이 계속해서 thread_yield()를 호출하면서 CPU를 점유하지 않는 모습을 보여준다. void timer_sleep (int64_t ticks) { int64_t start = timer_ticks (); ASSERT (intr_get_level () == INTR_ON); while (timer_elapsed (start) < ticks) thread_yield (); } 이정도의 소스는 다들 이해 할수 있다고 생각하기때문에 더욱 자세한 설명은 생략하도록 하겠다. 현재 스레드가 CPU를 점유 하지 않기 위해서 CPU를 점유해야하는 모순된 모습을 보여..
[OS] Busy Waiting 정의
[OS] Busy Waiting 정의
2020.01.19Busy Waiting 이란 무엇일까? 바쁜대기라고 불리움. OS에서는 원하는 자원을 얻기 위해 기다리는 것이 아니라 권한을 얻을 때까지 확인하는 것을 의미한다. CPU의 자원을 쓸데 없이 낭비하기 때문에 좋지 않은 쓰레드 동기화 방식이다. 쓰레드의 동기화를 위해서 Busy Waiting Method를 사용할 것이 아닌, 뮤텍스 세마포어(Mutual Exclusion) 또는 Monitor를 사용해야 한다고 알려져 있다. 뮤텍스 세마포어(Mutual Exclusion) 또는 Monitor 방법의 경우 CPU가 계속해서 쓸데없이 무한 루프를 돌면서 확인하는게 아닌, 어떤 쓰레드가 공유 자원을 획득한 경우 다른 쓰레드는 그 쓰레드는 공유 자원을 모두 사용할 때 까지 기다린다. 또한, 쓰레드가 공유자원을 모두 ..
[OS] Pintos 설치하기
[OS] Pintos 설치하기
2020.01.16필자의 환경조건 ) Ubuntu 14.04 x86버전. 필자만 잘 따라하면 좋은 결과를 얻을 수 있을 것이다. make 부분에서 오류가 나지 않으려면 gcc를 제대로 설치해야한다. $ sudo apt-get install g++ xorg-dev ncurses-dev vim $ sudo apt-get install gcc-4.4 $ sudo mv /usr/bin/gcc-4.4 /usr/bin/gcc 위 세가지 소스코드를 확실히 실행시켜야 한다. 자신이 원하는 위치에 dir를 하나 생성하고 pintos 파일을 받아온다. $ cd / $ sudo mkdir temp $ wget http://www.stanford.edu/class/cs140/projects/pintos/pintos.tar.gz $ tar xz..
[GoogleCloud] Google Cloud에 Cloud9 설치하기
[GoogleCloud] Google Cloud에 Cloud9 설치하기
2019.11.27오늘의 포스팅은 Google Cloud 또는 AWS, Azure 등에 Cloud9 설치하는 방법을 포스팅 하겠습니다 :) 먼저 Google Cloud 기준입니다. https://cloud.google.com 클라우드 컴퓨팅 서비스 | Google Cloud Google Cloud를 통해 비즈니스를 혁신하세요. Google Cloud Platform으로 빌드하고 혁신하고 확장하세요. G Suite로 공동작업하고 생산성을 높이세요. cloud.google.com 접속하신후 인스턴스를 만들기를 시작합니다. 빨간색 부분은 개인 설정이므로 알아서 잘 맞춰 줍니다. 사실 저 대로 진행하셔도 괜찮습니다. 필자는 Debian GNU/Linux 9 (stretch)가 아닌 Ubuntu 16.04 버전을 사용할거기 때문에..
[GoogleCloud] Google Cloud에 PLEX Media Server 설치하기
[GoogleCloud] Google Cloud에 PLEX Media Server 설치하기
2019.11.25오늘의 포스팅은 Google Cloud 또는 AWS, Azure 등에 Plex Media Server 설치하는 방법을 포스팅 하겠습니다 :) 먼저 Google Cloud 기준입니다. https://cloud.google.com 클라우드 컴퓨팅 서비스 | Google Cloud Google Cloud를 통해 비즈니스를 혁신하세요. Google Cloud Platform으로 빌드하고 혁신하고 확장하세요. G Suite로 공동작업하고 생산성을 높이세요. cloud.google.com 접속하신후 인스턴스를 만들기를 시작합니다. 빨간색 부분은 개인 설정이므로 알아서 잘 맞춰 줍니다. 사실 저 대로 진행하셔도 괜찮습니다. 필자는 Debian GNU/Linux 9 (stretch)가 아닌 Ubuntu 16.04 버전..
Docker 알아보기 - 도커 사용하기 (VSCode 사용하기)
Docker 알아보기 - 도커 사용하기 (VSCode 사용하기)
2019.11.172탄의 시작..? 필자는 Visual Studio Code 를 올리기 위해서 도커를 사용했다. (VSCode) 도커 쓰는방법을 설명하겠다. 도커 파일을 만드는 쪽은 아직 거의 쓸일이 없음. 커스텀으로 부족한 이미지가 있다면 추가/수정하는 일 말곤 없음. 기본적으로 도커는 docker run 이라는 명령어를 사용한다. Code-server (Visutal Studio Code) 를 예시를 들어서 진행해보자. 줄여서 Cdr로 부르겠다. Cdr의 경우에는 도커 이미지가 기본적으로 제공이 되어있는데, 보통 도커 이미지를 생성할때 쓰는 틀이 Dockerfile 인데, 확장자 없이 그냥 "Dockerfile"이다. 도커 파일에 대해서는 간단하게 설명하고 다음편에서 자세하게 설명. Cdr 의 도커 파일은 오프소스이다..
Docker 알아보기 - 도커의 기본 개념
Docker 알아보기 - 도커의 기본 개념
2019.11.17뜬금없지만 Docker 을 사용해보고 싶다는 생각이 빡세게 들었다. 바로 본격적으로 시작한다. 필자는 Google Cloud를 사용한다. ( Ubuntu 16.04 사용 중 ) 일단 먼저 가볍게 설치를 한다. (Reference : https://docs.docker.com/install/linux/docker-ce/ubuntu/ ) Get Docker Engine - Community for Ubuntu To get started with Docker Engine - Community on Ubuntu, make sure you meet the prerequisites, then install Docker. Prerequisites Docker EE customers To install Docker E..