전체글보기 86

Java 복합 대입 연산자(+=, -=, *= 등) 캐스팅

Java의 복합 대입 연산자 +=는 왜 자동으로 캐스팅될까?1️⃣ 기본 개념자바에서 x += y 같은 **복합 대입 연산자(compound assignment)**는 단순히 x = x + y와 동일하지 않다.📌 내부적으로 컴파일러가 다음처럼 처리한다:x += y ⟶ x = (T)(x + y)여기서 T는 좌변(x)의 타입이다.즉, 좌변 타입 기준으로 자동 캐스팅이 일어난다.2️⃣ 산술 승격(Arithmetic Promotion)먼저 자바의 산술 연산 규칙에 따라 byte, short, char는연산 시 int로 승격(promote) 된다.예:char c = 'A';c = c + 2; // ❌ 컴파일 에러이유: c + 2의 결과는 int,int → char은 명시적 캐스트 필요3️⃣ 복합 대입의..

JAVA 2025.11.06

git commit 에 티켓 문서 주소 연동하기 (Autolink & Commit Hook)

아틀라시안의 Bitbucket과 Jira를 사용하여 업무를 하다가,깃허브와 노션을 사용하여 업무하는 환경으로 이직하게 되었다. 이 때 Bitbucket 에서 커밋 제목이던 내용에 Jira의 티켓 번호를 쓰면자동으로 Jira의 티켓 문서 URL 이 링크되던 기능이 떠올랐고, 깃허브와 노션 환경에서도 사용해보고자 해당 게시글을 작성해본다. 0. 목표 정리커밋 제목에 ITEM-123 / N-7b3c... 같은 짧은 토큰만 써도GitHub 웹에서는 자동으로 Notion 페이지로 링크가 걸리고GitHub Desktop / Visual Studio에서도 커밋 상세를 보면 클릭 가능한 URL이 있어서 바로 열 수 있게 만들기1. GitHub Autolink 설정해당 방법을 사용하면 정확하게 우리가 원하던 방식으로 링..

git 2025.11.04

OCPJP 1Z0-830 합격을 위한 공부 목차 List

오라클 바우처 유효기간이 얼마남지 않는 것이 있어서, ocpjp 1z0-830 시험을 접수했음.그 후 ocpjp 합격을 위해 공부해야할 리스트를 개인 용도로 작성 함. Day 1 — 언어·OOP·컬렉션·스트림[A+B] 언어 기본 & 흐름 제어 (1.5h)[ ] 값/형변환/우선순위/오토박싱, Math 자주 쓰는 메서드[ ] String/텍스트 블록(""")/StringBuilder[ ] if/else, switch 표현식(->/yield), 라벨드 break/continue[C] OOP + 최신 문법 (3.0h)[ ] 초기화 순서: 정적 → 인스턴스 / 생성자 / 정적·인스턴스 블록[ ] record(자동 equals/hashCode/toString, 캐노니컬/컴팩트 생성자 규칙)[ ] sealed 계층과..

JAVA 2025.11.03

git 명령어 github Url 비교 표

📘 Git 명령어 ↔ GitHub URL 예시 (‣ .. & ... 모두 포함)CLI 명령어 GitHub URL 예시 설명git diff main..featurehttps://github.com/user/repo/compare/main..featuremain HEAD ↔ feature HEAD 직접 비교 (GitHub에선 잘 안 씀)git diff main...featurehttps://github.com/user/repo/compare/main...feature공통 조상 기준으로 feature 브랜치에서 변경된 부분만 비교 (PR 기본 동작)git diff a1b2c3d..e4f5g6hhttps://github.com/user/repo/compare/a1b2c3d..e4f5g6h특정 커밋 간 직접 비..

git 2025.10.23

역대 아이폰 카메라 화소 및 이미지 센서 크기 정리

아래는 1세대(아이폰)부터 16세대(아이폰 16/16 Pro Max)까지, 1번부터 5번 그룹에 속한 모든 모델의 후면 광각(및 망원/초광각) 카메라 센서·픽셀·해상도 사양을 세대별로 나누어 정리한 표입니다. 초점 거리는 풀프레임 렌즈 기준 초첨 거리 입니다.1. 아이폰, 3G, 3GS모델렌즈초점거리(FF)센서크기해상도아이폰 (초대, 2007)광각37mm1/4″2 MP아이폰 3G (2008)광각37mm1/4″2 MP아이폰 3GS (2009)광각37mm1/4″3 MP2. 아이폰4, 4s, 5, 5s, SE 1세대모델렌즈초점거리(FF)센서크기해상도아이폰 4 (2010)광각29mm1/3.2″5 MP아이폰 4s (2011)광각35mm1/3.2″8 MP아이폰 5 (2012)광각33mm1/3.2″8 MP아이폰 5s..

IT제품 2025.07.23

Linux scp 명령어 로컬 to 원격 파일 이동

1. 기본 형식scp [옵션] 소스 경로로컬 파일: /path/to/local/file원격 파일: user@host:/path/to/remote/file대상 경로로컬 경로: /path/to/local/dir/원격 경로: user@host:/path/to/remote/dir/2. 주요 옵션옵션 의미-r디렉터리(폴더) 전체를 재귀 복사-P SSH 접속 포트 지정 (-p는 권한 보존용이니 주의)-p원본 파일의 타임스탬프·퍼미션·소유권 보존-C전송 데이터 압축 (네트워크 대역폭 절약)-i 특정 개인키 파일로 인증 (예: -i ~/.ssh/id_rsa_blog)-v자세한(디버그) 출력3. 자주 쓰는 예시3.1 로컬 → 원격 (단일 파일)scp ~/projects/demo.txt jaeho@192.168.0.10..

Linux (RHEL) 2025.07.22

dotnet sdk 설치 명령어

윈도우#설치 가능 버전 확인winget search Microsoft.DotNet#버전지정 설치winget install Microsoft.DotNet.SDK.8#혹은winget install Microsoft.DotNet.SDK.Previewwinget 설치 참고https://jhchoi.tistory.com/entry/winget-%EC%84%A4%EC%B9%98-%EB%AA%85%EB%A0%B9%EC%96%B4 Mac os# 설치 경로 tap 추가brew tap isen-ng/dotnet-sdk-versions#설치 가능 버전 확인brew search dotnet-sdk# 최신 .NET SDK 설치 (최신 버전 자동) brew install --cask dotnet-sdk# 버전 지정 설치brew..

카테고리 없음 2025.07.16

winget 설치 명령어

https://learn.microsoft.com/ko-kr/windows/package-manager/winget/ WinGet을 사용하여 애플리케이션 설치 및 관리WinGet 명령줄 도구를 사용하면 개발자가 Windows 컴퓨터에서 애플리케이션을 검색, 설치, 업그레이드, 제거 및 구성할 수 있습니다.learn.microsoft.com WinGet 명령줄 도구는 Windows 10 버전 1809(빌드 17763) 이상에서만 지원됩니다.App Installer 에 포함되어있기 때문에 아래 명령어로 App Installer 를 설치 하면 winget 이 설치된다. 이 글을 보고 있는 사용자는 이미 설치되어 있을 확률이 높기 때문에winget --version 을 통해서 설치되어있는지 먼저 확인 파워쉘 혹..

카테고리 없음 2025.07.16

Node.js 설치 명령어

윈도우#설치 가능 버전 확인winget search NodeJS#최신버전 설치winget install OpenJS.NodeJS#LTS 설치winget install OpenJS.NodeJS.LTS#NVM 으로 설치하려면 NVM 설치... (필요과정 아님)winget install CoreyButler.NVMforWindows Mac os#최신버전 설치brew install node# 위 과정만으로 끝이지만 아래는 nvm 으로 설치하는 과정#NVM 으로 설치하려면 NVM 설치... (필수과정 아님)brew install nvm# NVM 설치 완료되면 입력하라는 명령어 입력 # 본인 터미널에서 nvm 쳐서 안될때 혹은 설치 완료 후 아래와 비슷한 것 추가하라 할때#인텔 Mac (Intel)echo 'e..

카테고리 없음 2025.07.16

mac os homebrew 맥북 홈브류 설치 방법

https://brew.sh/ko/ HomebrewThe Missing Package Manager for macOS (or Linux).brew.sh/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 위 홈페이지에 접속하여 설명을 따라 설치 가능하다. 혹은 위 명령어를 터미널에 입력하면 아래와 같이 설치 완료된다. 설치 완료 후 아래 명령어를 통하여 설치 확인 가능하다.brew --version

카테고리 없음 2025.07.16

OpenJDK 다운로드 주소 및 설치 경로

https://jdk.java.net/archive/ Archived OpenJDK GA ReleasesArchived OpenJDK General-Availability Releases This page is an archive of previously released builds of the JDK licensed under the GNU General Public License, version 2, with Classpath Exception. WARNING: These older versions of the JDK are provided to hejdk.java.net 위 주소에서 원하는 버전으로 선택해서 다운로드 받으면된다.9버전 부터 25년 기준 24버전 까지 다운로드 가능함. 설치 경로 (J..

JAVA 2025.07.07

윈도우 npm 명령어가 실행되지 않을 때

npm : 'npm' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오.위치 줄:1 문자:1+ npm+ ~~~ + CategoryInfo : ObjectNotFound: (npm:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException 리액트 프로젝트 생성을 위해 nodejs를 설치했지만,npm 명령어가 실행되지 않을 때 설정 방법 위의 이미지처럼 오류가 발생할 경우윈도우 파워쉘 / 터미널의 스크립트 실행이 기본적으로 제한되어 발생하는 문..

카테고리 없음 2025.07.03

리눅스 dnf 명령어 간단 정리

DNF(Dandified YUM)는 RHEL 계열(예: Fedora, CentOS Stream, RHEL)에서 패키지 관리를 담당하는 도구로, 이전의 yum을 개선해 더 나은 의존성 해소 및 성능을 제공합니다.# 시스템 전체 업데이트 확인 sudo dnf check-update # 보안 업데이트만 확인 sudo dnf updateinfo list security # 전체 패키지 업데이트(업그레이드) sudo dnf update # 또는 # sudo dnf upgrade (apt-get 과 다르게 둘중 하나만 입력해주면 업그레이드 까지 완료)# 특정 패키지만 업데이트 (예: httpd) sudo dnf update httpd # 배포판 버전 동기화 (distro-sync) sudo dnf distro-s..

Linux (RHEL) 2025.07.03

[WPF] MVVM 패턴 쉽게 따라하기 기초편

만약, 아래와 같은 시험의 요구사항이 있었다고 가정한다.주제 : 설비의 상태 값 변경과 로그 저장조건 : C# UI 프레임워크 사용, MVVM 패턴으로 작성요구사항1. 설비의 상태를 Idle, Run, Stop 중 하나로 선택할 수 있는 콤보박스 제공 2. Set 버튼 클릭 시, 선택된 상태로 설비 상태 변경 3. [기존상태] -> [신규상태] 형태의 메시지를 텍스트 박스에 출력 4. 해당 메시지를 시간 정보와 함께 로그로 저장 해당 게시글에서는 Visual Studio 사용 겅험은 있지만WPF의 MVVM 패턴을 경험해본적 없는 사람들을 대상으로,위 문제를 직접 작성해보는 과정을 거치겠다. MVVM 패턴 이론에 대한 내용은 따로 다루지 않는다. 1. 프로젝트 생성 최신 MVVM 도구를 사용하기 위하여 W..

WPF 2025.06.26

5950x 7950x 9950x 스윗 스팟 예상치

실제 테스트 결과 5950x 는 70w9950x 는 50w 로 ppt를 설정해두고 TDC = ppt *0.8EDC = ppt * 1.1 이렇게 설정하면 쉽고 빠르게 저전력 셋팅을 완성할 수 있다.최대 전성비가 아닌 전력제한을 걸며 최대 성능을 얻고싶다면 105w 근처로 ppt를 걸면된다. 싱글코어는 ppt 제한을 걸더라도 큰 성능 변화가 없기에윈도우 os의 간단한 사용에서 실제 체감 성능은 크게 차이나지 않는다. ----- 아래는 5950X, 7950X, 9950X 세 CPU에 대해 가능한 실측치와 **추정치(★)**를 모두 모아 만든 “전력(PPT) 대 Cinebench R23 멀티 코어 성능 및 효율” 표입니다.• ● = 실측치, ○ = 커뮤니티/리뷰 보고치, ★ = 추정치• “점수/W”는 점수 ..

IT운영 2025.06.25

proxmox cluster 나가기, 삭제하기

ssh root@proxmox 아이피 클러스터 나가기 # 노드명 확인pvecm status# 대상 노드를 Corosync 클러스터에서 탈퇴systemctl stop pve-cluster corosyncsystemctl disable corosync#나갈경우pvecm leave# 내보낼경우pvecm delnode 노드아이디 클러스터 삭제하기 # /etc/pve 경로 읽기전용 해제pvecm expected 1 # 아래 경로 파일에서 클러스터 관련 구성 제거nano /etc/pve/corosync.conf nodelist { node { nodeid: 1 name: kcapve quorum_votes: 1 ring0_addr: 192.168.35.38 } # (다른 노드 정의 생략..

Proxmox 2025.05.16

윈도우 파일탐색기 폴더 최근항목 삭제

윈도우 파일탐색기 폴더 홈 에서원드라이브 등의 최근항목이 계정을 로그아웃해도 계속 최근항목으로 남아있고 목록 제거또한 되지 않을때가 있다. 이때 아래 폴더에 접근하여 파일들을 삭제 시 최근항목 캐시가 초기화된다. Win + R → %AppData%\Microsoft\Windows\Recent\AutomaticDestinations 입력 → 폴더 내부의 모든 *.automaticDestinations-ms 파일 삭제 Microsoft AnswersReddit작업 관리자에서 Windows 탐색기를 선택하고 다시 시작 을 눌러 캐시를 새로 고칩니다. -- 아래는 참고 1. 사라지는(또는 초기화되는) 것들영향설명모든 Jump List 기록작업표시줄 아이콘을 우클릭했을 때 뜨던 ‘자주 사용/최근 항목’ 목록과..

Windows 2025.05.14

proxmox 설치 진행 안되고 멈출 시 nomodeset

설치 시 아래와 같은 문구로 설치가 되지 않을 때nvidiafb ahci nvme wmi intel_pmc_core pinctrl_alderlake mac_hid acpi_pad video acpi_tad intel_hid spi_intel_pcixhci_pci i2c_i801 acpi_cpufreq rtc_cmos efi_pstore pcspkr intel_cstate rapl aesni_intel sha1_ssse3 sha256_ssse3 ghash_clmulni_intelpolyval_clmulni crc32_pclmul crct10dif_pclmul kvm_intel intel_powerclamp x86_pkg_temp_thermal Intel_tcc_cooling Intel_uncore_freq..

카테고리 없음 2025.05.07