전체 글
-
HttpSessionSpring 2021. 6. 20. 21:09
웹에서 로그인의 가장 기본적인 방식은 HttpSession 객체를 이용하여 사용자의 정보를 보관하고, 필요한 경우 사용하거나 수정하는 방식이다. HttpSession의 동작은 세션 쿠키를 통해 이루어진다. 서버는 접속한 브라우저에게 고유한 세션쿠키를 전달하고, 매번 브라우저에서 서버를 호출할 때 세션 쿠키를 가지고 다니기 때문에, 이를 마치 열쇠처럼 사용해서 필요한 데이터를 보관한다. 세션쿠키가 열쇠라면 HttpSession은 열쇠가 필요한 잠금장치가 되어있는 상자와 비슷하다. 이 상자들이 모여있는 공간을 세션 저장소(Session Repository)라고 하는데, 너무나 많은 세션이 존재하면 서버의 성능에 영향을 미치기 때문에 서버는 일정시간 이상 사용되지 않는 상자들을 정리하는 기능을 가지고 있다. ..
-
정규표현식JavaScript 2021. 6. 19. 23:39
정규표현식(Regular Expression)이란 무엇일까? - 주어진 문자열에서 발견할 수 있는 글자 패턴을 표현한 식이다. 사전적인 의미로는 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어이다. 주로 Programming Language나 Text Editor 등 에서 문자열의 검색과 치환을 위한 용도로 쓰이고 있다. 그렇다면 정규식을 왜 사용할까? 각각 다른 포맷으로 지정된 엄청나게 많은 전화번호 데이터를 추출해야 할 때 사용자가 입력한 이메일, 휴대폰 번호, IP주소 등이 올바른지 검증하고 싶을 때 코드에서 특정 변수의 이름을 치환하고 싶지만, 해당 변수의 이름을 포함하고 있는 함수는 제외하고 싶을 때 특정 조건과 위치에 따라서 문자열에 포함된 공백이나 특수문자를 제거하고 싶을 ..
-
정보처리기사실기-[데이터 모델의 개념]정보처리기사 실기 2021. 6. 18. 19:29
데이터 모델의 정의 데이터 모델은 현실 세계의 정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화하여 체계적으로 표현한 개념적 모형이다. 데이터 모델 구성 요소 : 개체, 속성, 관계 데이터 모델 종류 : 개념적 데이터 모델, 논리적 데이터 모델, 물리적 데이터 모델 데이터 모델에 표시할 요소 : 구조, 연산, 제약 조건 데이터 모델의 구성 요소 개체(Entity) : 데이터베이스에 표현하려는 것으로, 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체이다. 속성(Attribute) : 데이터의 가장 작은 논리적 단위로서 파일 구조상의 데이터 항목 또는 데이터 필드에 해당한다. 관계(Relationship) : 개체 간의 관계 또는 속성 간의 논리적인 연결을 의미한다. 개념적 데이터 모델 개념적 ..
-
정보처리기사실기-[객체지향 프로그래밍 언어]정보처리기사 실기 2021. 6. 17. 18:42
객체지향 프로그래밍 언어의 개요 객체지향 프로그래밍 언어는 현실 세계의 개체(Entity)를 기계의 부품처럼 하나의 객체로 만들어, 기계적인 부품들을 조립하여 제품을 만들 듯이 소프트웨어를 개발할 대도 객체들을 조립해서 프로그램을 작성할 수 있도록 한 프로그래밍 기법이다. 객체지향 프로그래밍 언어의 장, 단점 상속을 통한 재사용과 시스템의 확장이 용이하다. 코드의 재활용성이 높다. 자연적인 모델링에 의해 분석과 설계를 쉽고 효율적으로 할 수 있다. 사용자와 개발자 사이의 이해를 쉽게 해준다. 대형 프로그램의 작성이 용이하다. 소프트웨어 개발 및 유지보수가 용이하다. 프로그래밍 구현을 지원해 주는 정형화된 분석 및 설계 방법이 없다. 구현 시 처리 시간이 지연된다. 객체지향 프로그래밍 언어의 구성 요소 객..
-
JavaScript란?JavaScript 2021. 6. 16. 20:58
자바스크립트란 무엇인가? 자바스크립트는 객체 기반의 스크립트 언어입니다. HTML로 웹의 내용을 작성하고, CSS로 웹을 디자인하며, 자바스크립트로 웹의 동작을 구현하는 형태이다. 또 웹 브라우저에서 사용되고, Node.js와 같은 프레임워크를 사용하면 사버 측 프로그래밍에서도 사용 가능하다. 자바스크립트의 특징 자바스크립트는 객체 기반의 스크립트 언어이다. 자바스크립트는 동적이며, 타입을 명시할 필요가 없는 인터프리터 언어이다. 자바스크립트는 객체 지향형 프로그래밍과 함수형 프로그래밍을 모두 표현할 수 있다. 자바와 자바스크립트가 이름이 비슷하여 서로 같거나 관련있는 언어로 생각되기 쉽지만 서로 직접적인 관련은 없다.
-
Git Branch-2Git 2021. 6. 15. 21:20
브랜치 이동(checkout) 현재 브랜치를 떠나 새로운 브랜치로 돌아간다는 의미, 깃에서 브랜치 간 이동할 때는 checkout 명령어를 사용한다. 깃은 하나의 워킹 디렉터리만 가지고 있다. 워킹 디렉터리는 선택한 브랜치 하나만 연결되어 있다. 즉, 한 브랜치에서만 작업과 커밋을 할 수 있습니다. 따라서 다른 브랜치에서 작업하려면 반드시 브랜치를 변경하여 워킹 디렉터리를 재설정해야 합니다. 브랜치가 변경되면 내부적으로 몇가지 동작이 실행됩니다. HEAD 정보는 항상 변경된 브랜치의 마지막 커밋을 가리킨다. 이처럼 HEAD가 브랜치의 마지막 커밋을 의미하기 때문에 브랜치가 이동하면 HEAD 포인터도 함께 이동한다. 변경된 브랜치로 새로운 작업을 할 수 있도록 워킹 디렉터리를 변경한다. 브랜치를 변경하려면..
-
Git BranchGit 2021. 6. 14. 23:52
깃 브랜치는 기존 폴더를 복제하는 것과 다르게 가상 폴더를 사용하여 개발 작업을 구분합니다. 브랜치는 다음과 같은 특징들이 있다. 가상폴더 깃의 브랜치는 작업 폴더를 실제로 복사하지 않고, 가상 폴더로 생성한다. 외부적으로는 물리적인 파일 하나만 있는 것으로 보인다. 생성된 작업 폴더는 물리적으로 복제된 구조보다 유연하게 처리할 수 있다. 브랜치로 생성된 가상 폴더는 빠르게 공간 이동이 가능하고, 개발자는 쉽게 가상 폴더인 브랜치를 이동하면서 프로젝트를 수행할 수 있다. 독립적인 공간 브랜치를 이용하면 원본 폴더와 분리하여 독립적으로 개발 작업을 수행할 수 있다. 기존에는 소스 코드의 작업 폴더를 별도로 생성했다. 물리적으로 복사된 각자의 폴더에서 코드를 작업 한 후 소스 코드 2개를 다시 하나로 합쳐야..
-
Spring-5 [proxy, rendering]카테고리 없음 2021. 6. 13. 21:10
앞의 spring-4에서 밑줄친 proxy와 rendering에 대해서 알아보도록 하겠다. 우선 proxy란 무엇일까? proxy는 우리말로 대리자, 대변인 이라는 뜻이다. 다른 누군가를 대신해서 그 역할을 수행하는 존재다. 즉, 프록시에게 어떤 일을 대신 시키는 것이다. 구체적으로 인터페이스를 사용하고 실행시킬 클래스에 대한 객체가 들어갈 자리에 다른 객체를 대신 투입해 클라이언트 쪽에서 실제 실행시킬 클래스의 메소드 반환값 등, 대리자 객체를 통해 전혀 모르게 처리하는 것이다. 여기서 중요한건 proxy객체는 흐름제어만 관여할 뿐 결과값을 조작하거나 변경시키면 안된다. proxy가 무엇인지 알았다 그렇다면 proxy pattern은 무엇일까? 실제 기능을 수행하는 객체 대신 가상의 객체를 사용해 로직..