본문 바로가기

전체 글487

lombok 라이브러리 - Getter, Setter, toString 자동 생성 이클립스에서 VO(Value Object) 를 생성하고, getter, setter, toString 을 추가하기 위해서는 메뉴에서 source -> Generate Getters and Setters... 와 source -> toString()... 를 선택하여 간단히 생성을할 수 있습니다. 생성은 간단하게 할 수 있지만 코드가 상당히 길어 보기가 좋지 않고, 나중에 멤버가 추가/삭제 되면 다시 생성을 하여야 하는 불편함이 있습니다. lombok 라이브러리는 아노테이션을 통해서 자동으로 생성이 가능합니다. 실제로 Getter와 Setter 코드는 보이지 않아서 코드가 길지 않아 보기 좋고, 멤버가 추가/삭제 되더라도 생성과 제거가 자동으로 처리됩니다. lombok 라이브러리는 따로 사용할 수도 있지만.. 2018. 4. 9.
스프링프레임웍 - Ajax 통신(@RequestBody, @ResponseBody) 이번에는 스프링프레임웍을 사용해서 Ajax 통신을 하는 방법에 대해서 알아보도록 하겠습니다. jquery를 이용해서 Ajax로 데이터를 보내고, 결과를 JSON 데이터를 받는 예제입니다. 이번 예제는 "스프링 프레임웍에서 MyBatis, Oracle 사용하기" 에서 사용된 프로젝트를 기반으로 합니다. 또한 클라이언트 측은 "AX5UI - GRID 6 (페이징)" 에서 사용된 예제를 변형하여 AX5UI 그리드에 Ajax와 JSON 데이터를 이용해서 조회하는 예제를 만들어 보겠습니다. 전체 소스를 하단에 첨부 되어 있습니다. 먼저 실행 결과 화면을 보겠습니다. AX5UI 그리드에 구분, 완료 값을 조회조건으로 하여 조회합니다. 조회는 POST 방식과 GET 방식일 경우 각각 어떻게 데이터를 전송하고 서버측에.. 2018. 4. 9.
AX5UI - GRID 6 (페이징) 그리드에서 페이징을 사용하는 방법을 알아봅니다. 먼저 실행된 화면 입니다. 그리드 좌측 하단에 페이징 정보가 보입니다. 우측 하단에는 현재 페이지내의 데이터중 어느 부분이 보이고 있다는 것을 나타냅니다. 테스트용 코드는 화면에서 조회 버튼을 누르면 조회된 데이터를 그리드에 넣는다는것을 가정해서 작성해 보았습니다. 1. 필요한 스크립트들을 로드합니다. 2. 그리드 변수를 선언합니다. 그리드 객체를 나타내는 firstGrid 변수를 전역 변수로 선언합니다. 나중에 조회등의 작업에서 사용할 수 있어야 하기 때문입니다. 3. 그리드 설정에 페이징 정보를 추가합니다. page: { navigationItemCount: 9, height: 30, display: true, firstIcon: '||', onChan.. 2018. 4. 9.
반응형 웹 - 뷰포트(viewport) 사용법 반응형 웹 (responsive web)이란 하나의 웹사이트로 데스크탑 PC, 스마트폰, 태블릿 PC 등 접속하는 디스플레이의 종류에 따라 화면의 크기가 자동으로 변하도록 만든 웹 페이지를 말합니다. 미디어 쿼리는 CSS3 부터 지원이 되는 CSS기술로 미디어 타입, 화면 크기 등을 기준으로 다른 스타일 시트를 적용할 수 있도록 해줍니다. 이를 이용해서 화면 크기가 변할때 스타일을 바뀌도록 해서 반응형 웹을 구현할 수 있습니다. 모바일 웹을 작성하게 되면 뷰포트(viewport)라는 것을 고려하게 됩니다. 뷰포트는 웹페이지가 사용자에게 보여지는 영역을 말합니다. 데스크탑 PC에서 브라우저의 크기를 줄이면 웹페이지의 내용이 다보여지지 않고 스크롤 해서 봐야 되는 경우가 있습니다. 이때도 브라우저에 보여지는.. 2018. 4. 9.
오라클 계층 쿼리(Hierarchical Query)의 사용법 업무를 데이터베이스로 구현을 하다보면 한 테이블 내의 데이터가 계층적 관계를 가지는 경우가 많이 있습니다. 예를 들어보면 코드정보, 부서정보, 사이트의 메뉴 정보 등이 되겠습니다. 계층의 단계가 고정 되어 있고, 두 계층 정도라면 테이블을 분리할 수도 있지만, 임의의 단계를 표현해야 한다면 한 테이블에 상위 데이터로의 연결고리를 가지도록 구현을 하게 됩니다. 제품의 BOM(Bill of Material - 부품의 계층 정보) 정보 같은 것이 되겠습니다. 이러한 자기참조 구조는 이해하기도 편하고, 깔끔하게 구현이 됩니다. 하지만 한가지 중대한 단점이 있습니다. 관계 데이터베이스는 한 행내의 데이터들 간의 연산은 아주 간단히 처리되지만, 다른 행과 관계되는 연산은 쿼리가 상당히 복잡해 집니다. 복잡한 서브쿼.. 2018. 4. 9.
Apple WWDC2017 iOS11 발표 - 업데이트 대상 기기는? 2017년 9월 12일 애플 신사옥 내의 스티븐 잡스 극장에서 열린 행사에서 iOS 11 출시일이 발표 되었습니다. 애플은 iOS 11이 2017년 9월 19일 다운로드가 가능할 것이라고 밝혔습니다. ---------------------------------------- 지난 5월 5일 오전 10시(현지 시간) 애플 WWDC 2017 에서 iOS 11 이 발표 되었습니다. 이미지출처 : Apple 홈페이지 ※ 참고Apple WWDC : 세계 개발자 회의(Worldwide Developers Conference)는 애플사가 매년 6월 경 캘리포니아에서 개최하는 회의 입니다. 이 회의는 주로 애플이 개발자들을 위한 새로운 소프트웨어와 기술들을 공개하는데 사용되며, 체험 활동과 피드백 세션도 함께 합니다. .. 2018. 4. 9.
무료 사진 편집프로그램 - gimp 설치하기 이미지 편집 프로그램의 대명사는 포토샵(photoshop)일 것입니다. 이미지를 수정 또는 편집 하는것은 뽀샵한다라고 말할정도로 이미 보통명사화 되어 버렸습니다. 하지만 포토샵을 사용하기에는 금전적 부담이 많이 되는게 사실입니다. 요즘은 클라우드 버전이 나와서 월 얼마씩 내고 사용할 수 있는데, 그래도 통신비 등 월 고정지출이 더욱 많아지게 됩니다. 서론이 길었습니다. 포토샵과 유사한 기능은 무료로 사용할 수 있는 이미지 편집 프로그램이 있습니다. 바로 gimp 입니다. gimp는 GNU Image Manipulation Program의 약자로 무료 소프트웨어 의 대명사인 GNU 라이센스로 배포되는 프로그램입니다. 무료이지만 그 기능 또한 막강하여 포토샵에 버금간다고 예기들 하는데, 사실 상용프로그램을 .. 2018. 4. 9.
파이썬 문법 8 - 모듈(module)과 패키지(package) 사용하기 지금까지 파이썬 프로그램을 실행해 볼 때 인터프리터를 사용해서 실행을 시켜봤습니다. 이 경우 인터프리터를 종료하면 작성한 내용이 모두 사라져 버립니다. 작성된 프로그램을 보존하기 위해서 프로그램의 내용을 텍스트 파일에 적어 보존 할 수 있는 방법이 모듈입니다. 이런 모듈들이 많아지면 모듈들을 잘 분류해서 모아둔 패키지를 만들어서 사용하게 됩니다. 파이썬 내에서 이미 만들어서 제공되는 유용한 패키지들이 많이 있습니다. 하지만 자신이 만들어서 써야할 경우도 많이 있습니다. 모듈과 패키지를 만들고 사용하는 방법을 알아보겠습니다. 1. 모듈 파이썬 모듈은 전역변수, 함수등 을 모아둔 파일 입니다. 1.1 모듈 만들기 food 라는 모듈명으로 cook(), eat() 라는 함수를 가지는 모듈을 food.py 파일.. 2018. 4. 9.
파이썬 웹프로그래밍 - 장고(Django) 튜토리얼 1(MySQL, MariaDB 연동) 이 내용은 장고(Django) 튜토리얼 https://docs.djangoproject.com/en/1.11/intro/ 을 정리한 내용 입니다. 이전 "파이썬 웹프로그래밍 - 장고(Django)설치" 에서 Django 를 설치하고, 명령행으로 사이트를 작성하고 실행하는 방법을 보았습니다. 이제부터 튜토리얼 내용을 하나씩 따라해 볼텐데, 여기서는 Eclipse와 PyDev 를 사용해서 애플리케이션을 작성하고 실행해 보겠습니다. 1. 프로젝트를 생성하고 실행해 봅니다. 프로젝트 생성까지의 이미지는 "장고(Django)설치"를 참조해 주십시오. 1.1. 이클립스 메뉴에서 File -> New -> Project... 를 선택합니다. PyDev -> PyDev Django Project를 선택하고 "Next".. 2018. 4. 9.
Windows 10 잠금화면(Lock Screen) 없앨 수 없는 것일까? 2017년 10월 04일 추가 언젠가 부터 잠금화면이 없어졌습니다. 테스트 해본 결과 아래의 gpedit.msc 를 사용하는 방법이 동작하는 것을 확인했습니다. 테스트한 운영체제는 Windows 10 Pro 버전입니다. 소리 없이 업데이트 된것 같습니다. --------------------------------------------------결론부터 말하면 "없앨 수 없다" 인것 같습니다. 없애지 못하게 하는것이 Microsoft 의 정책인것 같습니다. 혹시 자신이 사용하고 있는 Windows 10이 Enterprise, Education 또는 Server SKU라면 잠금화면을 없애는것이 가능할지 모르겠습니다만, Pro 나 Home 버전이라면 없앨 수 없을 것입니다. 모든 Windows 10 버전을 테.. 2018. 4. 9.
Microsoft OneDrive 제거하기 Windows 10 에는 OneDrive라는 클라우드 저장소를 제공하는 프로그램이 기본적으로 설치되어 있습니다. 15GB의 용량을 무료로 제공하고 있습니다. 사용을하려면 Microsoft 계정을 만들고 로그인 하면 됩니다. OneDrive는 기본설정으로 윈도우 부팅시 자동 실행되도록 되어 있습니다. 문제는 사용을 하지 않을때 입니다. 원드라이브 설정에서 윈도우 시작시 자동시작 옵션을 꺼도(트레이에서 OneDrive 아이콘에 마우스 오른쪽 키를 눌러 속성에서 해제할 수 있습니다.) 수시로 뜬다는 것입니다. 완전히 제거해보도록 하겠습니다. Windows 10 운영체제 에서 삭제하는 방법입니다. Windows 10이 아니고, Windosw 8.1 또는 Windows 7 인 경우와, 삭제를 하지 않고 기능을 죽.. 2018. 4. 9.
파이썬 문법 7 - 자료 구조 앞에서 리스트, 튜플, 셋과 같은 파이썬에서 특징적인 자료형에 대해서 알아 보았습니다. "Python 문법 2 - 식별자, 데이터 타입, 형변환, 연산자"를 참조하세요. 이번에는 이미 알아보았던 자료형들에 대해서 몇가지 새로운 사항에 대해서 알아보겠습니다. 1. 리스트의 메소드들 list.append( x ) : 리스트의 끝에 항목을 추가하십시오. ( a[len(a):] = [x] ) list.extend( iterable ) : iterable의 모든 항목을 추가하여 목록을 확장 해당합니다. ( a[len(a):] = iterable ) list.insert( i, x ) : 주어진 위치에 항목을 삽입합니다. 첫 번째 인수는 삽입하기 전에 요소의 인덱스이므로 a.insert(0, x)는 목록의 앞에 삽.. 2018. 4. 9.
PHP 클래스(class) 기본 사용하기 PHP로도 객체지향 프로그래밍을 할 수 있습니다. PHP 4 버전 때부터 쓸 수 있었고, PHP 5가 되면서 기능이 추가되고 성능이 향상되었습니다. 1. 클래스의 기본구조 및 이름 규칙 - class 키워드 다음에 클래스 이름이 나옵니다. - 클래스 전체는 중괄호 {}로 둘러싸여 집니다. - 안쪽에 프로퍼티와 메소드의 정의가 나옵니다. - 프로퍼티의 정의는 보통 앞쪽에 적지만 위치는 관계가 없습니다. 뒤쪽에 나와도 되고, 중간에 나와도 됩니다. - 프로퍼티와 메소드의 정의 앞에는 private, public 이라는 접근제어자가 붙어 있습니다. 이것은 해당 멤버를 클래스 외부에서 접근할 수 있는가를 나타냅니다. 클래스의 기본적인 구조를 보았습니다. 이제 클래스 이름, 프로퍼티와 메소드의 이름을 짓는 방법에.. 2018. 4. 9.
iOS 10.3.2 업데이트 지난 5월 15일 iOS 10.3.2버전의 업데이트가 있었습니다. 대상은 iPhone 5 및 이후 모델, iPad (4th generation) 및 이후 모델 및 iPod touch (6th generation) 입니다. 어떤 글에는 버그수정, 시리기능 향상, 그룹 페이스 타임기능이 추가되었다고 하였는데, 실제 설치시 안내페이지에는 보안 업데이트 내용 뿐이었습니다. 자세한 업데이트 내용을 다음 페이지에서 볼 수 있습니다. https://support.apple.com/ko-kr/HT207798 업데이트 이후에 배터리가 광탈한다는 글이 있어서 어떻게 할까하다가 업데이트 해봅니다. 폰을 사용한지 2년이 지나서인지 배터리가 60% 에서 죽어서 자가 교체하였습니다. 그 이후는 새것 처럼 쓰고 있는데, 이 업데이.. 2018. 4. 9.
Oracle Original Export and Import(exp and imp) 오라클에서 데이터의 백업과 복원에 간단히 사용할 수 있는 툴로 exp와 imp를 많이 사용해왔습니다. Oracle 10g 부터는 Oracle Data Pump Export(expdb) 와 Import(impdb) 툴이 제공됩니다. 그래서 이것과 구분하기 위해서 이전의 툴은 Original Export(exp)와 Import(imp) 라고 부릅니다. Original 툴은 Oracle 10g R2 까지만 지원되고, 11g 부터는 일반적인 사용지원이 되지 않는다고 합니다. 그렇다고 사용하지 못하는 것은 아닙니다. Oracle은 Oracle Data Pump Export(expdb)와 Import(impdb)를 사용하기를 권장하고 있습니다. 하지만, 이전의 exp 로 만들어진 덤프 파일을 import 하려하거나.. 2018. 4. 9.