본문 바로가기

분류 전체보기62

c++ ofstream 파일 수정/쓰기 file(binary) modify/write c++로 file 입출력을 하려고 시도하던 도중... 입력은 간단했는데 출력하는 ofstream 객체를 활용하여 append 쓰기 뿐만아닌 수정을 동시에 하고 싶었는데, 정식 문서에는 이 기능을 위한 별도의 member는 안보였고, 몇몇 블로그에도 file 내용을 수정하고 싶다면, 모든 file을 읽어 RAM에 올린후에 수정하고 싶은 부분만 수정후 모든 내용을 다시 쓰라는...포스팅만 있었다. 최근 c언어로 시스템콜을 활용하며 공부한 나로서, 운영체제들은 분명 file의 중간 부분을 수정할 수 있는 기능을 제공해주는데 저렇게 비효율적인 방법을 사용하고 싶지 않아 c++의 ofstream의 여러 기능을 찾아보고 테스트하여 방법을 찾았다. 정식 문서에 따르면, 보다 싶히 제공해주는 open 권한 flag가 .. 2020. 6. 13.
Linux Shell #! /bin/bash #! /bin/sh 에 대한 고찰 보통 쉘스크립트에서 가장 첫줄에 오는 #! /bin/ 자리에 있는 shell 프로그램으로 밑 라인의 명령어를 실행한다고 일반적으로 알고 있습니다. 그런데 이 원리가 사실은 exec계열의 SystemCall을 사용한다는 것을 알게되었고, 어떤 원리인지 고찰해보는 포스팅입니다. exec가 #!를 어떻게 실행하는지, 그리고 #!가 쉘스크립트를 어떻게 실행하게 만드는지 포스팅이기 때문에 exec 시스템콜을 이미 알고있다고 가정하고 진행하겠습니다. $ ./excuteFile 프롬프트에 위 커맨드라인 명령어를 치게되면, "excuteFile"이 실행되게 됩니다. 좀 더 구체적으로는 현재 실행되고 있는 프롬프트(쉘)가 fork를 통해 child process를 만들고, exec를 호출하여 excuteFile 프로그램.. 2020. 6. 1.
Ubuntu(우분투) Jupyter notebook 원격 접속 고정 ip 혹은 도메인이 없으시다면, 포트포워딩을 통해 연결을 준비해주세요. https://asung123456.tistory.com/4?category=746927 Ubuntu(우분투) ssh server 설치, port forwarding ssh, 홈 desktop으로 ssh server 열기 sudo apt-get update sudo apt-get upgrade sudo apt-get install openssh-server vi /etc/ssh/sshd_config #의 주석처리 부분을 지우고 값을 변경할 수 있음 ex) 위 사진의 커서가 있는 부분에 #을 지우고 Por.. asung123456.tistory.com 보통 처음 우분투 설치하시고 따로 방화벽을 설정하시지 않으면 모든 포트가 기본적.. 2020. 5. 31.
Pycharm Source code Path 소스코드 경로 인식 Mark path 파이참에서 가상환경을 만들어 오픈소스도 clone하고 test code도 작성하다보면 디렉토리가 많아지는데, 간혹 위 사진처럼 분명 같은 디렉토리 위치에 함께있는데 에디터가 인식하지 못하고 빨간줄을 뛰우는 경우가 있습니다. 물론 실행할때는 오류 없이 제대로 실해되지만 imageTool 모듈의 미리보기를 지원을 해주지 않기 때문에 작업하기 불편합니다. 해결방법은 위 사진과 같이 Pycharm 상단의 File > Settings로 들어와 Project Structure > 현재 문제가 되고 있는 소스파일이 있는 디렉토리를 마우스 우클릭후 Source로 찍고 변경사항 적용 디렉토리가 파랑색으로 변하면서, 에디터가 소스코드 파일의 경로를 제대로 인식하고 있는 모습입니다. 반대로 인식하고 싶지 않은 경로가 있다면.. 2020. 5. 25.