본문 바로가기

프로그래밍458

안드로이드 스튜디오에서 PhoneGap 프로젝트 불러오기 이번에는 "PhoneGap CLI 설치하기" 에서 만들었던 HelloWorld 프로젝트를 안드로이드 스튜디오에서 Import 하여 보겠습니다. 앞에서 폰갭의 명령행 인터페이스(CLI) 를 설치해서 프로젝트를 생성했었습니다. PhoneGap 프로젝트를 Android Studio나 Eclipse 같은 IDE 툴에서 열어서 사용하는 이유는 디버깅 기능을 사용하고, 실제 휴대폰에서 테스트를 하거나, 출시를 위한 사인 작업등을 쉽게 할 수 있기 때문입니다. 또한 PhoneGap 만으로 처리할 수 없을때 플러그인을 개발하여 사용하기 위해서도 사용됩니다. PhoneGap 프로젝트를 Android Studio 로 열었을때 www 폴더를 제외한 다른 부분은 수정을 하지 않는것이 좋습니다. 수정을하게되면 platforms.. 2018. 4. 3.
PHP 날짜 함수 사용하기 - date, strtotime, mktime PHP 에서 날짜를 다루는데는 주로 date(), strtotime(), mktime() 의 세가지 함수를 사용 합니다. 각각의 사용법과 몇가지 응용에 대해서 알아보도록 하겠습니다. 1. date() 함수. string date ( string $format [, int $timestamp ] ) 정수형으로 주어지는 timestamp나, timestamp가 주어지지 않았을 경우에는 현재 로컬 시간을 사용하여, 주어진 포맷 문자열에 따라 형식화한 문자열을 반환합니다. 즉 timestamp는 선택적이고, 기본값은 time()의 값입니다. 지원되지 않는 포맷 문자는 그대로 출력됩니다. 결과) 2017-01-10 2. strtotime() 함수. int strtotime ( string $time [, int .. 2018. 4. 3.
JavaFX 개발용 eclipse 플러그인 설치 JavaFX는 자바로 윈도우용 GUI 응용프로그램을 만들기 위한 라이브러리로 기존의 AWT와 Swing 을 대체 하는 라이브러리 입니다. JavaFX 는 안드로이드 앱을 만드는 것처럼 UI구성을 xml 파일로 작성하는게 특징이 되겠습니다. 실제로 JavaFX 는 FXML 이라는 XML 기반의 User interface markup language 를 사용하여 작성합니다. xml 기반 이므로 텍스트 에디터를 사용해서 작성할 수 도 있습니다. 하지만 주로 GUI 개발툴을 사용합니다. Java와 JavaFX 는 현재 오라클에서 개발하고 있으므로 오라클 자바 개발툴인 NetBeans 에 잘 통합되어 있습니다. 하지만 여기서는 Eclipse에 JavaFx 플러그인인 e(fx)clipse 를 설치하고 개발해 보도록.. 2018. 4. 3.
CentOS 7 사용자 추가, SSHD 설정, SSH client PUTTY 사용하기 앞에서 CentOS 7을 최소 설치 했을 때, root 계정만 만들었습니다. 이제 일반 사용자를 추가 합니다. 보통 원격에서 작업할 때 보안상 root 로 바로 로그인 해서 작업을 하지는 않습니다. 일반 계정으로 로그인 해서 필요한 경우 su 명령으로 root 로 계정을 변경해서 작업을 하게 됩니다. 1. 사용자 추가 하기 위해서 먼저 그룹을 추가하고, 사용자를 추가 합니다. - 그룹을 추가합니다. # groupadd devteam - /etc/group 파일에 정보가 추가됩니다. 파일 포맷은 다음과 같습니다. devteam:x:1000: 그룹명:그룹비밀번호:그룹UID:콤마(,)로 분리된 그룹에 속한 사용자들의 아이디 위에서 그룹비밀번호가 x 인 이유는 보안을 위해 비밀번호파일을 따로 관리하기 때문입니다.. 2018. 4. 3.
PhoneGap CLI 설치하기 안드로이드폰이나 아이폰용 앱을 개발하기 위해서는 각각 다른 프레임웍과 언어가 필요합니다. 폰갭(PhoneGap)은 iOS의 Objectiv-C UIWebView와 안드로이드의 android.webkit.WebView 상에서 HTML, CSS, JavaScript 와 같은 표준 웹 기반 기술을 사용하여 앱을 개발 할 수 있도록 해주는 플랫폼 입니다. 기기의 대부분의 기능도 JavaScript로 폰갭 API를 호출하여 사용할 수 있습니다. 폰갭의 코어 엔진은 100% 오픈 소스로 Apache Cordova 프로젝트 를 사용합니다.(폰갭은 안드로이드, iOS 이외에도 많은 플랫폼을 지원합니다.) 현재 폰갭은 Adobe 사에서 개발하고 있고, PC 용 개발툴 베타버전을 제공 하고 있으나, 아직까지 많이 쓰이는 .. 2018. 4. 3.
실행 흐름에 끼어들기(Filter,Interceptor,AOP) 3 - AOP 실행 흐르에 끼어들기 마지막으로 AOP(Aspect Oriented Programming) 관점 지향 프로그래밍 입니다. 웹프로그램에서 하나의 요청의 실행 단계를 보면 공통적인 부분들이 존재합니다. 각 요청을 처리하는 비지니스 로직은 요청 마다 다르겠지만, 요청의 끝에서 작업 로그를 기록한다던지, 데이터베이스 트랜잭션을 요청의 앞에서 시작하고, 끝에서 커밋 또는 롤백을 한다던지 하는 코드 들이 있습니다. 이런 코드들은 모든 프로그램에 반복적으로 나타나게 됩니다. AOP 에서 이런 반복적으로 나오는 부분이 아래 이미지 에서 처럼 프로그램을 횡단하는 곳에 공통적인 코드가 나타난다고 해서 횡단적 관심사(Cross-cutting concern)라고 합니다. PGM1 PGM2 PGM3 +-----+ +-----+.. 2018. 4. 2.
실행 흐름에 끼어들기(Filter,Interceptor,AOP) 2 - Interceptor Java 웹프로그래밍에서 실행 흐를에 끼어들 수 있는 방법에 대해 알아보고 있습니다. 앞의 글에서 서블릿 필터에 대해 알아 봤습니다. 이번에는 스프링 프레임웍에서 사용할 수 있는 인터셉터에 대해서 알아보겠습니다. 필터와 인터셉터는 적용 시점이 다릅니다. 필터는 스프링 프레임웍과는 무관하게 지정된 자원에 대해 동작합니다. 스프링은 Dispatcher 서블릿으로 부터 시작됨으로 필터는 스프링 컨텍스트의 바깥에 존재 하게 됩니다. 인터셉터는 스프링의 Dispatcher 서블릿이 컨트롤러를 호출할 때 전, 후에 끼어듭니다. 그러므로 스프링 컨텍스트 내부에 존재하게 됩니다. 인터셉터는 여러개를 사용할 수 있으며, 실행 순서는 에 나오는 순서 입니다. 인터셉터를 주로 사용하는 곳은 로그인 체크, 권한 체크, 프로그.. 2018. 4. 2.
실행 흐름에 끼어들기(Filter,Interceptor,AOP) 1 - Servlet Filter Java 웹 프로그래밍에서 프로그램 흐름의 앞이나 뒤에 공통적인 처리를 추가할 수 있는 방법이 있습니다. 서블릿에서 지원하는 서블릿 필터와 스프링 프레임웍을 사용하면 쓸 수 있는 인터셉터, AOP 가 있습니다. 먼저 Servlet Filter에 대해 알아 봅니다. Servlet Filter 는 Servlet Specification 2.3 부터 지원합니다. 필터가 동작하도록 지정된 자원의 앞단에서 요청 내용을 변경하거나 여러가지 체크를 수행할 수 있습니다. 또한 자원의 처리가 끝난 후 응답 내용에 대해서도 변경하는 처리를 할 수 있습니다. 1. web.xml 에서 필터를 등록합니다. /WEB-INF/web.xml 파일 입니다. firstFilter com.tistory.pentode.filter.Firs.. 2018. 4. 2.
VirtualBox로 Linux 서버 만들기 3 - network 설정, 게스트 확장, X11 VirtualBox에 가상머신을 만들고, CentOS 7 을 최소 설치로 설치했습니다. 이제 추가적인 설정을 해봅니다. 그전에 용어를 좀 정리하면 호스트는 자신의 PC 를 뜻하고, 게스트는 가상머신을 뜻합니다. 호스트 키는 키보드 잡기 하거나 해제할 때 사용하는 키 입니다. 키보드 잡기가 되면 모든 키보드 입력과 마우스 입력이 가상 머신으로만 가게 됩니다. 1. 이전 글에서 호스트 키를 오른쪽 Shift 키로 설정을 했었는데, 대문자 입력시 불편해서 왼쪽 Shift + Ctrl 키로 변경하겠습니다. 파일 -> 환경 설정 을 선택하여 뜬 팝업창에서 입력 -> 가상머신(M) 의 호스트키 조합으로 변경합니다. 2. NAT 모드로 설정된 네트워킹 모드를 변경 브리지 어댑터 방식으로 변경합니다. 가상머신을 종료한.. 2018. 4. 2.
VirtualBox로 Linux 서버 만들기 2 - CentOS7 설치하기 "VirtualBox로 Linux 서버 만들기 1 - 설치 및 가상머신 생성" 에서 생성한 가상머신에 CentOS7을 설치해 봅니다. 일단 여기서는 최소 설치를 하여서 필요한 것들을 나중에 하나 하나씩 설치를 해 보겠습니다. 전체 설치를 하는것이 사용하는 것은 편리하지만, 하나씩 설치하면서 배울 수 있는 것도 많이 있습니다. 요즘은 GUI를 많이 사용하지만 Linux는 아직도 많은 명령어 들의 조합으로 필요한 기능을 구현하고 있습니다.다음 사이트에서 CentOS7 배포판을 다운로드 받습니다. https://www.centos.org/download/ DVD 하나짜리 CentOS-7-x86_64-DVD-1611.iso 파일을 받았습니다. VirtualBox 를 실행 합니다. 미리 만들어둔 CentOS7 가.. 2018. 4. 2.
안드로이드 앱 실행하기 - AVD "안드로이드 스튜디오를 설치하기" 에서 안드로이드 스튜디오를 설치하고 Hello World! 를 출력하는 간단한 앱을 AVD(Android Virtual Device)에서 실행해 봤습니다. 앱을 실행하려면 AVD를 사용하거나 실제 휴대폰을 연결해서 테스트 해볼 수 있습니다. "안드로이드 스튜디오를 설치하기" 에서 가상 디바이스에서 앱을 처음 실행했을때 시스템 이미지가 없어서 기본값으로 ARM EABI v7a System Image 를 다운받아 실행했었습니다. 이때 x86 컴퓨터에서는 x86 시스템 이미지를사용하는것이 더 나은 성능을 보인다는 메세지가 떴었습니다. 그래서 이번에는 AVD 를 설정하는 방법을 확인해 봅니다. x86 시스템이미지를 설정하는 것을 보기 전에 전에 최초로 실행했을 때의 화면을 보도.. 2018. 4. 2.
SQLyog - MySQL 관리툴 설치하기 MySQL 클라이언트/관리툴 인 SQLyog community Edition 을 설치하고, 데이터베이스 생성 및 사용자 생성하는것을 해봅니다. MySQL 은 관리툴로는 Command line 클라이언트 툴과 , phpMysqlAdmin 이라는 웹 툴이 많이 사용됩니다. 물론 기능이 많은 유료 툴도 많이 있지만, 요즘은 SQLyog Community Edition 이 많이 사용되고 있는것 같습니다. SQLyog 도 유료 툴 이지만 Community Edition은 무료로 사용할 수 있습니다. MySQL 은 MariaDB 와 호환이 됩니다. SQLyog 는 MySQL 에서와 동일하게 MariaDB 용으로 사용할 수 있습니다. 설치를 해봅니다. https://github.com/webyog/sqlyog-com.. 2018. 4. 2.
Windows.old 폴더 삭제하기 Windows 7을 Windows 10 으로 무료로 올릴 때 이전 버전의 윈도우즈로 돌아가기 위해서 Windows.old 폴더가 생깁니다. 그때 지웠었는데, 이번에 보니 또 생긴걸 발견했습니다. 아마 Windows 10 1주년 기념 업데이트에서 생긴걸로 추측이 됩니다. 삭제하겠습니다. 설정창을 열어서 시스템(디스플레이, 알림, 앱, 전원) 아이콘을 클릭합니다. 거기에서 저장 공간을 선택합니다. 이 화면에서는 새 앱, 새 문서, 새 사진, 새 영화 등을 기본적으로 저장될 위치를 지정할 수 있습니다. C: 드라이브를 선택합니다. 동영상, 메일, .. , 임시파일 등의 항목별로 사용중인 용량을 계산합니다. 처음 실행한다면 상당히 시간이 오래 걸릴 수 있습니다. 임시파일 을 클릭합니다. 이 임시파일 항목내에 이.. 2018. 4. 2.
VirtualBox로 Linux 서버 만들기 1 - 설치 및 가상머신 생성 가상 하드웨어 프로그램으로는 잘 알려진 것이 VirtualBox 와 VMware Workstation 이 있습니다. VirtualBox 는 GPLv2 라이센스 이고, VMware Workstation 의 경우 유료 버전와 무료 버전이 있습니다. 유료버전은 VMware Workstation Pro 이고, 무료 버전은 VMware Workstation Player 로 개인, 비상업용으로 사용할 경우 무료 입니다. 여기서는 VirtualBox에 Linux(CentOS7) 을 설치하여 여러가지 테스트용 서버들을 설치해 보겠습니다. 이번에는 먼저 VirtualBox를 설치하고, 가상머신을 생성합니다. linux 를 설치하는것은 다음번 글에서 해보겠습니다. Windows 용 VirtualBox 를 다운 받습니다. .. 2018. 4. 2.
CPU 가상화 지원여부 확인하기 컴퓨터에 VirtualBox 등 가상화 프로그램을 설치해서 사용할 때 64bit 운영체제를 지원하려면 CPU 가 가상화 기술을 지원해야 합니다. 자신의 CPU 가 가상화(Virtualization) 을 지원하는지 알아보고, 지원한다면 사용이 가능하도록 BIOS 에서 활성화 시키는 방법을 알아 봅시다. 자신의 CPU가 가상화를 지원하는지 확인해보는 방법은 여러가지가 있겠지만, 확인 소프트웨어를 이용하여 알아보는 방법을 보도록 합시다. https://downloadcenter.intel.com/ko/download/7838 에서 인텔 프로세서 식별 유틸리티를 받아서 확인해 볼 수 있습니다.아래쪽으로 스크롤 해서 한국어 버전의 프로그램을 다운로드 받습니다. (pidkor45.msi) 다운 받은 프로그램을 더블.. 2018. 4. 2.