Docker 명령어 모음
·
Tools/Docker
개인적으로 사용하는 옵션만 정리 해 보았다. Host 환경은 Windows or Ubuntu 이다. 1. Demon 실행 dockerd & 2. Container 확인 docker ps // 현재 Active 된 Container 만 보여준다. docker ps -a // 모든 Container 를 보여준다. 3. Image 확인 docker images 4. Image 로 Container 만들기 docker run [CONTAINER_ID] // 도커 컨테이너를 실행시킨다. docker run -d [CONTAINER_ID] // 도커 컨테이너를 '데몬' 모드로 백그라운드 실행시킨다. docker run -d --privileged [CONTAINER_ID] // 도커 컨테이너를 '데몬' 모드 & 시..
[Docker] Oracle 설치시 [SEVERE] The su command is not configured properly...
·
Tools/Docker
preinstall 진행 후 발생하는 버그이다. 에러의 전문은 아래와 같다. su: cannot open session: Permission denied [SEVERE] The su command is not configured properly or the oracle user does not have the required privileges to install the Oracle database. If you are running in a Docker environment, ensure to set the environment variable ORACLE_DOCKER_INSTALL=true and try again. error: %pre(oracle-database-ee-19c-1.0-1.x86_64..
SFTP 서버를 윈도우에서 구축 해 보자 (윈도우 자체 기능으로만!)
·
Tools/SSH
우선 외부 망과 파일을 공유하는 용도로 순수 FTP를 쓰면 안된다.패킷 스니핑을 통해 평문상태의 ID, 패스워드는 물론이고, 주고받는 파일 데이터까지 전부 노출되기에FTP를 통해 내부-외부 망간 데이터 통신은 안하는게 좋다. 대안 방법으로 SFTP 가 존재하는데,FileZilla 를 이용하거나, FreeFTPd 등을 이용하는 방법등은 당연히 알고 있으리라 생각된다. 다만 이 프로그램들은 하나씩 나사가 빠져있다.우선 FileZilla 는 '업력' 이 좋지 않을뿐더러, 더이상 무료버전에서는 SFTP를 지원하지 않는다.FreeFTPd 의 경우 작동하긴 하나, 유지보수한지 너무 오래되어 운용이 심각하게 어려울 정도로 버그가 산재되어 있다. 여러가지 검색을 통해 나는 가용할만한 프로그램이 없을을 깨닫고, 안정성에..
Docker를 Visual Studio Code 에서 사용하기
·
Tools/Docker
아마 '업무용' PC 를 제외하곤 대부분의 개발자들이 Windows 나 Mac 환경에서 개발을 진행하리라 생각한다. 나도 집에서는 Windows 환경에서 개발을 진행하고 있기 때문에 Windows 기준으로 설명한다. 사전에 Docker, WSL2, Container, Vs Code 는 설치 되어 있어야 하며 Docker 는 실행 중인 상태여야 한다. 그리곤 visual studio code 내에서 Docker 와 Remote Containers 가 설치된 상태로 추가된 확장을 살펴보면 현재 설치된 containers 가 확인된다. 우클릭 → Attach Visual Studio Code 를 이용하면 폴더, 터미널 Attach 가 활성화 되어 Debug 라던가... 단순 탐색이라던가... Build 라던가..
[C#] Forms.Timer vs Threading.Timer
·
Programming/C#
우선 Timer 관련 글들을 살펴보면 [ C# ] 세가지 Timer 와 그 차이점 [출처] [C#] 세가지 Timer 와 그 차이점|작성자 코드클럽 blog.naver.com/jjk003/221926047276 특정 작업을 주기적으로 실행하기 위해 흔히 Timer 객체를 사용합니다 정해진 시간 간격으로 변수를 업데이 minineko.tistory.com Forms.Timer 가 Winform 에 '최적화 되었다' 라는 구문이 눈에 띄는데. 이걸 보고 알아서 잘 관리해 주겟거니... 하다가는 함정에 빠지게 된다. 1. Forms.Timer Why there are 5 Versions of Timer Classes in .NET? Why are there five timer classes in the .Ne..
[C++] 백준 2166번 문제 해설
·
Algorithm/BACKJOON
2166번: 다각형의 면적 첫째 줄에 N이 주어진다. 다음 N개의 줄에는 다각형을 이루는 순서대로 N개의 점의 x, y좌표가 주어진다. 좌표값은 절댓값이 100,000을 넘지 않는 정수이다. www.acmicpc.net 이 문제는 생각보다 쉬운데, 난 많이 돌아서 풀었다. 신발끈 공식을 적용하지 않은 풀이 방법이다. 1. 그냥 풀어 보았다 #include #include #include struct Point { public: int x; int y; }; std::vector dots; int count; // 2차원 평면공간서 두 점의 거리를 구합니다. double getDistanceBetweenPoints(Point d1, Point d2) { return std::sqrt(std::pow((d2..
[Python] Class 와 Self 에 관해
·
Programming/Python
A.pyimport Bb = B.Bb.cc() B.pyclass B: variable = "TTT" def __init__(self): B.variable = "this is BB class" def cc(): print(B.variable);   우선 Python 에서는 두가지 문법이 존재하는데,B.B 와 B.B() 가 그것이다.B.B 는 Static 형식으로 사용할 수 있다 == 생성자가 실행되지 않는다.B.B() 는 Instance 를 만들기에 == 생성자를 실행시킨다. 수정한 A.pyimport Bb = B.B()b.cc() 에러가 발생하는데, 우리는 b 의 '인스턴스' 를 통해 b.cc() 를 실행시켰다.그런데 b.cc() 선언을 살펴보면 self..
C# C++ 간 이벤트 발생시키기.
·
Programming/C++
C++ [대기] / C# [이벤트 발생]C++#include using namespace std;int main(){ HANDLE handle_recv = CreateEvent(NULL, FALSE, FALSE, TEXT("TEST_RECV")); bool wait = false; WaitForSingleObject(handle_recv, INFINITE);} C#using System.Threading;class A{ public static void Main() { EventWaitHandle ewh = new EventWaitHandle(false, EventResetMode.AutoReset, "TEST_RECV"); ewh.Set(); }} C++ / ..
[C++] 백준 1305 번 문제 해설
·
Algorithm/BACKJOON
문제 설명 백준 1305번 문제는 다음과 같다. 1305번: 광고세준이는 길 한가운데에서 전광판을 쳐다보고 있었다. 전광판에는 광고가 흘러나오고 있었다. 한참을 전광판을 쳐다본 세준이는 이 광고가 의미하는 것이 무엇인지 궁금해지기 시작했다. 전광www.acmicpc.net 문제에 관해 간략히 해설하자면, 흔히 보는 전광판에서 글자가 돌아가며 출력될 때, 특정 순간에 전광판을 포착했을 때전광판은 특정 문자열로 구성되어 있을 터인데,전광판 사이즈보다 글자 수가 적다면, 특정 글자가 반복될 것이다. 이 때, 최소 str.length() 가 얼마인지 return 하면 되는 간단한 문제이다.......간단한 문제라고 생각했었는데, 생각보다 복잡하였다.  풀이 시행착오이 문제의 경우 KMP 알고리즘에서 사용되는 m..
[C#] SharedMemory 사용법
·
Programming/C#
실제 업무에서는 Struct 내부에 데이터를 넣어 SharedMemory 를 통해 프로세스간 데이터를 공유한다. Install class SharedMemory { public void installSharedMemory(string name) { A a; MemoryMappedFile mmf = MemoryMappedFile.CreateNew(name, 10000); var accessor = mmf.CreateViewAccessor(); a.a = 244; a.b = 255; a.c = 266; accessor.Write(0, ref a); } } struct A { public int a; public int b; public int c; } Read class SharedMemory { publi..