본문 바로가기
반응형

하늘과 바람과 별과 코드193

[자바(java)] java.lang.ClassFormatError ClassFormatError에 대한 블로그 글 ClassFormatError는 Java 개발 언어에서 자주 발생하는 에러 중 하나입니다. 이 에러는 잘못된 클래스 파일 혹은 바이트 코드 파일을 로딩하는 데 의해 발생합니다. 이는 Java 프로그래머들에게 자주 발생하는 문제로 알려져 있습니다. ClassFormatError의 정의 ClassFormatError는 Java 개발 언어에서 컴파일된 바이트 코드를 로딩하는 동안 발생하는 에러입니다. 이는 Java Virtual Machine(JVM)이 바이트 코드 형식이 잘못되었거나 이상하게 되어있기 때문에 발생합니다. 이 에러는 대개 JVM이 클래스를 로딩하는 동안 발생합니다. ClassFormatError의 예시 ClassFormatError는 다음과 같은.. 2023. 2. 14.
[자바(java)] ClassCastException ClassCastException ClassCastException은 자바 개발 언어에서 발생하는 예외의 하나입니다. 이 예외는 자바 객체 타입이 일치하지 않을 때 발생하며, 코드의 실행이 멈춰버립니다. ClassCastException이란 ClassCastException은 자바 개발 언어에서 발생하는 예외의 하나로, 클래스 타입 변환 실패로 인해 발생합니다. 예를 들어, 자바 객체의 두 개의 타입 간에 다형성이 없는 경우, 객체의 타입이 다르기 때문에 ClassCastException이 발생합니다. ClassCastException의 예시 아래 예시는 ClassCastException에 대한 간단한 예제입니다. Object a = new Integer(10); String b = (String)a; .. 2023. 2. 13.
[자바(java)] AssertionError AssertionError 자바 개발 언어 AssertionError는 자바 개발 언어에서 사용하는 오류 중 하나입니다. 이 오류는 프로그램이 실행 중인 동안 일어날 수 있는 다양한 문제를 식별하는 데 도움이 됩니다. 이 오류를 적절하게 처리하는 것은 중요한 일이며, 특히 다른 사람이 읽거나 사용하는 소프트웨어를 개발할 때 이 오류가 발생할 때 연관된 실수를 방지하기 위해 매우 중요합니다. AssertionError란? AssertionError는 자바 개발 언어에서 발생하는 오류입니다. 이 오류는 자바 프로그램이 예상하는 결과가 나타나지 않을 때 발생합니다. 이 오류는 런타임 오류로 인식되며, 코드에서 의도한 것과 다른 결과가 발생하는 문제를 식별하는 데 도움이 됩니다. AssertionError 예제.. 2023. 2. 12.
[자바(java)] AbstractMethodError AbstractMethodError AbstractMethodError는 Java의 예외 오류로, 메소드 호출 중 발생하는 오류를 의미합니다. 이 에러는 메소드가 추상 메소드로 선언되었지만, 실제로 구현되지 않았을 때 발생합니다. AbstractMethodError의 오류 예 AbstractMethodError 오류는 다음과 같은 상황에서 발생합니다. 예 1 다음은 자바 소스 코드입니다. public abstract class Animal { public abstract void makeNoise(); } public class Dog extends Animal { public void makeNoise() { System.out.println("Bark!"); } } 이 예제에서는, Animal 클래스.. 2023. 2. 11.
[자바(java)] IllegalArgumentException IllegalArgumentException IllegalArgumentException은 Java 언어에서 발생하는 예외이다. 이 예외는 메소드나 생성자의 인자가 잘못되었을 때 발생되는 예외로, 이를 올바르게 처리하지 않으면 프로그램이 제대로 동작하지 않는 문제를 일으킬 수 있다. 개요 IllegalArgumentException은 메소드 또는 생성자의 인자가 잘못되었을 때 발생하는 예외로, 메소드 또는 생성자의 규칙에 맞지 않는 인자를 사용할 경우 발생한다. 이 예외를 올바르게 처리하지 않으면 프로그램이 제대로 동작하지 않는 문제가 발생할 수 있다. 에러 예시 아래 예시는 메소드의 인자가 잘못되었을 때 발생하는 IllegalArgumentException의 예시이다. public void setTex.. 2023. 2. 11.
[자바(java)] ClassNotFoundException ClassNotFoundException ClassNotFoundException은 자바 프로그래밍 언어의 오류 중 하나로, 클래스를 로드하거나 참조하는데 문제가 생길 때 발생합니다. ClassNotFoundException은 다른 예외와 달리 실행 시점에 발생하는 오류로서, 컴파일 시에는 발견되지 않습니다. ClassNotFoundException의 예시 ClassNotFoundException은 다음과 같은 경우에 발생합니다. 클래스가 프로그램 내에 존재하지 않을 때 클래스가 컴파일 되었지만 실행하는 컴퓨터에서 참조하는 것이 불가능할 때 잘못된 클래스 이름을 사용했을 때 ClassNotFoundException이 발생하는 상황 ClassNotFoundException은 다음과 같은 상황에서 발생합니다.. 2023. 2. 11.
[자바(java)] ArrayIndexOutOfBoundsException ArrayIndexOutOfBoundsException 에러 분석 ArrayIndexOutOfBoundsException 에러는 자바를 개발하는 데에서 자주 발생하는 에러 중 하나입니다. 이 에러는 배열로 저장된 데이터를 참조하는 데 잘못된 인덱스를 사용할 경우 발생합니다. ArrayIndexOutOfBoundsException 에러의 예 ArrayIndexOutOfBoundsException 에러의 예를 보겠습니다. 다음 코드는 배열 인덱스를 초과하여 데이터에 접근하려고 시도합니다. int[] array = new int[10]; System.out.println(array[11]); 이 코드는 배열을 선언하고 그 배열의 11번째 인덱스에 접근하려 합니다. 그러나 11번째 인덱스는 존재하지 않으므로 이.. 2023. 2. 11.
[자바(java)] ArrayIndexOutOfBoundsException ArrayIndexOutOfBoundsException ArrayIndexOutOfBoundsException은 Java 개발에서 배열의 인덱스를 잘못 사용할 때 발생하는 예외입니다. 이 예외는 배열의 인덱스가 배열의 크기보다 크거나 음수일 때 발생합니다. 예시 다음은 ArrayIndexOutOfBoundsException이 발생하는 예시입니다. int[] array = new int[5]; // 배열의 크기보다 큰 인덱스를 사용하면 ArrayIndexOutOfBoundsException이 발생합니다. array[5] = 10; // ArrayIndexOutOfBoundsException // 음수 인덱스를 사용하면 ArrayIndexOutOfBoundsException이 발생합니다. array[-1] .. 2023. 2. 11.
[자바스크립트(js)] let과 var 무엇을 쓸건인가? let과 var ECMAScript 2015(ES6)에서 도입된 let과 var 키워드는 프로그래밍 언어의 스코프를 제어하는 방법의 차이를 가리킨다. let과 var은 같은 이름의 변수를 생성하기 위해 사용하는 키워드이지만, 변수를 특정 스코프 안에서 유효하게 생성하는 방법의 차이가 있다. let let은 블록 스코프(block scope)를 사용하여 변수를 선언하는 구문이다. 블록 스코프는 블록 내부의 스코프를 의미하며, 블록의 시작과 끝을 나타내는 중괄호 {} 로 구분한다. 따라서 let은 해당 블록 내부에서만 유효한 변수를 생성한다. 예시 function testLet() { let a = 10; if (a > 5) { let b = a * 2; console.log(b); //20 } consol.. 2023. 2. 10.
[자바스크립트(js)] 필터(Filter) 함수 필터(Filter) 함수 필터 함수는 주어진 배열의 각 요소에 대해 주어진 함수를 테스트하고, 결과가 true인 모든 요소를 배열로 반환하는 자바스크립트 함수입니다. 만약 요소가 false라면 배열에 포함되지 않습니다. 개요 필터 함수는 자바스크립트 내장 함수로서 배열의 요소 중 특정 조건에 맞는 데이터를 걸러내어 배열로 반환합니다. 기본적으로 배열의 요소는 자료형이 있고, 필터 함수는 이를 걸러내기 위한 기능을 가지고 있습니다. 예시 아래 예시는 자바스크립트 내장 함수인 filter 함수를 사용하여 배열의 요소 중 3의 배수인 요소만 추출합니다. let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; let newArr = arr.filter(function(item) { retu.. 2023. 2. 10.
[자바(java)]ArithmeticException ArithmeticException ArithmeticException은 수학과 관련된 연산이 잘못되어 발생하는 예외이다. 다음과 같이 수학과 관련된 연산을 잘못 할 경우 발생한다. 0으로 나누기 제곱근 구하기 등 자바에서 이러한 수학 연산에 대해 ArithmeticException이 발생한다. 이는 컴파일시에는 오류가 발견되지 않지만, 실행시에 오류가 발생하기 때문이다. 예시 대표적인 예시는 다음과 같다. // int로 선언했기 때문에 정수로만 계산 가능하다. int a = 10; int b = 0; // 0으로 나누는 경우 ArithmeticException이 발생한다. int c = a / b; 해결방법 ArithmeticException이 발생하는 경우는 에러를 출력하고 코드 내 연산을 바꾸거나,.. 2023. 2. 10.
[파이썬(python)] PermissionError: 파이썬에서 권한 오류 PermissionError는 파이썬에서 파일이나 디렉토리에 접근할 권한이 없을 때 발생하는 오류입니다. 이 오류는 운영체제에서 파일 또는 디렉토리에 대한 접근 권한을 관리하는 경우에 발생합니다. 예시 # example.txt 파일을 읽기 모드로 열려고 할 때 with open("example.txt", "r") as file: contents = file.read() # Output: PermissionError: [Errno 13] Permission denied: 'example.txt' 해결방법 파일 또는 디렉토리의 권한을 변경하는 방법 # 파일의 권한을 읽기/쓰기 권한으로 변경 import os os.chmod("example.txt", 0o777) 관리자 권한으로 코드를 실행하는 방법 # Wi.. 2023. 2. 10.
apt/yum/brew 등 패키지관리자의 update와 upgrade의 차이 우리는 OS를 운영할때 brew나 yum, apt등을 이용하여 패키지를 관리합니다. 저도 보통 서버에서는 yum을 통해 관리하고, 맥북에서는 brew를 자주 쓰고있습니다. 최신버전을 유지하고 싶을땐 update와 upgrade를 둘 다 해주고있었는데요 문득 그차이가 궁금해졌습니다. 결과 요약 yum update : 최신 버전으로 패키지 수정 + 사용하지 않는 패키지 유지 $yum update upgrade : 최신 버전으로 패키지 수정 + 사용하지 않는 패키지 삭제 $yum upgrade $yum update --obsoletes 와 $yum upgrade는 같은 처리를 합니다. --obsoletes 는 사용하지 않는 패키지 삭제 옵션 apt update : 업그레이드 가능한 패키지들의 버전에 대한 정보.. 2020. 12. 20.
LocalDateTime의 데이터가 9시간 차이남 java에서 찍어보면 아래와 같이 현재 시간이 찍힙니다. expires_at : 2020-12-19 20:44:13 issued_at : 2020-12-19 20:44:14 //Java에서 찍어봤을때나오는데이터 { "expires_at": { "date": { "year": 2020, "month": 12, "day": 19 }, "time": { "hour": 20, "minute": 44, "second": 13, "nano": 0 } }, "issued_at": { "date": { "year": 2020, "month": 12, "day": 19 }, "time": { "hour": 18, "minute": 44, "second": 14, "nano": 0 } } } 하지만 DB에 들어간 데이터는.. 2020. 12. 19.
2015 맥북 프로 레티나 13인치 스피커 교체 2015 맥북 프로 레티나 13인치 스피커 교체 얼마전 부터 맥북의 왼쪽 스피커에서 지지직거리며 찢어지는 소리가 났습니다 2015년 버전인데 스피커 수명이 다한거 같습니다. 그래서 수리를 맞기려고 알아보니 가격이 음..10만원이 넘어갑니다. 정식 서비스센터에서 수리하는게 좋겠지만 보증기간도 끝났고, 저는 막귀라서 굳이 정품 스피커가 필요 없습니다. 혹시나 스피커가 안된다고 하더라도 블루투스 이어폰이 있기에 급하진 않습니다. 그래서 셀프로 수리하기로 했습니다. 부품 수급 부품은 네이버, 다나와 등등 국내 사이트를 알아봤지만 모두 해외배송이었고 가격이 4만원이상이었습니다. 그러던 중 알리에서 아주 저렴이 모델을 찾았습니다. 가격 12500원 정도? 배송비는 무려 무료 : 무료로 선택해도 배송이 빠릅니다. 1.. 2020. 12. 19.
Homebrew 설치하기 오랜만에 맥북 포맷 후 세팅 1. brew.sh/index_ko 에 접속한다. Homebrew The Missing Package Manager for macOS (or Linux). brew.sh 2. 터미널을 켜고 brew.sh/index_ko에서 제공하는 설치 명령어를 넣기만 하면 된다. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 3. xcode설치 ...... Downloaded Command Line Tools for Xcode Installing Command Line Tools for Xcode Done with Command Line Tools for Xcode .. 2020. 12. 16.
윈도우즈에서 리눅스 설치 - WSL(Ubuntu) 윈도우 개발환경설정 우리가 맥에서의 개발이 편하다고 느낀건 shell에 직접 접근하여 리눅스명령어를 통해 개발환경을 구축하고 운영할수 있었기 때문입니다. 윈도우는 리눅스와 다른 체계를 통해 개발 환경 구축시 개발자가 이질감을 느낄수 밖에 없었습니다. 그래서 WSL이라는 기술을 통해 windows에서도 Linux 터미널에 액세스하여 Linux 응용 프로그램 및 워크 플로를 실행할 수 있습니다. WSL은 WSL1과 WSL2가 존재하지만 저는 안정화버전인 WSL1을 설치하려고합니다. WSL2에는 아직 기능적인 이슈가 존재하고, 특히 Windows Insider Program에 가입해야하고, 강제로 beta버전의 윈도우10 빌드를 사용하므로써 윈도우 자체가 불안정해지는 이슈가 존재한다는 여러 글들을 봐서 그렇다.. 2020. 5. 8.
docker centos7 nginx container 띄우기 docker centos7 nginx container 띄우기 //centos image pull PS D:\docker> docker pull centos/systemd Using default tag: latest latest: Pulling from centos/systemd Digest: sha256:09db0255d215ca33710cc42e1a91b9002637eeef71322ca641947e65b7d53b58 Status: Image is up to date for centos/systemd:latest docker.io/centos/systemd:latest //centos7 컨테이너 실행 PS D:\docker> docker run --privileged -d -p 80:80 --name.. 2020. 4. 30.
반응형