[Books] 단위 테스트의 기술 Review
·
Books
더보기최근 길벗 IT 부서에서 주최하는 개발자 도서 리뷰 모임에 참여하게 되었다. 평소에 Kotlin 관련 도서를 직접 사서 읽곤 했는데, 이번에는 테스트 관련 서적인 "단위 테스트의 기술"을 제공받아 읽게 되었다. 특히, 코드 리뷰와 TDD(테스트 주도 개발)에 대한 깊이 있는 내용을 읽을 수 있었다. 1. 테스트의 3가지 종류이 책에서는 테스트의 개념과 중요성에 대해 다룬다. 우리가 흔히 아는 테스트에는 다음과 같은 세 종류가 있다.단위 테스트(Unit Test)통합 테스트(Integration Test)E2E(End-to-End) 테스트특히, 이 책은 단위 테스트에 초점을 맞추고 있으며, 최근 개발자 커뮤니티에서 지속적으로 논의되고 있는 TDD(테스트 주도 개발)와 관련된 내용도 다룬다.2. 테스트..
2. 코루틴 실행하기
·
Coroutines
출처: 조세영님의 인프런 강의, 코틀린 코루틴 강의 완전 정복  runBlocking 사용해서 코루틴 만들기runBlocking 함수는 이 함수를 호출한 스레드를 사용해 실행되는 코루틴을 만들어낸다.runBlocking 코루틴이 종료될 때 스레드 점유가 해제된다. run(실행) + Bloking(차단)하지만 여기에서 쓰인 Blocking의 의미는 스레드 블로킹이 일어나서 스레드가 사용되지 못하는 상태를 칭하는 것이 아니다. 블로킹(차단)을 통해 다른 작업을 가능하게 해준다는 의미로 쓰인 것이다.runBlocking을 사용하여 코루틴을 생성한 후 launch를 사용해 또 다른 코루틴을 생성할 수 있다. lauch를 통해 생성하는 이유는, 동기적인 코드와 코루틴(코루틴은 기본적으로 비동기적)을 함께 사용할 ..
1. 스레드 기반 작업의 한계와 코루틴의 등장
·
Coroutines
출처: 조세영님의 인프런 강의, 코틀린 코루틴 강의 완전 정복 강의의 첫 번째 실습에서는 메인 스레드에서 새로운 스레드를 생성하여 멀티 스레딩 동작을 파악했다. 두 스레드의 동작을 출력하여 스레드의 시작과 끝 시점을 파악했다. 자바에서 자주 사용하는 방식의 코드를 실행한 후, 코틀린의 람다 형식으로 간단하게 변경했다.그러나 Thread를 직접 생성하여 사용하는 방식에는 한계가 존재한다. Thread start를 호출할 때마다 새로운 스레드가 생성되고 재사용이 어렵다 (스레드는 비싼 자원이므로 치명적인 단점)개발자가 스레드 생성과 관리에 대한 큰 책임을 진다 (실수나 오류로 메모리 누수 위험이 있고, 프로그램이 복잡해질수록 관리하기 어려움) 해당 문제를 해결하기 위한 방법으로 Executor 프레임워크가 ..
[삼성 역량 테스트 준비] ~ 수정 중
·
SSAFY/Algorithm
보호되어 있는 글입니다.
[Read me] 2. AOS 팀 회의, 전체 정기 회의, 공부한 내용 추가 (~ing)
·
Kotlin
1. 개발 환경 세팅 ✅기준 애뮬레이터 (Android Large 360*800, 갤럭시 s21 화면 기준)구글 픽셀이 아니라 Galaxy S21 화면 크기 맞춰서 애뮬레이터 수동 생성하기구글 픽셀 가상 기기가 미묘하게 Viewport가 다른 것을 확인했습니다! 아예 Figma 크기 == 갤럭시 기준으로 맞춰서 가는 것이 좋을 것 같습니다!아래 링크를 따라해서 수동 추가하기,링크에서 S21 inch와 resolution 정보 확인하고 넣기 https://developer.samsung.com/galaxy-emulator-skin/guide.htmlGalaxy S21 가상 기기 정보Display 6.2 inches (~87.2% screen-to-body ratio)Resolution 1080 x 2400..
[알고리즘] 1주차 - 스터디 개설, 문제 세팅
·
SSAFY/Algorithm
사담 Tab더보기빨리 SSAFY 내부 알고리즘 스터디를 만들어야겠다는 생각이 들어서 내가 총대 매고 광고하고 다녔다.. 다행이도 금방 인원을 모집할 수 있었다. 전공 자바반 2명, 전공 임베반 2명의 구성으로 신기한 조합이 완성됐다..! 열심히 하기~~ 스터디 목표: 삼성 역량 테스트 B형 따기, 각종 코딩 테스트 격파하기예상 기간: 올해 하반기..? 안에 끝나기를 기도한다..스터디 방식1. 주 4개 문제 풀기(필수 항목, 스터디 인원이 문제 한 개씩을 추천한다.)2. 주 1회 오프라인 모임에서 서로 코드 리뷰하는 시간을 가진다.3. 매주 주제에 해당하는 문제를 추천한다. (백준-단계별로 풀어보기 "재귀" 부터 "세그먼트 트리" 까지의 주제를 순서로 잡았다. 대신 문제는 해당 항목 안에 있는 것이 아니라..
[Read me] 1. 안드로이드 앱 개발 프로젝트 시작
·
Kotlin
책읽기에 관심이 있는 사람들을 위한,더 간단하게 책을 만날 수 있는 방법Read me 연합 동아리에서 앱 개발 프로젝트를 시작했다. 처음에는 바쁘니까 적당히 팀원 1로 참여할 생각이었는데...(분명 내 생각은...) PM님이 내가 팀장을 맡으면 좋을 것 같다고 하셔서 (매우) 자연스럽게 안드로이드 파트 팀장이 되었다. 기획서 & 제안서를 보고 대략적으로 어떻게 개발할지나 설계 방식에 대해 어느 정도 구상해봤던 터라 흔쾌히 수락했다. 실배포를 위한 앱 개발은 처음이기도 하고 안드로이드를 배운지 얼마 안 된 내가 이런 직책을 수행해도 될까..? 하는 개인적인 의문이 있었지만 우리 팀원들도 다들 부담스러워하는 분위기여서 더욱 더 거절할 수 없었다. (같이 스터디를 진행했던 팀원이 내가 팀장에 잘어울린다고 칭찬..
[Kotlin 완벽 가이드] 문자열 다루기
·
Kotlin
문자열 템플릿기본적으로 ${}의 중괄호 사이에 넣기만 하면 어떤 코틀린 식이나 변수든지 문자열에 넣을 수 있다.import java.util.Datefun main(){ val name = readline() println("Hello, $name! \n Today is ${Date()}")}예제와 같이 name이라는 간단한 변수에는 중괄호 없이 달러 기호로만 사용이 가능하다.문자열 템플릿 안의 식은 어떤 값이든 될 수 있고, 이 값은 자동으로 모든 코틀린 타입이 제공하는 toString() 메서드를 통해 문자열로 변환된다.trimIndent() 라는 메서드는 여러 줄에 공통된 최소 들여쓰기를 제거해주는 표준 코틀린 함수이다. 문자열 비교문자열은 사전식 순서로 정렬되기 때문에 , = 와 같은 연산자..
[아이디어톤] 웹/앱 서비스 프로토타입 만들기
·
SSAFY
이전에 아이디어톤을 위한 사전 조사를 진행했다.더보기피그마 AI, Creatie AI 등을 활용한 프로토타입+ 피그마 AI beta 버전 대기 중 https://help.figma.com/hc/en-us/articles/4406787442711-What-Figma-features-are-in-betaUizard https://maily.so/dailyprompt/posts/d83b725d 🔎 Daily Prompt #34: 텍스트만 입력해서 자동으로 앱 디자인하기(Uizard AI)오늘의 프롬프트가 도착하였습니다.maily.soAI 앱 디자인 generate 가능 (beta ver.) 해커톤에서 팀원들과 할 수 있는 활동1. App 컨셉 잡기, 키워드 정리하기 - 컨셉, 니즈, 대상을 고려하여 main..
GDSC EWHA {DEMO DAY} 24.06.24
·
Daily
오늘은 종강한 지은 언니랑 GDSC EWHA 데모데이 발표를 들으러 왔다.예전에 토이 프로젝트를 하면서 한 팀으로 만났던 벗이 이번에 GDSC에 들어가서 백엔드 파트로 이것저것 무언가를 개발하는 것 같았다. 학생들의 개발 결과물이 궁금하기도 했고 GDSC에서 무슨 일을 하는지 궁금하기도 했다. 물론 나는 이제 졸업이라 학교 행사에 더 자주 참여하기는 어렵겠지만 시간이 남을 때 행사라도 많이 다니자는 마음으로 참석했다.   OpeningGoogle I/O 에서 나온 기술들을 학생 입장에서 톺아보고, 어떤 부분을 활용/적용 할 수 있을지 살펴보는 시간을 가진다고 한다. 개인적으로 나도 해당 컨퍼런스에 관심이 있었는데 소개된 기술을 직접 활용하려는 시도는 안해봤다. 역시 한 단계 더 실행하는 사람들이 있구나 ..