728x90

개인공부 25

[SQL] Inner join, Outer join

🎯 Join(조인) 이란? 🎯 여러 테이블에 흩어져 있는 정보 중 사용자가 필요한 정보만 가져와서 가상의 테이블 처럼 만들어서 결과를 보여주는 것으로 2개의 테이블을 조합해서 하나의 열로 표현하는 것이다. 💎 Join의 종류 💎 1. Inner Join 2. Cross Join 3. Outer join 4. Self join 오늘은 이 중에서 1번의 Inner join과 3번의 Outer join에 대해 알아볼 것이다. 1️⃣ Inner join (내부 조인) - 키 값이 있는 테이블의 컬럼 값을 비교 후 조건에 맞는 값을 가져오는 것. - 서로 연관된 내용만을 검색하는 조인 방법 - 교집합으로 생각하면 이해가 쉬움 2️⃣ Outer join (외부 조인) - 조인 하는 여러 테이블에서 한쪽에는 데이터가..

개인공부/BE 2022.05.23

[Server] about API (Application Programming Interface)

💎 API란 무엇인가? 💎 API는 Application Programming Interface의 줄임말로 두 애플리케이션 간의 요청과 응답을 구성하는 방법에 대한 정보가 들어있는 것 일반적으로는 웹 API를 많이 이야기 하지만, 모든 API가 웹 서비스인 것은 아니다. 역사적으로 봤을 때도 API가 www 이전에 만들어졌기 때문에 Java API, 서비스 API 등 다양한 용어가 존재한다. 요즘 특히 많이 사용하는 REST API는 이 웹 API 중에서도 표준 아키텍쳐 스타일을 사용하는 특수한 유형의 API이다. ( 따라서 내가 지정한 Server 카테고리도 사실 정확한 것은 아니나, 내가 서버 쪽으로 api를 많이 접해봤기 때문에 이 카테고리를 선택했다. ) ✨ API의 작동 방식 ✨ API 아키텍쳐..

개인공부/BE 2022.05.09

[Django] DRF(Django Rest Framework)

💕 DRF(Django Rest Framework)란? 💕 Django안에서 Restful API 서버를 쉽게 구축할 수 있도록 도와주는 오픈소스 라이브러리 Django는 파이썬으로 웹 서버를 구축할 수 있게 하는 툴이다. 서버 구축을 하게 된다면 거의 당연히 따라오는 것이 있는데, 바로 REST api 이다. REST는 HTTP의 URL과 HTTP method(GET, POST, PUT, DELETE)를 사용하여 API 사용 가독성을 높인 구조화된 시스템 아키텍쳐인데, DRF는 이 REST api 서버를 만드는 데 도움을 주는 툴이다. 💕 DRF(Django Rest Framework)의 장점 💕 - 범용성이 좋은 웹 브라우저 API를 사용한 쉬운 개발, RESTful한 서버를 보다 쉽고 빠르게 만들기..

개인공부/BE 2022.05.02

[Server] 로드밸런싱(Load Balancing)

로드밸런싱(Load Balancing) 일전에 AWS 서버 정리하면서 간단히 본적이 있는데, 아예 로드 밸런싱만 따로 정리하고 싶어서 이번 아티클을 준비했다. 우선 로드밸런싱의 정의는 다음과 같다. 여러 대의 서버를 두고 서비스를 제공하는 분산 처리 시스템에서 필요한 기술로, 둘 이상의 CPU 또는 저장장치와 같은 컴퓨터 자원들에게 작업을 나누는 것 로드밸런싱이 필요한 이유 클라이언트가 적은 경우에는 서버가 여유롭게 사용자가 원하는 결과를 응답해줄수 있지만, ❓ 그러나 클라이언트가 굉장히 많은 경우에는? -> 서버는 최대한 응답하려하지만 결국에는 동작에 한계가 있어 응답이 어려워진다. (소위 말하는 서버 터짐) 따라서 적당히 서버를 늘리거나, 서버의 성능을 올려줘야함 ❗ 이런 서버에 가해지는 부하를 적절..

개인공부/BE 2022.04.18

[Spring Boot] 스프링 부트 개념 정리

🌱Spring Boot란?🌱 스프링을 더 쉽게 이용하기 위한 도구 여기서 spring은 자바 기반의 웹 어플리케이션을 만들 수 있는 프레임워크 의존성 주입이나 제어의 역전 등 결합도를 낮추는 방식으로 어플리케이션을 개발할 수 있다는 것의 스프링의 큰 특징 단순 spring 프레임워크를 더 쉽게 이용할 수 있도록 후속작처럼 나온 제품이 Spring Boot! ✨Spring Boot의 장점과 특징✨ ✔ 기존 spring의 단점(혹은 번거로움들) 과거의 spring 프레임워크는 xml로 설정해야 했음(3.1버전 이후로는 자바만으로 설정 가능해짐) 외장 톰캣에 WAR 파일을 만들어 배포해야 했음 설정이 필요한 부분들을 직접! 구성해야 했음 ✔ Spring Boot의 장점 자주 사용되는 라이브러리들의 버전 관리 ..

개인공부/BE 2022.04.11

[Server] Cloud Server

클라우드 서버 (Cloud Server) ☁ 클라우드 서버란? 애플리케이션 및 정보처리 스토리지로 사용되는 강력한 물리적 또는 가상의 인프라 일반적으로 기업들은 IaaS 모델으 사용해서 워크로드를 처리하고 정보를 저장 쉽게 말해 클라우드 서버는 클라우드 컴퓨터(가상의 컴퓨터)의 서버를 사용하는 것을 의미한다. 또한 클라우드 서버는 가상화 소프트웨어를 사용해서 물리적 서버를 다수의 가상 서버로 분할함으로서 구축된다. 🤷‍♂️ 웹 호스팅? 서버 호스팅? 클라우드? 서버 이야기를 할때 자주 듣는 용어들이다. 각각이 어떤 차이가 있는 지 알아보자 웹 호스팅 가장 쉽게 접해볼 수 있는 웹 서비스 운영 방식이다. 서버에 신경쓰고 싶지 않고, 가벼운 서비스를 하고 싶을 때 사용한다. 서버 호스팅 업체의 물리서버를 대..

개인공부/BE 2022.03.28

[Server] Docker & Kubernetes

도커(Docker) 도커 소프트웨어는 리눅스 컨테이너를 만들고 사용할 수 있도록 하는 컨테이너화 기술이다. 컨테이너 기반의 오픈소스 가상화 플랫폼이라고 불리는데, 그렇다면 여기서 말하는 컨테이너는 무엇일까? 📦 컨테이너 : 애플리케이션과 이를 구동하는 환경을 Host OS로 부터 격리한 공간(이미지를 실행한 상태) 응용 프로그램의 종속성과 함께 응용 프로그램 자체를 패키징 또는 캡슐화해서 격리된 공간에서 프로세스를 동작시키는 기술 컨테이너는 일반적으로 마이크로 서비스로 사용됨 마이크로 서비스는 전체 애플리케이션 서비스를 기능별로 나눈 것 -> 변경과 조합이 가능 기능별로 나누어져있는 각각의 마이크로 서비스는 빠르게 배포가 가능함 분리해서 사용하기 때문에 개별 변경사항이 분리된 다른 기능들에 영향을 미치지..

개인공부/BE 2022.03.21

[Ops] DevOps에 대한 (간략한) 정리

📝 DevOps 모델 정의 DevOps는 애플리케이션과 서비스를 빠른 속도로 제공할 수 있도록 조직의 역량을 향상 시키는 '문화 철학' 과 '방식 및 도구'의 조합이다. DevOps를 사용하는 조직은 기존의 소프트웨어 개발 및 인프라 관리 프로세스를 사용하는 조직보다 제품을 더 빠르게 혁신하고 개선할 수 있다. 이런 빠른 속도를 통해 더 나은 고객지원은 물론 더 효과적인 시장 전략을 만들 수 있다. 💾 DevOps 작동 방식 이 모델에서는 개발팀과 운영팀이 고립되어 존재하지 않는다. 이 두 팀이 단일팀으로 합쳐서 엔지니어가 개발에서 테스트, 배포, 운영에 이르기까지 전체 애플리케이션 수명 주기에 걸쳐 작업하고 단일 기능에 한정되지 않은 광범위한 기술을 개발하게 된다. 이런 팀에서는 속도가 느리고 수동으로..

개인공부/BE 2022.03.14

[React] 넷플릭스 메인 화면 클론 코딩

넷플릭스 메인화면을 React로 클론 코딩해보려 한다. 넷플릭스 안 본지 진짜 오래되었는데... 컨텐츠 말고 맨날 메인 화면만 보고 있었던 탓인지 메인화면은 대충 떠오르는 것 같다. (솔직히 뭐 보지 고민하느라 메인화면 보는 시간이 실제 컨텐츠 보는 시간 보다 길었던거.. 나만 그런거 아니지) 기본적으로 아래의 영상을 기반으로 한 클론 코딩이다. https://www.youtube.com/watch?v=XtMThy8QKqU TMDB의 영화 정보 API를 이용해서 메인 화면에 영화 정보를 넷플릭스의 메인화면 처럼 보여주는 코드를 구성했다. React 공부에 치중을 둔 프로젝트인 만큼 실제 서비스의 동작은 하지 않는다. 우선 기본 index 페이지 코드는 다음과 같다. 이 코드에서는 후에 우리가 사용할 루트..

개인공부/FE 2022.03.11

[Web] CORS(Cross-Origin Resource Sharing, 교차 출처 리소스 공유)

사실 이 개념은 프론트엔드, 백엔드 어느 한 쪽에 국한 되는 개념은 아니다. 내가 이 개념을 프론트엔드 공부할 때 접한 개념이었어서 FE카테고리에 넣은 것이지, 이 개념이 FE에 한정되는 개념이 아님을 밝히고 시작하려 한다. 우선 CORS의 정의는 다음과 같다. 추가 HTTP 헤더를 이용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제 이 정의만 보면 무슨 이야기인지 잘 와닿지 않을 것이다. (나도 처음 접할 때 무슨 말인지 한참을 들여다봤다.) 위의 말을 다른 표현으로 쓰자면, 브라우저 관점에서 origin이 다른 서버를 바로 호출 할 수 없다는 이야기이다. 예를 들면, 내가 "https://aaaaaaa.com"라는 ..

개인공부/FE 2022.03.02
728x90
반응형