전체 글

개발, PO, PM, 기획과 관련된 서비스 관련 업무에 관심이 있습니다. 또한 성장,교육과 관련된 주제에 대해서도 관심이 많습니다. 티타임을 좋아하는 사람으로써, 혹시 티타임에 관심이 있으신 분은 ksy90101@gmail.com로 메일 보내주시면 감사하겠습니다 :)
· Backend/Java
서론이전 장에서는 숫자야구게임의 정책문서를 작성하며, 테크스펙을 작성해 개발시 문제가 될 영역들을 체크해봤다.Step2에서 필요한 Reposiotry에서의 로직을 구현해보겠습니다.GameRepository추상화를 위해 Inteface를 구현합니다.package baseball.repository;import baseball.domain.Game;import java.util.List;import java.util.Optional;public interface GameRepository { int insert(Game game); Optional findById(int gameId); List findAll(); List findAllByPlayerTimes(int playerTime..
· Backend/Java
서론Java의 학습을 위해, 미션 학습을 진행하고 있습니다. 첫번째 미션으로는 “숫자야구게임”을 진행해보려고 합니다.Step1을 종료하고, Step2로 넘어갈 예정입니다.Step1의 글을 작성하고 정리하면서 아쉬웠던 부분들을 Step2에서 같이 리팩토링을 진행해볼 예정입니다.가장 중요한건 확장가능한 설계와 도메인 모델 정의, 테스트 코드 작성을 통한 안정적인 애플리케이션 구현을 가지고 해당 미션을 진행해보려고 합니다.의도적으로 꼼꼼한 테스트 코드와 원시값 포장을 진행하였습니다. 해당 부분은 참고해주시면 좋을거 같습니다.미션 요구사항숫자야구게임이란?1부터 9까지 서로 다른 수로 이루어진 3자리의 수를 맞추는 게임입니다.컴퓨터와 싸우는 게임으로 컴퓨터가 뽑은 랜덤의 숫자를 뽑을수 있도록 합니다.이전 게임 결..
· Backend/Ruby
💡원본글 : https://alchemists.io/articles/ruby_modules Ruby Modules | AlchemistsWhile this is by no means exhaustive of what modules can do for you, I hope it’s been empowering. As you architect your own code, take time to give careful thought to naming, organization, objects versus methods, inheritance, composition, etc. in your owalchemists.io  루비 모듈은 높은 수준에서 다음과 같은 주요 이점을 제공합니다.Namespaces(네임스페이스..
· Frontend/Vue
💡원본글 : https://michaelnthiessen.com/make-your-components-easier-to-think-about Make Your Components Easier to Think AboutI hate thinking. Well, actually, I *love* thinking, but only when I’m able to solve problems or make progress with it. But often our code gets in the way of this.michaelnthiessen.com 나는 생각하는걸 싫어한다.사실 저는 생각하는 것을 좋아하지만, 문제를 해결하거나 진전을 이룰수 있을때만 생각을 합니다. 하지만 종종 코드가 이를 방해할 때가 있습니다...
💡 영상https://www.youtube.com/watch?v=HSNyJnobBws세미나 내용이번에 API 서버를 하나 만들었는데, “성능이 아주 빨라 / 안정적이야 / 좋아 / 높아” 라는 말을 많이 한다. 그럼 이게 어떤 의미일까?이런말이 있다. “많은 사람들이 사용해도 API 응답 시간이 짧고 안정적이다.”그럼 여기서 의문점이 생긴다. 많은사람? 응답시간이 짧고? 안정적얼마나 많은 사람? 어느정도 시간이면 짧은거야? 마음의 안정이라는거야?두가지 상황10명이 동시에 호출햇을 때 1초 안에 모두가 응답을 받음 vs 100명이 동시에 호출했을 때 10초 안에 모두가 응답을 받았다.둘중에 어떤게 더 빠른가? 정답이 없다.1초동안 5개의 처리를 동기적으로 할수도 있고, 1초동안 병렬로 5개를 처리할수도 ..
· Backend/Java
서론이제 실제 콘솔 애플리케이션이 동작하도록 실제 View와 Controller의 결합을 해보도록 하겠습니다.View실제 사용자가 값을 입력하고, 로직이 실행된 뒤의 결과를 출력하기 위한 계층으로 우리는 콘솔 애플리케이션이니 입력은 Scanner 를 통해 받고, 출력은 System.out.println 을 통해 합니다.public static int inputGameRecordId() { System.out.println("게임 기록을 조회할 ID를 입력해주세요."); return scanner.nextInt();}입력 받는 값은 게임 기록을 조회할 ID입니다.단순히 이걸 입력 받을 수 있는 메서드를 만들어서 처리해주면 됩니다.package baseball.view;import baseball..
💡 원본글Top 10 REST Interview Questions for Java and Spring Developers Top 10 REST Interview Questions for Java and Spring DevelopersThese are the best REST Interview Questions for Java and Spring developers to prepare quicklymedium.com 여러분 안녕하세요. Java, Spring 개발자 면접을 준비하고 있으며 Spring REST 면접 질문을 찾고 계신다면 이 글에 잘 찾아왔습니다.이전에, 저는 Spring 개발자 면접을 위해 준비해야 할 13가지 필수 주제와 Spring Framework, Spring..
· Backend/Java
서론지금까지 우리는 요구사항 분석과 테크스펙 작성을 통해 전체적인 흐름을 살펴보았으며, 도메인, VO, 일급컬렉션 등을 작성하여 객체지향설계에서 가장 중요한 객체를 직접 구현해보았습니다.그 과정에서 우리는 테스트 코드를 추가하여 안정적으로 우리가 설계한 대로 동작하는지, 또한 요구사항 정책에 따라 정상적으로 동작하는지를 확인하보았습니다.이번 Step2의 목표는 기록 조회가 목표입니다.다른 것 보단, 기록을 조회를 중점으로 설명합니다.getGames(전체 기록 조회) / getGame(단건 기록 조회)사용자 스토리상 플로우를 생각한다면, 아래와 같습니다기록을 전체 조회해서 각 기록에 대해서 간단한 정보를 확인합니다.[1] / 시작시간: / 종료시간: / 횟수: [2] / 시작시간:..
· Backend/Java
서론 이전 장에서는 숫자야구게임의 정책문서를 작성하며, 테크스펙을 작성해 개발시 문제가 될 영역들을 체크해봤다. Step2에서 필요한 도메인 로직을 추가하고, Game이라는 도메인을 만들어서 하나의 Game에 도메인 관리를 하는 것을 목표로 리팩토링 및 구현을 해보겠습니다. 이번 미션부터는 인자, 멤버 변수, 지역 변수 등에 최대한 final을 붙여 불변을 유지하는 것이 목표입니다. 또한 Value Object를 record로 변경합니다. Java17부터는 record를 지원합니다. Value Object인 경우엔 record가 어울리는 형태이기 때문에 record로 변경해서 진행합니다. Game Game의 모든 정보를 가지고 있습니다. 유니크한 값으로 구분할 PK, 게임에 할당된 Computer, Pl..
💡 영상 쉽게 설명하는 29CM Architecture Manifesto 세미나 내용 빠른 성장, 그러나… 지금까지 잘해왔다는 것이 이후에도 잘할 것이라는 것을 보장하는 것은 아니다. 지금까지의 결과는 과거 시점과 과거 실행에 따른 결과일 뿐이고, 우리가 앞으로 어떻게 행동하고 어떻게 실행 했을때 좋은 결과를 낼 수 있는 가를 보장하는 것이 아니다. 이제는 고객의 기대치, 다양한 요구사항, 늘어나는 트래픽에 맞는 새로운 구조가 필요하다. 특정 시점에서는 다음 단계의 성장을 지원하기 위해 매우 근본적인 것들을 해야 한다. 기존 트래픽, 성능 30%, 60% 향상 시키는건 기존 설계에서 가능하다. 그러나 트래픽이 몇배로 되는걸 버티기 위해서 개발방식, 구조등을 바꿔야 한다. 3주년의 잠 못 이루는 밤 더 빠..
Seyun(Marco)
Enthusiastically, Steady, Slowly