본문 바로가기

분류 전체보기

(433)
Spring과 Maven # Maven이란 Spring을 사용하기 위해 Maven Build가 필요함. 그렇다면 Maven이란 무엇인가? > Apache에서 자바용 프로젝트 관리 도구로 출시된 오픈소스 SW이다. 쉽게 말해 여러가지 라이브러리를 pom.xml 파일 하나만으로 네트워크를 거쳐서 자동으로 빌드해주는 관리 도구이다. 규모가 큰 프로젝트일 수록 메이븐의 효율성은 더욱 빛이 발휘된다. 자바 개발의 사실상 표준 빌드 툴(이전에는 ANT라는 수작업이 많이 필요한 툴을 사용함) XML 설정파일을 사용(최근에는 Groovy라는 언어로 설정을 하는 Gradle이 등장) # Convention Over Configuration(CoC) 과거에는 Application은 초기 설정이 매우 중요했었음. 모든 설정(Configuration..
Spring 간략 소개 Spring Framework 란? 경량급 애플리케이션 프레임워크 애플리케이션 프레임워크 > 특정 게층이나 기술, 업무 분야에 국한되지 않고 애플리케이션 전 영역을 포괄하는 범용적인 프레임워크를 말함 경량급 프레임워크 > 단순한 웹 컨테이너에서도 엔터프라이즈 개발의 고급 기술을 대부분 사용할 수 있음 Spring Framework 특징 1) 컨테이너 역할 Java 객체의 Life Cycle을 관리하며, Spring 컨테이너로부터 필요한 객체를 가져와 사용할 수 있다 2) DI(Dependency Injection) 지원 Spring은 설정 파일이나 어노테이션을 통해서 객체 간의 의존관계를 설정할 수 있도록 하고 있다. 3) AOP(Aspect Oriented Programming) 지원 Spring은 트..
Ajax 통신하기 새로고침(Reload) 없이 통신하기 위해서 비동기 통신 방식인 Ajax를 활용할 수 있다. jquery를 가져오고 script를 통해 손쉽게 사용 가능하다. views.py from django.http import HttpResponse import json ... # ajax 통신 def check(request): room_type = request.POST.get('room_type', None) room_date = request.POST.get('room_date', None) # ajax 통신을 통해서 template에서 POST방식으로 전달 message= "통신 성공" print(room_type) print(room_date) context = { 'message': message, ..
R에 대한 소개 및 기본 문법 대용량 데이터 처리 및 분석에 있어 최근 가장 각광받는 언어는 R을 들 수 있다. 세계적으로는 물론, 국내에서도 학계와 커뮤니티, 연구소 등에서도 연구가 활발히 이루어지고 있다. R이 이렇게까지 주목 받을 수 있는 이유는 크게 3가지 정도를 들 수 있다. 오픈 소스 기반의 무료 소프트웨어: 대부분의 상업용 통계 소프트웨어 플랫폼은 수천에서 수만 달러 비용이 요구되는 반면에, 오픈 소스로 얼마든지 무료로 이용가능하다. 포괄적인 통계 플랫폼: 대용량 데이터 처리 및 적재는 물론, 다양한 분석 툴고 전문 통계 패키지들을 활용하여 보다 편리한 데이터 처리 및 분석이 가능하다. 시각성: 대규모 데이터에서 분석 결과를 직관적으로 이해할 수 있도록 시각화할 수 있으며, 또한 이차원 평면상에서도 데이터의 다차원 구조를..
이기종 시스템 아키텍처(Heterogeneous System Architecture) 이기종 시스템(Heterogeneous System)이라는 이 생소한 단어는 쉽게 말해 'CPU와 GPU의 벽을 허물고 소프트웨어가 두 부품의 컴퓨팅 자원을 자유롭게 활용한다'는 의미이다. 기존의 시스템은 동일한 성격의 코어를 모은 프로세서(멀티코어 CPU나 GPU)를 가리켜 호모 지니어스(Homogeneous)라고 표현한다. 즉, 이와는 반대되는 개념으로 헤테로지니어스인 CPU와 GPU를 하나의 연산체로 간주하는 추상 계층을 생성해 GPU를 연산 보조용으로 사용하고, CPU와 GPU 사이에 데이터가 오갈 필요를 없앤다는 것이다. 즉 HSA란 CPU와 GPU를 하나의 칩으로 통합시키고 둘 사이에 긴밀한 연계를 추구하는 것이다. 이러한 표현에 대해, CPU와 GPU가 데이터를 주고 받지 않았다는 것인가 의..
Static 추가하기 # Settings.py에 설정 STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, 'static') # 해당 App 폴더 내에 Static 폴더 만들어 준 후 그 안에 다시 App 이름 작성(구분용) 그리고 css, js, img 파일들을 넣어준다 # 터미널 명령어 $ python manage.py collecstatic # template 파일 수정 {% load static %} ... ... ...
Django 회원가입 이메일 인증(SMTP) 많은 포털 사이트에서 회원가입 시 웹 메일 인증 시스템을 채택하고 있다. (현재는 대부분 보안성 때문에 기기 인증 등도 활용되고 있다고 한다...) 프로젝트를 진행하면서 해당 부분이 필요하게 되어 찾아보며 정리해봤다. 진행되는 로직은 크게 SMTP를 활용하여, User의 is_actvie 속성을 활용한다. SMTP 웹 메일을 통해 토큰을 날려주고, 해당 토큰을 인증하기 전 까지 is_active 속성을 False로 둔다. 그리고 토큰을 통해 인증을 하는 순간 is_active 속성을 True로 변경하여 User 객체를 인증한다. (즉, 토큰을 SMTP 프로토콜을 통해 날려준다) # SMTP 간이 전자 우편 전송 프로토콜(Simple Mail Transfer Protocol, SMTP)은 인터넷에서 이메일..
Spring_Interceptor # 글 작성 시 LoginSession에 대한 선행(PRE) Interceptor servlet-context.xml ... package com.sinc.intern.user.util; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; public class SessionChkInterceptor extends HandlerInterceptorAdapter { @Override public..