본문 바로가기

분류 전체보기

(887)
[Java] toString에서 나타나는 [, L 등의 문자의 정체는? 간단한 코드이다. 아래의 코드를 수행하면 어떤 글자들이 콘솔에 찍힐까? package com.tistory.namocom.question public class ToStringTest { public static void main(String[] args) { Object object = new Object(); Object[] objects = new Object[1]; System.out.println(object); System.out.println(objects); } } 아래의 결과를 보기 전에 미리 생각해보자. 더보기 java.lang.Object@6576fe71 [Ljava.lang.Object;@76fb509a 생각했던 것과 일치했을까? System.out.println 왜 이런 글자들이 ..
[Java] String: literal vs new 자바 기초중에 하나이다. 자바에는 문자열을 생성하는 방법이 크게 두가지가 있다. 리터럴(literal) 방식이고 다른 하나는 new 생성자를 이용한 방법이다. 코드로 설명하는 것이 이해가 빠를 것 같다. String str1 = "a"; String str2 = new String("a"); str1 이 리터럴 방식이고, str2 가 생성자를 이용한 방식이다. 퀴즈. 둘 중에 안티패턴은? 답부터 이야기하면 바로 생성자를 이용한 방식이다. 왜 그런지는 아래에서 살펴 볼 수 있다. String Internal 위의 자바코드를 읽을 수 있는 바이트 코드로 나타내보면 아래와 같다. ldc "a" astore_1 new java/lang/String dup ldc "a" invokespecial java/lang..
[Java] hashCode() internal : String, Object 질문: String 간 비교시 헸길리는 부분이있어서 질문 드립니다. String a = "a"; String b = new String("a"); 이와 같은 케이스는 주소가 다르게 생성되던데 이런 케이스 때문에 무조건 equals()메소드로 비교하는것인가요?? 답변부탁드립니다. 질문에 대한 답부터 하면 "맞다."이다. 하지만 이 글을 쓰게 된 이유에는 '주소'라는 말이 있었기 때문이다. 혹시 주소가 hashCode() 돌려주는 값을 의미했는지 물어보니 그렇다고 한다. String 클래스의 hashCode (보통) String 클래스의 hashCode() 는 Object의 hashCode()를 사용하지 않고 오버라이딩해서 구현한다. 버전에 따라 구현 방법은 바뀌었지만 자바 8에서는 public final ..
[Spring] ClientHttpResponse 인터페이스 계층 구조 ClientHttpRequestInterceptor 인터페이스를 통해 로깅을 남기고 있었는데 비표준 Http Status 코드로 인해 개선을 하게 되면서 정리를 하였다. ClientHttpResponse 인터페이스 close()는 며AutoCloseable에 정의한 인터페이스를 재정의한(override) 것이다. 나머지는 이름(상태코드, 숫자형태의 Raw 상태코드, 상태 문자열)의 정보를 획득한다. AbstractClientHttpResponse 추상 클래스 getStatusCode() 를 구현해놓았고 코드는 아래와 같다. public abstract class AbstractClientHttpResponse implements ClientHttpResponse { @Override public Htt..
[iMessage] 아이메시지 대신 문자(SMS)보내기 어머니가 아이폰을 분실하셨다. 그래서 기존에 가지고 있던 3G폰으로 기기변경을 하셨다. 다른 가족들은 모두 아이폰을 쓰고 있는 것이 문제가 되었다. 바로 문자가 제대로 전송이 되지 않는 것이다. 아이폰의 메세지 앱은 iMessage와 SMS/MMS 둘 다 지원을 한다. 메시지의 색을 잘 보면 두가지 색상이 있음을 알 수 있다. 바로 파란색과 녹색이다. 파란색의 영역은 아이메세지로 보냈다는 것이고 녹색은 SMS와 같은 통신사망의 문자서비스로 전송이 되었다는 것이다. 문제는 3G폰은 아이메시지를 읽을 수 없다. 방법 3가지 설정 > 메시지 에서 변경이 가능하다. 1. iMessage 기능을 끈다. (비추) 제일 위에 토글이 켜져있는데 이걸 끄면 무조건 통신사의 문자서비스로 전송이 된다. 하지만 이렇게 되면 ..
[Slack] 이모지 만들기 팁 회사에서 이모자 공장장으로 많이 만들어서 지난 평가에 아래와 같은 내용이 있어서 빵 터진적이 있다. 1년 넘게 이모지 올리면서 몇가지 팁을 적어본다. 이미지의 크기는 크지 않게 가끔 얼굴이나 이미지 기반의 이모지를 올리는데 보통 이런 이미지는 원본자체가 크다 예전에는 픽셀 제한과 용량 제한이 있어서 제약 조건을 맞추기 위한 후작업을 해야 했다. 이제 업데이트 되면서 제법 큰 이미지도 올라간다. 문제는 보여질 때 작으면 무슨 이미지인지 알 수가 없다. 혹시 아래 이미지가 뭔지 알 수 있겠는가? 사실 실제 크기보다 크게 표시가 되고 있고, 레티나 디스플레이에서의 캡쳐는 원래 해상도보다 선명하게 되기에 확대해보면 알 수도 있다. 따라서 적절한 클로즈업이나 크롭이 필요하다. 이미지의 크기는 작지도 않게 macO..
[Tools] TextExpander의 효과(effort) 2019년 주 40시간(월 80시간) 기준으로 10.45 시간을 절약했다고 한다. 가장 많이 사용한 스니핏은 재미있게도 오늘의 날짜를 확장하는 것이다. 2019년 9월 4일 제일 많이 310회 확장을 했다.
[Pokayoke] 휴먼에러를 어떻게 막지? 1955년 히터가 넘어졌을 때 자동 소화되는 장치가 개발된 이후 히터에 의한 화재가 급격히 감소 - 집의 스팀보이도 바닥이 떨어지면 전원이 차단되는 센서와 스위치가 있었음 - 1964년 난연 재료로 잠옷이 만들어진 이후 화재에 의한 사망률이 급격히 줄어듦