요즘 코로나 때문에 매일매일 재난 문자가 울린다. 그런데 내용은 마스크 구입 정보, 확진자 동선 같은 급하지 않은 ‘정보’에 가까운데도, 항상 위급한 상황인 양 우렁차게 울려대는 내 아이폰.이 이유가 한국 재난문자 표준에 따른 ‘공공 안전 경보’와 ‘긴급 재난 문자’를 아이폰이 구분하지 못해서 그런 거라는데, 마침 타이밍 좋게 iOS 13.4 베타에 ...
불변성 (Immutability)
불변성이란 한번 생성된 객체가 생명 주기 동안 어떤 상황에서도 상태 (인스턴스 변수의 값) 가 변하지 않음을 뜻한다. setter를 뚫어 놓는다면 당연히 그 객체는 불변하지 않다. getter 역시도 값을 JVM Stack에 저장하지 않고 heap의 메모리 주소의 참조값을 제공하는 자료형을 리턴하는 (예: Collection) 경우 값을 hard c...
자바 HashMap 뜯어보기
자바의 HashMap은 기존의 HashTable 대신에 사용되는 Map을 구현한 자료형이다. 즉 Key와 Value를 가지며 거기에 추가로 고유한 특성으로 ‘해시’를 이용하여 많은 양의 데이터 속에서 더 빨리 원하는 값을 찾을 수 있다. HashMap의 Key와 Value에는 어떤 값이든 지정하여 저장할 수 있다. `private static Ma...
추상 클래스/상속과 인터페이스의 차이
자바에서 상속은 개념적으로는 부모 클래스의 멤버 변수와 메소드를 가져다 사용할 수 있는 자식 클래스를 생성하는 것이며, 구조적으로는 비슷한 클래스들의 공통되는 부분을 합쳐서 중복되는 코드를 줄일 수 있는 방법이다. 우테코 미션 중 하나인 블랙잭 게임을 예로 들어보면, 블랙잭 게임의 구성원은 한 명의 딜러와 여러 명의 플레이어로 나뉘는데, 이들이 취하...
Objects 클래스가 제공하는 유틸리티 메소드
java 7에서 추가된 Objects 클래스의 유틸리티 메소드를 다음과 같이 활용할 수 있다. 객체를 생성할 때 null이 들어오는것을 걸러내기 위해 다음과 같이 코드를 짜는 경우가 많은데 `private void isSame (String str, String expected) { if (string != null || string.equ...
의존성 주입(Dependency Injection)
Effective Java 3/E 중 - 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라. 의존성 주입이란, 간단하게 말해서 어떤 자원에 대한 작업을 정적 유틸리티 클래스나 싱글톤 패턴을 이용하여 처리하는 대신, 하나의 객체가 다른 객체에 의존성을 갖게 하여 사용하는 자원에 따라 동작이 달라지게 하는 것이다. 인스턴스를 생성할 때 생...
이 또한 지나갈 겁니다.
전례없는 사태가 벌어졌다. 코로나19 사태로 수많은 IT 기업들이 재택근무를 선언했다.그리고 역시 우아한테크코스도 예외는 아니었다. 로또 1주차 미션이 끝나고 한가로웠던 2월 24일, 슬랙의 공지사항에 캡틴 포비의 글이 하나 올라왔다. **@channel** 안녕하세요.현재 코로나19가 빠르게 확산되면서 긴급하게 공지할 내용이 있어 메시지 남겨요...
갤럭시 S20 울트라 체험후기.
TV 광고를 보니 누구에게나 최신 갤럭시 S20 시리즈를 하루간 빌려준다고 한다. 지정된 디지털프라자에서만 대여가 가능하다는데, 마침 시내에 나갈 일이 있어서 빌려 왔다. 신분증과 전화번호를 남기라고 하며 S20 플러스와 S20 울트라 중에서 고르라고 한다.최신 기능들을 다 체험해 봐야 대여의 의미가 있는 거니 울트라로 선택. 외관은 요즘...
자바의 싱글톤 패턴
우테코 3주차 로또(수동) 미션을 하면서, 1주차에 썼던 enum을 또 어떻게 써먹을 수 있을지 고민을 해 보았다. 프로그래밍 요구사항 중: **java enum을 적용해 프로그래밍을 구현한다.** 우선 생각난 것은 한 번씩만 생성되면 되고 또 숫자 범위 등에 대해 검증이 필요한 로또 번호를 enum으로 만드는 것이었는데, 아무리 생각해도 깔끔...
씽크패드 X1 Carbon 5세대 액정 4K로 개조하기 - 1. 자료 수집
씽크패드 X1 카본 5세대를 사용하고 있다. i7 7600U에 16GB RAM, WQHD LCD를 탑재한 풀옵션 모델인데, 여기에 리눅스를 사용하면서 늘 불편 사항 하나가 있었다. 바로 14인치 WQHD라는 애매한(?) 해상도로 인해 HiDPI 배율 조절이 애매하게 되었다는 점인데… 윈도우야 소숫점 배율로 창 크기(엄연히는 DPI)를 자유자재로 조절...