본문 바로가기

Language

(28)
문자열 포매팅 파이썬에서는 문자열 포매팅을 사용한다. A = "현재 시간은 {}시 입니다.".format(7) 이렇게 할 수도 있고, B = "현재 시간은 %d시 입니다." % 8 이렇게 할 수도 있다. 전자가 현업에서 더 많이 쓰인다고 한다. 두 번째 방법을 사용하려면, %d : 정수 %s : 문자열 %f : 실수 %o : 8진수 %x : 16진수 를 참고하고 넣으려는 값의 자료형에 맞게 입력해야 한다. 두 개 이상의 값을 문자열 포매팅 하려면, C = "현재 시간은 {}시 {}분 입니다.".format(7, 24) 의 방식으로 하면 된다. 괄호 안에 들어가는 값을 구체적으로 명시하고 싶다면, D = "현재 시간은 {time}시 {minute}분 입니다.".format(time = 7, minute = 24) 로 하..
JVM이란 무엇인가 JVM이란? JVM이란 Java Virtual Machine, 자바 가상 머신의 약어이다. (가상머신이란 프로그램을 실행하기 위해 물리적 머신과 유사한 머신을 소프트웨어로 구현한 것이다.) JVM의 역할은 자바 애플리케이션을 클래스 로더를 통해 읽어들여 자바 API와 함께 실행하는 것이다. 그리고 JVM은 Java와 OS 사이에서 중개자 역할을 수행하여 Java가 OS에 구애받지 않고 재사용을 가능하게 해준다. 그리고 가장 중요한 메모리관리, Garbage collection을 수행한다. 그리고 JVM은 스택 기반의 가상머신이다. ARM 아키텍쳐 같은 하드웨어는 레지스터 기반으로 동작하는 데 비해 JVM은 스택 기반으로 동작한다. JVM(자바 가상 머신)을 알아야 하는 이유는, 한정된 메모리를 효율적으로..
자바의 동작 원리 자바 소스(Source)가 프로그램으로서 동작하는 과정은 다음과 같다. 우선 java 파일의 형태로 소스 코드를 작성하면, 컴파일(compile) 과정을 거쳐 JVM(Java Virtual Machine, 자바 가상 머신)이 알아들을 수 있는 class 파일로 변환된다. 이클립스에서는 자바 파일을 저장할 때 컴파일을 하여 class 파일로 저장한다. ↓ 다음으로, 이클립스에서 실행 버튼을 누르게 되면 JVM에서 class 파일을 읽어들인다. ↓ 마지막으로, JVM은 class 파일을 읽고서 그대로 컴퓨터를 동작시키게 된다. 이때, .java 파일이란 java 규칙에 맞게 작성한 모든 소스코드 파일을 말하며, 특징은 for human 이다. 그렇기에 사람이 읽을 수 있는 text 로 구성되어 있다. 한편,..
람다(lambda) - Python lambda는 함수를 생성할 때 사용하는 예약어로 def와 동일한 역할을 한다. 보통 함수를 한 줄로 간결하게 만들 때 사용한다. def를 사용해야 할 정도로 복잡하지 않거나 def를 사용할 수 없는 곳에 주로 쓰인다. 사용법은 다음과 같다. lambda 매개변수1, 매개변수2, ... : 매개변수를 사용한 표현식 한 번 직접 만들어 보자. add = lambda a, b: a + b result = add(3, 4) print(result) add는 두 개의 인수를 받아 서로 더한 값을 돌려주는 lambda 함수이다. lambda 예약어로 만든 함수는 return 명령어가 없어도 결괏값을 돌려준다. 위 예제는 def를 사용한 다음 함수와 하는 일이 완전 동일하다. def add(a, b): return..