본문 바로가기

전체 글139

[네트워크] 대역폭 (BandWidth) 대역폭 (bandwidth) 대역폭(bandwidth) - 특정한 기능을 수행할 수 있는 주파수의 범위로, 헤르츠 단위로 측정된다. - 네트워크에서 이용할 수 있는 신호의 최고 주파수와 최저 주파수의 차이를 말한다. - 일반적으로는 통신에서 이용 가능한 최대 전송속도, 즉 정보를 전송할 수 있는 능력을 뜻하며, 그 기본 단위로는 bps를 사용한다. - 대역폭은 일반적으로 주파수대의 폭을 말하며, 이는 신호가 차지하고 있는 주파수 범위(Spectrum)을 말함. 사실상 대역폭은 정보를 실을 수 있는 능력과 비례한다. 컴퓨터 네트워크에서 전송속도와 대역폭의 의미 - 컴퓨터 네트워크에서 전송속도란 일반적인 전송속도의 의미와 같이 초당 전송되는 현재의 비트의 평균 속도를 나타낸다. - 대역폭이란 초당 전송될 수.. 2018. 4. 23.
[네트워크] SAN / NAS /DAS 개념 비교 SAN / NAS / DAS 의 개념 비교 스토리지 시스템 (Storage System) 의 개요 1. 정의 - 단일 디스크로 처리할 수 없는 용량을 저장하기 위해 디스크를 묶어서 논리적으로 사용하는 기술 스토리지 구성은 서버와 저장장치를 연결하는 방법이다. 2. 스토리지 시스템의 필요성- 데이터의 양적 팽창이 급증함에 따른 데이터의 효율적인 저장 및 관리 필요- 기업의 정보(Information) 자원을 이용한 새로운 비지니스의 창출- ERP, DW, Data Mining 등의 Application 등장 3. 스토리지 시스템의 요구조건- 통합 관리를 통한 대용량, 고속 데이터 처리- 효율적인 데이터 공유 (공유, 분배, 보안 강화)- 확장성, 유연성, 서버 접속의 용이성 4. 스토리지 시스템의 유형별 .. 2018. 4. 23.
Git Error - Another git process seems to be running in this repository [Git Error] Another git process seems to be running in this repository Git을 사용하던 중 콘솔 창에 아래와 같은 에러 메시지가 출력되면서 Commit이 제대로 이루어지지 않은 적이 있다. 에러 메시지는 Another git process seems to be running in this repository, e.g. 에러 메시지를 해석하면 'lock 파일이 이미 존재해서 파일 생성을 할 수 없다. 다른 프로세스가 이미 작업 중인 것으로 보인다.' 개념상 알아두어야할 것은 git 이 작업을 하기 전 .lock 파일을 만들어서 동시 작업이 일어나지 않게 막아놓는다는 것이다. 이 경우에는 먼저 다른 창에서 작업 중인지 확인해보고, 이전 작업하다가 비정.. 2018. 4. 23.
TDD, 리팩토링, 클린코드(1주차) TDD, 리팩토링, 클린코드 (1주차 수업) 학습목표- TDD, 리팩토링, 클린코드- 순수 자바, 웹 기반으로 객체지향 프로그래밍- ATDD 기반 웹 애플리케이션 개발 의식적인 연습- 목적의식 있는 연습에 얼마나 많은 시간을 투자했느냐? (아마추어와 프로의 결정적 차이) 의식적인 연습의 7가지 원칙1. 효과적인 훈련 기법이 수립되어 있는 기술 연마2. 개인의 컴포트 존을 벗어난 지점에서 진행, 자신의 현재 능력을 살짝 넘어가는 작업을 지속적으로 시도3. 명확하고 구체적인 목표를 가지고 진행4. 신중하고 계획적. 즉 개인이 온전히 집중하고 '의식적'으로 행동할 것을 요구5. 피드백과 피드백에 따른 행동 변경을 수반6. 효과적인 심적 표상을 만들어내는 한편 심적 표상에 의존7. 기존에 습득한 기술의 특정 부.. 2018. 4. 1.
스프링 로그 레벨 (Level) 스프링 로그 레벨 (Level) - 로깅(Logging) - 로그(Log)란 프로그램 개발이나 운영 시 발생하는 문제점을 추적하거나 운영 상태를 모니터링하기 위한 텍스트이다. - 지금까지는 System.out.println(); 문을 사용하여 로그를 기록했으나 이보다 로그를 기록하는 클래스를 만들어 사용하는 것이 더 나은 방법이다. - Log4j2 는 다음과 같은 로그 레벨을 가진다. - TRACE > DEBUG > INFO > WARN > ERROR > FATAL - INFO로 셋팅하면, INFO, WARN, ERROR, FATAL은 기록된다. FATAL : 아주 심각한 에러가 발생한 상태를 나타낸다. ERROR : 어떠한 요청을 처리하는 중 문제가 발생한 상태를 나타낸다. WARN : 프로그램의 실행.. 2018. 3. 14.
[마이바티스 에러] java.lang.IllegalArgumentException: Mapped Statements collection does not contain value [마이바티스 에러] java.lang.IllegalArgumentException : Mapped Statements collection does not contain value 스프링 프로젝트에서 MyBatis를 적용하다가 다음과 같은 에러가 발생할 경우가 있다. * 에러 메시지 java.lang.IllegalArgumentException : Mapped Statements collection does not contain value * 원인 위와 같은 에러가 발생할 경우 여러가지 원인이 있다. 1. mapper id가 다를경우 - mapper파일(MyBatis의 쿼리문을 등록한 XML파일)에 2018. 2. 5.
[운영체제] Linux 기본 명령어 모음 [Linux] 기본 명령어 모음 ls - (LS) 해당 디렉토리의 파일목록 나열# ls : 현재 디렉토리의 파일 목록 # ls /home : /home 디렉토리의 목록# ls -a : 현재 디렉토리의 숨김 파일 포함 목록# ls -l : 현재 디렉토리의 내용을 자세히 나열# ls *.exe : 확장자가 exe인 목록 cd - 디렉토리로 이동# cd : 현재 사용자의 홈 디렉토리로 이동 (루트는 /root로, 사용자는 /home/유저명 이동)# cd .. : 현재 디렉토리의 상위 디렉토리로 이동# cd /가고싶은 디렉토리명 : 원하는 디렉토리로 이동 2018. 2. 3.
Class 파일을 java 파일로 디컴파일하기 [Class 파일을 java 파일로 디컴파일하기] 1. 위 첨부 파일을 다운로드 받아 class 파일과 같은 폴더에 넣어준다. 2. 시작 -> 실행 -> cmd 확인 3. 커맨드창에서 class 파일이 있는 폴더 위치로 찾아간다. 4. jad -o -sjava 파일명.class 명령어를 입력하면 java 파일로 디컴파일된다. 5. class 파일에서 디컴파일된 java 파일은 원본 java 파일과 100% 일치하지는 않는다. * jad 말고 디컴파일 해주는 다른 프로그램 이용하기 (jd-gui) http://jd.benow.ca/#jd-gui-download (여기 참조) 2018. 1. 31.
[Oracle] select, insert, delete, update(DML) 기본 쿼리 [Oracle] select, insert, delete, update(DML) 기본 쿼리 1. 테이블 생성(CREATE) CREATE TABLE TBL_HUMAN(ID INT,NAME VARCHAR(10),AGE INT); 2. 데이터 조회(SELECT) SELECT * FROM 테이블명WHERE 컬럼1 = '값1'; 예) SELECT * FROM TBL_HUMANWHERE ID = '1'; 3. 데이터 입력(INSERT) INSERT INTO 테이블명(컬럼1, 컬럼2, 컬럼3...) VALUES('값1', '값2', '값3'...); INSERT INTO TBL_HUMAN(ID, NAME, AGE) VALUES('1', 'JACK', '35'); INSERT INTO TBL_HUMAN(ID, NAME.. 2018. 1. 29.
스프링 MVC에서 주로 사용하는 애노테이션의 종류 스프링 MVC에서 주로 사용하는 애노테이션의 종류 스프링 MVC에서는 상속 등의 전통적인 기법을 사용하지 않는 대신에 애노테이션으로 많은 일을 처리한다. 주로 많이 사용하는 애노테이션은 아래와 같다. @Controller : 스프링 MVC의 컨트롤러 객체임을 명시하는 애노테이션 @RequestMapping : 특정 URI에 매칭되는 클래스나 메소드임을 명시하는 애노테이션 @RequestParam : 요청(request)에서 특정한 파라미터의 값을 찾아낼 떄 사용하는 애노테이션 @RequestHeader : 요청(request)에서 특정 HTTP 헤더 정보를 추출할 때 사용 @PathVariable : 현재의 URI에서 원하는 정보를 추출할 때 사용하는 애노테이션 @CookieValue : 현재 사용자의 .. 2018. 1. 21.
[Linux iptables를 이용해 방화벽 설정하기] [Linux iptables를 이용해 방화벽 설정하기] iptables는 시스템 관리자가 리눅스 커널 방화벽(다른 넷필터 모듈로 구현됨)이 제공하는 테이블들과 그것을 저장하는 체인, 규칙들을 구성할 수 있게 해주는 사용자 공간 응용 프로그램이다. 각기 다른 커널 모듈과 프로그램들은 현재 다른 프로토콜을 위해 사용되는데, iptables는 IPv4에, ip6tables는 IPv6에, arptables는 ARP에, ebtables는 이더넷 프레임에 적용된다. iptables는 동작을 위해 상승된 권한을 요구하며 사용자 루트가 실행하여야 하는데, 그렇지 않으면 작동하지 않는다. iptables는 리눅스 상에서 방화벽을 설정하는 도구로서 커널 2.4 이전 버전에서 사용되던 ipchains를 대신하는 방화벽 도구.. 2018. 1. 17.
스프링 MVC 패턴 Dreaming IT Study 3주차 학습 내용 (1) Spring 의 개념과 MVC 패턴 프레임워크 - 프로그래밍에서 특정 운영 체제를 위한 응용 프로그램 표준 구조를 구현하는 클래스와 라이브러리 모음- 개발에 대한 표준을 제공하는 틀 스프링 프레임워크 - 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크- 동적인 웹 사이트를 개발하기 위한 여러가지 서비스 제공- 대한민국 공공기관의 웹 서비스 개발시 사용을 권장하고 있는 전자정부 표준 프레임워크의 기반 기술- 스프링 프레임워크는 Maven 환경을 지원하므로 패키지 의존성 관리에 효율적- 스프링 프레임워크는 자체 톰캣 서버를 제공- STS(Spring Tool Suite)라는 스프링 프레임워크에 최적화된 환경을 지원하는 IDE를 제공 웹 표준 개발 .. 2018. 1. 6.
[네트워크] HTTP 상태코드 [HTTP 상태코드] * 일반적인 HTTP 상태코드 100번대 : 정보 전송 200번대 : 성공 300번대 : 리다이렉션 400번대 : 클라이언트측 에러 500번대 : 서버측 에러 * 꼭 알아두어야할 HTTP 상태코드 200 OK: 클라이언트의 요청이 성공했다는 것을 나타냄 201 Created: 클라이언트의 PUT 요청이 성공적이라는 것을 나타냄 301 Moved Permanently: 브라우저의 요청을 다른 URL로 항시 전달한다는 것을 의미함. 다른 URL에 대한 정보는 Location 헤더에 나타남 302 Moved Temporarily: 브라우저의 요청을 임시 URL로 바꾸고 Location 헤더에 임시로 변경한 URL에 대한 정보를 적음. 클라이언트가 다음에 같은 요청을 하면 기존의 URL로 .. 2018. 1. 6.
Java & HTTP RESTFul API & Servlet Dreaming IT Study 2주차 학습 내용 * 객체 (Object) 1. 객체지향 (캡슐화, 상속, 다형성) - Java 언어는 C언어와 다르게 OOP(Object Oriented Programming) 성격을 가짐 - C언어는 절차지향적 언어. main()의 순서대로 진행이 됨 - Java는 객체 단위로 프로그램이 수행됨 - 캡슐화 : 다른 외부 객체에서 필드나 메소드를 참조하려고 접근 시 이를 보안상 보호하기 위한 개념 - 상속 : 부모 클래스가 있고, 이를 자식 클래스가 물려받아서 사용하는 구조 - 다형성 : 상속 기반에서 부모 클래스가 각각의 자식 클래스를 포함할 수 있어 다양한 형태를 취할 수 있 다는 개념. 즉 A가 부모이고 B,C가 자식클래스일 경우 A는 B가 될 수도 있고 C가 될수.. 2018. 1. 6.
[Book] IT 추천 도서 목록 IT 개발 도서 목록 (앞으로 읽어볼 도서나 개발자들의 공통 추천 도서들을 모아놓은 도서 모음. 빨간색으로 표시된 책은 추천 도서 모음에서 공통적으로 추천된 책) - 줌인터넷 포털 서비스 개발팀 추천 도서 1. 제대로 배우는 Backbone.js 프로그래밍 (애디 오스마니 지음)2. 인사이드 자바스크립트(송형주, 고현준 지음)3. 자바 ORM 표준 JPA 프로그래밍(김영한 지음)4. 스프링부트 코딩 공작소 (크레이그 월즈 지음)5. 스프링 인 액션(크레이그 월즈 지음)6. Gradle 그레이들 철저 입문(와타비키 타쿠마, 스에 노부히로, 하야시 마사토시, 이마이 마사노부 지음) - 자바지기 박재성님의 추천 도서 1. 이펙티브 자바2. 토비의 스프링3. 자바 ORM 표준 JPA 프로그래밍 (중복 추천 도서.. 2017. 12. 31.
[네트워크] 프록시 서버(Proxy Server) 프록시 서버(Proxy Server)란? 프록시 서버(Proxy Server)란 시스템에 방화벽을 가지고 있는 경우 외부와의 통신을 위해 만들어 놓은 서버 - 프록시(Proxy)란 원래 '대리' 라는 의미를 가지고 있음. - 프록시 서버는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터 - 보안 분야에서는 주로 보안상의 이유 등으로 직접 통신할 수 없는 경우가 존재함 - 위와 같은 경우 직접 통신할 수 없는 두 점 사이에서 대리로 통신을 수행하는 기능을 프록시, 그 중계 기능 을 하는 것을 프록시 서버라고 함 - 시스템에 방화벽을 가지고 있는 경우 외부와의 통신을 위해 만들어 놓은 서버 - 프록시 서버는 보안 상의 목적으로 설치되는 경우가 많으나, 단순히 보안 .. 2017. 12. 27.
[Git] Git & Github Dreaming IT Study 1주차 학습 내용 Git & GitHub Git(깃)이란 소스코드를 효과적으로 관리하기 위해 개발된 '분산형 버전 관리 시스템' 이다. (반대로 SVN은 중앙집중형 버전관리 시스템이다) 원래는 Linux소스코드를 관리할 목적으로 개발되었다. Git에서는 소스코드가 변경된 이력을 쉽게 확인할 수 있고, 특정 시점에 저장된 버전과 비교하거나 특정 시점으로 되돌아갈 수도 있다. 또 내가 올리려는 파일이 누군가 편집한 내용과 충돌한다면, 서버에 업로드할 때 경고 메시지가 발생된다. 이로써 누군가가 애써 편집한 내용을 덮어써버리는 등의 실수를 방지할 수 있다. * Git 설치 1. Chrome에서 git download 입력 2. https://git-scm.com/download.. 2017. 12. 26.
[네트워크] HTTP VS HTTPS [http 와 https 의 차이점] 웹 브라우저의 주소창을 자세히 보면 http://나 https://로 시작한다. 간략하게 설명하면 HTTPS 는 HTTP에서 보안성이 강화되었다고 생각하면 된다. HTML이란 무엇인가? 우리가 보는 웹 페이지의 대부분은 확장자가 html 이다. 기타 php, aspx, jsp 등도 있다.이들은 각각 웹 서버의 처리 엔진에 따른 결과물인데, 사실 확장자는 중요한게 아니다.확장자가 php, aspx, jsp인 것도 다들 html 이다. 웹 브라우저는 확장자를 보고 html 인 줄 아는게 아니라, 헤더에 있는 타입을 보고 아는 것이다. 우리가 보기에는 확장자가 php라도, 헤더에는 txt/html 로 타입이 규정되어 있고, 웹 브라우저는 그래서 이것이 html 인 줄 알 .. 2017. 12. 24.
[GIS] OpenLayers Simple Map 만들기 [OpenLayers Simple Map 만들기] 1. OpenLayers 란? - 웹 지도 서비스를 위한 라이브러리 - 웹 플랫폼에서 지도 데이터의 시각화와 조작을 편리하도록 하는 오픈소스 기반의 자바스크립트 라이브러리 - 클라이언트 사이드 javascript - AJAX, Web 2.0 활용 - BSD 라이선스 (자유롭게 수정 / 배포 가능) 2. OpenLayers의 이해 - Javascript 기반 - Javascript 기반이기 때문에 구축 환경과 관계가 없음 - OpenLayers에서 지도 서비스를 제공해주지는 않음 (구글맵, 네이버 맵 등과 같은 지도 서비스 를 제공하는 서버가 필요) - Google Maps, Bing Maps 등의 상용 지도와 OpenStreetMap 과 같은 오픈 데이터.. 2017. 12. 16.