전체 글

개발, PO, PM, 기획과 관련된 서비스 관련 업무에 관심이 있습니다. 또한 성장,교육과 관련된 주제에 대해서도 관심이 많습니다. 티타임을 좋아하는 사람으로써, 혹시 티타임에 관심이 있으신 분은 ksy90101@gmail.com로 메일 보내주시면 감사하겠습니다 :)
var가 있는데 const, let은 왜 나왔을까? 서론 JavaScript에선 변수를 정의할수 있는 예약어가 총 3개가 존재한다. 옛날엔 var를 모두 사용했지만, 최근에 const와 let이 추가되면서 총 3개의 방식이 생겼는데, 왜 새롭게 const, let이 도입되게 되었고, 각 차이점등에 대해서 알아볼 예정입니다. 과거의 var var의 문제점은 세가지가 있었습니다. 가변 - 정의된 변수를 변경할수 있었음. var number = 10; consloe.log(10); # 10 number = 20; consloe.log(20); 함수 scope const a = () => { if(true) { var number = 10; } console.log(number); } a() # 10; 호이스팅..
Spring JPA의 @Table 어노테이션에 대해서 알아보자 - name을 어떻게 매핑하는가? 서론 Entity와 Table을 매핑하기 위해 사용하는 어노테이션은 @Table 어노테이션 입니다. 실제 @Table 어노테이션이 어떤 역할을 해주는것인지, 또한 각 속성값을 어떻게 동작시키게 되는지에 대해서 알아볼 예정입니다. 코드를 살펴보다가, 대체 @Table 의 name은 어떻게 매핑이 되는건지?에 대한 궁금증이 생겨서 그걸 중점적으로 이야기를 나눠보도록 하겠습니다. 어노테이션 코드 살펴보기 package jakarta.persistence; import java.lang.annotation.Target; import java.lang.annotation.Retention; import static j..
· Backend/Ruby
ruby의 ?(Question Mark / Boolean)의 의미 서론 루비를 사용하다 보면, 메서드에 ?가 붙여 있는 경우를 많이 보게 됩니다. ? 를 붙이는 이유와 어떤 변경점이 있는지, ruby의 구현되어 있는 메서드들을 간단히 살펴보는 시간을 가져볼 예정입니다. ? 를 붙이는것은 Question Mark라고 하지만, 실질적으로 메서드에 붙어 있다면 Boolean Methods라고 많이 합니다. method에 ? 가 내포하는 의미 일단 한마디로 정의한다면 boolean methods(논리 메서드) 라는 의미를 가지고 있습니다. 쉽게 생각하면 boolean이 return되는 메서드입니다. Java에서는 boolean을 의미할때 is_ prefix를 많이 사용하게 되는데요. 루비에선 ? 를 뒤에 붙임으..
· Backend/Ruby
ruby의 !(Exclamation mark / Bang)의 의미 서론 루비를 사용하다 보면, 메서드에 ! 가 붙여 있는 경우를 많이 보게 됩니다. ! 를 붙이는 이유와 어떤 변경점이 있는지, ruby의 구현되어 있는 메서드들을 간단히 살펴보는 시간을 가져볼 예정입니다. ! 를 붙이는것은 Exclamation Mark라고 하지만, 실질적으로 메서드에 붙어 있다면 Bang Methods라고 많이 합니다. method에 ! 가 내포하는 의미 일단 한마디로 정의한다면 dangerous methods(위험한 메서드) 라는 의미를 가지고 있습니다. 대체 뭐가 그렇게 위험하길래 ! 라는 mark까지 만들었고, 이걸 위험하다라고 경고를 준다는것일까요? 첫번째 이유는 해당 메서드를 사용한다면 원본 객체가 수정된다는 의..
· Backend/Ruby
ruby의 배열내의 카운트를 세는 법 서론 최근 어느 로직을 작성하는데, 배열내의 두개 이상의 값의 갯수를 세어야 하는 케이스가 있었다. 각각에 대한 갯수를 세면 쉽지만, 그렇게 되었을 경우 순회를 2번이상 돌아야 하기 때문에 데이터가 많다면 성능상 좋지 않다고 판단하여, 다른 방법이 있을지 찾아보았다. 기본 count 기본적으로 아래와 같이 코드가 있다고 해봅시다. arr = [1,1,1,2,3,3,4,4,4,4,4,4,5,5,5,5,5] arr에서 1의 갯수와 5의 갯수를 구하기 위해선 아래와 같이 코드를 작성하게 됩니다. arr.count(1) # 3 arr.count(5) # 5 이렇게 하면 두번의 계산이 있어야 하며, 더 추가되었을때 코드가 계속해서 추가되어 불편함이 있을수 있습니다. 기본 fo..
jest 27 → 28 자충우돌 upgrade 서론 최근 회사에서 사용하던 jest를 27 버전에서 28로 업그레이드를 하는 작업을 진행하였습니다. 작업을 하면서 이전 문서를 확인해야 하고, 최신 지원 하는 기능들을 사용하기 위함이였습니다. 마이그레이션 문서 : https://jest-archive-august-2023.netlify.app/docs/28.x/upgrading-to-jest28/ Breaking change : https://jest-archive-august-2023.netlify.app/blog/2022/04/25/jest-28 주요 Featrue Github action reporter github action에서 CI를 실행할 시, File Chanege에서 실패한 테스트를 리포팅..
· Backend/Java
서론 현재 프로그래머스 백엔드 데브코스 5기 멘토를 진행하던중, 아래와 같이 멘티의 질문이 있었다. Java11까지만 해봤기 때문에 toList()에 대해서 잘 알지 못한다고 생각해 아래와 같이 정리를 해봤다. stream의 최종연산을 List로 반환하기. stream의 최종연산을 List로 반환하는 방법은 Java11에선 아래와 두개가 있었다. List collectorToList = numbers.stream() .filter(it -> it % 2 == 0) .collect(Collectors.toList()); List collectorToUnmodifiabledList = numbers.stream() .filter(it -> it % 2 == 0) .collect(Collectors.toUnm..
토스 플레이스 10월 IMPACT NIGHT 후기 운이 좋게, 토스 플레이스 10월 IMPACT NIGHT라는 행사에 참여를 하게 되었다. 처음으로 토스가 사용하고 있는 공간에 갔는데, 전반적으로 깔끔했던거 같다! 세션은 아래와 같은 순서로 진행이 되었다. 리더님의 토스플레이스에 대한 설명(비전 세션(Why Offline)) 토스플레이스 제품을 사용해보는 시간 관련 직군(저는 백엔드개발자여서 백엔드쪽으로 배정되었습니다.) 현업자분과의 커피챗 참고로 저녁시간에 진행됨에 따라 퇴근 후 샌드위치와 유뷰초밥, 과일 세트를 식사로 제공해주고 커피를 무제한으로 제공해줘서 든든하게 들었던거 같습니다! 아래에서 간단하게 후기를 작성해보도록 하겠습니다. 리더님의 토스플레이스에 대한 설명(비전 세션(Why Offline)..
· Backend/Java
Java String의 isEmpty와 isBlank 서론 String 타입에서 해당 값이 빈 문자열인지 체크하는 메서드가 두개가 있다. isEmpty와 isBlank의 차이점을 알고, 각각 어느 상황에 써야 하는지 이해하는 시간을 가져보려고 한다. 일단 결론부터 말하자면 whiteSpace(공백)과 tap(탭)까지 포함해서 빈 문자열로 인정할것인가 이다. isEmpty 실제 자바 구현체를 보면 아래와 같다. /** * Returns {@code true} if, and only if, {@link #length()} is {@code 0}. * * @return {@code true} if {@link #length()} is {@code 0}, otherwise * {@code false} * * @..
· 회고
멘토링 교육 발표 - 스터디는 왜 할까? 배경 안녕하세요 저는 프로그래머스 백엔드 데브코스 5기 멘토를 맡고 있는 마르코입니다. 1기~3기를 진행하면서, 매번 스터디에 대한 질문들이 있었고, 그것들을 멘티분들에게 저의 경험을 공유하기 위해 발표를 진행하였습니다. 그에 대한 회고를 진행해보려고 합니다. 발표자료 https://drive.google.com/file/d/1ekXc23VyzmUsJeOc2a6eHdZjnFZn9LlG/view?usp=drive_link 간단한 내용 요약 저는 지금까지 4년간 스터디를 직접 리딩도 하고, 스터디원으로 참여도 하면서 배운 점들이 많습니다. 그런 부분들을 여러분들에게 공유하고 싶어 이 발표를 진행하였습니다. 가장 전달하고 싶은 부분은 아래와 같았습니다. 스터디를 한번도..