분류 전체보기
콘솔 상에서 비밀번호 처리하기
콘솔 상에서 비밀번호 처리하기
2021.08.29이번 시간에는 java로 프로그램을 작성하면서 비밀번호를 입력받고 이를 처리하는 로직을 구성할 때 사용자가 입력하는 비밀번호가 보이지 않도록 처리하는 방법에 대해서 알아보도록 하겠습니다. 이러한 주제는 다음과 같은 질문에서 시작 됩니다. 다른 앱이나 웹 서비스처럼 Console 창에서도 사용자가 입력하는 비밀번호가 보이지 않도록 처리하는 방법이 없을까? 지금 우리가 구현하려는 것을 가리켜 "Password Masking" 이라고 표현합니다. 말 그대로 사용자가 입력하는 내용을 내부적으로는 유지하되, 외부적으로(console) 상에는 노출시키지 않음으로서 보안에 대한 안전성을 높이려고 하는 것 입니다. 그래서 가장 먼저 생각해볼 수 있는 내용은 다음과 같습니다. Scanner에 masking을 지원하는 옵..
JSP - 웹 서버 프로그램 이란?
JSP - 웹 서버 프로그램 이란?
2021.07.29이 글은 보호되어 있기 때문에 이것을 보려면 암호가 필요합니다.
SQLite 관련 정리
SQLite 관련 정리
2021.07.26이번에 진행된 랩실 스터디에서는 SQLite에 대한 내용이 추가되었다. SQLite와 JSP를 연동해서 자신만의 CRUD 프로젝트를 구상해보고 이에 대한 적절한 계획을 세우는 것이 이번에 진행하는 스터디의 주요한 목표였다. SQLite는 개인적으로 이번에 처음 접한 내용이어서 꽤 흥미롭게 느껴졌다. 그래서 다음과 같은 순서로 개인 스터디를 진행하였다. 1. SQLite를 전반적으로 파악 2. 교수님이 공유하신 프로젝트를 통해 JSP와의 연동방식 알아보기 3. 나만의 CRUD 프로젝트를 기획하고 간단한 query 문 구상해보기 SQLite 우선 가장 간단하게 내용을 먼저 파악하기 위해서 몇 개의 링크를 참고 하였다. https://ko.wikipedia.org/wiki/SQLite SQLite - 위키백과..
JSP Life Cycle
JSP Life Cycle
2021.07.22이 글은 보호되어 있기 때문에 이것을 보려면 암호가 필요합니다.
gson 라이브러리를 사용한 파일 입출력 기능 구현하기
gson 라이브러리를 사용한 파일 입출력 기능 구현하기
2021.07.19프로젝트에 파일 입출력 기능을 추가하자! 이전에 살펴본 todo-list-console 프로젝트에서 가장 아쉬운 점은 정보가 메모리 상에서만 저장되기 때문에 프로그램이 종료되면 실행 간에 작업했던 내용을 모두 잃는다는 점 입니다. 그래서 이러한 문제점을 해결하기 위해서 파일 입출력을 사용하여 프로그램을 실행하는 중에 작업한 내용을 파일 형태로 저장하고, 프로그램을 재실행했을 때 이 파일을 읽어서 원래 작업 내용을 불러오는 기능을 구현해보겠습니다. 작업한 내용을 파일 형태로 저장한다고 하면 일반적으로 가장 쉽게 생각할 수 있는 방법이 txt 파일로 작업한 내용을 저장하는 것 입니다. 그것이 이전에 C언어 파일 입출력을 공부하면서 경험해본 방법이기도 하고, 파일 입출력에서 가장 기본적으로 다루는 것이 txt..
jQuery - AJAX
jQuery - AJAX
2021.07.16이전에 JavaScript를 공부하면서 AJAX에 대해서 공부한바 있습니다. 쉽게 기억하시겠지만 JavaScript를 사용하여 AJAX를 구현하는 코드가 그렇게 깔끔하지만은 않았습니다. 또한 각 웹 브라우져마다 AJAX를 구현하는 코드에 차이가 있어 브라우져의 종류에 따라서 조금씩 다른 코드가 나오기도 하고, 나름 복잡하고 꽤 긴라인의 코드를 작성해야 AJAX를 구현할 수 있었습니다. 그런데 마찬가지로 이 jQuery를 사용함으로서 AJAX를 구현하기 위한 코드를 미리 구현된 method를 사용함으로써 훨신 간단한 코드로 작성하는 것이 가능합니다. jQuery에서 AJAX를 위해 지원하는 대표적인 method는 다음과 같습니다. 1. load() 2. get() 3. post() load() load m..
jQuery - Traversing
jQuery - Traversing
2021.07.16jQuery Traversing은 다른 element와의 관계에 따라서 html element를 찾거나 선택하는 데 사용 됩니다. 여기서 사용되는 "Traversing"이라는 용어가 우리말로 "탐색"이라는 점을 생각해보면 해당 개념이 어디에 사용되는 지 쉽게 기억할 수 있을 것입니다. 즉, jQuery Traversing을 사용하면 현재 선택된 html element를 기준으로 마음대로 상위, 하위 요소로 그 선택상태를 쉽게 이동할 수 있다는 장점이 있으며, 이는 jQuery를 이용한 web page 작성 시 굉장히 유의미한 강력한 기능으로서 사용될 수 있습니다. Traversing에서 중요한 것은 각 html element들이 서로 어떤 관계를 가지는 지 정확하게 파악하는 것이 중요합니다. 아래와 같은..
jQuery - HTML
jQuery - HTML
2021.07.16jQuery에는 HTML element 및 attribute를 변경하고 조작할 수 있는 강력한 기능들을 지원합니다. jQuery Dom 조작 jQuery의 매우 중요한 부분 중 하나는 DOM을 조작할 수 있다는 점입니다. jQuery에는 html element 및 attribute에 쉽게 접근하고 조작할 수 있는 다양한 DOM 관련 method가 제공됩니다. HTML element로 부터 값을 읽어오기 DOM 조작을 위해서 필요한 세가지 JQuery 메소드의 종류와 그 역할은 다음과 같습니다. 메소드(Method) 내용 text() 선택된 element의 텍스트 내용을 설정하거나 반환 html() 선택한 element의 내용을 설정하거나 반환(HTML 마크업 포함) val() form field의 값을 ..
jQuery - Effect
jQuery - Effect
2021.07.15효과(Effect) jQuery는 Hide, Show, Toggle, Slide, Fade, and Animate와 같은 다양한 Effect를 지원합니다. 이는 JavaScript에 비해서 훨씬 간편하게 다양한 Effect 들을 제어할 수 있습니다. jQuery를 통해서 사용할 수 있는 효과들과 그 내용들을 다음과 같습니다. 메소드(Method) 효과(Effect) show() 해당 html 요소를 표시함 hide() 해당 html 요소를 숨김 show(speed, callback) speed - html요소가 나타나는 속도를 지정 (밀리초 단위를 사용하며 값이 클수록 효과가 진행되는 속도가 느려짐) (slow, fast를 사용하여 지정하는 것도 가능함) callback - 요소를 표시하고 나서 실행할 ..
jQuery - 개요
jQuery - 개요
2021.07.15jQuery 개발자들은 항상 개발의 효율성을 극대화하기 위해서 항상 다음과 같은 내용들을 고민했습니다. 1. 어떻게 하면 코드의 가독성을 최대화 할 수 있도록, 코드를 깔끔하게 작성 할 수 있을까? 2. 어떻게 하면 코드를 재사용 할 수 있을까? 코드를 깔끔하고 단순할수록 코드의 가독성이 올라가고, 코드를 재사용할 수 있을수록 코드를 작성하는 데 들이는 시간이 절약되기 때문에 위의 고민들은 개발을 함에 있어서 굉장히 중요한 이슈이기도 합니다. 그래서 이전에 공부한 javascript에 대한 위의 고민을 해결한 것 중 하나가 바로 jQuery 입니다. jQuery는 자바스크립트의 라이브러리로서 오픈소스로 되어있고 배우기 굉장히 쉽다는 장점이 있습니다. 그리고 무엇보다도 자바스크립트에 비해서 코드가 굉장히 ..
JVM의 메모리 구조
JVM의 메모리 구조
2021.07.03java로 작성된 프로그램이 실행되면 JVM은 OS로부터 memory 공간을 할당받고, 이 할당받은 공간을 용도에 따라서 여러 영역으로 나눠서 관리하게 된다. 여기서 주목해서 공부해봐야할 부분은 3가지 영역인데 그 세 가지 영역은 아래와 같다. 1. method area 2. heap 3. call stack or execution stack method area 프로그램 실행 중 사용되는 class에 대한 정보를 저장하는 위치 프로그램 실행 중 특정 class가 사용되면 JVM은 해당 class의 ".class" file을 분석하여 class에 대한 정보를 해당 영역에 저장한다. 그리고 이 때 해당 class의 class variable도 이 위치에 저장된다. heap 프로그램 실행 중 생성되는 ins..
Variable 과 Method
Variable 과 Method
2021.06.29변수(variable)는 다음 세 가지 종류가 존재함을 기억하도록 하자. 1. Class variable 2. Instance variable 3. Local variable 다른 프로그래밍 언어들과 마찬가지로 변수의 종류를 결정짓는 요소는 "변수가 선언되는 위치" 이다. 이 각각의 변수들을 구분하고자 할 때에는 다음의 기준을 적용해서 구분하면 된다. member variable을 제외한 나머지 변수들 모두 local variable 이며, member variable 중 static이 붙은 것은 class variable, 붙지 않은 것은 instance variable에 해당 아래의 예시 코드를 보면 위의 기준을 통해서 각 변수들을 어떻게 구분할 수 있는 지 이해할 수 있을 것이다. class Fis..