본문 바로가기

분류 전체보기101

[리팩터링 2판] 6장 - 기본적인 리팩터링 6장을 읽고나서의 느낌은 기능의 공통점을 잘 찾아내어 같은 공통점끼리 묶고 나누는 것이 중요하다는 것이다. 예를 들어 아래의 그림 밴다이어그램이 하나의 함수에 담겨져 있으면, 정확히 함수 셋 (교집합, 노랑, 보라) 라고 이름을 지어 이름에 맞게 각각 나누어 담는 것이라 느꼈다. 6.1 함수 추출하기 반대 리팩터링 : 6.2 함수 인라인하기 내용 코드가 하는 일을 '목적과 구현'을 기준으로 분리하여 함수로 추출하고 목적에 맞는 함수 이름을 붙이는 것. 적용 함수 안에 코드가 5~6줄 이상 넘어갈 때 부터. 코드가 하는 일이 무엇인지 파악하기 어려운 경우. 함수안 코드가 1줄이라도 적용. - 색상을 반전시켜 강조하는 highlight() 메서드의 경우 본문에 reverse() 메서드 호출 1라인만 작성, .. 2021. 12. 21.
리펙터링 2판 - 2~3장 리펙토링은 무엇인가에 대해 정의를 내리는듯한 설명을 다방면에서 계속한다. 다른 문장이지만 같은 뜻을 나타내고 있는 문장이 많다. 리펙토링에 대해 중요시하지 않거나, 리펙토링을 처음 접하는 사람에게는 이해가 안 되는 방법이기 때문에 책에서 여러 방면으로 리펙토링에 대해 설명해주고 있다고 생각한다. 이 책에서 리펙토링에 대해 다방면으로 설명을 하면 이해가 되는 부분이 있고, 그렇지 않은 부분이 있다. 하지만 리펙토링을 하지 않았을 때를 생각하고 그 후를 조금이나마 예측을 한다면 하는 것이 분명히 낫다는 것을 알 수 있었다. 2장. 리팩터링 원칙 1장에서 리팩터링을 코드와 함께 예시를 들어 설명하면, 여기서는 글로써 설명을 하게 된다. 리팩터링 : 소프트웨어의 겉보기 동작은 그대로 유지한채, 코드를 이해하고 .. 2021. 12. 15.
리팩터링 2판 - 1장 로또에 당첨된다면 누구나 다 좋다는 것은 알고 있다. 하지만 돈이 많던 적던 그 당첨되었을 때 기분은 당첨되지 않는 이상 모르는 것이다. 이 책 1장을 읽으면서의 느낌이었다. 글쓴이는 오히려 예시를 들면 모든게 명확해진다고 하여 예시를 앞에서 부터 바로 보여주었지만, 오히려 나는 반감의 효과가 있었다. 예시가 뜬금 없었다고 해야할까.. 그래도 세부적인 기술들은 뒷장에서 소개되는 것 같아 기대되는 부분이 있다. 1장에서 말하고자 하는 내용을 다 동의하고 이해하나, 일부만 공감이 갔다. 왜냐하면 리팩터링이 필요한 경험이 없고, 단지 프로젝트를 하면서 느꼈던 것이 전부였기 때문에, 프로젝트의 리팩터링의 의지가 있기에 일부만 공감이 갔다. 이 책을 보통 주니어에서 시니어 경력사이에 추천한다. 나는 아직 신입 조.. 2021. 12. 4.
평균 구하기 (연습문제 Lv1 / JS) https://programmers.co.kr/learn/courses/30/lessons/12944?language=javascript. 문제해석 문제내용 그대로, 배열에 값들의 평균을 구하는 문제 입니다. 코드 function solution(arr) { var answer = 0; arr.map((v)=>{ answer += v }) return answer / arr.length; } 굉장히 쉬운 문제여서 게시글 작성을 생략하려 했지만 위에 코드처럼 작성을 하였는데, 아래코드처럼 reduce를 생각을 못하였기에 오답 노트 느낌으로 작성을 하였습니다. function average(array){ return array.reduce((a, b) => a + b) / array.length; } 2021. 12. 2.
프레임워크(Framework)와 라이브러리(Library) 정의 프레임워크와 라이브러리 단어를 사용하면서, 내가 정말 알고 사용하는가에 의문이 많이 들었습니다. 엄연히 다른 단어이고 다른 뜻일텐데 혼용해서 사용하는게 아닌지 싶어 정리를 시작했습니다. 프레임워크 (Framework) - 사전적 의미 컴퓨터 프로그래밍에서, 소프트웨어 프레임워크(software framework)는 복잡한 문제를 해결하거나 서술하는 데 사용되는 기본 개념 구조이다. 간단히 뼈대, 골조(骨組), 프레임워크(framework)라고도 한다. 소프트웨어 환경에서 사용할 수 있게 만들어 준다. 프레임워크는 프로그램을 개발하기 위한 큰 틀을 제공해준다고 생각합니다. ex) Java - Spring, Python - Django 라이브러리 (Library) - 사전적 의미 소프트웨어 개발 시 사용되는.. 2021. 11. 30.
[AWS] EC2 배포 및 생성 EC2는 컴퓨터를 한 대 빌리는 것이므로 컴퓨터로 할 수 있는 모든 일을 할 수 있습니다. 빌린 컴퓨터는 직접 사용하는 컴퓨터와 다르게 아마존이 전 세계에 만들어 놓은 데이터 센터(인프라)에 만들어져 있기 때문에 컴퓨터를 조작하기 위해 네트워크(인터넷)를 통해서 컴퓨터를 제어해야 한다는 차이점이 있을 뿐 일반적인 컴퓨터와 다른 점은 없습니다. 아마존 EC2를 통해서 할 수 있는 가장 기본적인 일은 웹서버를 설치하고 웹 서버를 통해서 사용자가 웹 브라우저를 통해 요청하는 서비스를 제공하는 것이 가장 기본적인 사용방법입니다. 인스턴스는 1대의 컴퓨터를 의미하는 단위이고 AWS에서 컴퓨터를 빌리는 것을 인스턴스를 생성한다고 합니다. 1. 보안 그룹 만들기 네트워크 및 보안 > 보안 그룹 > 보안 그룹생성 을 .. 2021. 11. 22.