프로젝트 8

FE개발자가 프로모션 페이지 개발을 할 때 고려할 점

그동안 회사에서 3개 정도의 굵직 굵직한 프로모션 페이지 개발을 맡게 되었다.프로모션 페이지는 잠시동안만 사용자에게 오픈되는 페이지지만, 다양한 디자인과 애니메이션 기법들을 사용하여 사용자들의 이목을 끌어야하고, 여러 제휴사나 관련 부서와 협업해야 하므로 준비 기간 동안 많은 사람들과 커뮤니케이션 등이 필요하게 된다.프로모션 페이지 개발을 하면서 알게 된 레슨 런드에 대해 정리해보고자 한다. (ᵔ๑ᵕ̳ ᴥ ᵕ̳๑)っ‧⁺.* ೃೀ 프로모션 페이지 개발의 특징1. 로직은 매우 단순하다.다양한 예외 처리나, 오류 케이스 처리가 있는 서비스 개발 프로젝트와는 다르게, 프로모션의 경우 로직이 매우 단순한 편이다. 이벤트 내용을 보여주는 것이 주된 로직이고, 이외의 로직 처리는 이벤트 응모 버튼이나, 응모 내역 조..

무조건 SSR을 하면 좋은걸까? 극단적인 SSR의 문제점

CSR(클라이언트 사이드 렌더링)의 몇가지 문제점들을 해결하기 위해서 나온 SSR(서버 사이드 렌더링)은 비교적 새로 나온 신기술 입니다. 그렇다면 모든 것을 서버 사이드 렌더링으로 처리하면 좋은 걸까요? 오늘은 서버 사이드 렌더링의 문제점과, 어떻게 하면 적절한 SSR을 사용할 수 있을 지에 대한 글을 써보고자 합니다. 흔히 CSR이라고 부르는 클라이언트 사이드 렌더링은 사용자가 웹 페이지를 방문했을 때, 브라우저는 빈 HTML 파일을 다운로드 합니다. 그리고 자바스크립트를 실행하여 API 요청을 통해 JSON을 받으면서, 나머지 동적 컨텐츠들에 대한 값을 가져오고 페이지에 그립니다. CSR을 사용할 때는 자바스크립트 번들링에 신경을 써야하는 데, HTML 파일을 받아 올 때, 애플리케이션 실행에 필요..

타입스크립트에서 중복되는 타입 선언 리팩토링하기

당신의 타입은 중복되고 있지 않나요? 클린 코드에 관심있는 프로그래머라면, 소프트웨어 개발 3대 원칙에 해당하는 DRY(Do not Repeat Yourself)를 한 번쯤은 들어봤을 것이다. 우리는 코드의 중복을 줄이기 위해서 중복되는 부분은 함수로 엮어 재사용하기 쉬운 코드를 만들어야 한다는 것을 알고 있다. 그리고 이를 의식하며 재사용하기에 좋은 코드를 짠다. 그러나, 타입의 중복에 대해서는 깊게 생각하지 않는 경우가 많은 것 같다. 컴포넌트 계층 구조를 만들면서 같은 prop을 자식 컴포넌트로 전파할 때 등 코드를 짜다 보면 무심코 타입의 중복되는 경우가 많다. 이번 글에서는 코드를 통해서 타입 중복을 줄이는 방법에 대해서 설명하려고 한다. (타입스크립트에서 기본적으로 사용하는 타입 생성 방식, ..

슬랙봇 개발기 ③ - 슬랙봇에게 말을 걸면 답장 보내기 (socket mode)

슬랙봇 개발기 ② - python slack sdk + flask 서버 구축 슬랙봇 개발기 ① - 소켓 모드란 무엇일까? 슬랙봇을 개발할 경우에는 HTTP통신을 기반으로 하거나 웹소켓 통신을 기반으로 하는 두가지 방법이 있다. 먼저 HTTP 통신을 기반으로 하는 방법은 public bboglebbogle.tistory.com 슬랙봇 개발기1, 2에서 소켓 모드를 사용하여 프로젝트를 세팅하는 방법에 대해서 서술했다. 이번에는 커맨드를 사용할 때마다 사용자에게 답장을 보내는 슬랙봇을 만들어보자 ! 슬랙봇에게 메시지를 보낼 수 있도록 하려면 Features-App Home-Show Tabs-Message Tab에서 Allow users to send Slack commands and message from t..

슬랙봇 개발기 ② - python slack sdk + flask 서버 구축

슬랙봇 개발기 ① - 소켓 모드란 무엇일까? 슬랙봇을 개발할 경우에는 HTTP통신을 기반으로 하거나 웹소켓 통신을 기반으로 하는 두가지 방법이 있다. 먼저 HTTP 통신을 기반으로 하는 방법은 public으로 열어놓은 REST API를 기반으로 하는 방 bboglebbogle.tistory.com 이전 글에서 소켓모드를 사용해서 웹소켓 기반의 슬랙봇을 구축해야 하는 이유에 대해서 살펴보았다. Socket Mode Client — Python Slack SDK Socket Mode is a method of connecting your app to Slack’s APIs using WebSockets instead of HTTP. You can use slack_sdk.socket_mode.SocketMo..

슬랙봇 개발기 ① - 소켓 모드란 무엇일까?

슬랙봇을 개발할 경우에는 HTTP통신을 기반으로 하거나 웹소켓 통신을 기반으로 하는 두가지 방법이 있다. 먼저 HTTP 통신을 기반으로 하는 방법은 public으로 열어놓은 REST API를 기반으로 하는 방법이다. 이를 위해선 퍼블릭 도메인을 하나 파야하고, 서버를 그 도메인으로 띄워야한다. 슬랙봇에서 커맨드를 입력할 때마다 해당 URL로 POST 요청이 전달해지는 방식일 것이다. 요것은 슬랙 커맨드 입력창인데, 해당 커맨드를 사용할 때마다 적어놓은 RequestURL로 요청이 간다고 보면 된다. 그러나 이러한 HTTP 통신 방식의 단점은 - 퍼블릭 도메인을 생성해야 하므로, 보안상 위험할 수 있다는 점이다. - 또한 사내망이나 방화벽 내에서 통신하는 슬랙봇을 만들기 위해서는 이러한 방식은 불가능하다...

스프링부트 & JUnit5 - 단위 테스트 작성 기본

Junit5로 단위 테스트 작성하기 기본적인 스프링부트에서 JUnit5를 사용해서 단위 테스트를 작성해보자 testImplementation 'org.springframework.boot:spring-boot-starter-test' 아마 Spring Intializer에서 스프링 부트 프로젝트를 만들었다면, gradle에 해당 내용이 포함되어 있을 것이고, test 폴더에 ApplicationTests.java 파일도 이미 생성되어 있을 것이다. ApplicationTests.java 파일을 살펴 보자. @SpringBootTest class ApiApplicationTests { @Test void contextLoads() { } } 간단해보이지만, 의미가 있는 것들이다. intelliJ 개발환경을..

프로젝트/JUNIT5 2021.08.11

[프로젝트] 1일 1커밋 실천할 수 있는 웹사이트 - 연속 커밋 횟수 보여주는 곳

'1일 1커밋을 계속 실천 해 줄 수 있는 방법은 없을까?' `매일매일 알고리즘 한 문제씩 풀자!` 라는 목표를 가지고 있었지만 열심히 하다가도 중간에 빼먹고.. 그러다가 다시 시작하기를 계속 반복하다보니 뭔가 동기부여할 수 있는게 있으면 좋겠다는 생각을 했다. 몇일 전에 갑자기 떠오른 아이디어! 그러다가 내가 제 2외국어 공부를 하는 '듀오링고' 어플에서 아이디어를 따왔다. 듀오링고에서 소소하게 프랑스어 공부를 하고 있는 데 연속 횟수를 보여주는 것이 특징이다. 아무래도 연속 횟수를 깨면 다시 0으로 돌아가다보니까 뭔가 빼먹지 않고 열심히 하게 된다. 그래서 이런 연속횟수를 깃헙 레포에도 적용하면 괜찮을 것같다 ? 라는 아이디어가 떠올랐다. https://github.com/DenverCoder1/gi..