목록전체 글 (361)
HIT해

Liquid Glass 업데이트 버튼이 유리처럼 뒤의 요소들이 비쳐 보이도록 디자인이 변경됩니다. 이 디자인은 WWDC 2025 발표 이전에 '돌하루방' 프로젝트에서 적용하려 했지만, 시간적, 기술적으로 어려워서 결국 제외했던 디자인입니다. 이런 식으로 배경화면이 버튼 뒤로 비치게 만들고 싶었지만, Swift에서 기본적으로 제공하는 opacity만으로는 구현이 어려웠습니다. 버튼과 이미지의 좌표값을 계산해 연하게 표현해야 했는데, 이 작업이 메인 기능이었던 3D 모델 상호작용만큼 오래 걸릴 것 같아 후순위로 미뤄두었습니다. 이번 발표로 해당 디자인을 쉽게 적용할 수 있을 것 같아 기대됩니다. Liquid Glass는 iOS뿐만 아니라 Mac, iPad, Watch 등 모든 Apple 플랫폼에 적용된다고..

Overflow/Underflow?Overflow: 데이터 타입의 최대값을 넘으면 값이 다시 최소값부터 시작함.Underflow: 최소값 아래로 내려가면 값이 다시 최대값부터 시작함.// int: -2,147,483,648 ~ 2,147,483,647 int max = Integer.MAX_VALUE; System.out.println("max: " + max); // 2147483647 System.out.println("max + 1: " + (max + 1)); // -2147483648 (오버플로우)int min = Integer.MIN_VALUE;System.out.println("min: " + min); // -2147483648System.out.println("min - 1: " + (m..

프로세스 메모리란?메모리 내 데이터를 일시적으로 기억해두는 영역이다.각 프로세스는 자신만의 주소 공간을 갖고, 그에 상응하는 메모리를 필요로 한다.프로그램 실행 관점에서, 기억 공간을 연결하기 위해 참조와 바인딩 개념을 활용한다.참조주소와 변수 간의 관계를 의미한다.메모리 내 위치를 참조하기 위해 주소(수치화된 값)를 사용한다.수치 주소를 기억하기 어렵기 때문에, 이름을 붙인 변수를 사용한다.바인딩변수와 기억장소(메모리) 간의 관계를 의미한다.변수에 기억장소를 할당하는 것은 특정 메모리 공간을 바인딩하는 것과 같다.즉, 변수를 실제 저장되는 값과 연결짓는 과정이다. 메모리 할당영역 스택 메모리지역 변수, 함수 호출, 함수 매개변수 등 자동 변수가 저장되는 영역이다.블록 내 생성된 지역 변수를 처리하기 위..
변수란?기억장치에서 그 내용물이 변할 수 있는, 저장 장소를 추상화하여 문자나 숫자같은 값을 담을 수 있는 공간이다. 데이터 타입이란?Java에서는 어떤 데이터를 저장할지 명시적으로 알려주는데, 이것을 데이터 타입(자료형)이라고 한다.데이터 타입은 변수에 저장할 데이터가 메모리에 어떻게 저장되고, 프로그램에서 어떻게 처리되어야 하는지를 명시적으로 알려주는 역할을 한다. 데이터 타입의 분류Java의 데이터 타입은 기본형(Primitive Type)과 참조형(Reference Type)으로 구분된다. 기본형(Primitive Type)실제 값을 저장하는 데이터 타입이다.메모리의 Stack 영역에 값이 직접 저장된다.소문자로 시작하며, null 값을 가질 수 없다.변수 선언과 동시에 메모리 생성, 고정된 크기..
제가 LH 청년전세를 신청하면서 겪었던 시행착오와, 그 과정에서 얻은 꿀팁들을 정리해봤습니다. 신청 방식 비교LH 전세에서 특정 건물을 신청해서 들어가는 방법, 전세임대 수시모집 공고를 신청하는 방법 두 가지가 있습니다.전자는 경쟁률이 낮은 곳으로 신청했는데도 두 번 다 떨어졌고, 후자는 신청하자마자 선정되었습니다.전자는 건물을 직접 알아볼 수 없지만, 제가 선정된 방식은 직접 건물을 찾아서 권리분석을 신청해야 하는 번거로움이 있었습니다.선정 통보일로부터 9개월 이내에 계약 체결이 완료되어야 합니다. (권리분석 승인 & LH 위탁업체 방문까지 포함!)→ 권리분석 시간이 걸리기에 늦어도 8개월째에는 진행하시는 걸 추천 매물 물색 팁저는 서울에서 구했는데, LH 가능한 매물이 정말 적었습니다.이유는 대략 이..

프로토콜이란?1명 이상의 실체(컴퓨터, 서버 등) 사이에서 무엇을, 언제, 어떻게 통신할지 정해놓은 절차, 규칙, 약속을 의미한다.즉, 데이터를 주고받을 때 반드시 따라야 하는 '통신의 규약'이다.프로토콜의 구성요소Syntax(문법): 데이터 포맷, 부호화 방식Semantic(의미): 전송 제어 정보, 오류 처리Timing(타이밍): 속도 일치, 순서 제어웹 프로토콜이란?웹에서 데이터를 주고받을 때 사용하는 통신 규약을 말한다.대표적으로 HTTP, HTTPS, FTP, SMTP, DNS, TCP, UDP, SSL, TLS 등이 있다.주요 웹 프로토콜과 포트 번호프로토콜설명기본 포트HTTP웹에서 데이터를 주고받는 기본 프로토콜 (비암호화)80HTTPSHTTP에 SSL/TLS로 암호화를 더한 보안 프로토콜4..

암호란?정보를 이해할 수 없게 암호화하거나, 다시 해독하기 위한 일련의 단계를 정의한 알고리즘을 말한다. 암호 기법이란?메시지의 의미를 숨기는 다양한 방법론을 의미한다. 암호화 절차암호키의 대칭성에 따른 분류1. 대칭키 방식 (비밀키 방식)암호화와 복호화에 같은 키를 사용한다.대표 알고리즘: DES, AES 등이 있다.2. 비대칭키 방식 (공개키 방식)암호화와 복호화에 서로 다른 키를 사용한다.대표 알고리즘: RSA 등이 있다. 대칭키 방식 특징대용량 평문을 암호화할 때 비대칭키 방식보다 훨씬 빠르고 효율적이다.하나의 비밀키만 관리하는 것이 아니라, 수학적으로 관계된 2개의 키로 인증과 키교환을 해결한 뒤, 대칭 암호키를 확보해서 공유하는 방식을 사용한다. 블록 암호화입력되는 평문 데이터를 블록 단위로 ..
DP란? (Dynamic Programming, 동적 프로그래밍)DP는 Dynamic Programming의 약자로, 동적 프로그래밍이라고 부른다.하나의 큰 문제를 여러 개의 작은 문제로 나누어 해결하고, 그 결과를 저장하여 중복 계산을 피하는 알고리즘 기법이다.DP가 필요한 이유모든 알고리즘은 기존의 문제를 더 효율적으로 해결하기 위해 고안되었다.DP는 완전탐색, DFS, BFS처럼 모든 경우의 수를 전부 따져야 하는 문제에서 경우의 수가 너무 많아 속도가 느려지는 문제를 개선하고자 만들어진 알고리즘이다.예전에는 최단 경로나 최적의 점수를 찾으려면 모든 조합을 일일이 계산해야 했지만, DP를 사용하면 수행 시간이 획기적으로 단축된다.한메모리(배열, 자료구조)를 활용해 중복 연산을 줄이고, 그로 인해 수..