전체 글382 [JS] javascript의 화살표 함수 (arrow function) 이전에 js에서 함수 표현 방식에 대해 포스팅했었다. https://devkingdom.tistory.com/306 [JS] javascript의 함수 선언문과 함수 표현식 오늘은 간단하게 js 에서 함수를 사용하는 두가지 방법에 대해 정리해두려고한다. 함수 선언문 어디서든 호출이 가능함, javascript 내부 알고리즘에 의해서 javascript 실행 전 초기화 단계에서 코드 devkingdom.tistory.com 오늘은 함수 표현식을 화살표 함수로 변경해 보는 방법을 포스팅할 예정이다. 자바를 공부해 보신 분들은 자바의 lambda식을 활용해본 적이 있을 것이다. 자바스크립트에서 람다식을 사용할 수 있는데 이를 화살표 함수라 부른다. 실무에서 굉장히 많이 쓰이니 잘 익혀두자. let add = .. 2022. 1. 23. [JS] javascript의 함수 선언문과 함수 표현식 오늘은 간단하게 js 에서 함수를 사용하는 두가지 방법에 대해 정리해두려고한다. 함수 선언문 어디서든 호출이 가능함, javascript 내부 알고리즘에 의해서 javascript 실행 전 초기화 단계에서 코드의 모든 함수 선언문을 찾아서 생성해둠. sayHello(); function sayHello() { console.log('Hello!'); } 그렇기에 위 코드처럼 함수선언문보다 함수호출이 먼저나와도 정상적으로 실행되는 것임. (물론 함수선언문보다 코드가 아래에 나와도 동작한다.) 즉, 함수의 사용 가능 범위가 코드의 위치보다 위아래로 넓은데 이를 '호이스팅(hoisting)' 이라고 한다. 함수 표현식 코드를 한줄 한줄 읽으면서 코드에 도달할때 비로소 함수가 생성이 되고, 그 이후에 사용이 가.. 2022. 1. 22. [JS] javascript 에서 함수 사용할 때, default 값 세팅하는 방법 하이. 오늘도 간단하게 javascript 에 대해 정리해 보고자 한다. 어떤 언어든 함수를 잘 활용하고 잘 작성하는 것은 중요하다. 함수는 과한 중복을 줄여주고, 프로그램의 응집도를 향상할 수 있는 수단이 되기 때문이다. javascript에서 함수를 작성할때 default값을 세팅하는 몇 가지를 정리해보았다. 1. OR 연산자 활용 function inputName(name) { let myName = name || '홍길동'; let msg = "입력된 이름은 " + myName + " 입니다."; console.log(msg); } inputName('뽀야'); inputName(); 위 코드 의 결과는 아래와 같다. 파라미터로 값이 입력되면 myName 파라미터 값이, 입력되지 않으면 디폴트 값.. 2022. 1. 22. [JS] 명시적 형변환에 대하여 최근에 이직을 하면서 업무가 변경되어, 단순한 백엔드 쪽 API 개발뿐만아니라 프론트 쪽의 소스도 일부 수정하게 됐다. 특히 javascript 쪽을 건들일이 많을 것 같아서, 오래전의 기억을 살려서 하나씩 정리해보려고한다. 명시적 형변환 오늘 간단하게 정리해둘 내용은 명시적 형변환에 대한 내용이다. 얼마전에 후배한명이 자기가 구현한 소스가 뭐가 문제인지를 봐달라는 연락이 왔다. 아래 내용은 후배가 보낸 코드를 간단하게 만들어서 작성한 내용이다. const aHeight = prompt("a의 키?"); const bHeight = prompt("b의 키?"); const result = (aHeight + bHeight) / 2; alert(result); 코드는 아주 간단하다 . a의 키를 입력 받고.. 2022. 1. 22. 동시성 프로그래밍에 대하여 백엔드 개발자라면 동시성을 고려한 프로그래밍을 할 줄 알아야한다. 다만 아직 학생이거나 주니어 레벨에서는 이러한 동시성을 이해하기가 쉽지는 않다. 프론트 단의 개발과는 다르게 백엔드 쪽은 명확하게 구조를 이해하기가 쉽지 않다. 서버라는 것 자체가 내용이 방대하고, 구조가 복잡하기 때문이다. 분명 동시성을 이해하는 것은 실무에서의 경험이 어느정도 해결해주기는 하나 그래도 어느정도의 공부가 수반되어야 동시성을 잘 이해할 수 있다. 여러분들의 동시성에 대한 이해를 돕기 위해, 동시성에 대한 내용을 좀 정리해 보았다. 동시성 프로그래밍에 대한 오해 1. 동시성은 항상 성능을 높여준다? 동시성은 항상 성능을 높여주진 않는다. 때로 성능을 높여줄 뿐이다. 구체적으로 말하면 대기시간이 아주 길어 여러스레드가 프로세서.. 2022. 1. 19. 깔끔한 코드를 구현하기 위한 설계 규칙 네 가지 하이.. 코드를 짜는 것보다 더 중요한 것이 있다. 바로 설계다. 우리는 항상 깔끔한 코드를 짤 생각은 하지만 그전에 설계를 제대로 하는 것을 잊곤 한다. 오늘은 착실하게 따르기만 하면 우수한 설계가 나오는 간단한 네 가지 규칙을 소개하고자 한다. 이규칙을 지키면 앞으로 여러분은 코드 구조와 설계를 파악하기 쉬워질 것이고, SRP 나 DIP 같은 원칙을 적용하기도 쉬워질 것이고, 네가지 규칙이 우수한 설계의 창발성을 촉진할 것이다. 1. 모든 테스트를 실행하라. 2. 중복을 없애라. 3. 의도를 표현하라. 4. 클래스와 메서드 수를 최소로 줄여라, 단 실용적 관점에서 타협하라 하나씩 제대로 알아보자. 1. 모든 테스트를 실행하라. 위의 순서는 중요한 순서대로 나열한 것이다. 즉 모든 테스트를 실행하는 게.. 2022. 1. 13. [Design Pattern] Template Method Pattern 오늘은 간단하게 Template Method Pattern 에 대해 정리해두려 한다. 템플릿 메서드 패턴은 Spring Framework 같은 프레임워크 환경에서 자주 활용되는 패턴이고, 실무코드에서도 중복인 코드를 줄이기 위해 자주 사용되는 패턴이니 잘 정리해두면 좋다. Template Method Pattern이란 ? 템플린 메서드 패턴은 알고리즘의 구조를 상위클래스의 메서드에 정의하고 하위클래스에서 자신에 맞게 세부 알고리즘을 정의하도록하는 패턴이다. 구현하려하는 알고리즘에 일정한 단계가 있을 것이고 , 세부적인 단계들 중에 조금씩 구현내용이 다른 경우 사용하면 된다. 작성 방법은 다음과 같다. 알고리즘의 여러단계를 각 메서드로 선언하고, 그 알고리즘을 수행할 템플릿 메서드를 만들어준다. 하위 클래.. 2022. 1. 12. 결합도와 응집도 이야기 OOP를 다루는 개발자라면 혹은 컴퓨터 공학을 전공하는 사람이라면 누구나 이런 얘기를 들어본 적이 있을 것이다. "결합도는 낮추고, 응집도는 높여야 유지보수하기 쉬운 좋은 프로그램이 된다" 개발자로 산지 거의 5년이라는 시간이 지났지만, 저 말을 제대로 이해하고 있는지도 의문이었다. 그래도 최근에 '클린코드' 라는 책을 정독하면서 나름대로 잘 이해하게 된 것 같아, 내용을 좀 정리해보려고한다. 결합도 (Coupling) 결합도는 다른 모듈간의 의존도를 의미한다. 아래그림을 보자. 파란색 사각형이 프로그램의 모듈이라고 생각해보자. 보통 프로그램은 하나의 모듈이 아닌 여러개의 모듈로 이루어져있다. 결합도는 각각의 모듈간의 영향을 주는 즉 의존도를 의미한다. 응집도 (Cohesion) 응집도는 하나의 모듈 내.. 2022. 1. 9. 2021년 개발자 회고 하이 ! 2022년이 된지 벌써 5일이 지났다. 2021년은 굉장히 빠르게 그리고 정신없이 지나갔다. 몇가지 내가 해왔던 일들에 대해 간단하게 정리하는 회고의 시간을 가져보고자한다. 1. 새해부터 대형 프로젝트 작년 1월.. 정확히 말하면 2020년 12월부터 회사의 큰 프로젝트에서 PM 역할로 프로젝트를 진행했다. 나름 혁신적인 시도로 위에서 애자일 방식으로 프로젝트를 해보자고 하여 애자일로 프로젝트를 진행했다. (말이 애자일이지 배포한 날 공식적으로 나를 비판하는 시간을 가지는게 다였다.) 관련 프로젝트에 대한 경험이 있는 사람도 사내에 없었고, 중간에 프로젝트 인원이 몇명 빠지는 바람에 거의 혼자 해당 프로젝트를 이끌어 나갔다. 정신과 몸이 굉장히 지치고 고단했지만, 완성을 앞두고 포기하기엔 너무나.. 2022. 1. 5. 이전 1 ··· 7 8 9 10 11 12 13 ··· 43 다음