프로그래밍 140

[Docker] Dockerfile

도커 파일(Dockerfile)은 도커 이미지를 빌드하기 위한 스크립트입니다.여러 명령어를 사용하여 이미지를 구성하고 필요한 설정을 지정할 수 있습니다. 일반적으로 사용되는 명령어FROM: 기본 베이스 이미지를 지정합니다.FROM ubuntu:20.04RUN: 쉘 명령어를 실행하여 패키지 설치나 설정을 변경합니다.RUN apt-get update && apt-get install -y python3COPY 또는 ADD: 호스트 파일을 이미지로 복사합니다.COPY app.py /app/WORKDIR: 작업 디렉토리를 지정합니다.WORKDIR /appCMD 또는 ENTRYPOINT: 컨테이너가 시작될 때 실행될 명령을 지정합니다.CMD ["python3", "app.py"]EXPOSE: 컨테이너가 사용할 포..

[VisualCode] SSH 원격접속 오류

문제점VisualCode로 Linux서버 접속 시 Remote Explorer 사용하여 원격접속 시도 => 실패프로세스에서 없는 파이프에 쓰려고 했습니다. 오류 출력 확인해결책VisualCode -> Linux 접속정보접속 정보에 대한 파일은 아래 경로에 기입돼 있다.C:\\Users\\administrator\\.ssh\\config권한 문제가 이슈였다.파일 속성 - 보안 탭 - 그룹 또는 사용자 이름 - 알 수 없는 계정 존재 하는걸 확인알수없는 계정 삭제하여 해결하였다.알수없는 계정 삭제할 때 오류 발생파일 속성 - 보안 탭 - 고급상속 사용 안함 선택 - 상속된 사용 권한을 이 개체에 대한 명시적 사용 권한으로 변환합니다 선택알 수 없는 계정 제거참조 : https://answers.microso..

프로그래밍 2024.04.26

[Akka.NET] Akka Message 수신 오류

akka 메시지 큐 오버플로우 Inference Window Actor에서 Message Queue가 꽉 차서 수신 못했을 가능성 높습니다. Message Buffer Size `send-buffer-size`와 `receive-buffer-size`가 너무 작은 경우에는 메시지 송수신에 문제가 발생할 수 있습니다. 이 옵션들은 TCP 송수신 버퍼의 크기를 제어하며, 충분히 큰 크기로 설정되어야 합니다. 그렇지 않으면 다음과 같은 문제가 발생할 수 있습니다 1.송신 부분에서의 문제 Send buffer size가 작으면, 송신측에서 메시지를 버퍼에 쓰는 속도가 느려질 수 있습니다. 이는 메시지를 네트워크로 전송하는 속도를 제한하고, 따라서 메시지 전송이 지연될 수 있습니다. 또한 송신 버퍼가 가득 차면 ..

[Tensorflow] TF.Function

https://www.tensorflow.org/guide/function?hl=ko#%EC%B6%94%EC%A0%81 https://notebook.community/tensorflow/docs-l10n/site/ko/guide/function 추적 (Tracing) Function은 TensorFlow Graph에서 프로그램을 실행합니다. 그러나 tf.Graph는 사용자가 즉시 실행 TensorFlow 프로그램에서 작성하고자 하는 모든 요소를 나타낼 수는 없습니다. 예를 들어 Python은 다형성을 지원하지만 tf.Graph는 입력에 데이터 유형과 차원의 지정을 요구합니다. tf.Graph는 정적인 dtype과 shape 차원이 필요합니다. tf.function은 올바른 그래프를 생성하기 위해 필요하..

프로그래밍 2024.02.20

[레거시 코드 활용 전략] ch13. 변경해야 하는데, 어떤 테스트를 작성해야 할지 모르겠다

Ch13 변경해야 하는데, 어떤 테스트를 작성해야할까? 기존 레거시 코드에 대해서 테스트 코드가 전혀 없을 수 있다. 레거시 코드에 변경사항이 일어나면 테스트 루틴을 작성해야한다. 문서화 테스트 (Characterization Test) 문서화 테스트란, 기존 동작 유지에 필요한 테스트 레거시 시스템에서는 시스템이 무엇을 하는지 중요하고(결과), 어떻게 동작하는지는 중요하지 않다(과정). 어떻게 동작하는지에 대한 테스트 작성은 버그를 찾는데에 불과하다. 무엇을 하는지에 대한 테스트를 문서화 테스트라한다. 문서화 테스트 작성 순서 테스트 하네스 내에서 대상 코드를 호출 실패하는 assetion 코드 작성 실패 된 결과로부터 실제 동작을 확인 예상되는 결과를 위해(테스트 통과) 테스트 코드를 수정 반복 클래..

프로그래밍 2024.01.09

[디자인패턴] 전략패턴 (Strategy Pattern)

전략 패턴 간단한 예제 Class 구현부 namespace StrategyPattern { class Context { private IStrategy IStrategy; public Context() { } public Context(IStrategy strategy) { IStrategy = strategy; } public void SetValue(IStrategy strategy) { IStrategy = strategy; } public void DoSomething() { Console.WriteLine("context DoSomething()"); var test = IStrategy.algo(1); } } public interface IStrategy { object algo(int da..

프로그래밍 2024.01.03

[레거시 코드 활용 전략] ch12. 클래스 의존 관계, 반드시 없애야할까?

https://gist.github.com/jonnyjava/42883d4e464167f81e2ee60a488a5ded https://namhoon.kim/2022/03/22/method-test/012/ 테스트 하려는 코드에 의존관계가 존재한다면, 테스트 코드 작성이 까다로워진다. 이때마다 의존 관계를 제거해줘야하는것인가? 무조건 제거는 답이 아니다. 테스트는 세부적인 코드를 매번 해줘야하는가? 어떤 코드를 테스트를 할 때, 상위 수준의 코드에서 테스트가 커버 된다면 할 필요는 없다. 교차지점 (Interception Point) 일반적으로 변경 지점에 가까운 지점 클래스의 변경이 발생하는 곳 public class Invoice { ... public Money GetValue() { Money to..

프로그래밍 2024.01.02