전체 글(254)
-
Windows에서 WSL2를 사용해 Docker 설치하기
요구사항 확인 윈도우10 이상 x64 시스템 : 버전1903이상, 빌드 18362 이상 ARM64 시스템 : 버전 2004 이상, 빌드 19041 이상 Linux용 Windows 하위 시스템 사용 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 파워쉘을 관리자모드로 열어서 위 명령어를 실행해서 WSL을 사용을 활성화한다. Virtual Machine 기능 사용 dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 마찬가지로 관리자모드의 파워쉘에서 위 명령어를 실행해서 VirtualMac..
2023.06.16 -
Java 버전별 차이와 특징
Java 버전 특징 Java는 하위 호환성이 높다 Java 5 또는 8버전이 8~17버전의 가상환경에서 구동되는 것이 보장된다 이를 backward compatible(하위 호환성) 이라고 한다. 반대로 8버전에서 사용할 수 없는 17 기능을 사용한다면 컴파일되지 않는다. java.lang.UnsupportedClassVersionError 가장 변경 사항이 큰 8버전을 기준으로 학습하고, 이후 버전의 변경사항만 알아두는 것으로 충분 배포(Distribution) OpenJDK 프로젝트 이는 배포판이 아닌 소스 자체 소스를 기반으로 빌드를 만들어 배포할 수 있지만 호환성 인증을 확보하기 어려움 OpenJDK 빌드(오라클), OracleJDK OracleJDK는 유료, OpenJDK는 무료 Oracle J..
2023.06.15 -
sftp로 서버 간 데이터 전송하기 (Proxy 설정)
sftp로 A서버 → B서버로 파일을 전송하고 싶은 상황. 먼저 A서버에 SSH로 접속해서 B서버로 접속하고자 했다. 그런데 B서버는 Proxy 서버를 경유해서 접근해야 했고, Proxy는 22222번 포트로 접속해야 했다. $ sftp ubuntu@123.123.123.123 일반적인 경우 sftp로 접근하기 위해서 위와 같이 계정과 ip를 넣고 명령어를 실행하면 된다. 하지만 이렇게 하면 기본적으로 설정된 22번 포트로 접근하려고 하기 때문에 별도의 설정이 필요하다. 먼저 A서버에 SSH로 접속한다. 그리고 ~/.ssh/config 파일을 연다. ssh config 파일 경로는 다를 수 있는데, 별도 설정을 안했다면 아마 대부분 저 경로일 것이다. vi ~/.ssh/config 명령어로 파일을 편집기..
2023.06.14 -
오버라이딩(Overriding)과 오버로딩(Overloading)
오버로딩 (Overloading) 조건 부모 클래스의 메서드를 자식 클래스에서 재정의 메서드의 이름이 같고, 매개변수(개수, 타입)이 달라야 한다. 리턴 타입과 접근제어자는 상관없다. 예시 class Calculator { public int add(int a, int b) { return a + b; } public double add(double a, double b) { return a + b; } public int add(int a, int b, int c) { return a + b + c; } } public class Main { public static void main(String[] args) { Calculator calculator = new Calculator(); System...
2023.06.13 -
객체지향의 설계원칙(SOLID)
좋은 설계란 시스템에 새로운 요구사항이나 변경이 있을 때 영향을 받는 범위가 적은 구조를 의미한다. 그래서 예상치 못한 변경이 발생하더라도 유연하게 대처라히 구이해 확장성 있는 시스템 구조화가 필요하다. SOLID 객체 지향 원칙을 적용하면 코들르 확장하고 유지 보수 관리가 쉬워지며, 불필요한 복잡성을 제거해 리팩토링에 소요되는 시간을 줄임으로써 생산성을 높일 수 있다. SOLID는 객체지향 설계 5대원칙이라고 부르며 SRP, OCP, LSP, ISP, DIP 앞글자를 따서 SOLID 원칙이라고 부른다. SRP (Single Responsibility Principle) : 단일책임원칙 모든 클래스는 가각 하나의 책임만 가진다. → 클래스는 그 책임을 완전히 캡슐화해야한다. 하나의 클래스는 하나의 기능을..
2023.06.12 -
파이썬 패키지 다운로드 및 오프라인 환경에서의 설치 방법
오프라인 환경에서 파이썬 패키지를 설치하려면 패키지 의존성에 포함되는 모든 whl 파일을 다운받고, 오프라인 환경의 머신으로 이동시킨 뒤, pip install 을 수행해야 한다. 문제는 whl 파일을 다운로드 받는 환경의 OS와 오프라인 환경의 OS가 상이할 때 발생한다. 예를 들면 윈도우 환경에서 pip download를 수행하는 경우 윈도우 환경에 맞는 whl 파일이 다운로드 된다. 오프라인 환경의 OS가 리눅스인 경우 platform 옵션을 지정해서 해당 OS에 맞는 whl 파일을 다운로드 할 수 있지만, 리눅스의 상세 버전에 따라 차이가 있는지 실패하는 경우가 많았다. 그래서 아래 방법은 간단한 경우만 시도해보고 안된다면 굳이 추천하진 않는다. 차라리 오프라인 환경과 동일한 OS의 VM 또는 컨..
2023.02.04