본문 바로가기

분류 전체보기23

[TDD] 5. 테스트 코드의 구성 작성자 : 한규범 기능에서의 상황 주어진 상황에 따라 기능 실행 결과는 달라진다. 이는 테스트 코드 구조에도 영향을 주는데 이에 관한 내용을 이어서 살표보자. 상황 찾기 노련한 개발자는 어떤 상황이 실행 결과에 영향을 줄 수 있는지 찾기 위해 노력한다. 결과에 영향을 줄 수 있는 상황을 고려하지 않고 작성한 코드는 버그를 포함할 가능성이 크기 때문이다. 다양한 예외 상황을 찾아내고 이를 코드에 반영해야 기능이 비정상적으로 동작하는 것을 막을 수 있다. 결과에 영향을 줄 수 있는 모든 상황을 완벽하게 찾기 힘들 수도 있지만 가능한 많은 예외 상황을 찾기 위해 노력해야 한다. 테스트 코드의 구성 요소 : 상황, 실행, 결과 확인 어떤 상황이 주어지고, 그 상황에서 기능을 실행하고, 실행한 결과를 확인하는 세.. 2023. 2. 2.
[Session] Flutter만 배워도 개발자가 될 수 있을까? / 김초원 작성자: 김초원 1. Flutter가 뭔데요? Flutter는 크로스플랫폼 앱 개발을 도와주는 프레임워크입니다. Flutter로 개발한 앱이 iOS와 안드로이드 두 개의 플랫폼에서 실행될 수 있다는 건데요. 2018년에 Google이 Dart라는 언어를 기반으로 개발 및 출시하여, 크로스플랫폼 앱 개발에 큰 영향을 끼친 프레임워크라고 볼 수 있습니다. 이전까지 가장 널리 쓰이던 React-Native와 달리, 코드를 네이티브 CPU 머신 코드로 컴파일한다는 점, 렌더링 엔진 Skia를 통해 UI를 직접 렌더링한다는 점은 Flutter의 우수한 성능을 뒷받침 해줍니다. 또한, Flutter 전용의 테마 디자인 라이브러리를 적용하거나 커스텀하여 UI의 다양성을 가진다는 장점도 있습니다. Flutter는 Na.. 2023. 1. 29.
[Session] Android Jetpack Compose / 김병대 작성자 : 김병대 Android Jetpack Compose - 안드로이드의 새로운 네이티브 UI 빌드 툴 Compose는 2021년 7월에 정식으로 출시되었으며, 안드로이드 네이티브 UI를 빌드하기 위한 최신 권장 도구 키트입니다. Kotlin 언어로만 사용이 가능하며 기존 XML 방식 (View System)을 대체합니다. Kotlin 코드 만으로 화면을 개발할 수 있다는 것이 가장 큰 차이점 입니다! - Compose의 장점 "적은 코드, 빠르고 쉬운 개발" 기존에는 하나의 화면을 구성하는 Activity, Fragment, Menu 등의 레이아웃을 XML 언어로 정의하여 .XML 파일로 저장하고 자바 또는 코틀린 코드 파일 상에서는 필요하다면 XML에서 정의된 View를 findViewById 등.. 2023. 1. 29.
[TDD] 4. JUnit 5 기초 작성자 : 장채은 실습 환경 - Java 11 - Spring Boot 2.7.7 🍰 JUnit 5 모듈 구성 JUint 플랫폼 테스팅 프레임 워크를 구동하기 위한 런처와 테스트 엔진을 위한 API wprhd JUnit Jupiter JUnit 5를 위한 테스트 API와 실행 엔진 구성 JUnit Vintage JUnit 3, 4로 작성된 테스트를 5 플랫폼에서 실행하기 위한 모듈 제공 Jupiter로 테스트를 작성하고 실행하려면 build.gradle 파일 내 dependencies에 의존을 추가해주어야 한다. 다음은 TDD 스터디 프로젝트의 build.gradle file이다. Jupiter 관련 의존성이 추가된 것을 확인할 수 있다. plugins { id 'java' id 'org.springfr.. 2023. 1. 27.
[Session] About Attention Mechanism / 노장현 작성자 : 노장현 1. Abstract Attention Mechanism은 모든 정보가 아닌 소수의 중요한 정보에 집중하는 방법으로 기계 번역의 성능을 높이기 위해 처음 제안되었습니다. 현재는 좋은 성능을 바탕으로 NLP(자연어 처리)뿐만 아니라 CV(컴퓨터 비전), Time-series 분야에서도 사용되고 있습니다. 이번 세션에서는 다양한 분야에서 사용되고 있는 Attention Mechansim의 개념과 그 배경에 대해 알아보겠습니다. 2. What is Language Model? 언어 모델(Language Model, LM)은 단어 시퀀스에 확률을 할당하는 모델로 이전 단어들을 바탕으로 다음에 등장할 단어의 확률을 예측하는 모델입니다. 언어 모델은 크게 통계를 기반으로 한 방법과 인공 신경망을 .. 2023. 1. 23.
[TDD] 3. TDD ∙ 기능 명세 ∙ 설계 작성자 : 박소정 실습 환경 - Java 11 - Spring Boot 2.7.7 🥨 기능 명세 사용자에게 제공할 기능을 구현하기 위해서는 기능 명세를 시작으로 설계를 진행해야 한다. 기능은 크게 입력과 결과로 나누어 생각할 수 있다. 입력: 기능을 실행하는데 필요한 값 결과: return 값, exception, 변경(DB에 데이터 추가해 시스템의 상태 변경 등) 기능 명세를 통해 입력과 결과를 도출하면, 해당 내용을 통해 기능의 이름, 파라미터, 리턴 타입 등을 손쉽게 결정할 수 있다. 이렇게 도출한 기능 명세를 코드에 반영하고, 이는 곧 기능에 대한 설계 과정과 연결된다. 🥨 설계 과정을 지원하는 TDD TDD는 테스트 코드 작성 - 코드 구현 - 리팩토링의 과정을 반복한다. 이때, 테스트 코드 작.. 2023. 1. 21.