# refactoring

[리팩토링] 햄릿 증후군을 위한 술자리 결정 웹 서비스 #3 메인
우선, 헤더의 조건을 바꾸어 주었다.App.js에서 기존 id에서 JWT로 바꾸어 안정성을 확보그 후 useEffect에 Header까지 스크롤이 올라가도록 useEffect를 수정했다.main에서는 api 통신이 없는 만큼, 가독성에 조금 더 초점을 맞추어 진행했다.

[리팩토링] 햄릿 증후군을 위한 술자리 결정 웹 서비스 #2 로그인
우선, Login.js에 있던 API부터 리팩토링을 진행기존 코드를 보면, 메서드를 활용하지 않은 불필요한 반복문 그리고 어지러운 변수명들을 볼 수 있다. 메서드를 활용하여 간단하게 바꾼 후 user란 변수에 일치하는 데이터들을 모두 담아온 후 디스트럭
리팩토링, DDD를 곁들인(작성중)
저는 자바 1년차 개발자로써 풍부한 경험과 뛰어난 식견이 있지 않습니다.코딩을 하면서 늘 “어떻게 해야 더 효율으로 구현할 수 있을까?”라는 의문을 품었습니다. 코드를 구현할 당시에는 “이쁘고 효율적으로 코딩하자”라는 마인드보단 “에러 없이 동작하는 코딩을 하자”란 마

[리팩토링] 햄릿 증후군을 위한 술자리 결정 웹 서비스 #1 회원가입
기존기존 코드를 보면 client에서도 navigate("/")를 통한 메인 화면 이동처리, 서버 쪽에서도 redirect("/") 통한 메인 이동처리 두 가지 모두 적어놓은 걸 볼 수 있다. 이번에 고안한 방법은서버 - 새 URL과 함께 302 Found 상태 코드를
(Refactoring) 위임 숨기기
본 포스팅은 리팩터링 2판을 읽고 작성했습니다. 지난번 포스팅에 기본형을 객체로 변경하는 리팩터링을 했었는데요. 해당 코드에 문제점이 하나 있습니다. before 아래 코드의 문제점은 학생의 classRoom과 studentCode라는 정보에 접근하기 위해서는 St

반복되는 컴포넌트 처리 & 분리
리액트에서의 map()객체가 담긴 배열추가삭제key컴포넌트 분리코드를 작성하다가 어느 순간 코드가 복잡하다고 느껴진다면, 관심사의 분리가 필요한 순간인지 생각해보는게 좋음. 리액트에서도 마찬가지로 하나의 컴포넌트에서 모든 기능을 구현할 수 없기 때문에 여러 개의 컴포넌
(Refactoring) 기본형을 객체로 바꾸기
본 포스팅은 리팩터링 2판을 읽고 작성했습니다. 개발 초기에는 하나의 구조체에 여러가지 기본 자료형 (Int, String)등을 통해서 데이터를 표현할 때가 많습니다. 하지만 앱이 복잡해짐에 따라 구조체도 복잡해지고 때로는 기본자료형들을 묶어서 하나의 구조로 처리하는

코드 리팩토링(Code Refactoring)?
팀 단위의 과제를 수행하면서, 한 명의 잘한 코드에 대해서 부족하다고 생각하는 부분을 리팩토링해보자라는 의견이 나왔고, 아래와 같이 추가로 포함되었으면 하는 사항을 정리해보았다.기존 구현 방식에서 Context API 활용하여 전환추천 검색어 결과값이 8개를 초과할 경
[리펙터링] 2. 기본기 익히기
이번 챕터에서는 가장 기본적인 리렉터링 기법들을 소개한다.이것만 지켜도 사실상 반은 간다고 생각한다.첫 번째는 PEP8을 준수하는 것이다.PEP8은 파이썬 코드를 작성하는 데 가이드라인을 제공하는 문서로파이썬 개발자들끼리 약속한 것이다. 약속을 어겨도 상관없지만 대부분
[리펙터링] 1. 코드 리펙터링 시작
리팩터링은 소프트웨어 공학에서 '결과의 변경 없이 코드의 구조를 재조정함'을 뜻한다. 주로 가독성을 높이고 유지보수를 편하게 한다. 버그를 없애거나 새로운 기능을 추가하는 행위는 아니다. 사용자가 보는 외부 화면은 그대로 두면서 내부 논리나 구조를 바꾸고 개선하는 유지

프로젝트 다시 보기: 01
기능 구현에 급급하여 엑세스 토큰이 없을 시 '로그인이 필요한 서비스입니다'라는 가이드만 덕지덕지 붙여놨었다. 이 부분은 프로젝트 피드백 당시에도 개선 사항으로 자주 등장했기 때문에 피그마로 디자인부터 진행하였다.UI 개선 전UI 개선 후Mainpage가 노출되는 in

Service 리팩토링
Impl - Service 분리의 목적과 상속을 받을 수 있다는 점에서 장점이 있었지만 이 구조로 인하여 불필요한 코드가 약 400줄 이상과 Controller에서 Sevice 코드를 확인하기 위해서 두번의 클릭이 요구가 되는 등 개발하는 데 있어서 불편함을 많이 가져
[Spring Boot] AWS S3 다운로드 속도를 높여보자
앞서서 S3에 저장된 도면 파일을 다운로드 받아 텍스트 데이터를 추출한 후 DB에 저장하는 서비스를 만들었다. 하지만 상용 서비스에 비해 터무니 없이 느린 속도에 충격을 받고 코드를 수정해 보려고 한다.

Refactoring To DDD
도메인 주도 설계(DDD)는 사용자를 위한 프로젝트 설계 방법 중 하나입니다.도메인을 중심으로 설계를 하며 개발자는 반드시 도메인에 대한 이해가 필요하다.설계 단계에서 부터 참여하여 비지니스와 꾸준히 소통하는 Agile방법론에 적합합니다.

Prettier
Prettier Prettier는 코드 포맷터 (Code Formatter) 중 하나로, 작성된 코드의 스타일을 일관되게 유지해주면서 보기좋게 정렬해주는 기능을 제공하는 도구이다. 자동으로 들여쓰기, 줄 바꿈, 공백, 쌍따옴표, 세미콜론 등 코드 스타일에 관련된 여러

useCallback을 사용한 최적화
ProductList 함수는 props로 전달받는 followingData(팔로잉 유저)를 순회하면서 등록한 상품을 받아오는 api 요청 함수이다. 다만 여기서 문제점은 또 다른 props, 즉 scrollTopData은 스크롤의 높이에 따라 자주 바뀌는 값인데, 프롭

[SpringBoot] ResponseEntity 잘 사용하기
ResponseEntity ResponseEntity는 Http raw 타입 x body 타입 명시 사용안할때도 object라고 명시 생성자보다는 빌더패턴 유연, 가독성 
json-server를 활용한 react CRUD 방명록 프로젝트 프론트엔드 개발회고
json-server로 CRUD가 가능한 react 방명록 개인 project 개발기✨ 저장소 https://github.com/bbahna/Guest-book 기술 스택 React, JavaScript, style-component, json-server 개발
how to call method dynamically
블록체인 이벤트 리스너에 다음과 같이 작성된 코드가 있다.수신되는 이벤트에 따라서 호출되는 메서드가 달라진다.if, else가 떡칠된 너무 못난 코드라서 개선하고 싶었지만 실력부족으로 이대로 방치.....예전 프로젝트 코드를 천천히 살펴보다가 이대로 두긴 너무 부끄러