분류 전체보기

CS

[Java] StringBuilder

String 불변 객체 > 한번 생성되면 변경 X + 로 문자열 연결 시 새로운 문자열 객체가 생김, 기존 문자열 객체는 JVM가 Garbage collection 수행 따라서, String 객체를 더하는 연산이 많아지면 메모리 할당 & 해제가 발생해 성능에 좋지 않음 StringBuilder mutable > 값이 변할 수 있음 문자열 더하기 수행 시 새로운 객체를 생성하는 게 아닌, 기존 데이터에 더하는 방식 속도 빠름, 상대적으로 부하가 적음 [ 정리 ] 긴 문자열을 더하는 상황이 발생할 경우 StringBuffer, StringBuilder 사용하기 문자열 변경이 빈번하지 않음 > String 문자열이 빈번하게 변경, 멀티 쓰레드 환경 O > StringBuffer 문자열이 빈번하게 변경, 멀티 ..

CS

[Java] EOF까지 입력 받기

알고리즘 문제에서 "입력이 끝날 때까지 입력받기", "0이 입력될 때까지 입력받기"가 필요한 경우 BufferedReader 사용할 때, != 사용 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = ""; while( (str = br.readLine()) != null) { ... } .equals() 사용 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = ""; while( !(str = br.readLine()).equals("")) { ... }

CS

[Java] BufferedReader, BufferedWriter 사용하기

참고: 빠른 입출력을 위한 BufferedReader, BufferedWriter, StringTokenizer, StringBuilder BufferedReader readLine() : 입력값으로 데이터를 한 줄로 읽음 -> String으로 반환 close() : 스트림을 닫는다. 반드시 예외 처리를 해야한다 public class Main { public static void main(String[] args) throws IOException { // BufferedReader를 사용하기 위해서는 throws IOException을 해 주어야 함. BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 선언 int ..

CS/Backend

[Java] 직렬화, 역직렬화

참고: Serialization and Deserialization in Java with Example Java에서 입출력 시 스트림을 이용하는데, 스트림에서는 바이트 형태로 데이터를 전송한다. → 따라서 자바 객체를 바이트 배열로 변환하는 직렬화, 바이트 배열에서 객체로 변환하는 역직렬화를 사용한다. 직렬화 (Serialization) 객체를 바이트 스트림으로 변환하는 메커니즘 객체의 상태를 네트워크를 통해 전송이 가능해짐 직렬화된 바이트 스트림은 플랫폼에 독립적 > 다른 플랫폼에서 역직렬화 가능 java.io.Serializable 인터페이스를 구현하거나 Serializable 인터페이스를 구현한 클래스를 상속받은 클래스의 객체만 직렬화할 수 있다. Serializable 은 마커 인터페이스 마커 ..

CS/Backend

[Spring] REST, REST API

최근 다양한 브라우저, 모바일 디바이스 등 다양한 클라이언트가 등장했다 → 서버 프로그램은 다양한 클라이언트와 통신할 수 있어야 한다. → 멀티 플랫폼 지원을 위해 REST 등장 REST 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 방식 HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 아키텍처자원의 표현 (representation) 그 자원을 표현하기 위한 이름 ex) “students” 자원 해당 소프트웨어가 관리하는 모든 것 ex) 문서, 그림, 데이터, 소프트웨어 자체 등 장점 • HTT..

CS/Backend

[Spring] 웹 애플리케이션 개념 정리

인프런 - 스프링 MVC 김영한님 강의를 정리한 내용 출저: 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 1️⃣ 웹 애플리케이션 웹에서 데이터를 주고받을 때 거의 HTTP 프로토콜을 사용. 웹 서버 HTTP 기반으로 동작 웹 애플리케이션 서버 웹 서버의 기능을 포함 + 프로그램 코드를 실행해서 애플리케이션 로직 수행 동적 HTML 제공, HTTP API 제공 웹 서버 WAS 정적 리소스 제공 + 애플리케이션 로직까지 실행 가능 (자바) 서블릿 컨테이너 기능을 제공 간단한 웹 시스템 구성 = WAS & DB but, WAS 가 너무 많은 역할을 담당 서버 과부하 우려 정적 리소스 때문에 애플리케이션 로직 수행이 어려움 WAS에 장애 발생 > 웹에 접근 자체가 안됨, 오류 화면도 노..

CS

[CS 스터디] Network - TCP 3 way handshake & 4 way handshake

참고: TCP 3 way handshake TCP는 신뢰할 수 있는 데이터 전송을 보장한다. 따라서 통신하기 전후로 두 호스트 간에 연결을 성립하고 해제하는 handshake 과정을 진행한다. 3 way handshake - 연결 성립 (데이터 전송 전) SYN 클라이언트가 서버로 연결을 원한다는 SYN(동기화 시퀀스 번호)와 함께 세그먼트를 전송 SYN + ACK ACK(Acknowledgement)는 수신한 세그먼트의 응답 SYN은 세그먼트를 시작할 가능성이 있는 시퀀스 번호 요청을 받은 서버는 SYN-ACK 신호 비트 세트로 클라이언트 요청에 응답한다. ACK 클라이언트는 서버의 응답을 확인했다는 ACK를 보낸다. ⇒ 연결 성립 4 way handshake - 연결 해제 (모든 통신이 끝난 후) 클..

CS

[CS 스터디] Network - OSI 7 계층 모델

참고: OSI 7 계층 컴퓨터 네트워크 물리/전자기적인 알고리즘 + 이를 이용해서 통신하기 위한 물리적 장비 + 컴퓨터 운영체제와 네트워크 소프트웨어 ⇒ 매우 방대하고 복잡한 시스템 계층을 나누는 이유? 통신이 일어나는 과정을 단계 별로 알 수 있음 특정한 계층에서 이상이 발생하면 해당 계층만 수정하면 되기 때문 > 추상화를 통해 전체 계층에 대해 알 필요 없이 자신의 계층에 대해서 알면 된다. OSI 7 계층 모델 ISO의 개방 시스템 연결 규약(OSI) 참조 모델 응용 계층 (Application Layer) 일반적인 응용 서비스를 수행, 최종 목적지 - 사용자 인터페이스, 전자우편, 데이터베이스 관리 등 - HTTP, FTP, TELNET, SSH 등 애플리케이션 프로토콜 표현 계층 (Present..

CS

[이슈] Postman 실행 안됨

postman을 설치하고 프로그램을 실행해도 아무런 화면이 뜨지 않음 해결 시스템 속성 > 환경 변수 에서 시스템 변수 추가 참고: https://sup2is.tistory.com/12 [Utility] POSTMAN CLIENT 실행 안되는 에러 postman client가 제대로 실행되지않고계속 꿈뻑꿈뻑..? 대는 현상일때 사용하는 방법입니다. window + e 단축키를 활용해서 디렉토리 탐색기를 열어주세요 '속성'클릭 후 왼쪽 상단에 '고급 시스템 설 sup2is.tistory.com

CS/AWS

[SAA-C03] 덤프 문제 풀이 - Amazon RDS Proxy

문제 전자 상거래 회사에 Amazon API Gateway와 AWS Lambda 함수를 사용하는 주문 처리 애플리케이션이 있습니다. 애플리케이션은 Amazon Aurora PostgreSQL 데이터베이스에 데이터를 저장합니다. 최근 판매 이벤트 중에 고객 주문이 갑자기 급증했습니다. 일부 고객은 시간 초과를 경험했으며 애플리케이션은 해당 고객의 주문을 처리하지 않았습니다. 솔루션 설계자는 많은 수의 열린 연결로 인해 데이터베이스에서 CPU 사용률과 메모리 사용률이 높다고 판단했습니다. 솔루션 설계자는 응용 프로그램에 대한 가능한 최소한의 변경으로 작업을 수행하는 동안 시간 초과 오류를 방지해야 합니다. 어떤 솔루션이 이러한 요구 사항을 충족합니까? A. Lambda 함수에 대한 프로비저닝된 동시성 구성...

yooja_tea
'분류 전체보기' 카테고리의 글 목록 (3 Page)