
여러분들이 이 책을 읽고 있다면 이유는 두 가지다.첫째,프로그래머라서.둘째,더 나은 프로그래머가 되려고.다행이다!우리 업계는 더 나은 프로그래머가 필요하니까. 나쁜 코드 프로그래머라면 누구나 당연히 나쁜 코드로 고생한 경험이 있다.그렇다면 묻겠다.어째서 왜 나쁜 코드를 짰는가?우리 모두는 자신이 짠 쓰레기 코드를 보며 나중에 손보겠다고 생각한 경험이 있다.우리 모두는 대충 짠 프로그램이 돌아간다는 사실에 안도감을 느끼며 그래도 안 돌아가는 프로그램보다 돌아가는 쓰레기가 좋다고 스스로를 위로한 경험이 있다.다시 돌아와 나중에 정리하겠다고 다짐했었다.물론 그때 그 시절 우리는 르블랑의 법칙을 몰랐다.나중은 결코 오지 않는다. 나쁜 코드로 치루는 대가 2-3년 넘게 프로그램을 짰다면 남들이 저질러놓은 쓰레기 ..

프로세스 프로세서에 의해 동작하고 있는 프로그램 프로세스가 동작 한다는 것은 프로세스의 특정 쓰레드가 실행 중 그 특정 쓰레드는 프로세스가 가진 데이터를 참조함 쓰레드 작업 단위를 지원하기 위한 자원 할당의 단위 프로세스 구조 Stack 정적 할당에 사용 호출된 함수, 지역변수 등이 저장되어 있는 임시 메모리 Heap 동적 할당에 사용 동적으로 생긴 데이터 new Object() Data 프로그램 시작과 종료시까지 사용 전역변수 static 변수, global 변수 Code 프로그램의 코드내용 활용에 사용 프로세스가 종료될 때까지, 계속 유지되는 영역 PCB(Process Control Block) 특정한 프로세스를 관리할 필요가 있는 정보를 포함하는 운영체제 커널의 자료구조이다 프로세스가 생성될 때 마..

자바란? 자바는 썬 마이크로시스템즈에서 개발하여 1996년 1월에 공식적으로 발표한 객체지향 프로그래밍 언어이다. 자바의 가장 중요한 특징은 운영체제에 독립적이라는 것이다. 자바로 작성된 프로그램은 운영체제의 종류와 관계없이 실행이 가능하기 때문에, 운영체제에 따라 프로그램을 전혀 변경하지 않고도 실행이 가능하다. 또한 객체지향개념과 기존 다른 프로그래밍언어, 특히 C++의 장점을 채택하는 동시에 잘 사용되지 않는 부분은 과감히 제외시킴으로써 비교적 배우기 쉽고 이해하기 쉬운 간결한 표현이 가능하도록 했다. 자바의 특징 운영체제에 독립적이다 기존 언어는 한 운영체제에 맞게 개발된 프로그램을 다른 종류의 운영체제에 적용하기 위해서 많은 노력이 필요하였지만, 자바에서는 그런 노력을 하지 않아도 된다. JVM..

스프링 시큐리티 기본 API 및 Filter 이해 프로젝트 구성 및 의존성 추가 org.springframework.boot spring-boot-starter-security 스프링 시큐리티의 의존성 추가 시 일어나는 일들 서버가 기동되면 스프링 시큐리티의 초기화 작업 및 보안 설정이 이루어진다 별도의 설정이나 구현을 하지 않아도 기본적인 웹 보안 기능이 현재 시스템에 연동되어 작동함 모든 요청은 인증이 되어야 자원에 접근이 가능하다 인증 방식은 폼 로그인 방식과 httpBasic 로그인 방식을 제공한다 기본 로그인 페이지를 제공한다 기본 계정을 한개 제공한다 - username : user / password : 랜덤 문자열 문제점 계정 추가, 권한 추가, DB연동 등 기본적인 보안 기능 외에 시스템..

*************************** APPLICATION FAILED TO START *************************** Description: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that's listening on port 8080 or configure this application to listen on another port. 원인 스프링 애플리케이션을 실행하고 종료하다보면 IDE에서 정상적으로 프로세스를 종료하지 못하였거나 이전에 다른 프로세스가 이미 해당 포트를 선점하고 있어 발생하는 오류이다. 해결방법 1. 해당 포트를 검색하여 ..