전체 글

😼 Github : https://github.com/Mingyum-Kim
카테고리 없음

Cucumber Test 사용해보기

업무하다가 CucumberTest가 동작하는 원리에 대해 새롭게 알게 된 게 있어서 정리한다. 주로 컨트롤러 테스트를 위해 이용한다.feature 에서 시나리오를 생성해, given, when, then 에 해당하는 입력값 혹은 결괏값을 정의한다. Feature: Get person by ID Scenario: Retrieve person data by ID Given a person with ID 1 exists When I send a GET request to "/person/1" Then the response status should be 200 And the response should contain the person's name "John Doe" 이렇게 Featur..

Langauge/Kotlin

코틀린 알아가기 (1)

클래스 프로퍼티 val을 사용해 프로퍼티를  선언하면 getter를 무조건 포함한다.var을 사용해 프로퍼티를 선언하면 gettter와 setter를 포함한다.class Car(val name: String, var position: Int = 0) 이 예제에서 name은 프로퍼티, 필드, getter, 생성자 파라미터의 역할을 한다. position을 캡슐화하기 위해 아래와 같이 setter를 private로 바꾼다.class Car(val name: String, var position: Int = 0) { var position: Int = position private set}  상수 사용하기private const val DEFAULT_POSITION: Int = 0class Car(va..

Other/기록

Cucumber Test란?

http://cucumber.io/docs/ Introduction | CucumberCucumber is a tool that supports Behaviour-Driven Development (BDD).cucumber.io BDD (행동 주도 개발, Behavior Driven Development) 를 지원하는 테스트 프레임워크이다.Gherkin 문법을 사용해서 테스트 시나리오를 작성한다.  시나리오는 Given, When, Then으로 구성되어있다.Feature: 로그인 기능 Scenario: 올바른 자격 증명으로 로그인 성공 Given 사용자가 로그인 페이지에 접속했을 때 When 올바른 아이디와 비밀번호를 입력하면 Then 메인 페이지로 이동한다 이러한 시나리오를 기반으로 ..

Other/기록

인프라 관련 툴 이해하기 (Kubernetes, Terraform, Terragrunt, Helm, Spinnaker)

팀 인프라를 배워가면서 이해하기 어려운 툴이 많이 등장한다. 어떤 역할을 하는 툴인지 짚고 넘어가자. Kubernetes Pod는 여러 컨테이너의 집합이다. Pod는 하나의 IP 주소를 가지고 모든 컨테이너는 Pod 내부에 위치한다.하나의 Pod 내부에 있는 컨테이너는 메모리를 공유한다.이미지에 Worker Node라고 표시되어있는 Node는 여러 Pod를 관리하고 실행한다.Control plane은 사용자와 여러 Node를 연걸하기 위한 대시보드이다. 이 모든 요소들을 하나의 단위로 합친 것이 Cluster이다. Terraform인프라를 코드로 관리하기 위한 도구이다.AWS 와 같이 복잡한 자원을 코드로 관리할 수 있다. TerragruntTerraform을 효과적으로 사용하기 위한 도구이다. 여러 애..

Other/기록

[TIL] 2024/12/10

배운 것 ERB (Embedded Ruby)를 사용할 때는 GPT를 적극 활용할 것 🥺 ERB 코드 작성하는 거 너무 어렵다신고 항목에 대해 우선순위가 있다는 것을 처음 알았다. 테이블을 하나하나 톺아보며 신고 도메인이 대한 데이터 흐름을 처음으로 파악해보았다. 느낀 것처음으로 외부 서비스 관리자와 커뮤니케이션 해봤다! 비개발자와 개발 용어 안쓰고 소통하기 완료 🤓내가 스스로 이해해야하는 분야와 그렇지 않은 분야에 대해 잘 나누어보고, 그렇지 않다면 적극적으로 물어보는 태도를 가지자.

카테고리 없음

[TIL] 2024/12/05

배운 것ActiveRecordMVC 중 Model 레이어에서 Ruby 객체를 조회하고 데이터베이스에 변경사항을 반영하시 위한 ORM 프레임워크이다.Active Record Pattern 이란 데이터베이스 행을 객체로 매핑하고 데이터베이스 접근을 캡슐화하는 방법론을 의미한다.ApplicationRecord를 상속한 클래스는 데이터베이스 테이블과 매핑된다.pluck은 특정 조건을 사용해 데이터를 불러오는 역할을 한다.SidekiqRuby on Rails 에서 비동기 작업 처리로 사이드킥을 사용한다.작업 (Job)을 레디스 큐에 저장하고 워커에서 처리하는 방식이다.  각 Job은 Map의 형태로 저장되고 JSON 형태로 직렬화된다.Sidekiq은 레디스 큐에서 작업을 FIFO 방식으로 읽고 비동기적으로 처리한..

Other/기록

[TIL] 2024/12/03

배운 것Orbstack 이란?Docker desktop을 대체하여 낮은 CPU와 메모리 사용량을 장점으로 가지는 플랫폼이다.Docker CLI로 컨테이너를 관리할 수 있다.Open AI documentationEach message can have a different role, which influences how the model might interpret the input.프롬프트 엔지니어링 과정에서 사용하는 role은 메시지의 성격을 의미한다.user role 메시지는 end user가 chatgpt 에게 보내는 상황처럼 특정 응답에 대한 요청을 한다. 사용자가 해결하려는 문제를 모델에 전달한다.system role 메시지는 어떻게 응답을 생성하고 반응할 지 결정한다. (말투, 글자 길이 등) ..

Other/기록

[TIL]2024/12/02

배운 점 zsh와 bash유저와 OS를 연결하는 인터페이스로 쉘 언어를 사용한다.운영체제마다 쉘 언어를 다르게 사용한다. 리눅스나 맥은 bash 쉘 언어를 사용한다.bash 언어를 사용하는 경우 #!/bin/bash, zsh 언어를 사용하는 경우 #!/bin/zsh를 파일 상단에 입력한다.foreman반복적인 작업을 줄이고 빠르게 배포하기 위한 오픈 소스이다.Procfile 에 정의된 태스크를 읽고 자동으로 실행한다.서버를 실행하기 위한 명령어를 외울 필요 없이 Procfile에 정의하고 foreman start 를 입력하면 자동 실행된다. 느낀 점다른 사람의 눈에 잘 보여야 한다는 생각 버리고 내가 중요하다고 생각하는 것에 집중하기우선순위를 정해서 중요한 것부터 빠르게 처리하기. 다만 조급해지지 말고 ..

Framework/Rails

Ruby on Rails 개발 환경 세팅하기 (Windows 10)

Ruby란?스크립트 언어이자 객체 지향 언어이다. 컴파일 없이 인터프리터로 실행한다. Rails란? Ruby 언어로 작성된 웹 어플리케이션 프레임워크이다. Ruby on Rails나 RoR이라고 불리기도 한다.4Rails는 MVC 패턴으로 구성된다.Rails가 제공하는 강력한 뼈대 코드를 사용해 빠른 개발이 가능하다는 것이 특징이다. Gem이란?Gem은 루비에서 사용하는 라이브러리 패키지이다. 커맨드로 쉽게 라이브러리를 설치할 수 있다.Gem은 보석 이라는 뜻이다.  Ruby는 보석에 무슨 사연이 있는 걸까 🤔 Ruby on Rails 설치 윈도우 10 환경에서 Ruby on Rails를 설정해보자. https://gorails.com/setup/windows/10 Install Ruby On Rail..