본문 바로가기

반응형

분류 전체보기

(218)
[중고거래사이트 - 1] Use Case 작성 및 ERD 다이어그램 작성 개인 프로젝트로 번개장터를 벤치마킹한 중고거래 사이트를 구현하고자 한다. 번개장터의 일부 기능만 구현한다. 프로젝트명은 토마토 계란 볶음이다. 이유는 내가 토마토 계란 볶음을 먹으면서 이 프로젝트를 떠올렸기 때문이다. 화면설계 화면 설계는 카카오의 oven을 활용했다. https://ovenapp.io/view/pKNRIFvnVU39qCaNWvZBrjhLYvkTErG1/ 메인화면(로그아웃) (1 of 7) ovenapp.io Use Case 회원가입 - 사용자가 서비스의 회원이 될 수 있는 회원가입 기능이 필요하다. - 사용자가 회원이 되는데 필요한 필수정보를 입력 및 확인하는 기능이 필요하다. - 사용자가 고유한 ID를 가지도록 ID 중복검사 기능이 필요하다. - 사용자의 ID와 함께 본인 인증을 위해..
혼자 있으면 지가 평균은 하는 줄 안다니까 최근 근력이 부쩍 늘었다. 조금 더 구체적으로 말하면, 내가 원하는 부위의 근육이 커졌다. 지난 1년간 지지부진했었던 근성장이 드디어 꽃을 피우는구나 싶었다. 그리고 생각했다. 역시 운동을 '잘'해야 근육이 크는구만! 근성장의 시발점은 이렇다. 작년 늦가을, 나는 어김없이 산스장(Mountain Gym)으로 향했다. 동네 뒷산에 위치한 산스장은 집에서 위치도 가깝고 운동 기구도 알차게 구비되어 있어 지금도 자주 이용한다. 그곳에서 철봉에 매달려 턱걸이를 열심히 했다. 한참 무아지경에 빠져 턱걸이를 하고 있을 무렵, "그렇게 하면 안 되는데.." 라는 목소리가 들려왔다. 뒤를 돌아보니 60대 즈음으로 보이는, 풍채가 좋은 어르신이 인자한 표정으로 서 있었다. 본인이 보디빌딩 지도자 출신이라는 설명과 함께 ..
[Spring] XML 대신 Java 클래스 파일로 스프링 관련 설정하기 Eclipse의 Spring Legacy Project를 통해 Spring MVC 프로젝트를 생성하면 XML 기반으로 스프링 관련 설정을 하도록 되어있다. 스프링 3버전 이후부터 XML 대신 Java 클래스 파일로 스프링 관련 설정을 할 수 있도록 변경되었다. 이 글에서 Java 클래스 파일로 대체할 XML 파일은 다음과 같다. 참고로 이 글은 스프링 5버전, JDK 1.8 기준으로 작성되었다. web.xml servlet-context.xml root-context.xml web.xml 아래는 Eclipse를 통한 Spring MVC 프로젝트 생성 시 보이는 web.xml 설정이다. contextConfigLocation /WEB-INF/spring/root-context.xml org.springfr..
[Java] JDK와 JRE의 차이점 JDK JDK(Java Development Kit)는 자바 애플리케이션이나 기타 응용 프로그램 개발에 필요한 개발 환경이다. 개발자는 사용 환경(Window, Mac, Unix 등)에 따라 요구사항에 맞게 JDK를 설치하여 개발을 하면 된다. JDK는 JRE(Java Runtime Environment) 그리고 interpreter, compiler, archiver, debugger와 같은 다양한 개발 도구를 지원한다. JDK는 개발 작업만 수행할 수 있는 것이 아니다. JDK가 있으면 개발된 프로그램 실행 또한 가능하다. JRE JRE는 JVM(Java Virtual Machine)을 구현한 것으로 자바 프로그램을 실행할 수 있는 환경을 제공하는 것에 중점을 두고 있다. JRE는 compiler, ..
컴파일 타임과 런타임 컴파일 타임 컴파일이란 개발자가 작성한 소스코드를 바이너리 코드(Machine Code)로 변환하는 과정을 말한다. 프로그램 개발 시 개발자는 먼저 소스코드를 작성한다. 소스코드는 프로그램의 동작 방식에 대해 정의한 것이다. Java와 같은 고수준 언어(high-level language)로 작성된 소스 코드가 실행 가능한 프로그램이 되려면 반드시 컴퓨터가 인식할 수 있도록 머신 코드로 컴파일되어야 한다. 이런 편집 과정(compilation process)을 컴파일 타임이라고 한다. 컴파일 타임 동안 컴파일러는 코드 및 구문 등을 확인한다. 컴파일 타임 동안 일어나는 일을 조금 더 구체적으로 알아보자. 개발자가 작성한 .java 파일을 빌드하기 시작하면 아래와 같은 작업이 발생한다. Java 컴파일러(..
[Java] 코드로 이해하는 Heap과 Stack의 동작 Heap과 Stack이 구체적으로 코드에서 어떻게 관리되는지 알아본다. Stack은 무엇인가요? Stack 영역은 스레드당 하나씩 할당이 된다. 스레드가 새롭게 생성되면 해당 스레드에 해당하는 Stack 영역도 새로 생성이 된다. 다른 스레드의 Stack 영역에는 접근 할 수 없다. Stack의 데이터는 LIFO(Last In First Out_선입후출) 형태로 관리된다. 값을 쌓고(push), 값의 쓰임이 종료되면 제거(pop)한다. 원시 타입의 데이터가 값과 함께 할당(int, boolan, double 등의 실제 값이 스택에 할당) 지역 변수, 파라미터, 리턴 값, 연산에 사용되는 임시 값등이 생성되는 영역이다. 메소드를 호출할 때마다 스택 영역이 생성되고, 기본 타입 변수나 참조 타입 변수가 쌓이..
[Java] toString() 메소드는 왜? toString() 메소드는 왜 사용할까? 다른 사람이 구현한 코드를 보면 클래스에 toString() 메소드를 재정의한 형태를 볼 수 있다. 이는 다음과 같은 궁금증을 유발한다. 왜 저렇게 했을까? 저렇게 하는것이 규칙인가? 잘 모르겠고 그냥 저렇게 하는가 보다 생각하자! 첫 번째와 두 번째는 갱생의 여지가 있지만, 세 번째의 경우 갱생의 여지(발전의 기회)가 거의 없는 상황이다. 앎의 과정은 고통스럽다. 하지만 알아야 한다는 사실을 알고도 이를 무시하고 시간을 보낸다면 언젠가 게으름에 대한 대가를 치르게 된다. 무지의 고통에서 벗어나야 한다. 제발.(본인에게 하는 말입니다.) 이런 삶에서 벗어나야 한다.. toString() 메소드 소개 Object는 모든 클래스의 부모 클래스이다. 개발자가 생성한 ..
[Web] 웹의 발전 위에서 아래 방향으로 웹이 발전되었습니다. 웹 서버와 웹 클라이언트 사용자가 인터넷 환경에서 웹 콘텐츠를 열람하려면 사용자의 PC를 웹 클라이언트로 이용한다. 사용자가 직접 콘텐츠가 보관된 웹 서버에 접근할 수 없기 때문이다. 따라서 인터넷 환경에서는 웹 서버와 웹 클라이언트 구조를 통해 웹 콘텐츠를 요청(request), 응답(response)한다. URL 방대한 인터넷 환경에서 원하는 자원만 선택하려면 해당 자원의 정확한 위치를 찾아서 호출해야 한다. 이 작업을 위해 URL(Uniform Resource Locator)이 등장했다. HTTP URL을 통해 원하는 리소스의 위치를 호출할 수 있게 되었다. 이제 리소스를 어떻게 주고받을 것인가에 대해서 웹 서버와 웹 클라이언트 사이의 합의점을 찾아야 한다..

반응형