반응형

전체 글 18

[Language/JavaScript] async/await(feat. 왜 쓸까?)

1. 시작하며Vue나 자바스크립트 좀 만지다 보면 꼭 만나는 게 바로 '비동기 처리'다. 서버에서 데이터를 가져오거나 타이머를 돌릴 때 우리는 코드가 꼬이는 걸 막기 위해 Promise와 .then()을 사용해 왔다.하지만 로직이 조금만 복잡해져도 코드가 꼬리에 꼬리를 물면서 가독성이 바닥을 친다. 오늘은 내가 직접 코드를 짜며 뼈저리게 느낀 async/await의 강력함과, 우리가 왜 Promise에서 넘어가야 하는지 그 이유를 정리해 보려고 한다. 2. Promise도 순서대로 실행되는데, 왜 굳이 async/await를 쓸까?사실 .then()도 "이거 끝나면 다음 거 해"라는 뜻이니까 순서대로 작동하는 건 맞다. 그런데도 개발자들이 async/await에 열광하는 가장 큰 이유는 바로 '변수 공..

[Language/Java] 자바 스트림(Stream)

#. 포스트 소개 (Post Introduction)오늘은 자바 8부터 도입된 아주 강력한 도구인 스트림(Stream) 에 대해 알아보려고 한다.필자가 처음 스트림을 접했을 때는 “그냥 For문 쓰면 되는 거 아냐?”라고 생각했었다. 하지만 실무에서 데이터 양이 많아지고 코드가 복잡해질수록 스트림이 주는 간결함과 가독성이 얼마나 대단한지 알게 되었다. 오늘은 스트림이 무엇인지, 왜 쓰는지 입문자 눈높이에서 차근차근 정리해 보려고 한다.#1. 스트림(Stream)이란 무엇인가?스트림은 한마디로 '데이터의 흐름’이다.배열이나 컬렉션(List, Set 등)에 저장된 데이터들을하나씩 꺼내서 공장의 컨베이어 벨트 위에 올린다고 상상하면 쉽다.우리는 벨트 옆에서 이렇게 명령만 내리면 된다.“짝수만 골라!”“이 숫자..

[Language] Java 2026.02.09

[Language/JavaScript] Truthy (참으로 평가되는 값) 와 Falsy (거짓으로 평가되는 값)

#.포스트 소개 (Post Introduction) 오늘은 자바스크립트에서 '참(True)' 와 '거짓(False)' 로 취급 될 수 있는 값인 'Truthy (참으로 평가되는 값)' 와 'Falsy (거짓으로 평가되는 값)' 에 대해 알아보고자 한다. 자바스크립트를 코드를 보면서 논리합 연산자('||') 혹은 논리곱 연산자('&&') 를 사용하여 'String1' || 'String2' 혹은 ' String1' && ' String2' 와 같은 형태나 '변수1 || 변수2' 혹은 '변수1 && 변수2' 형식의 코드를 본적이 있는가? 아마 대부분 있을 것이다. 필자가 프로젝트를 진행할 때 까지는 자바스크립트에 대해서 제대로 공부해 본적이 없었기 때문에 이에 대해 그냥 느낌적으로 논리합 연산자 혹은 논리곱..

[Language/Java] 봉인된 클래스 (Sealed Class)

# 봉인된 클래스 (Sealed Class) Java 15 부터 도입된 '봉인된 클래스(sealed class)' 는 상속 계층을 더 세밀하게 통제 할 수 있게 해준다. 이를 통해 무분별한 상속을 방지 하고, 코드의 안정성 을 높일 수 있다. 구체적인 사용 방법은 아래에서 예시코드와 함께 다루겠다. #.1 봉인된 클래스 (Sealed Class) 선언 방법 /* 봉인된 클래스 Test 선언 */ // 상속 허용 클래스 Department, Member 클래스 지정 public sealed class Test permits Department, Member { ... } 봉인된 클래스(sealed class) 는 'sealed키워드'를 사용하여 선언할 수 있으며, 'permits키워드' 뒤에 상속 가능한 ..

[Language] Java 2024.01.10

[Language/JavaScript] 자바 스크립트(Java Script) 함수 선언 방법 3가지

#.포스트 소개 (Post Introduction) 오늘은 자바스크립트에서 함수를 선언하는 3가지 방법에 대해서 각각 알아보려고 한다. 사실 이 글을 포스팅하는 이유는 필자가 면접 때 질문을 받았는데 1가지 방법이 생각나지 않아서 답변을 하지 못했기 때문이다!... 요즘 프로젝트 유지 보수 스터디에서 역할 분담을 Back-End만 맡아서 하다보니 Front-End에 너무 소홀했던거 같아 반성할 겸 포스팅을 하면서 다시 한번 정리해 보려고 한다. #1. 함수 선언문 (Function Declaration) 으로 선언하기 function test() { console.log("안녕하세요!"); } 첫 번째 방법은 바로 '함수 선언문 (Function Declaration)' 을 사용하는 방법이다. 함수 선언..

[Language/Java] final클래스와 final메소드

#.포스트 소개 (Post Introduction) 오늘은 final 클래스와 final 메소드에 대해 다뤄보려고 한다. 자바에서 필드 선언 시 final 예약어를 붙이면 초기값 설정 후 값을 변경할 수 없는 필드가 된다. 그런데 이 final 예약어는 필드 뿐만이 아니라 class와 메서드 선언시에도 붙여서 사용할 수 있다. 필자는 이 사실을 알게된지 얼마되지 않았다!... 그래서 오늘은 클래스와 메소드 선언시 각각 final을 붙여서 선언하면 어떤 효과가 있는지 알아보려고한다. #.final 클래스 클래스를 선언할 때 final 키워드를 class 앞에 붙이면 최종적인 클래스이므로 더 이상 상속할 수 없는 클래스가 된다. 즉, final 클래스로 선언된 클래스는 부모 클래스가 될 수 없게되는 셈이다...

[Language] Java 2024.01.06

[Language/Java] 싱글톤(Singleton) 패턴 - #2 싱글톤 패턴의 종류와 장단점

추가 포스팅 사유 [Language/Java] 싱글톤(Singleton) 패턴 - #1 저번 시간에 싱글톤 패턴에 대한 대략적인 내용과 싱글톤 패턴을 이용하여 객체를 생성하는 예시 코드를 포스팅 했었는데 어떤분께서 댓글로 싱글톤 패턴에는 객체 선언방법이 여러 가지가 있다고 알려주셔서 이와 관련된 부분을 추가로 공부하여 포스팅을 하고자 한다. 또한 싱글톤 패턴의 단점 또한 포스팅을 요청하셨기 때문에 이번 포스팅에서 같이 다뤄볼 예정이다. 싱글톤(Singleton) 패턴을 이용한 객체 선언방법 1. 즉시 초기화 (Eager Initialization) public class Singleton { private static final Singleton instance = new Singleton(); priv..

[Language] Java 2024.01.02

[Language/Java] 싱글톤(Singleton) 패턴 - #1

싱글톤(Singleton) 패턴이란? Application 전체에서 오직 단, 한 개의 객체만 생성해서 사용하고 싶을 때 사용하는 것이 바로 싱글톤(Singleton) 패턴이다. 즉, 클래스의 객체를 단, 한 번만 생성하고 싶을 경우에 적용하는 디자인 패턴이다. 싱글톤 패턴을 적용할 클래스의 생성자를 private 접근제한자로 선언하여 외부에서 해당 클래스의 객체를 생성하지 못하게 하는것이 포인트이다. 단, 외부에서 객체를 생성하지는 못하게 하더라도 반환받아 사용할 수는 있게 해줘야하기 때문에 싱글톤 패턴을 사용하여 선언한 클래스에서 객체를 반환해주는 정적(static) 메서드를 제공하는 것이 일반적이다. 싱글톤(Singleton) 패턴적용한 클래스 선언 예시 public class SingletonEx..

[Language] Java 2023.12.30

[면접/면접리뷰] IT개발자 실제 기술면접 리뷰#1 - (중소 / SI / ★ ★ ★ ☆ ☆ )

요즘 취업을 하기 위해서 여러곳을 면접을 다니고 있다. 지금이야 면접을 여러번 보다보니 어느 정도 나만의 면접 데이터가 쌓여서 어떤 종류의 질문들을 하는지 어느정도 예측이 가능해졌다. 물론 정확히 어떤 질문을 하는지 예상 가능한게 아니라 어떤 종류의 질문을 많이 하는지 정도를 알게되었다는 것이다. 처음 면접을 볼 때는 비전공자 출신이다보니 어떻게 예상질문을 뽑아서 대비하고 답변을 준비해야하는지 도무지 알길이 없어 막막하였다. 따라서 지금까지 본 면접을 바탕으로 나 자신에게 피드백을 할겸 처음 면접보는 이들에게 작은 도움이 됬으면 좋겠다는 마음에서 필자가 지금까지 실제 면접을 본 후기를 회사규모와 업종 그리고 필자가 체감한 난이도(주관적일 수 있음) 별로 구분하여 실제 면접시 받았던 질문과 해당 질문에 대..

[CS/자료구조] 큐(Queue) - #1 큐(Queue)와 큐(Queue)의 종류

#큐(Queue) 란? 큐(Queue)는 대표적인 자료구조 중 하나로 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 형태를 가진 자료구조를 의미한다. 쉽게 생각하면 대기열을 생각하면 된다. 예를 들어 손님이 많은 가게에서 웨이팅을 할 때 가장 먼저 기다린 사람이 가게에 자리가 생기면 가장 먼저 입장하는 것과 같다. 이렇게 큐(Queue) 와 같은 형태를 FIFO(First In First Out) 구조라고 칭하기도 하며 가끔 LILO 구조 라고(Last In Last Out) 칭하기도 한다. 위 그림을 보면 알 수 있듯이 큐(Queue)에 데이터를 넣는 것을 Enqueue라고하며, 데이터를 꺼내는 행위는 Dequeue라고 칭한다. #큐(Queue) 의 종류 1) 큐(Queue) 가장 표준적인 큐(Qu..

[CS] 자료구조 2023.12.20
반응형