전체 글

개발자꿈나무입니다
개발지식

컴파일 타임과 런타임의 차이는 무엇일까!

문득 compile과 runtime의 차이가 무엇인지 제대로 알고 있지 않다는 생각이 들었다. 그래서 알아보기로 했다! 1. compile time 컴파일 타임이란 소스코드가 컴파일이라는 과정을 통해 기계가 읽을 수 있는 형태로 변환되는 과정이다. 예를들어 .exe같은 파일을 예로 들 수 있다. 그렇다면 컴파일 에러란 컴파일 중 발생되는 에러를 의미한다! 대표적으로 syntax error이다. - > 문법에 맞지 않는 코딩했을 때 발생하는 에러! 2. run time 컴파일 타임 이후 프로그램이 동작되어지는 때를 런타임이라고 한다. exe파일을 동작시키는 과정이다. 따라서 런타임에러는 컴파일 중에는 감지하지 못하는 에러이다. 문법적으로는 오류가 없지만 실행해보면 발생되는 에러이다. ++ 자바의 컴파일 과..

카테고리 없음

ㄹ허ㅗ

Server

IP와 port

✔️IP : 네트워크 상에서의 특정 컴퓨터를 가리키는 주소 IP는 특정 컴퓨터의 주소를 가리킨다. 예를 들면, naver.com이라는 서비스도 IP 주소를 가지고 있다. 저 IP 주소는 네이버가 운영하고 있는 컴퓨터의 주소이기도 하다. ✔️port : 한 컴퓨터 내에서 실행되고 있는 특정 프로그램의 주소 한 컴퓨터 내에서 여러 프로그램이 실행되고 있을 것이다. 내가 지금 사용하고 있는 노트북만 보더라도 크롬, 카카오톡, 슬랙, VSCode 등 여러가지 프로그램이 동시에 실행되고 있다. 실제 서버를 운영하는 컴퓨터도 동일하다. 하나의 컴퓨터에서 여러가지의 프로그램이 실행된다. 그럼 외부에서 특정 컴퓨터 내부에 있는 Spring Boot라는 서버에 통신을 하고 싶다고 가정하자. 하지만 외부에서 IP 주소만 ..

카테고리 없음

ㄹㅇ

ㄹㄹㅁㅇㄴㅇㅁㄹ

카테고리 없음

afds

asdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdf

카테고리 없음

스프링에서의 의존성 주입 방법(DI)

의존성 주입이라는 말은 말자체에서도 생소하다.

Language/JAVA

StringBuffer, StringBuilder클래스

문자열을 저장하는 String은 내부의 문자열을 수정할 수 없다. 예를 들면, String의 replace()메소드는 내부의 문자를 대치하는 것이 아닌, 대치된 새로운 문자열을 리턴한다.(=기존의 문자열을 수정하는 것이 아니다.) String 객체도 마찬가지다. String data = "abc"; data += "def"; "abc"에 "def"가 추가되어 한 개의 String객체가 사용된 것처럼 생각할 수 있으나, String객체는 내부 데이터를 수정할 수 없다. 때문에, "abc"에 "def"가 추가된 "abcedf"라는 새로운 String객체가 생성되고, 변수data는 새로 생성된 String객체를 참조하게 되는 것이다. 즉, +연산자를 많이 사용할 수록 새로운 String객체 수가 늘어나는 것이..

Language/JAVA

StringTokenizer 클래스

문자열이 특정 구분자로 연결되어 있을 경우에는 구분자를 기준으로 부분 문자열을 분리할 수 있다. 분리할 때에는 String의 split()메소드를 이용하거나, java.util패키지의 StringTokenizer 클래스를 이용할 수 있다. 차이점은, spilt() : 정규표현식으로 분리 StringTokenizer : 문자로 분리 한다는 것이다. ● split() split()메소드는 &, 쉼표(,), -를 파이프(|)기호로 연결한 정규표현식으로 매개값을 제공하면 기호들을 구분자로 부분 문자열을 추출해준다. 바로 코드로 적용해보겠다. public class StringSplitEx { public static void main(String[] args) { String text = "자바&스프링,자바스크..

자바걸
코생아 삽질일기