주녁, DevNote
article thumbnail
아시나요? SSH (+ Oracle 무료 인스턴스 만들기)
Do you know? 2023. 11. 26. 16:29

개요 흔히 AWS나, GCP와 같은 IaaS(Infrastructure as a Service)에서 인스턴스에 접속할 때 SSH를 사용한다. 자주 사용하지만 간과했던 SSH의 개념과 원리를 알아보자 목표 SSH의 작동 원리를 이해한다 직접 인스턴스를 생성하며 SSH를 사용해본다. 여정 SSH란? SSH는 Secure Shell의 줄임말로, 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜이다. 기존 원격 접속은 ‘텔넷(Telnet)’이라는 방식을 사용했는데, 암호화를 제공하지 않기 때문에 보안상 취약하다는 단점이 있었다. 이를 암호화하는 SSH 기술이 등장했고, 현재 원격 접속 보안을 위한 필수적인 요소로 자리잡고 있다. 따라서, AWS의 EC2 같은 IaaS(Infrastructure as a Ser..

article thumbnail
아시나요? 마이크로 서비스와 도메인 주도 설계 (1)
Do you know? 2023. 8. 13. 09:28

개요 답 보다는 질문을 베껴야 한다. - Jessica Ker - 이 시리즈는 아래 도서를 읽고 요약한 시리즈 입니다. 마이크로서비스 패턴(크리스 리처드슨, 길벗 출판사) 짧은 지식으로 작성되었으니, 잘못된 점이 있다면 댓글로 따끔한 지적 부탁드립니다! 목표 마이크로 서비스의 개념과 필요성, 적용 방안을 알아본다. 도메인 주도 설계의 필요성과 다양한 적용 사례를 알아본다. 여정 마이크로 서비스란 무엇인가? 마이크로 서비스(Micro Service)는 비즈니스 도메인을 중심으로 모델링된 독립적으로 배포 가능한 서비스를 말한다. 즉, 마이크로 서비스는 아키텍쳐의 목표 지점이 아니다. 기존 아키텍쳐로 이룰 수 없는 무언가를 달성하기 위해 채택하는 전략일 뿐이다. 이 책의 저자는 '모든 사람이 마이크로 서비스를..

article thumbnail
아시나요? 함수형 프로그래밍 - (5) 체이닝(Chaining)
Do you know? 2023. 8. 6. 17:47

개요 객체지향 프로그래밍은 필수적인 패러다임으로서 다루는 책과 글은 많다. 반면, 함수형 프로그래밍은 필수적이지도 않으며, 어떤 부분이 좋다고 콕 집어 말하기 어렵다. 이는 함수형 프로그래밍이 범용 패러다임이기 때문이다. 결국, 어디에서나 잘 어울릴 수 있다는 뜻이기도 하다 이 글은 아래 책을 읽고 난 후 작성되었습니다. 쏙쏙 들어오는 함수형 코딩 / 에릭 노먼드 목표 함수형 프로그래밍의 주요 개념과 관점을 이해하고, 함수지향 설계와 아키텍쳐를 학습한다. 여정 자주 쓰이는 콜백 함수 만들어보기 지난 시간에 작성했던 콜백을 다시 한번 보자. function repeatAction(array, action) { for (let i = 0; i < array.length; i++) { action(array[..

article thumbnail
아시나요? 함수형 프로그래밍 - (4) 고차 함수
Do you know? 2023. 7. 25. 23:03

개요 객체지향 프로그래밍은 필수적인 패러다임으로서 다루는 책과 글은 많다. 반면, 함수형 프로그래밍은 필수적이지도 않으며, 어떤 부분이 좋다고 콕 집어 말하기 어렵다. 이는 함수형 프로그래밍이 범용 패러다임이기 때문이다. 결국, 어디에서나 잘 어울릴 수 있다는 뜻이기도 하다 이 글은 아래 책을 읽고 난 후 작성되었습니다. 쏙쏙 들어오는 함수형 코딩 / 에릭 노먼드 목표 함수형 프로그래밍의 주요 개념과 관점을 이해하고, 함수지향 설계와 아키텍쳐를 학습한다. 여정 일급(First Class) 우리는 지금까지 코드를 분류하고, 쪼개면서 함수형 프로그래밍을 배웠다. 이번에는 함수에 함수를 더하는 고차 함수를 만들어보도록 하자. 아래와 같은 간단한 함수가 있다. 객체에 key-value 쌍을 넣어서 돌려주는 ob..

article thumbnail
아시나요? 함수형 프로그래밍 - (3) 추상화 레벨
Do you know? 2023. 7. 23. 16:17

개요 객체지향 프로그래밍은 필수적인 패러다임으로서 다루는 책과 글은 많다. 반면, 함수형 프로그래밍은 필수적이지도 않으며, 어떤 부분이 좋다고 콕 집어 말하기 어렵다. 이는 함수형 프로그래밍이 범용 패러다임이기 때문이다. 결국, 어디에서나 잘 어울릴 수 있다는 뜻이기도 하다 이 글은 아래 책을 읽고 난 후 작성되었습니다. 쏙쏙 들어오는 함수형 코딩 / 에릭 노먼드 목표 함수형 프로그래밍의 주요 개념과 관점을 이해하고, 함수지향 설계와 아키텍쳐를 학습한다. 여정 계층형 설계 이번에는 분류하기(액션, 계산, 데이터)와는 약간 다른 방향에서 코드를 바라보자. 바로 계층형 설계이다. 피라미드를 생각해보면 쉽다. 각 층은 함수가 추상화된 레벨을 나타낸다. 각 층별 동작은 이런식으로 이루어져 있다. 맨 위층의 코드..

article thumbnail
아시나요? 함수형 프로그래밍 - (2) 분류하기
Do you know? 2023. 7. 18. 23:18

개요 객체지향 프로그래밍은 필수적인 패러다임으로서 다루는 책과 글은 많다. 반면, 함수형 프로그래밍은 필수적이지도 않으며, 어떤 부분이 좋다고 콕 집어 말하기 어렵다. 이는 함수형 프로그래밍이 범용 패러다임이기 때문이다. 결국, 어디에서나 잘 어울릴 수 있다는 뜻이기도 하다 이 글은 아래 책을 읽고 난 후 작성되었습니다. 쏙쏙 들어오는 함수형 코딩 / 에릭 노먼드 목표 함수형 프로그래밍의 주요 개념과 관점을 이해하고, 함수지향 설계와 아키텍쳐를 학습한다. 여정 코드 분류하기 지난 포스팅의 마지막에 등장한 코드를 다시 가져와액션과 계산, 데이터로 분류해보았다. // 전역변수는 액션이다 = 변경 가능하기 때문 let shoppingCart = []; let shoppingCartTotal = 0; funct..

article thumbnail
아시나요? 함수형 프로그래밍 - (1) 개념
Do you know? 2023. 7. 16. 15:55

개요 객체지향 프로그래밍은 필수적인 패러다임으로서 다루는 책과 글은 많다. 반면, 함수형 프로그래밍은 필수적이지도 않으며, 어떤 부분이 좋다고 콕 집어 말하기 어렵다. 이는 함수형 프로그래밍이 범용 패러다임이기 때문이다. 결국, 어디에서나 잘 어울릴 수 있다는 뜻이기도 하다 이 글은 아래 책을 읽고 난 후 작성되었습니다. 쏙쏙 들어오는 함수형 코딩 / 에릭 노먼드 목표 함수형 프로그래밍의 주요 개념과 관점을 이해하고, 함수지향 설계와 아키텍쳐를 학습한다. 여정 함수형 프로그래밍의 어려운 점 함수형 프로그래밍은 부수효과(Side Effect) 없이 순수함수만을 사용한다. 부수효과는 리턴 값 전달 이외에 발생하는 행동을 말한다. 순수함수는 인자에만 의존하여 같은 인자는 항상 같은 결과를 발생시키는 함수이다...

article thumbnail
아시나요? - 객체지향의 사실과 오해
Do you know? 2023. 5. 14. 15:33

개요 이 글은 조영호님의 객체지향의 사실과 오해(위키북스)를 읽고 정리한 글입니다. 목표 객체지향의 목표는 실세계를 모방하는 것이 아니다. 오히려 새로운 세계를 창조하는 것이다. 클래스나 상속을 중점으로 바라보던 고정관념을 돌아보고 자신만의 견해를 만들 수 있도록 해보자! 여정 협력 시너지를 생각하라. 전체는 부분의 합보다 크다. - 스티븐 코비 협력 = 요청과 응답 요청과 응답으로 이루어진 협력은 거대하고 복잡한 문제를 해결할수 있게 해준다. 협력의 성공은 특정한 역할(Role)을 맡은 개인이 요청을 얼마나 성실히 이행하는가에 달려있다. 역할과 책임 역할은 특정한 사람이 협력 안에서 차지하는 책임과 의무이다. 여러 사람이 동일한 역할을 수행할 수 있다. (= 누가 커피를 서빙하던 상관 없다) 역할은 대..

article thumbnail
아시나요? 웹서버와 WAS, 그리고 Nginx
Do you know? 2023. 3. 9. 00:27

지적과 댓글은 언제나 환영합니다! 이 포스팅은 [10분 테코톡] 🤫 피케이의 Nginx - YouTube 내용을 텍스트로 옮기고 살을 덧붙였습니다. 관련 내용 원문은 영상을 보시는 것을 추천드립니다! 개요 웹 서버와 WAS의 차이점이 무엇인가요? NginX, Apache Server, Apache Tomcat, Jetty, Netty, Undertow 등 웹 생태계에 발을 들이다보면, 다양한 종류의 웹 서버와 WAS 종류를 들어봤을 것이다. 하지만, 정확하게 웹 서버와 WAS(Web Application Server)의 역할을 설명하려고 했을때 말문이 막혔거나 멈칫했던 경우가 있다면 오늘 같이 짚고 넘어가보도록 하자. 목표 웹서버와 WAS의 역할과 차이점을 이해한다 주로 사용되는 Nginx, Apache..

article thumbnail
아시나요? 의존성 주입(DI, Dependency Injection)
Do you know? 2023. 1. 18. 22:58

지적과 댓글은 언제나 환영합니다! 의존성 주입이란? 스프링에서 지원하는 핵심 프로그래밍 모델 중 하나로 말 그대로 의존관계를 외부에서 결정해주는 디자인 패턴이다. 의존관계? 의존관계는 쉽게 이야기하자면 한 쪽이 변경되면 다른 한쪽도 변경되는 관계로 말할 수 있다. public class Customer{ // 초기모델 private final int id; // 고유 ID private final String grade; // 회원 등급 private final DiscountPolicy discountPolicy; // 할인정책 } public class Customer{ // 변경 후 모델 private final int id; private final String grade; private fina..