목록분류 전체보기 (350)
Welcome! Everything is fine.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dso2xH/btsEnV7EQFj/t2HVkODavEkecSdxT5EUs1/img.png)
자바에서 java.lang.String 클래스의 다음과 같이 세 가지 메서드를 이용해 문자열을 변경할 수 있다. replace() replaceAll() replaceFirst() replace(CharSequence target, CharSequence replacement) replace() 메서드를 이용해 특정 문자열을 원하는 문자열로 대체할 수 있다. 정규식을 인자로 받을 수 있는 replaceAll()이나 replaceFirst() 와 달리 replace()는 대체할 문자열이 단순한 문자열일 경우 사용된다. String original = "Hello, World!"; String modified = original.replace("Hello", "Hi"); // 모든 Hello라는 문자열을 H..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/KtFoz/btsEqVdGtgn/xLpF8rzTyKkdP5IEfTV1QK/img.png)
자바에서 특정 부분 문자열을 추출하기 위해 java.lang.String클래스의 substring() 메소드를 사용할 수 있다. 해당 메소드는 다음과 같이 두 가지 버전이 있다. public String substring(int beginIndex) public String substring(int beginIndex, int endIndex) substring() 메소드는 원본 문자열을 변경하지 않고 새로운 문자열을 생성한다. substring(int beginIndex) beginIndex부터 맨 끝까지의 문자열을 리턴한다. public class SubstringExample { public static void main(String[] args) { String originalString = "H..
절차 지향 프로그래밍 (Procedural Programming) 프로시저(Procedure) 또는 함수 중심. 코드가 순차적으로 실행되며, 제어 흐름은 주로 조건문과 반복문을 통해 구현. 코드의 가독성 Good, 실행속도 빠름. 실행 순서가 정해져있으므로 상대적으로 유지보수 및 디버깅이 어려움. ex. c언어 // 절차 지향 프로그래밍 public class ProceduralExample { public static void main(String[] args) { // 데이터 String animalName = "고양이"; int animalAge = 3; // 함수 호출 makeAnimalSound(animalName); showAnimalAge(animalAge); } // 함수 정의 public..
객체 지향 프로그래밍(Object-Oriented Programming, OOP)이란? 구글에 '객체 지향 프로그래밍'이라고 검색 하면 다음과 같은 정의가 나온다. 객체 지향 프로그래밍은 컴퓨터 프로그래밍의 패러다임 중 하나이다. 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. 여기서 객체는 현실 세계에 있는 모든 독립된 사물을 객체라고 보고, 그 객체에서 필요한 속성을 가져와 프로그래밍하는 것을 말한다. 객체 지향 개념에서 자주 나오는 붕어빵 예시로 말하자면, 붕어빵을 하나하나 모양잡아 구워내는 것보다 붕어빵 틀을 사용해 빠르고 편리하게..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cdmS7C/btsEaPmhkCI/qyrwJacBw4G5DLcZg8YkGk/img.jpg)
동기(Synchronous) '동시에 일어나는' → 요청과 결과가 동시에 일어남. 코드가 순차적으로 실행되며, 한 작업이 시작되면 그 작업이 완료될 때까지 다음 작업이 기다리게 된다. 간단하고 직관적으로 코드 작성이 가능하지만, 결과가 나올 때까지 무작정 대기해야한다. 비동기(Asynchronous) '동시에 일어나지 않는' → 요청과 결과가 동시에 일어나지 않음. 코드가 순차적으로 일어나지 않으며, 한 작업이 완료될 때까지 기다리지 않고 다음 작업을 시작한다. 상대적으로 코드 설계 및 이해가 어렵지만 태스크가 실행 중이어도 그 시간동안 다른 작업이 가능하다. 동기와 비동기의 차이
쿠키와 세션은 왜 사용하는가? HTTP 프로토콜의 특성(Connectionless / Stateless)을 보완하기 위해 사용한다. Connectionless : 클라이언트가 서버에 request를 보낸 후, 서버가 response를 보내면 연결을 끊는 특징 Stateless : 통신이 끝나면 상태를 유지하지 않는 특징 만약 쿠키와 세션이 없다면 새 페이지를 열 때마다 팝업창이 뜰 것이고, 로그인 정보는 매번 사용자가 입력해야 할 것이다. 사용자 식별이나 상태 유지, 혹은 광고 타겟팅에도 쿠키와 세션이 사용될 수 있다. 쿠키 쿠키(Cookie)란 클라이언트(브라우저)에 저장되는 데이터 파일로, 브라우저를 종료해도 설정된 만료 날짜까지 남아있게 된다. 모든 HTTP 요청에 쿠키가 자동으로 첨부되어 서버로 ..
프로세스(Process)란?프로세스란 실행중에 있는 프로그램을 의미하며, 메모리에 적재되어 CPU의 할당을 받을 수 있는 것을 말한다. 프로세스는 최소 하나의 스레드를 가진다. 프로그램이 실행되면 메모리가 할당되고, 할당된 메모리 공간으로 바이너리 코드가 올라가면 그것을 프로세스라고 부른다. 프로세스마다 고유한 가상 메모리 공간 제공하는 이 공간은 다음과 같이 4개로 나눌 수 있다. code 작성한 코드가 저장되는 공간 data코드에서 전역변수, 정적변수, 상수 등 저장heap코드에서 동적으로 생성되는 데이터 구조나 객체들을 저장stack작성한 함수에서 지역변수, 매개변수, return 주소 등을 저장스레드(Thread)란?프로세스의 실행단위로, 프로세스 내의 공유된 자원(코드, 데이터, 파일 등)을..
CS 기초 스터디 첫 질문을 선정했다! 이번 질문은 "HTTP METHOD에 대해 설명해 보세요."였다. HTTP 메서드에 대해 공부하기 전에 먼저 HTTP의 정의와 특징에 대해 정리하고, 실제로 HTTP 요청 프로토콜이 어떻게 구성되어있는지 알아보았다. HTTP(HyperText Transfer Protocol)란? HTML 문서 등을 주고받는 서버-클라이언트 메시지 교환 프로토콜로, TCP/UDP를 사용하여 통신한다. 클라이언트(=리소스를 요청하는쪽)와 서버(=요청을 받아 해당 리소스를 제공하는 쪽) 간에 통신이 일어난다. Request(요청) : 메서드, URI, 프로토콜 버전, 헤더, 바디로 구성 Response(응답) : 프로토콜 버전, 상태코드, 상태코드에 대한 설명, 헤더, 바디로 구성 HT..