분류 전체보기205 좋은 REST API 설계 방법은? (개념/ 예제) 서론 이번 글에서는 어떻게 해야 좋은 REST API를 설계할 수 있는지에 대해 정리해보려한다. 진행방식은 설계 예시 시나리오를 만들어보고 HTTP(REST) Method를 설계해가는 방식으로 진행할 예정이다. REST API 설계 [시나리오] 회원 정보 관리 API를 만들어보아라. 설계를 위해 회원 정보 관리에 관련된 API를 먼저 나열해보자. [API 설계 목록] 회원 목록 조회 회원 조회 회원 등록 회원 수정 회원 삭제 기본적으로 위와 같이 5개로 추려볼 수 있다. 이것을 누구는 한눈에 알기 쉽게 아래와 같이 API URI를 설계할 수 있다. [API URI 설계 초안] 회원 목록 조회 --> /read-member-list 회원 조회 -------> /read-member-by-id 회원 등록 -.. Computer Science/Network 2022. 5. 18. [Java] 함수형 프로그래밍 - Function Interface / Custom Functional Interface (개념 / 예제) 서론 이번글에서는 함수형 프로그래밍에서 기초라고 볼 수 있는 Function Interface와 Functional Interface를 Custom하여 구현하는 방법에 대해 정리해보려한다. 우선 기본적인 Function Interface 예제를 적용 전과 후를 작성하여 왜 함수형 프로그래밍을 하는지에 대해 알아보자. Function Interface [Function Interface 적용 전] Adder (Class) import java.util.function.Function; public class Adder implements Function{ @Override public Integer apply(Integer x) { return x + 10; } } FunctionInterface (Cla.. Programming/Java 2022. 5. 12. [Java] SOLID - 의존성 역전 원칙 (DIP / Dependency Inversion Principle)이란? (개념/ 예제) 서론 드디어 마지막 순서인 객체지향 설계 원칙(SOLID)의 DIP에 대해서 알아보자! 객체지향 설계 5대 원칙 SRP(Single Responsibility Principle): 단일 책임 원칙 OCP(Open Closed Priciple): 개방 폐쇄 원칙 LSP(Liskov Substitution Priciple): 리스코프 치환 원칙 ISP(Interface Segregation Principle): 인터페이스 분리 원칙 DIP(Dependency Inversion Principle): 의존성 역전 원칙 DIP(Dependency Inversion Principle) - 의존성 역전 원칙이란? DIP의 뜻을 정의한 내용은 아래와 같다. "고수준 모듈은 저수준 모듈에 의존하면 안된다. 이 두 모듈 .. Programming/Java 2022. 5. 12. [Java] SOLID - 인터페이스 분리 원칙 (ISP / Interface Segregation Principle)이란? (개념/ 예제) 서론 이번 글에서는 저번 글에서 정리한 리스코프의 법칙에 이어 SOLID에서 I에 속하는 ISP에 대해 정리해보겠습니다. 객체지향 설계 5대 원칙 SRP(Single Responsibility Principle): 단일 책임 원칙 OCP(Open Closed Priciple): 개방 폐쇄 원칙 LSP(Liskov Substitution Priciple): 리스코프 치환 원칙 ISP(Interface Segregation Principle): 인터페이스 분리 원칙 DIP(Dependency Inversion Principle): 의존 역전 원칙 ISP(Interface Segregation Principle) - 인터페이스 분리 원칙이란? 이 원칙의 개념은 쉽게 이해하기 위해서는 이름 그대로 인터페이스를 .. Programming/Java 2022. 5. 12. [Network] routing table 확인, 추가, 삭제 방법 (개념/ 예제) 서론 하나의 사이트에서 여러개의 대역을 쓰게 될 경우 보통 L3 스위치장비가 들어간다. 이 L3 장비는 많은 기능을 갖고있는 장비인데, 이 포스팅에서 중점적으로 봐야하는 기능은 "A로 가던 패킷을 B로 가도록 바꿔주는 기능"이다. 이 L3 스위치로 대역들을 묶어서 보통은 문제없이 서로 통신 구조가 이뤄지지만 묶여져있는 하나의 장비에서 VPN이나 두개의 대역을 사용할 경우 우리는 라우팅 처리를 해줘야한다. 여기서 라우팅 처리란, 하나의 장비에서 두개의 게이트웨이(문)이 있다면 패킷은 어디 문을 통해서 갈지 우리가 정해줘야 한다는 것을 말한다. 이 라우팅 처리를 하는 방법에 대해 정리해보자. Routing Table 확인 방법 1. CMD[관리자권한] 실행 2. route print 입력 위 처럼 입력 시 .. Windows 2022. 5. 11. [더 레드 - 백발의 개발자를 꿈꾸며] 좋은 취업과 동기부여 방법 서론 이번 글에서는 "취업과 동기부여"라는 강의에서 나온 말들을 내 생각과 함께 정리해보려한다. 좋은 취업 ? 개발자에게 취업이란 것을 생각하면 두가지로 나뉘어서 생각해볼 수 있다. 1. 회사를 다니는 이유 ? 회사에 내가 기여(가치)할 것이 있거나 배울 것(성장성)이 있거나 미래의 나(비전)에게 도움이 되는가 2. 나는 어떤 이유로 어떤 회사를 다녔나? 로켓, 처우, 성장을 경험해보고싶어서 회사에서 이루고 싶은 일이 있는 일이 있거나 우리는 보통 회사를 다닌다고 하면 위와 같은 고민(생각)을 갖게된다. 하지만 이런 고민 또한 안하는 사람들도 분명 많다. 그것은 욕심이 없는 것일 수 도있겠지만 현재 재직하고있는 회사에서 너무 일이 바쁘거나, 만족하거나 둘 중 하나라면 생각을 안할 수 있다. 그렇지만 이러.. Self-Development/Lecture Review 2022. 5. 9. URI, URL, URN이란? (개념/ 차이점/ 예시) 서론 이번 포스팅에선 HTTP에서 가장 중요한 URI, URL, URN에 대해 알아보려한다. URI, URL, URN이란? URI, URL, URN에 대해서 간략히 먼저 알아보자. URI 자원의 식별(Identifier)을 말한다 URL 자원의 위치를 말한다. URN 자원의 이름을 말한다. 위와같이 간략히 정의할 수 있는데 아래에서 상세 개념과 예시로 이해해보자. URI(Uniform Resource Identifier)란? 통합 자원 식별자를 말한다. 인터넷에 있는 자원을 나타내는 유일한 주소를 말한다. URI의 존재는 인터넷에서 요구되는 기본조건으로 인터넷 프로토콜에 항상 붙어다닌다. 하위 개념으로는 URL, URN이 있다. (즉 URI는 상위개념) URL(Uniform Resource Locator.. Computer Science/Network 2022. 5. 8. [JAVA] SOLID - 리스코프 치환 원칙 LSP(Liskov Substitution Principle) 서론 이번 글에서는 L에 속하는 리스코브 원칙에 대해 알아보려한다. 객체지향 설계 5대 원칙 SRP(Single Responsibility Principle): 단일 책임 원칙 OCP(Open Closed Priciple): 개방 폐쇄 원칙 LSP(Liskov Substitution Priciple): 리스코프 치환 원칙 ISP(Interface Segregation Principle): 인터페이스 분리 원칙 DIP(Dependency Inversion Principle): 의존 역전 원칙 LSP(Liskov Substitution Priciple) - 리스코프 치환 원칙이란? 서브 타입은 언제든 자신의 기반(부모) 타입으로 교체할 수 있어야 한다는 원칙을 말한다. 이 말을 다시 말해 객체의 상속관계에서.. Programming/Java 2022. 5. 8. 자기 성장과 효율적인 학습을 하는 방법? 서론 앞서 작성한 왜 성장해야하나, 왜 학습해야 하나의 연장선으로 "성장과 학습하는 방법"의 강의에 대한 후기와 내용 정리를 해보려합니다. 이전 글 다시보기 우리는 왜 성장해야하나? 우리는 왜 학습해야하나? 내용 롤모델을 만들자 주변에서 내가 되고싶은 개발자를 찾아보자. 물론 주변에 없다면 인터넷 강의, TV에 나오는 누군가가 될 수 있다. 롤모델을 삼는다는 것은 내가 어떠한 일을 시작하는데 있어 욕심과 열정을 불어넣어줄 수 있는 좋은 행동이다. 롤모델인 그 또는 그녀가 왜 잘하는지, 어떻게 잘하게 되었는지를 관찰하고 분석하며 일단 따라해보자. 따라하다보면 얻어가는 것이 많을 수 있다. 내가 어떻게하면 롤모델처럼 될 수 있을지 생각하고 노력해야하며, 이것은 단기간의 노력으로 이뤄지는 것이 아닌 정말 긴 .. Self-Development/Lecture Review 2022. 5. 4. [Spring Boot] MyBatis 카멜케이스 변환 방법 (Snake -> Camel Case) 서론 보통 DB 컬럼을 생성할 때 우리는 스네이크케이스를 사용하여 만든다. 예를들어 사용자 이름을 만든다고하면 user_nm 이런식으로 _가 붙여져있는 것을 스네이크케이스라고 한다. 근데 클래스에서 생성하는 변수명은 보통 카멜케이스이다. 예로 userNm 이런식으로 새로운 단어가 합쳐지는 부분을 대문자로 사용하는 것을 카멜케이스라고 한다. 그럼 아래의 예시에서 보면 알겠지만 mybatis에서 쿼리를 돌릴 때의 명과 vo의 명이 다른 것을 알 수 있다. 이때 mybatis 쿼리에서 alias를 사용하여 vo 변수명과 맞춰주어도 되지만 이것은 컬럼 하나씩 다 해줘야 되기때문에 매우 비효율적이다. 그렇다면 이제 간단한 변환방법을 알아보자. 변환 전 상황 1. vo 클래스 (스네이크 케이스로 사용 중) @Get.. Programming/Spring 2022. 5. 2. 개발자가 꾸준히 학습 해야 하는 이유 서론 해당 강의의 내용이 많지 않을 뿐더러 핵심 키워드만 정리를 하다보니 이번 포스팅은 다소 내용이 짧습니다. 주요 내용만 알아봅시다. 내용 SW는 계속 변한다. 우리가 다뤄야하는 소프트웨어는 늘 새로운 것이 나오고 계속 해서 진화한다. 새로운 소프트웨어가 나오는것뿐만 아니라 이전에 이미 나와있던 SW가 변화하고 진화할 수 도 있다. 예를들어, 객체지향의 OOP 개념도 무려 1966년도에 처음 나왔다고 한다. 지금도 기본적으로 프로젝트를 설계할 때 OOP의 기본 원칙을 지향하여 설계를 하게된다. 1966년도에 나왔던 OOP의 원론적인 내용을 가지고 지금도 변화해나가며 사용하고있다. 이렇듯 우리는 계속 학습해나가지 않는다면 시대의 변화에 따라가지 못하여 도태될 수 있다. 시간 VS 실력 이 질문에 대해 좋.. Self-Development/Lecture Review 2022. 5. 2. 2022년 정보 처리 기사 실기 - 모의고사 문제 및 오답 노트 정리 3 #043 - 메타데이터 더보기 자료의 속성 등을 설명하는 데이터를 말한다. (데이터의 데이터라고 부른다.) #044 - 블랙박스 테스트 더보기 프로그램 내부 논리 구조를 참조하지 않고 요구사항 등을 이용하여 테스트 케이스를 개발하여 테스트 하는 방법을 말한다. #045 - LOC (Lines Of Code) 더보기 코드 라인수의 낙관치, 중간치, 비관치를 측정하여 예측치를 구하고, 이를 이용하여 비용을 산정하는 방법을말한다, #046 - CBD 더보기 기존의 SW를 구성하고 있는 컴포넌트를 조립해서 하나의 새로운 애플리케이션을 만드는 SW 개발 방법론을 말한다. #047.1 - 피그(Pig) [빅데이터 가공 기술] 더보기 하둡을 이용하여 맵리듀스를 사용하기 위한 높은 수준의 스크립트 언어인 피그 라틴이라.. Self-Development/Study 2022. 5. 2. 이전 1 ··· 4 5 6 7 8 9 10 ··· 18 다음 💲 많이 본 글