본문 바로가기

프로그래밍458

안드로이드 앱 개발 - 프로젝트 폴더 기본 구조 앞에서 생성한 간단한 앱으로 안드로이드 앱의 기본구조에 대해서 알아보겠습니다. 여기서는 먼저 Androidmanifest.xml 파일에 대해서 알아 봅니다. 1. /app/manifests/Androidmanifest.xml 파일을 보겠습니다. 매니페스트 파일에서는 Android 시스템이 앱의 코드를 실행하기 전에 확보해야 하는 앱에 대한 필수 정보를 시스템에 제공합니다. - package="com.tistory.pentode.helloandroid" 앱에서 사용하는 패키지 이름 입니다. 이 패키지 이름은 애플리케이션에 대한 고유한 식별자 역할을 합니다. - android:allowBackup="true" 안드로이드 6.0 (API 레벨 23) 부터 지원하는 Backup 서비스를 앱이 지원하는지를 나타냅.. 2018. 4. 8.
스프링프레임웍 - Spring Security(1) : 기본 설정 스프링 시큐리티는 지금까지 직접 구현해왔던 아이디/비밀번호를 입력하고 로그인하여 사용자를 인증(Authentication)하고, 로그인후 프로그램의 각각의 기능에 대한 권한을 체크(Authorization)하는 작업을 구현해둔 보안 프레임웍 입니다. 프로그램외에 리소스(이미지 등)에 대한 접근도 제어할 수 있고, CSRF(Cross Site Request Forgery) 공격 방어, 세션 고정(Session Fixation) 공격 방어 및 다중 접속 방지 등도 간단하게 구현할 수 있습니다. 이제부터 스프링 시큐리티를 사용하는 방법에 대해 알아 보도록 하겠습니다. 이 글에서는 스프링 시큐리티 4.2.1 버전으로 테스트 해 봅니다. 1. 의존성 등록(pom.xml) 스프링 시큐리티 라이브러리를 포함 시킵니다.. 2018. 4. 8.
안드로이드 앱 개발 - 안드로이드 스튜디오에서 프로젝트 만들기 안드로이드 앱 개발에 대해서 알아보면서 개발 툴을 안드로이드 스튜디오를 사용하게 될 것입니다. 안드로이드 스튜디오의 설치는 "안드로이드 스튜디오 설치하기" 를 참조하세요. 안드로이드 앱을 만들기 위해서는 Java라는 언어가 필요합니다. 물론 C++, JavaScript(Phonegap) 같은 것으로도 가능하지만 Java가 가장 많이 사용되어 집니다. 필요한 부분은 그때 그때 설명을 할테지만, 따로 공부를 하는게 도움이 될 것입니다. 그럼 안드로이드 앱의 기본 구조를 살펴볼 간단한 앱을 만들어 보겠습니다. 1. 메뉴에서 File -> New -> New Project...를 선택하여 New Project 창을 열고, Configure your new project 에서 다음과 같이 입력합니다. 나머지는 기.. 2018. 4. 8.
전자정부 표준프레임워크 - Portal Site 로깅(log4j 2) 설정하기 테스트용 프로젝트의 설치는 "전자정부 표준프레임워크 - Portal Site(Oracle) 템플릿 프로젝트 설치" 를 참조 하세요. 로깅은 애플리케이션의 디버깅과 문제해결을 위한 필수적인 도구라고 생각됩니다. 물론 개발중의 디버깅에는 System.out.println이 더 효과적인 때도 있지만, 운영중인 애플리케이션의 문제점을 찾기위해서는 반드시 필요한 도구 입니다. 전자정부 표준프레임워크의 Portal Site 템플릿을 설치해서 이것 저것 테스트 해보고 있는 중인데, 이번에는 로깅 설정 부분을 보도록 하겠습니다. 전자정부 표준프레임워크 3.6 Portal Site 템플릿에는 log4j 2 버전과 SQL문장 로깅을 위한 log4jdbc가 들어 있습니다. 여기서 알아볼 설정 방법은 일반적인 스프링 프레임웍.. 2018. 4. 8.
전자정부 표준프레임워크 - Portal Site에 메뉴관리, 코드관리 추가하기 Portal Site 템플릿을 사용해서 사이트를 만들어 보고 있습니다. Portal Site 에는 메뉴관리와 코드관리가 없습니다. 각각 특성에 맞게 템플릿을 만들었겠지만, 메뉴 정보를 DB에서 가져오는데, 메뉴관리는 없는게 좀 불편해서 메뉴 관리를 넣는게 좋을것 같습니다. Enterprise Business 템플릿에 메뉴관리와 코드관리가 있어서 그것을 가져와서 넣어 보겠습니다. 메뉴에서 eGovFrame -> Start -> New Template Project를 선택하고, 템플릿 선택창에서 Enterprise Business 를 선택해서 설치하면 되겠습니다. 실행되게 설정할 필요는 없겠습니다. 필요한 파일들만 Portal Site 프로젝트로 옮길 것이기 때문입니다. 1. 프로그램목록과 메뉴 정보를 데이.. 2018. 4. 8.
파이썬 문법 6 - 이터레이터(Iterator) 와 제너레이터(Generator) 이글은 파이썬 튜토리얼의 Iterator를 정리한 것 입니다.(https://docs.python.org/3/tutorial/classes.html#iterators) 1. 이터레이터(Iterator) 파이썬에서 반복자는 여러개의 요소를 가지는 컨테이너(리스트, 튜플, 셋, 사전, 문자열)에서 각 요소를 하나씩 꺼내 어떤 처리를 수행하는 간편한 방법을 제공하는 객체 입니다. >>> for element in [1,2,3]: print(element) >>> for element in (1,2,3): print(element) >>> for element in {1,2,3}: print(element) >>> for key in {"a":1,"b":2,"c":3}: print(key) >>> for cha.. 2018. 4. 8.
Windows 10 크리에이터 업데이트 워나크라이 랜섬웨어 때문에 윈도우즈 업데이트를 하려고 설정 -> 업데이트 및 복구 페이지에 들어가 업데이트 확인을 했더니, “좋은 소식입니다! Windows 10 크리에이터 업데이트가 곧 준비중입니다. 가장 먼저 소식을 받아보시겠어요?” 라는 메세지가 떠 있어서 해보았습니다. 아마도 조금 있으면 자동업데이트에 포함되어 업데이트가 될 것으로 보입니다. 안내 링크를 클릭해서 업데이트 프로그램을 다운로드 해서 실행했습니다. 소프트웨더를 다운로드해서 재부팅하면서 설치하는데, 한시간 정도 걸린것 같습니다. 처음에는 단순 기능 업데이트인줄 알았는데, 막상 해보니 대규모 업데이트 였던것 같습니다. Microsoft가 Windows 10 에서는 이전의 서비스팩 업데이트라는 것을 하지 않겠다고 했는데, 얼마전 1주년 업.. 2018. 4. 8.
자바 문법 - 프로그램 기본구조 자바 문법에 대해 알아 보는 첫번째 글로 자바 프로그램의 기본적인 구조에 대해 알아보겠습니다. 자바는 객체 지향 언어(Object Oriented Programming Language) 입니다. 하지만 Smalltalk과 같은 언어처럼 모든 것이 객체이지는 않습니다. 자바에는 기본 타입(primitive type) 이라는 객체가 아닌 타입이 존재합니다. 일단 지금은 객체지향 언어이지만 객체가 아닌 부분도 있다는것만 알아 두면 되겠습니다. 객체 지향 언어에서는 프로그램의 기능을 객체 단위로 만들고, 이 객체들이 상호 작용하여 기능을 수행하도록 되어 있습니다. 현실 세계에서 사람, 책상 등 객체가 상호작용하여 일을 하는 것을 본따서 만들어 졌다고 합니다. 프로그램의 객체는 크게 두 가지 부분으로 나뉘는데, .. 2018. 4. 8.
C++ 문법 공부 - 콘솔 응용프로그램 기본 구조 C++ 문법 처음으로 콘솔 응용 프로그램의 구조에 대해서 알아 보겠습니다. Microsoft Visual Studio Community 2017을 사용해서 연습을 해볼 것이므로 프로그램이 설치되어 있지 않다면 "Visual Studio Community 2017 설치하기" 를 참조해서 설치하면 되겠습니다. 바로 GUI 프로그램을 해볼까 하는 생각도 해봤지만 문법부터 배워야 하는 상황이고, 당장 뭘 만들어야 하는것도 아니기 때문에 콘솔 응용프로그램으로 시작해도 문제가 없을것 같습니다. 콘솔 응용프로그램은 GUI 없이 명령창에서 실행이 되는 프로그램 입니다. 1. 프로젝트를 생성합니다. 프로젝트의 생성 정보는 다음과 같습니다. 콘솔 응용 프로젝트 생성하는 방법도 위의 설치하기 참조글 아래쪽에 나와 있습니다... 2018. 4. 8.
파이썬 GUI - wxPython Phoenix 설치하기 파이썬으로 GUI(Graphic User Interface)를 사용할 수 있는 프로그램을 만들수 있습니다. Python용 GUI 라이브러리로 가장 잘 알려진게 wxPython 이 아닐까 생각합니다. wxPython은 Python용 GUI toolkit 입니다. 이것은 C++로 작성된 크로스 플랫폼 GUI 라이브러리인 wxWidgets를 랩핑하는 Python 확장 모듈로 만들어 졌습니다. 현재 정식 릴리즈는 Python 2용 버전이고, Python 3용은 아직 개발버전으로 wxPython Phoenix 라고 불립니다. Windows 10 + Phthon 3.6.0 + wxPython 4.0.0a2 를 설치하고 테스트 해보겠습니다. 윈도우즈 10에 Python 3.6.0을 설치하는 것은 "Python 설치하.. 2018. 4. 8.
전자정부 표준프레임워크 - CKEditor 적용하기 전자정부 표준크레임워크의 Portal Site 템플릿 프로젝트에 HTML 위지윅 에디터인 CKEditor 를 적용해 보겠습니다. Portal Site 템플릿을 설치하고 보니 에디터가 적용이 되어 있지 않았습니다. 공통컴포넌트 다운로드에서 에디터로 검색해서 다운 받은 것은 htmlarea 였습니다. 그래서 all in one 템플릿 프로젝트의 게시판에 적용되어 있던 CKEditor를 Portal Site 템플릿으로 옮겨보았습니다. 이 글에서는 Portal Site 템플릿의 자유게시판 글쓰기에 CKEditor를 적용합니다. 1. 사전에 필요한 것들 - Portal Site : "전자정부 표준프레임워크 - Portal Site(Oracle) 템플릿 프로젝트 설치" 를 참고하여 설치합니다. - All in on.. 2018. 4. 8.
파이썬 웹프로그래밍 - 장고(Django)설치 Python으로 웹프로그래밍을 하려면 많은 web framework(https://wiki.python.org/moin/WebFrameworks)가 있는것 같습니다. 이들중에 가장 잘 알려진 것이 장고(Django)인것 같습니다. 이 글에서는 Django의 설치 및 간단한 샘플을 실행해 보도록 하겠습니다. Django는 신속한 개발과 깨끗하고 실용적인 디자인을 부추기는 고수준의 Python 웹 프레임 워크입니다. 라고 공식 사이트에 나와 있습니다. (https://www.djangoproject.com/) Django는 BSD 라이센스 하에 오픈 소스로 제공 됩니다 이글을 작성하는 현재 Django 의 최신 버전은 1.11.1 버전입니다. Django는 를 설치하기 전에 먼저 Python이 설치되어 있어.. 2018. 4. 4.
전자정부 표준프레임워크 - Portal Site(Oracle) 템플릿 프로젝트 설치 앞서서 all in one 템플릿 프로젝트와 Simple Homepage 템플릿 프로젝트를 Oracle 데이터베이스와 연동하여 설치해 보았습니다. 이번에는 Portal Site 템플릿을 역시 Oracle 데이터베이스와 연동하여 설치해보겠습니다. Portal Site 템플릿 프로젝트에서 제공되는 기능은 다음과 같습니다. - 사용자관리 - 권한관리 - 포털 초기화면 관리 - 포털 공지사항 관리 - 포털 FAQ관리 - 포털 행사참가 관리 Simple Homepage를 사용해서 경량환경에서 분석을 시작해보려고 했는데 너무 기능이 없었습니다. 사용자 관리, 권한관리 같은 부분이 있다고 되어 있었으나 실제 설치를 해보니 없었습니다. 메뉴에 링크만 없고 실제는 있었을 수도 있지만 그것을 찾고 있을 수는 없어서 Por.. 2018. 4. 4.
전자정부 표준프레임워크 - Simple Homepage(Oracle) 템플릿 프로젝트 설치 전자정부 표준프레임워크의 템플릿 프로젝트중의 하나인 Simple Homepage 를 Oracle 환경에서 실행되도록 설치해보겠습니다. 이 Simple Homepage 템플릿 프로젝트는 제목 그대로 단순홈페이지 기능 구현시 필수적인 부분만 사용 가능하도록 경량화된 실행환경을 제공합니다. 제공되는 기능은 다음과 같습니다. - 메인페이지 - 사용자관리 - 공지사항 관리 - 게시판 관리 - 안내 관리 템플릿 프로젝트를 설치하고 테스트한 환경은 다음과 같습니다. - OS : Windows 10 64bit - DB : Oracle 11g express edition - DB Tool : SQL Developer 4.1 64bit - Java : JDK 8 64bit - IDE : eGovFrameDev 3.6 64.. 2018. 4. 4.
파이썬 가상환경(virtualenv)만들기 파이썬을 사용할 때 기본으로 제공되는 라이브러리만 사용되지 않고 많은 기능을 제공하는 라이브러리들을 추가 하여 사용하게 됩니다. 이러한 라이브러리가 특정 프로젝트에서만 사용되거나 프로젝트를 배포할 때 필요한 라이브러리만 포함시켜 배포하고 싶을 경우가 있을 것입니다. 이럴때 사용할 수 있는것이 가상환경(virtualenv) 입니다. 가상환경을 만들고, 그 가상환경에서 라이브러리를 추가하면 추가된 라이브러리는 그 가상환경에서만 사용 되어집니다. 이 글에서는 Python 3.6 버전을 사용하여 테스트해 봅니다. Python의 설치는 이전에 작성된 글 "Python 설치하기" 를 참고 하세요. 설치 운영체제는 Windows 10 입니다. 파이썬 프로그램은 C:\util\Python36-32 폴더에 설치되어 있다.. 2018. 4. 4.