분류 전체보기

흐름 제어 : if 분기 if의 사용 x=5 if [ $x = 5 ]; then echo "x eqauls S." else echo "x doesn not equal S." fi if commands; then commands [elif commands; then commands...] [else commands] fi test의 사용 if 명령어와 가장 흔하게 사용되는 명령어는 test이다. 다양한 검사와 비교 작업을 수행할 수 있는데 두 가지 형태로 사용된다. test expression [expression] # 더 많이 사용됨 파일 표현식 자주 사용되는 파일 표현식. 링크에서 퍼왔으며, 사실 더 많이있다.. https://www.oreilly.com/library/view/unix-text-pro..
쉘 스크립트란? 명령어들이 나열되어 있는 파일. 쉘은 이 파일을 읽어서 마치 커맨드라인에 직접 명령어를 입력하여 실행하는 것처럼 수행 쉘 스크립트 작성 방법 스크립트 작성하기 스크립트를 실행파일로 설정하기 쉘이 접근할 수 있는 장소에 저장하기 스크립트 파일 포맷 #!/bin/bash echo 'Hello World!'실행 퍼미션 스크립트에 실팽 퍼미션을 설정하는 일반적인 방법은 두가지이다. 퍼미션 755 설정 : 모든 사용자에게 실행 권한이 주어짐 퍼미션 700 설정 : 소유자만 실행 가능 여기서 중요한 점은 실행을 위해 항상 읽기 권한이 설정되어야 한다는 것이다. 스크립트 파일 저장 위치 스크립트를 실행하기 위해 스크립트명 앞에 정확한 경로명을 입력해줘야 한다. $ ./hello_worl..
연산자 expr : 숫자 계산를 할 때 사용 (역 작음 따옴표 (`)를 사용해야 함) 연산자 *와 괄호() 앞에는 역슬래시를 넣어야함. 연산자 숫자, 변수, 기호 사이에 space를 넣어야함 num=`expr \( 3 \* 4 \) + 2` echo $num 조건 파일 검사 -e 파일명 # 파일이 존재하면 참 -d 파일명 # 파일이 디렉토리면 참 -h 파일명 # 심볼릭 링크파일 -f 파일명 # 파일이 일반파일이면 참 -r 파일명 # 파일이 읽기 가능이면 참 -s 파일명 # 파일 크기가 0이 아니면 참 -u 파일명 # 파일이 set-user-id가 설정되면 참 -w 파일명 # 파일이 쓰기 가능 상태이면 참 -x 파일명 # 파일이 실행 가능 상태이면 참 문자 문자1 == 문자2 # 문자1 과 문자2가 일치 ..
쉘 스크립트 쉘을 사용해서 프로그래밍을 할 수 있으며, 서버 작업의 자동화를 위해 필요하다. 기본문법 파일의 위의 첫 라인은 "#!/bin/bash" 로 시작해야한다. 쉘 스크립트는 실행 권한(x)을 가져야 한다. 변수선언 = 를 이용해서 선언하고 $를 이용해서 사용 (공백은 허용되지 않는다.) {}는 parameter substitution으로 $와 함께 감싼 부분에 변수를 대입해준다. #!/bin/bash word="abc" num=10 echo "${word}" echo "${num}" 기본 출력 echo, printf $# : 스크립트에 전달되는 인자들의 수 $0 : 실행된 스크립트명 $1, $2 ... : 스크립트로 전달된 인자들 (sh test.sh param1 param2 일 경우 $1은 p..
Optional을 어떻게 하면 효율적으로 사용할 수 있을까? 전통적인 null check 코드를 살펴보자 NullPointException 방어패턴 중첩 null 체크 if(a != null){ B b = a.getMember(); if(b != null){ C c = b.getAddress()); if(c != null){ ... } } } return "incheon"; return 하기 if(a == null) return "incheon"; B b = a.getMember(); if(b == null) return "incheon"; C c = b.getAddress(); ... 어떻게 하면 null처리를 효과적으로 어떻게 할 수 있을까? Optional 자바8에는 Optional이라는 것이 생겼..
Mockito 관련 어노테이션 @RunWith(MockitoJunitRunner.class) Mockito에서 제공하는 목객체를 사용하기 하기위해 위와같은 어노테이션을 테스트클래스에 달아준다. @RunWith(MockitoJunitRunner.class) public class Test(){ ... } ⇒ 꼭 달아줘야하는건 아니지만, 이 어노테이션을 달지 않으면 아래와 같은 작업이 필요하다. publc class Test(){ @Before public void setUp(){ MockitoAnnotations.initMocks(this); } } @Mock mock 객체를 생성한다. @InjectMocks @InjectMocks라는 어노테이션이 존재하는데, @Mock이 붙은 목객체를 @InjectMoc..
프로퍼티 우선순위 유저 홈 디렉토리에 있는 spring-boot-dev-tools.properties 테스트에 있는 @TestPropertySource @SpringBootTest 애노테이션의 properties 애트리뷰트 커맨드 라인 아규먼트 SPRING_APPLICATION_JSON (환경 변수 또는 시스템 프로티) 에 들어있는 프로퍼티 ServletConfig 파라미터 ServletContext 파라미터 java:comp/env JNDI 애트리뷰트 System.getProperties() 자바 시스템 프로퍼티 OS 환경 변수 RandomValuePropertySource JAR 밖에 있는 특정 프로파일용 application properties JAR 안에 있는 특정 프로파일용 application..
@Conditional spring4 부터 사용가능하며, Java configuration에서 조건적으로 Spring Bean을 등록할 수 있다. @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE, ElementType.METHOD}) public @interface Conditional { /** * All {@link Condition}s that must {@linkplain Condition#matches match} * in order for the component to be registered. */ Class? extends Condition[] value(); } // Condtion.class public interface C..
Junit 프레임워크에서 많이사용되는 모키토 프레임워크에 대해 알아보자. 차별점 테스트 그 자체에 집중한다. 테스트 스텁을 만드는 것과 검증을 분리시켰다. Mock 만드는 방법을 단일화했다. 테스트 스텁을 만들기 쉽다. API가 간단하다. 프레임워크가 지원해주지 않으면 안되는 코드를 최대한 배제했다. 실패 시에 발생하는 에러추적이 깔끔하다. 환경구성 org.mockito mockito-all 1.9.5 test 기본 사용법 Mockito는 Stub 작성과 Verify가 중심을 이루며 다음과 같은 순서로 진행된다. CreateMock : 인터페이스에 해당하는 Mock 객체를 만든다. Stub : 테스트에 필요한 Mock 객체의 동작을 지정한다.(필요시만) Exercise : 테스트 메소드 내에서 Mock객..
Type별로 중요한 matcher들을 정리 Core anything describedAs is Logical allOf : 모든 조건 만족시 참 (like Java &&) anyOf : 조건 중 하나 만족시 참 (like Java ||) not : 비교 결과 부정 또는 다름 Objects equalTo hasToString instanceOf, isCompatibleType notNullValue, nullValue sameInstance Numbers closeTo greaterThan, greaterThanOrEqualTo, lessThan, lessThanOrEqualTo Beans hasProperty Collections array hasEntry, hasKey, hasValue hasItem,..
깡냉쓰
'분류 전체보기' 카테고리의 글 목록 (26 Page)