목록전체 글 (23)
ordinary
item39 : 명명 패턴보다 애너테이션을 사용하라 --- 명명패턴의 단점 1. 오타에 취약하다 2. 올바른 프로그램 요소에서만 사용된다. 3. 프로그램 요소를 매개변수로 전달할 방법이 없다. ~~코드 39-1~~ @Test를 선언한 @interface - @Retention(RetentionPolicy.RUNTIME) : @Test가 런타임시에도 유지되어야한다는 뜻 - @Target(ElementType.METHOD) : @Test가 반드시 메서드 선언에서만 사용되어야 한다는 뜻 이와 같이 애너테이션 선언에 다는 애너테이션을 메타애너테이션이라고 한다. ~~코드 39-2 ~~ @Test 애너테이션을 적용한 모습 매개변수 없이 걍 썼을때 마킹(marking)한다고 하고, 이를 marker annotatio..
Sub button1() Dim i as integer With [e5: e129] For i=5 to Sheets.Count Sheets(i). Name = Left ( "(" & cells ( i-4 ) & ")" , 31 ) Next End with End sub 응용만 잘하면 여러기능에 유용하게 쓸수잇음
item38: 확장할수 있는 열거타입이 필요하면 인터페이스를 사용하라. 일반적으로 열거타입을 확장하는 아이디어는 이상하게 여겨진다. 기반 타입의 원소가 뭐지? 문맥상 확장 전 원소라고 생각하겠다. 확장을 하면 확장한 모든 원소를 순회할 경우 등의 설계와 구현이 어려워질 수 있다. 그러나 열거타입이 어울리는 쓰임이 하나 있다. >> 그것은 연산코드(Operation Code) - 인터페이스 public interface Operation { double apply(double x, double y); } - 확장한 이넘코드1 public enum BasicOperation implements Operation{ PLUS("+") { @Override public double apply ( double x,..
요즘 문서 작업 할 일이 많아 엑셀을 주로쓴다... 매크로 돌려보면서 VBA로 코딩한다. sub 함수명 (맞나?) Dim i As Integer Dim shit As Variant For i = 2 To Sheets.Count Set shit = Sheet(i + 3) ActiveSheet.HyperLinks.Add anchor := ActiveSheet.Range("D" & i + 4), Address:= ", SubAddress:= + "'" + shit.Name & "'" & "!A1", TextToDisplay := Range("D" & i + 4).value Next end sub - Integer i를 선언 - Variant shit을 선언 (sheet을 담을것임, 변수명센스다주것음) - i를..
item36 : 비트 필드 대신 EnumSet을 사용하라 item37 : ordinal 인덱싱 대신 EnumMap을 사용하라 item36 : 비트 필드 대신 EnumSet을 사용하라 - 비트 필드를 사용한 열거형 class public class Text { public static final int A_TYPE = 1 t.from, () -> new EnumMap(Phase.class), toMap(t -> t.to, t -> t, (x, y) -> y, () -> new EnumMap(Phase.class))) ); /** * 이전상태 -> 이후 상태의 transition을 구현하기 위해 'Collector'의 사용이 두번 들어갔다. (책의 번역체는 '수집기'라고 했다') * toMap은 점층적 팩터..
- 하나 이상의 파일에서 지정한 패턴을 검색 할 수 있음 grep `pattern` `files` 별표를 찾으려면 grep '*' stars asterisk로 인식하지 않도록 ''를 사용한다. 사용자를 찾을때 who | grep jiyeon 로그인 상태이면 결과 뜨고 로그아웃 상태이면 결과가 뜨지 않는다. 'the' 패턴의 대소문자 구별 안함 ( -i ) grep -i 'the' myFile myFile에서 'DEV'를 포함하지 않는 패턴 ( -v ) grep -v 'DEV' myFile .txt파일 중에 해당 패턴(DEV)이 존재하는 파일이름만 얻기 ( -l ) grep -l 'DEV' *.txt -> 개수 grep -l 'DEV' *.txt | wc -l hi.txt파일 안에서 몇번째 라인에 'DEV..