본문 바로가기
[Effective Java] 필요하면 방어 복사본을 만들자. [Effective Java] 필요하면 방어 복사본을 만들자. - 자바는 꽤나 안전한 언어이지만, 우리 클래스의 클라이언트가 불변 규칙을 파괴하기 위해 최선을 다할 거라는 가정하에 방어적으로 프로그램을 작성해야 한다. - 가변 객체인 매개 변수는 각각의 방어복사본(defensive copy)을 만들어서 생성자에 전달해야 한다. 그렇지 않으면 예상치 못한 여러 상황이 발생할 수 있다. - 방어복사본은 매개 변수의 유효성 검사에 앞서 만들어야 하며, 유효성 검사는 원본이 아닌 복사본을 대상으로 해야 한다!! ( TOCTOU 공격 ( 검사시간/사용시간) 이슈 ) - clone 은 위험한 복사방법이므로 가급적이면 다른 방법으로 복제하자. final 이 아닌 Class 는 sub class 가 clone 을 상속.. 2017. 1. 10.
구의역 먹자골목 진성한우곱창 원래 민쿤을 보기로 하였으나, Sign off 까지 패스했던 test case 가 어떤 이슈로 깨지는 바람에 의도치않게 10시 넘게까지 진행되었다. 원래 칼퇴할 수 있을 꺼라 예상했는데.... 민쿤한테 곱창 맛있는 걸 사준다고 했는데, 곱창은 커녕 약속도 못 지키게 된 상황... 민쿤은 친구랑 햄버거를 먹으러 간다고 했는데, 뭔가 미안한 것도 있고 얼굴이나 볼까 하고 무작정 구의로 향했다. 구의 주변의 카페에 가서 1cm+ 를 이북으로 읽으면서 아메리카노 홀짝거렸다. 이디야 커피였는데 음.. 조금만 더 영업하지 11시까지밖에 영업을 안 한다고 한다. 그냥 민쿤한테 실망만 안겨준 채로 그냥 오늘은 지나가나보다 하고, 그냥 나 혼자서 민쿤 집을 잘 찾아갈 수 있나 시험삼아 민쿤집이나 살 걸어갔다 돌아온다. .. 2015. 3. 4.
[시작프로그램] HncUpdate 가 뭐야? 삭제해도 되나? 시작프로그램, HncUpdate 가 뭐야? 삭제해도 되나? HncUpdate 윈도우 최적화를 위해서는 꼭 켜지 않아도 되는 시작 프로그램들을 제거해주는 것이 좋다.불필요한 시작프로그램은 윈도우가 시작하면서부터 구동되어 계속 리소스를 낭비하기 때문이다. HncUpdate 는 한글 업데이트 관련 프그램으로 꼭 최신업데이트를 유지할 필요가 없다면 삭제해도 무방하다. 제거 후 크리티컬한 이슈를 발견해 프로그램을 사용하는데 문제가 있다고 판단된다면, 수동으로 업데이트 해주면 된다. hcnupdate, HncUpdate 가 뭐야? 삭제해도 되나?, windows, 불필요 프로그램, 삭제, 수동, 시작 프로그램, 시작프로그램, 아래한글, 업데이트, 윈도우, 이슈, 제거, 최적화, 크리티컬, 한글, 한글 업데이트 2013. 12. 2.
[android] Volley URL related issue( bug ) at GingerBread. - java.io.IOException: Malformed ipv6 address: android, Volley URL related issue(bug) at GingerBread. - java.io.IOException: Malformed ipv6 address: [En] If you use Volley network library with GingerBread and the below version devices, you might encounter URLMalformedException with this kind of message. java.io.IOException: Malformed ipv6 address: It it known issue about the URL class. The problem happens when the host part contains port num.. 2013. 10. 5.
[android] inputtype number 에 대한 버그 해결 방법 inputtype number 에 대한 버그 해결 방법 EditText InputType 을 Number 로 해도, EditText를 클릭하면 숫자 키보드가 아닌 일반 키보드가 나오곤 한다. 이 문제는 안드로이드 자체 버그로 보이는데, 이것을 해결하려면 windowSoftInputMode 를 adjustPan 으로 주면 된다. @Manifest activity tagandroid:windowSoftInputMode="adjustPan" windowSoftInputMode 의 기본은 adjustResize 이기 때문에 windowSoftInputMode 를 adjustResize 로 할 경우 해당 이슈는 계속 발생한다. adjustpan, adjustresize, Android, android:window.. 2013. 7. 3.
반응형