Category
[TI/Spring] 스프링이란? EJB와 비교
[Tech Interview] Spring이란 무엇인가요? Spring이 이야기하는 장점에는 무엇들이 있을까요? (EJB와 비교해서 설명하면 좋을듯) EJB (Enterprise Java Bean) EJB는 스프링을 설명하기에 좋은 도구가 될 듯합니다. EJB는 Enterprise Java Bean 의 약자입니다. 우선 Bean 은 객체라고 이해하면 좋습니다. Java Bean 이란 자바 객체를 재사용 가능하도록 정의한 것입니다. 즉, Enterprise Java Bean은 엔터프라이즈(기업)급 어플리케이션을 개발할 때, 자바 객체를 재사용 가능하도록 정의하여 편리하게 개발 할 수 있도록 발표한 스펙이라고 이해하면 됩니다. 그럼 편리한 개발이란 무엇일까요? 편리한 개발이란 개발자가 복잡하고 실수하기 쉬운..
[백준/파이썬] 1100 하얀 칸
문제 체스판은 8×8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램을 작성하시오. 입력 첫째 줄부터 8개의 줄에 체스판의 상태가 주어진다. ‘.’은 빈 칸이고, ‘F’는 위에 말이 있는 칸이다. 출력 첫째 줄에 문제의 정답을 출력한다. 예제 입력 1 .F.F...F F...F.F. ...F.F.F F.F...F. .F...F.. F...F.F. .F.F.F.F ..FF..F. 예제 출력 1 1 예제 입력 2 ........ ........ ........ ........ ........ ........ ........ ........ 예제 출력 2 0 count = 0 ..
[백준/파이썬] 1076 저항
문제 전자 제품에는 저항이 들어간다. 저항은 색 3개를 이용해서 그 저항이 몇 옴인지 나타낸다. 처음 색 2개는 저항의 값이고, 마지막 색은 곱해야 하는 값이다. 저항의 값은 다음 표를 이용해서 구한다. 색값곱 black 0 1 brown 1 10 red 2 100 orange 3 1,000 yellow 4 10,000 green 5 100,000 blue 6 1,000,000 violet 7 10,000,000 grey 8 100,000,000 white 9 1,000,000,000 예를 들어, 저항의 색이 yellow, violet, red였다면 저항의 값은 4,700이 된다. 입력 첫째 줄에 첫 번째 색, 둘째 줄에 두 번째 색, 셋째 줄에 세 번째 색이 주어진다. 위의 표에 있는 색만 입력으로 주..
[백준/파이썬] 1075 나누기
문제 두 정수 N과 F가 주어진다. 지민이는 정수 N의 가장 뒤 두 자리를 적절히 바꿔서 N을 F로 나누어 떨어지게 만들려고 한다. 만약 가능한 것이 여러 가지이면, 뒤 두 자리를 가능하면 작게 만들려고 한다. 예를 들어, N=275이고, F=5이면, 답은 00이다. 200이 5로 나누어 떨어지기 때문이다. N=1021이고, F=11이면, 정답은 01인데, 1001이 11로 나누어 떨어지기 때문이다. 입력 첫째 줄에 N, 둘째 줄에 F가 주어진다. N은 100보다 크거나 같고, 2,000,000,000보다 작거나 같은 자연수이다. F는 100보다 작거나 같은 자연수이다. 출력 첫째 줄에 마지막 두 자리를 모두 출력한다. 한자리이면 앞에 0을 추가해서 두 자리로 만들어야 한다. 예제 입력 1 복사 1000..
[TI][JAVA] JVM 메모리 구조
[Tech Interview] JVM의 메모리 구조에 대해서 설명해 주세요. JVM 메모리 구조에 대해서 알아야 하는 이유? JVM을 몰라도 코드 짜고 실행시키는데 큰 문제는 없습니다. 다만 대규모 프로젝트에서는 메모리 관리에 따라 프로그램의 성능이 크게 차이가 날 수 있으므로 제대로 된 JAVA 개발자라면 JVM 메모리 구조에 대해 제대로 알아 둘 필요가 있겠죠? JVM 이란? JVM은 Java Virtual Machine의 약자로, 자바 가상 머신을 의미합니다. JVM은 자바와 운영체제 사이에서 중개자 역할을 수행합니다. 또한 자바가 운영체제에 구애 받지 않고 프로그램을 실행할 수 있도록 도와줍니다. 또한 가비지 컬렉터를 이용한 메모리 관리도 자동으로 수행하며, 다른 하드웨어와 다르게 레지스터 기반이..
[TI][Java] Java 접근 제어자, Protect와 Private의 사용
[Tech Interview] Java 접근 제어자에는 무엇이 있는지 설명해주시고 Protect와 Private는 어느 시점에 어떻게 사용될 수 있는지 이야기 해주세요. Java 접근 제어자 private default protected public private -> default -> protected -> public 순으로 보다 많은 접근을 허용합니다. public 모두가 접근 가능 protected 같은 패키지 내의 클래스만 접근 가능, 상속 받은 경우에도 가능 default 같은 패키지 내의 클래스만 접근 가능 private 같은 클래스일 때만 접근 가능 접근 제어자를 왜 사용할까? 접근 제어자를 구분해서 사용하지 않고 모두 public으로 해줘도 프로그램은 무리 없이 돌아갈 것입니다. 하지만..
[TI][Java] Managed 언어 vs Unmanaged 언어, 차이와 장단점
[Tech Interview] Managed - Unmanaged 언어의 차이는 무엇이고 어떤 장, 단점이 있나요? Managed 언어 vs Unmanaged 언어 분류 기준 : [메모리 관리 주체] Managed Language는 외국에서는 많이 쓰이지 않는 용어로, Managed Code라는 말이 많이 쓰인다고 합니다. Managed Code는 MS 진영에서 C#을 만들면서 사용된 용어로, 코드가 하드웨어에서 바로 구동되는 것이 아니라, 특정 런타임 환경에 의해 관리되고 의존하는 코드를 의미합니다. 여기서 특정 런타임 환경이란 자바의 JVM이나 C#의 CLR, 자바스크립트의 V8 같이 특정 언어 코드를 구동해주는 가상머신, 인터프리터, 엔진 등을 의미한다고 합니다. 즉, 가상머신 위에서 관리되고 작동..
백엔드 개발자 기술면접 질문 정리
오늘부터 다음 git에 정리된 기술면접 질문에 대한 답변을 하루에 한 개씩 블로그와 깃에 정리하려고 합니다. 블로그에 공공연히 선언해야 시작할 때의 열정이 사라지지 않을 것 같기에! https://github.com/Lob-dev/Junior-Back-end-Developer-Concepts/blob/main/Job%20interview.md GitHub - Lob-dev/Junior-Back-end-Developer-Concepts: Java, Spring 위주의 Back-end 신입 개발자를 위한 저장소입니 Java, Spring 위주의 Back-end 신입 개발자를 위한 저장소입니다. 지속적인 개선, 업데이트를 진행하고 있습니다. - GitHub - Lob-dev/Junior-Back-end-Dev..