개발자노트

고정 헤더 영역

글 제목

메뉴 레이어

개발자노트

메뉴 리스트

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록
  • James (126)
    • IT (116)
      • 프로그래밍 (115)
      • 팁 (1)
    • Contact (0)
    • 에세이 (10)

검색 레이어

개발자노트

검색 영역

컨텐츠 검색

IT/프로그래밍

  • [Cucumber] 작동원리 분석

    2015.12.06 by James Lee.

  • Bit 연산 Leaning Test

    2015.12.06 by James Lee.

  • [TDD] 시침과 분침 사이 각도 계산

    2015.12.06 by James Lee.

  • [TDD] 이진 검색

    2015.12.06 by James Lee.

  • 웹 프로토콜 동작 원리

    2015.12.06 by James Lee.

  • URL 구조 분석

    2015.12.06 by James Lee.

  • Spring 기본 세팅, 기본 출력, doPost, doGet메소드

    2015.12.01 by James Lee.

  • [리팩토링] 레거시 코드 리팩토링 예제

    2015.12.01 by James Lee.

[Cucumber] 작동원리 분석

테스트 코드에 RunWith(Cucumber.class)를 써놓으면, Cucumber가 이 코드를 실행한다는 의미이다.@RunWith(Cucumber.class) //여기 @CucumberOptions(plugin = { "pretty" }, features = { "src/test" }) public class RunTest { }​어떤 코드를 실행하는가?@CucumberOptions에 써있는 위치의 코드 (여기에서는 deposit.feature, RunTest.java가 될 것 같다)Cucumber는 gherkin문법으로 feature의 내용을 다 읽어와서 구문분석을 한다.​Given, When, Then을 식별하여 메소드로 만든다​Feature: Depositing money in to a User..

IT/프로그래밍 2015. 12. 6. 19:53

Bit 연산 Leaning Test

Bit연산에 대한 학습 테스트 작성Bit연산의 종류와 그 의미는 아래의 표와 같다. 부호의미|OR&AND^XOR~NOTRightShift>>>RightShiftFillZero & 연산& (AND)연산은 비교대상이 전부 1이면 1, 아니면 0을 반환한다. 비교 대상은 2진수와 비교하기 무난한 16진수를 이용하여 표현하였다.0x110 & 0x100x110 & 0x010 (0x10 == 0x010)0x1100x010결과0x010 0x1010x010 (모든 자릿수가 서로 다르다)0x000 (따라서 결과값은 왼쪽과 같다) 0x0100x111 (2번째 자릿수가 서로 같다)0x010 (결과값)@Test public void bitWiseAnd() { assertEquals(0x010, 0x110 & 0x10); as..

IT/프로그래밍 2015. 12. 6. 19:51

[TDD] 시침과 분침 사이 각도 계산

요구사항 정리input으로 시간과 분이 정수로 들어온다.output으로 시침과 분침의 각도를 실수 소수점 1번째 자리까지 계산하여 반환한다.시침과 분침의 각도는 같거나 더 작은것을 반환하도록 한다. (9시 00분을 예로 들면 90도 혹은 270도의 각도가 있다. 이때 90을 반환한다)요구사항 테이블시침분침각도909095117.5(118)930105설계를 안하고 짜도 괜찮은가?테스트 케이스 만들기각도를 계산한다는 의미인 CalAngleTest 테스트 코드를 생성프로덕션 코드 만들기Caller Create 방식을 사용하여 CalAngle 클래스를 만들었다.마찬가지 방식으로 CalAngle클래스에 calAngle메소드를 만들었다.실패하는 테스트 코드 만들기9시 0분을 검사하는 테스트 케이스를 만들었다. 그런데..

IT/프로그래밍 2015. 12. 6. 19:51

[TDD] 이진 검색

TDD를 사용한 이진 검색 요구사항.1~10000까지의 정수를 입력받고 이진 검색을 통하여 걸린 횟수를 출력 ex) 1~100을 찾을때47 입력시 검색 비교값인 7을 반환63 입력시 검색 비교값인 6을 반환 독립된 기능 정의 (설계)저장소의 생성과 초기화 (배열의 크기를 정수값으로 입력하면 그 만큼의 배열이 생성됨, 배열은 순차적으로 1~ 배열의 크기 만큼 채워져 있음)검색 (검색 대상 값과, 배열을 입력하면 이진 탐색 후 걸린 횟수를 반환, 값이 없을시 0을 반환)결과 (결과 값을 받아서 검색 성공여부를 판단)첫번째 TDD Cycle저장소의 생성과 초기화실패하는 테스트 코드 작성 1~10의 값이 저장되어 있는 testAry배열과 1~10의 값이 채워진 10개의 크기의 배열을 생성하는 용도의 bs.ini..

IT/프로그래밍 2015. 12. 6. 19:50

웹 프로토콜 동작 원리

웹 프로토콜 동작 원리URL과 HostName의 차이 - URL : 주소창에 입력되는 전체 문자열 - HostName : URL 구조중 일부 (protocol://hostname[:port]/*.htmlDNS- HostName을 IP로 바꿔줌페이지 동작원리- Google.co.kr을 예로 들어 설명 - Google.co.kr을 주소창에 입력 - DNS에서 해당 HostName을 IP(google.co.kr -> 173.194.127.56)로 변환 - TCP Connect에 IP와 PortNumber(8080)을 파라미터로 넘겨줌 - TCP Socket으로 요청 (request) - 해당 서버에서 response를 받아옴 - HTTP Close로 연결 종료 Request Header 요청 보기개발자 도구 ..

IT/프로그래밍 2015. 12. 6. 19:46

URL 구조 분석

URL 구조 정리넷스루 블로그에 자세하게 설명되있어서 참고하였다.URL이란? 브라우저의 주소 표시줄에 있는 String으로Uniform Resource Locator(획일화된 자원의 위치 탐지기)의 약자이다.파일에 대한 인터넷 상의 고유 주소를 의미한다. 우리는 이 URL을 통하여 웹 페이지, 이미지, 동영상, 사운드 파일 등의 자원을 찾을 수 있다. 실제 존재하는 URL의 구조를 분석해보자.http://jungfrau.co.kr/community/bbs.asp?dsPageType=3&dsBbsAdmin=10&dsCategory=4URL의 구조 순서프로토콜웹 서버경로파일 이름쿼리프로토콜http://웹에서 페이지나 파일에 접근하는데 사용되는 메소드 (메소드? Class에 있는 메소드를 말하는 건가? 아니면..

IT/프로그래밍 2015. 12. 6. 19:45

Spring 기본 세팅, 기본 출력, doPost, doGet메소드

Dynamic Web Project 생성한다.Spring Suite 실행 후 File(단축키 : Shift + Alt + N) - Dynamic Web Project Server 오픈해서 포트번호 확인Servers 탭에서 마우스 오른쪽 버튼 클릭 -> Open을 하면 아래와 같은 창이 나온다.bio.http.port가 포트이고 8080이 기본 포트번호이다.Web.xml 생성WEB-INF폴더의 하위에 web.xml을 생성한다.단축키 : ctrl + N을 누르면 XML폴더 밑에 있다. 서블릿 매핑아래와 같은 기본 내용을 작성한다.사용자가 에 정해져있는 url을 입력하면 서블릿은 과 사이에서 이 동일한 지점으로 간다.그리고 해당 아래의 에 있는 위치의 클래스를 실행한다. 서블릿 클래스 생성서블릿 클래스를 작성..

IT/프로그래밍 2015. 12. 1. 12:55

[리팩토링] 레거시 코드 리팩토링 예제

실습 1. Homeguard기존에 작성된 Legacy Code인 홈가드의 메소드 중 하나인 getSensorMessage를 외부 동작을 바꾸지 말고 리팩토링 해라 (Depency Breaking)getSensorMessage 메소드는 CentralUnit클래스에 있는 것이 맞을까? public String getSensorMessage(Sensor sensor) { String message = "default"; if (!sensor.isTripped()) { if (sensor.getType().equals(Sensor.DOOR)) return sensor.getLocation() + " is closed"; else if (sensor.getType().equals(Sensor.WINDOW)) re..

IT/프로그래밍 2015. 12. 1. 12:54

추가 정보

인기글

  1. -
    -
    IntelliJ 에서 SSH 연결 설정하기

    2017.09.07 12:34

  2. -
    -
    개발자커리어 Young Community 연합세미나 이력서 피드백 강의 내용 정리

    2017.08.28 22:12

  3. -
    -
    Reactive Programming with JDK 9 Flow API 번역

    2017.10.20 17:55

  4. -
    -
    IntelliJ에서 Spring Boot와 Jrebel 연동시 수정사항이 제대로 반영 안되는 현상 해결

    2017.08.25 12:48

최신글

  1. -
    -
    MAC OS CATALINA 에서 MONGO DB 설치하기

    프로그래밍

  2. -
    -
    [에세이] 기회는 언제나 있다.

    에세이

  3. -
    -
    평소의 실력이 자기의 실력이다.

    에세이

  4. -
    -
    [AWS] AWS 백그라운드에서 프로세스 실행시키기

    프로그래밍

페이징

이전
1 ··· 10 11 12 13 14 15
다음
TISTORY
개발자노트 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바