728x90
반응형
SMALL

전체 글 217

서블릿

참고자료: 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 | 김영한 - 인프런김영한 | 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습www.inflearn.com Spring MVC를 제대로 공부하려면, Spring MVC가 없던 시절로 돌아가서 어떤 웹 기술로부터 출발했고 어떻게 발전했는지 이해하는게 중요하다는 것을 깨닫고 맨 밑바닥부터 잡고 올라와 볼 생각이다. 그 시작엔 서블릿이 있다. 서블릿간단한 HTML Form에서 데이터를 서버로 전송한다고 가정해보자.유저는 Form에 username, age를 입력하고 전송 버튼을 누르면, H..

Spring MVC 2024.04.24

예외 처리 3 (예외 처리 도입)

참고자료: 김영한의 실전 자바 - 중급 1편 | 김영한 - 인프런 김영한 | 실무에 필요한 자바의 다양한 중급 기능을 예제 코드로 깊이있게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문법을 www.inflearn.com 예외 처리 1 에서 다룬 프로그램에서 이런 문제가 있었다. 정상 흐름과 예외 흐름이 섞여 있기 때문에 코드를 한눈에 이해하기 어렵다. 쉽게 이야기해서 가장 중요한 정상 흐름이 한눈에 들어오지 않는다. 심지어 예외 흐름이 더 많은 코드 분량을 차지한다. 이 문제를 점진적으로 해결해보자. NetworkClientExceptionV2 package exception.ex2; public class NetworkClientE..

예외 처리 2 (예외 계층)

참고자료: 김영한의 실전 자바 - 중급 1편 | 김영한 - 인프런 김영한 | 실무에 필요한 자바의 다양한 중급 기능을 예제 코드로 깊이있게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문법을 www.inflearn.com 자바는 프로그램 실행 중에 발생할 수 있는 예상치 못한 상황, 즉 예외(Exception)를 처리하기 위한 메커니즘을 제공한다. 이는 프로그램의 안정성과 신뢰성을 높이는 데 중요한 역할을 한다. 자바의 예외 처리는 다음 키워드를 사용한다. try, catch, finally, throw, throws 자바에서 제공하는 예외 계층도 자바에서 기본형을 제외한 모든 것은 객체다. 예외 또한 객체이다. 모든 객체의 최상위 부..

예외처리 1 (예외처리가 필요한 이유)

참고자료: 김영한의 실전 자바 - 중급 1편 | 김영한 - 인프런 김영한 | 실무에 필요한 자바의 다양한 중급 기능을 예제 코드로 깊이있게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문법을 www.inflearn.com 예외에 대한 내용을 정리한 게 있긴 한데 한번 더 정리해서 더 자세하게 예외 처리가 왜 필요한지?, 예외를 어떻게 처리하는 게 좋은 방법인지?를 알아보자. 다음과 같은 프로그램 구성도가 있다고 가정해보자. 프로그램의 흐름은 다음과 같다. 사용자가 데이터를 입력한다. 입력한 데이터를 NetworkService가 받아서 외부 서버에 전송한다. 여기서 외부 서버에 전송을 하려면, 외부 서버와 연결을 해주는 중간다리가 필요하..

try-with-resources

참고자료: 김영한의 실전 자바 - 중급 1편 | 김영한 - 인프런 김영한 | 실무에 필요한 자바의 다양한 중급 기능을 예제 코드로 깊이있게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문법을 www.inflearn.com try-with-resources 구문을 사용해서 사용한 자원을 반납하는데 효율적으로 반납해보자. 애플리케이션에서 외부 자원을 사용하는 경우 반드시 외부 자원을 해제해야 한다. (예: Database connection) 그래서 항상 try - finally 구문을 사용했다. try { //정상 흐름 } catch() { //예외 흐름 } finally { //반드시 호출해야 하는 마무리 흐름 } 이런 반복적인 구문을..

익명 클래스

참고자료: 김영한의 실전 자바 - 중급 1편 | 김영한 - 인프런 김영한 | 실무에 필요한 자바의 다양한 중급 기능을 예제 코드로 깊이있게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문법을 www.inflearn.com 익명 클래스는 마찬가지로 중첩 클래스의 일종이다. 익명 클래스는 이름 그대로 이름이 없는 클래스를 의미하는데, 저번 지역 클래스에서 사용했던 코드를 가져와서 익명 클래스로 변경해보자. package nested.local; import java.lang.reflect.Field; public class OuterClass { private int outerInstanceVar = 10; private static in..

지역 클래스

참고자료: 김영한의 실전 자바 - 중급 1편 | 김영한 - 인프런 김영한 | 실무에 필요한 자바의 다양한 중급 기능을 예제 코드로 깊이있게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문법을 www.inflearn.com 지역 클래스는 내부 클래스의 특별한 종류 중 하나이다. 그렇기에 내부 클래스의 특징을 그대로 가진다. 예를 들어, 지역 클래스도 내부 클래스이므로 바깥 클래스의 인스턴스 멤버에 접근할 수 있다. 지역 클래스는 지역 변수와 같이 코드 블럭 안에서 정의된다. 지역 클래스 예시 class Outer { public void process() { int localVar = 0; //지역 변수 class Local {...} ..

6. Appium과 Cucumber를 이용해 UI Automation Testing

가장 먼저 작업할 내용은 AndroidDriver를 초기화해야 한다. AndroidDriver는 어떤 역할을 하냐면, 연결된 Real Device를 PC에서 컨트롤할 수 있게 해주는 말 그대로 드라이버이다. 그리고 이 Driver는 모든 테스트를 돌리면서 딱 한개만 있으면 된다. 그래서, 싱글톤 패턴으로 드라이버를 초기화하는 클래스가 필요하다. 프로젝트 구조 └── src ├── main │ ├── java │ │ └── kro │ │ └── kr │ │ └── tbell │ └── resources └── test ├── java │ ├── AppiumSampleTest.java │ └── kro │ └── kr │ └── tbell │ ├── AppiumConnector.java │ ├── Const..

테스트 자동화 2024.04.17

5. 프로젝트 환경 설정

IntelliJ 프로젝트 만들기 이제 IntelliJ로 프로젝트 환경 설정을 해보자. 우선, Gradle 프로젝트를 하나 만들자. 이름과 경로는 적절하게 설정을 해준다. Build system은 Gradle로 설정하자. 난 Gradle을 좋아하니까. JDK버전은 11이상이면 좋은데 난 가장 최신 버전인 21을 사용하겠다. 그 외 나머지는 기본 설정으로하고 'Create' 클릭 build.gradle 가장 먼저 확인할 파일은 역시 build.gradle 파일이다. plugins { id 'java' } group = 'kro.kr.tbell' version = '1.0.0' repositories { mavenCentral() } dependencies { testImplementation platform..

테스트 자동화 2024.04.17

4. Appium Inspector 연결

이제 Appium Inspector를 사용해서 UI 테스트를 하고자하는 App과 연결해보자. UiAutomator2 Driver 설치 실행 하기전 "UiAutomator2" Driver를 설치해야 한다. appium driver install uiautomator2 성공적으로 설치가 되면 다음과 같은 화면이 나오면 된다. Appim Server 실행 이제 appium을 실행한다. appium 이러한 화면이 나오면 성공! Appium Inspector 실행 이제 Appium Inspector를 실행한다. Remote Host: 0.0.0.0 Remote Port: 4723 Remote Path: / Capability Builder appium:udid: 연결할 Device udid platformName..

테스트 자동화 2024.04.17
728x90
반응형
LIST