본문 바로가기

전체 글

Memory Management에 관해서 알아보자 * 본 내용은 운영체제를 공부하며 추후 복습하기 위해 포스팅하는 게시물입니다. 프로그램을 실행할 때 프로그래머가 개발 시 사용했던 심볼릭 주소(참조변수)를 논리적 주소 or 물리적 주소로 바인딩한다. 바인딩 방법은 시점에 따라 구분할 수 있다. 1. 컴파일 타임 바인딩 - 소스코드를 컴파일하는 시점에 물리적 주소가 결정되기 때문에 프로그램을 실행하기 위해서는 메모리에 물리적 주소가 비어있어야 한다. - 초창기 메모리가 부족했을 때 많이 사용하던 방법이다. - 물리적 주소를 변경하기 위해서는 다시 컴파일 해야한다. 2. 로드 타임 바인딩 - 프로그램이 실행되는 시점에 물리적 주소가 부여된다. - 프로그램 내 논리적 주소는 변경되지 않음 3. 런타임 바인딩 - 프로그램이 실행되는 중 물리적 주소가 변경된다... 더보기
2021 KaKao Blind - 신규아이디 programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 가입하는 유저들이 카카오 아이디 규칙에 맞지 않는 아이디를 입력했을 때, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천해주는 프로그램을 개발하는 것입니다. 다음은 카카오 아이디의 .. 더보기
2021 KaKao Blind - 순위검색 https://programmers.co.kr/learn/courses/30/lessons/72412 더보기
Springframework AOP란? AOP란? Aspect Oriented Programing의 약자로 관점 지향 프로그래밍을 의미한다. AOP와 관련된 용어들은 다음과 같다. 조인포인트(JoinPoint) 클라이언트가 호출한 모든 비즈니스 메소드를 조인포인트라고 하며, 포인트컷 대상 혹은 포인트 컷 후보라고 하는데 이는 조인포인트에서 포인트컷이 선택되기 때문이다. 포인트컷(PointCut) 필터링 된 조인포인트를 의미한다. 어드바이스(Advice) 어드바이스는 횡단관심에 해당하는 공통 기능의 코드를 의미하며, 독립된 클래스의 메소드로 작성된다. before, after, after-returning, after-throwing, around 등 다섯 가지의 구체적인 동작시점이 있다. 위빙(Weaving) 포인트컷으로 지정한 핵심 관심 메.. 더보기
Spring log4j 라이브러리란? log4j란? log4j는 자바기반의 로깅 유틸리티이며 Apache에서 만든 오픈소스 라이브러리이다. log4j는 옵션 설정을 통해서 선택적으로 로그를 남기거나 특정파일에 로그를 생성하는 다양한 이점이 존재한다. log4j Level FATAL 아주 심각한 에러가 발생한 상태를 나타냄 ERROR 어떠한 요청을 처리하는 중 문제가 발생한 상태를 나타냄 WARN 프로그램의 실행에는 문제가 없지만, 향후 시스템 에러의 원인이 될 수 있는 경고성 메시지를 나타냄 INFO 어떠한 상태변경과 같은 정보성 메시지를 나타냄 DEBUG 개발 시 디버그 용도로 사용하는 메시지를 나타냄 TRACE 디버그 레벨이 너무 광범위한 것을 해결하기 위해서 좀더 상세한 이벤트를 나타냄 출력 레벨 설정에 따라 설정 레벨 이상의 로그가 .. 더보기
Springframework version 마이그레이션하는 방법 기본 환경 Spring Framework 3.1.1 java version 1.6 Maven compiler source 1.6, target 1.6 servlet-api 2.5 jsp-api 2.1 변경할 환경 Spring Framework 4.3.4 java version 1.8 Mave compiler source 1.8, target 1.8 servlet-api 3.0 jsp-api 2.2 설정을 변경하기 위해 pom.xml을 수정해야한다. 1. java version 1.6 → 1.8, Spring Framework 3.1.1 → 4.3.4으로 변경 1.8 4.3.4.RELEASE 1.6.10 1.6.6 2. Servlet api 버전을 2.5 → 3.0.1으로 변경(artifactId의 경우 .. 더보기
XX 회사 면접 후기 XX 회사 임원면접을 봤다. 신입때 말고 경력면접은 XXX 이후 오랜만에 본것같다. 약 1시간 30분 동안 2 대 2 면접으로 진행됐다. 경력직 면접으로 생각하여 같이 면접보시는 분이 경력자인줄 알았는데 신입분이셨다. 간단한 자기소개만을 생각하고 갔었는데 자기의 색깔을 나타내며 자기소개해보라는 말에 당황한 나머지 긴장한 목소리로 떠듬떠듬 말했다. 다행히 이를 눈치 챈 면접관분들이 편안한 분위기로 면접을 진행해주셔서 도중에 긴장은 풀렸으나 면접에 대해 아쉬웠던 점이 너무 많다. 1. 열정에 대해 제대로 어필하지 못함 - 학창시절 한 학기 4.5학점을 목표로 하여 이루었던 것처럼 이 목표를 이루기 위해서는 '이러이러한 노력을 해서 성과를 이룰 수 있었다'와 같은 사례처럼 구체적으로 설명했으면 좋았을 것 같다.. 더보기
DeadLock에 관해서 알아보자 * 본 내용은 운영체제를 공부하며 추후 복습하기 위해 포스팅하는 게시물입니다. DeadLock(교착상태) DeadLock을 설명할 때 교차로에서 차들이 서로에게 막혀 움직이지 못하는 그림이 자주 참고된다. 그렇다면 운영체제에서 DeadLock이란 무엇을 의미할까? 위키백과의 정의를 인용해보면 두개 이상의 작업이 상대방의 작업이 완료되기를 기다리며 자신의 작업을 수행하지 못하는 상태를 의미한다. 이것만 보면 DeadLock이 무엇인지 감이 잡히지 않을것이다. 운영체제에서 DeadLock이 무엇인지, 그리고 어떻게 발생하는지 자세히 알아보자 DeadLock 발생조건 1) Mutual Exclusion : 자원을 사용할 때 하나의 프로세스만 사용되는 특성을 의미 2) Hold And Wait : 프로세스가 자.. 더보기