IT지식/지식플러스 6

List<Map<key,value>> 형태를 JSONArray로 변환하기

오늘은 List>과 Map를 JSON형태로 변환하는 과정에 대해 알아보자. /*테스트용 List> 생성*/List> testList = new ArrayList();Map testMap1 = new HashMap();Map testMap2 = new HashMap();Map testMap3 = new HashMap();testMap1.put("key1","value1");testMap2.put("key2","value2");testMap3.put("key3","value3");testList.add(testMap1);testList.add(testMap2);testList.add(testMap3);먼저 위와 같은 ListMap이 있다고 가정하겠습니다 /*ListMap을 JsonArray로 변환하는 함수*..

웹취약점(XSS, 자동화공격) 보완하기

웹 취약점 중 하나인 XSS(Cross Site Scripting)와 자동화공격에 대해 알아보고 대처할 수 있는 방법에 대해 알아보자. 1. XSS( Cross Site Scripting ) XSS는 게시판이나 웹 메일 등에 자바 스크립트와 같은 스크립트 코드를 삽입해 공격을 하는 해킹 기법 중 하나이다.위의 그림과 같이 게시판이나 댓글 등 스크립트를 적어 세션을 탈취하는 등에 피해를 입힙니다. 해결방법은 입력값에 대한 문자열 중 특수문자에 대한 문자를 HTML Entity로 치환하는 것인데 ex) XSS방지 함수 적용String postContent = request.getParameter("postContent");if ( postContent != null || postContent != "") {..

리눅스 운영체제? 서버? 리눅스에 대한 개념을 익히자

리눅스에 대해 알기 전 운영체제의 개념부터 알아야합니다. *운영체제에 대해 다룬 블로그 글이 있다.참조 - https://steady-snb.tistory.com/20 리눅스(Linuux)란 운영체제의 한 종류입니다. 가장 대표적인 windows와 비교하면구분LinuxWindows사용자편의CLI(Command Line Interface)환경으로 접근성이 다소 높음GUI(Graphical User Interface)환경으로직관적이며 사용자 친화적임성능서버운영용 OS이며 불필요한 그래픽이 없어 Windows에 비해 가벼움네트워크 부하를 감당하지 못하는 경우가 많음기술지원오픈소스이기에 개인이 수정이 가능하며, 상용화된 소스가 많지만 표준화가 덜되어있음윈도우 NT서버의 비공개 방침으로 인해,버그수정과 지원이 느..

운영체제(Operating System)에 대해서 알아보자

운영체제(Operating System)란? 컴퓨터의 모든 하드웨어와 모든 응용 프로그램간의 상호작용을 관리하고 제어하는 컴퓨터의 핵심 소프트웨어이다.  운영체제의 역할 1. 자원관리 운영체제는 컴퓨터 시스템의 하드웨어 자원을 효율적으로 관리하는 역할을 한다.CPU, 메모리, 저장장치(storage), 입출력장치(I/O Device) 등 하드웨어에 자원을 할당하고 관리하여여러 응용프로그램들이 동시에 실행될 수 있도록 한다. 2. 메모리관리 운영체제는 컴퓨터의 메모리를 효율적으로 관리하여 응용프로그램이 필요로하는 메모리 공간을 할당한다.여기서 메모리의 할당과 해제, 가상 메모리 관리 등을 포함한다. 3. 프로세스 관리 운영체제는 실행중인 응용프로그램인 프로세스(process)를 관리한다. 여기서 프로세스의..

리눅스 명령어 모음

1. pwdpwd는 print work directory의 약자로 작업중인 디렉토리를 보여줍니다  2.lslist segments의 약자로 현재 디렉토리의 파일과 디렉토리를 보여줍니다. 보통 단독으로는 잘 사용하지 않고a, l 등의 옵션과 함께 사용됩니다. - ls -l : 파일들의 상세 정보를 보여줌- ls -a : 숨김 파일 표시- ls -t : 최신파일부터 표시- ls -rt : 오래된 파일부터 표시- ls -F : 파일을 표시할 떄 파일의 타입을 나타내는 문자열을 표시(/디렉토리, *실행파일, @심볼릭 링크)- ls -R : 하위 디렉토리의 내용까지 표시 위의 옵션들을 조합해 ls -al, ls -alt, ls -altF 등으로 사용합니다. *심볼릭 링크(symbolic link) : 원본파일을 ..

메이븐(Maven)이란?

메이븐은 간단히 말해서 프로젝를 만들 때 가장 많이 사용되는 빌드(build) 툴 중 하나이다. 프로젝트를 만드는 하나의 Build 과정프로젝트 생성라이브러리 설정코드 작업컴파일테스트패키지 만들기배포레포팅이러한 build과정에서 반복되는 내용들을 조금 더 효율적으로 개발(빌드과정경량화,쉽게구현)할 수 있도록도와주는 빌드 도구 중 하나가 메이븐이다. 빌드 도구 중에는Maven / Gradle / Ant 등 이 있는데 그 중 Maven이 현재까진 사용률이 가장 높은데 그 이유는 생산성이 좋고,여러가지 이유(점차 알아가보도록 하자) 등이 있다.  그렇다면 이클립스에서도 저러한 build 과정을 모두 이용할 수 있는데 무엇이 다를까? Eclipse나 intellij, visual studio같은 것들은 빌트툴이..