728x90

개인공부 18

[JAVA] ArrayList가 비어있는지 확인 하기

정말 많이 쓰는 ArrayList. 종종 비어있는지 확인해야 할 경우가 있다. 이 경우 보통 두 가지 방법을 많이 쓰는데 1. empty 인지 확인 2. 리스트안의 객체의 수가 0인지 확인 이 있다. 1. empty 인지 확인 ArrayList.isEmpty() 를 사용하면 해당 ArrayList 가 empty 인지 확인 할 수 있다. List testList = new ArrayList; if (testList.isEmpty()) { return true; } 위의 예제 처럼 사용 가능 하다. 2. 리스트 안의 객체의 수가 0인지 확인 ArrayList.size() 를 사용하면 리스트 안의 객체의 수를 알수 있다. List testList = new ArrayList; if (testList.size(..

[Linux] 자주 쓰는 리눅스 명령어 정리

리눅스 명령어를 최근에 많이 사용하게 되어서 자주 쓰는 명령어 위주로 간단하게 정리해보려고 한다. 🚩 pwd (print working directory) 현재 작업 중인 디렉토리 정보 출력 $pwd /home/ubuntu 🚩 cd (change directory) 경로 이동 - 상대경로, 절대 경로 모두 사용 가능 $cd /home/ubuntu/aa $pwd /home/ubuntu/aa $cd .. $pwd /home/ubuntu 🚩 mkdir (make directory) 디렉토리 생성 [붙일 수 있는 조건] -p : 하위 디렉토리까지 한번에 생성 🚩 rm (remove) 파일이나 디렉토리 삭제 [붙일 수 있는 조건] -r : 디렉토리 삭제시에 붙이는 조건 -f : 강제 삭제 (삭제 여부 물어보지 않..

개인공부/BE 2022.08.03

[C언어] 포인터 개념

🔰 데이터의 주소값이란? 🔰 해당 데이터가 저장된 메모리의 시작 주소를 의미 C 언어에서는 이런 주소값을 1바이트 크기의 메모리 공간으로 나누어 표현 예를 들어 int 형 데이터는 4바이트를 가지지만, int 형 데이터의 주소값은 시작 주소 1바이트 만을 가리킴 🎯 포인터란? 🎯 C 언어에서 많이들 어려워하는 개념으로 메모리의 주소값을 저장하는 변수 (포인터 변수) 포인터는 주소값을 저장함 int 형 변수가 int n = 10; 이렇게 변수를 선언하는 것 처럼, 포인터는 int *p = &n; (n의 주소값을 p에 저장) 이런 형식으로 포인터를 선언한다. 참고로 포인터 변수는 메모리에서 변수의 위치를 나타내는 주소를 다루는 변수이므로, 그 크기는 일반적으로 CPU에 따라 결정된다. 따라서 32bit CP..

[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
728x90
반응형