본문 바로가기

분류 전체보기487

iPhone 5s에 iOS11.1.2 업데이트 iOS11.1.1 이 업데이트된지 일주일이 좀 더 지난거 같은데, 11.1.2가 업데이트 되었습니다. 업데이트 주기가 빨라졌네요. 새로 나온 폰들이 문제가 많은것 같습니다. 용량은 60MB 정도이고, 설치에는 20분 정도 걸린것 같습니다. 이번 업데이트는 iPhone X 에서 발생하는 다음 문제점이 수정 되었다고 합니다. - 온도가 급격히 떨어질때 아이폰 X의 터치가 동작하지 않는 문제점- 아이폰 X 에서 라이브 포토와 비디오 캡쳐에서 뒤틀림이 발생하는 문제점 이번에 보안 업데이트 없다고 합니다. 수정된 문제점도 iPhone X 에서의 것들만 있습니다. iPhone 5s를 사용하는 입장에서 이번 업데이트는 건너뛰어도 좋았을것 같은데, 빨간 숫자 배지만 보면 가만 두지 못하는 편집증적인 증세 때문에 업데이.. 2018. 4. 20.
Oracle 두 날짜 사이의 일수 차이 와 분 차이 구하기 오라클에서 두 날짜 사이의 차이 일수를 구하는 방법은 간단합니다. 단순히 두 날짜를 빼주면 되겠습니다. 이때 주의할 점은 날짜 빼기를 하면 시간 부분도 계산이 되기 때문에 소숫점 숫자가 됩니다. SELECT SYSDATE - TO_DATE('20171110', 'YYYYMMDD') FROM DUAL; 결과)11.96041666666666666666666666666666666667 TO_DATE('20171110', 'YYYYMMDD') 부분은 시간 부분이 모두 0 이지만 SYSDATE 는 시간 부분이 있기 때문에 소수점 숫자가 나오게 됩니다. 단순히 날짜의 차이만을 구하기 위해서는 시간부분을 모두 0으로 처리해야 합니다. 다음과 같이 할 수 있습니다. SELECT TRUNC(SYSDATE) - TO_DA.. 2018. 4. 20.
iPhone 5s에 iOS 11.1.1 업데이트 하기 iOS 11.1 업데이트 이후 2주 만에 iOS 11.1.1 버전이 업데이트 되었습니다. iOS 11.1 이 설치되어 있는 iPhone 5s 에서 설치파일의 크기는 41.5 MB 이고, 설치 시간은 26분 정도 걸렸습니다. 업데이트 내용은 다음과 같습니다. - 키보드 자동 수정과 관련된 문제를 수정함- 'Siri야'의 동작이 중단되는 오류를 수정함 보안 업데이트는 iOS 11.1과 같다고 합니다. iOS 11.1 업데이트 후에 폰에 좀 이상한 증세들이 있었습니다. 집에서 안테나 숫자가 불안정해지고, 전용 충전기로 충전이 안되어서 USB 포트에 연결해서 충전하고 있으며, 자동차에 케이블로 연결시 통신 오류가 자주 발생하는 문제가 생겼습니다. 가만히 놓아둔 폰의 시리가 저절로 동작하기도 하였습니다. 하지만 .. 2018. 4. 20.
Oracle 툴에서 & 입력 또는 조회하기 Oracle 툴인 SQLPlus 나 SQL Developer에서 쿼리중에 & 와 같은 특수 문자를 사용하면 툴 자체의 기능으로 인식되어 처리가 되지 않습니다. INSERT TB_TEST INTO (1, '김&이');-- orSELECT * FROM TB_TEST WHERE NAME = '김&이'; 이때 다음 명령을 먼저 내린후 쿼리를 실행합니다. SET DEFINE OFF 이러한 상황은 SQL Plus나 SQL Developer등의 툴에서 발생합니다. 프로그래밍으로 쿼리를 실행하는데는 문제가 없습니다. 2018. 4. 20.
jQuery UI datepicker - 자바스크립트 달력 사용하기 jQuery UI 의 datepicker 위젯은 웹 프로그램에서 날짜를 선택할 수 있는 자바스크립트 달력 입니다. 간단한 사용방법을 알아보겠습니다. jQuery UI 는 jQuery 플러그인으로 만들어 졌으므로 jQuery가 있어야 합니다. 예제에서는 jQuery는 다운로드 받아서 쓰지 않고 CDN 을 사용해서 테스트 했습니다. jQuery UI 는 http://jqueryui.com/download/ 에서 다운로드 받을 수 있습니다. 필요한 위젯만 선택하여 다운로드 받는것이 가능합니다. 모든 위젯이 포함되어 있는 배포판은 http://jqueryui.com/download/all/ 에서 다운 받을 수 있습니다. 달력의 한글화를 위한 파일은 https://github.com/jquery/jquery-ui.. 2018. 4. 20.
안드로이드 크기 단위(dp, sp, pt, px, mm, in) 안드로이드 위젯의 크기를 지정할 때 사용되는 단위에 대해서 알아보겠습니다. 결론부터 말하자면 위젯의 크기는 "wrap_content", "match_parent" 또는 dp 단위를 사용하는것이 좋습니다. 텍스트의 크기는 sp 단위를 사용하는것이 권고 됩니다. 본론으로 들어가기전에 몇가지 용어에 대해서 알아보겠습니다. - 화면크기 : 화면의 실제 물리적 크기이미, 화면의 대각성 크기로 측정됩니다. 단순화하기 위해 Android에서는모든 실제 화면 크기를 네 가지 일반화된 크기 그룹으로 분류합니다 + 초대형 화면 : 최소 960dp x 720dp + 대형 화면 : 최소 640dp x 480dp + 보통 화면 : 최소 470dp x 320dp + 소형 화면 : 최소 426dp x 320dp - 화면 밀도 : .. 2018. 4. 20.
mysqldump를 사용하여 MySQL(MariaDB)백업하기 MySQL 또는 MariaDB를 백업하는 간단한 방법인 mysqldump 프로그램을 사용하는 방법은 알아봅니다. sqlyog와 같은 GUI 툴을 사용해서 하는게 간편하지만 명령행 툴을 사용할 수밖에 없는 경우도 있습니다. 알아둬서 나쁠건 없겠습니다. 1. 전체 데이터베이스 백업 C:\>mysqldump -uroot -p비밀번호 --all-databases > D:\backup\all_db.sql or C:\>mysqldump -uroot -p비밀번호 -A > D:\backup\all_db.sql 모든 데이터베이스의 생성 스크립트 및 데이터가 D:\backup\all_db.sql 파일로 생성됩니다. 2. 데이터베이스 지정하여 백업하기 C:\>mysqldump -u아이디 -p비밀번호 dbname > D:\>.. 2018. 4. 20.
안드로이드 문자열 리소스 만들고 사용하기 안드로이드 앱의 버튼, 레이블, 텍스트 뷰 등에 사용되어지는 문자열들은 각각의 요소에 직접 적을 수도 있지만 하나의 자원 파일(strings.xml)에 정의해 두고 참조해서 사용하는 것을 권장 합니다. 이렇게 하면 같은 내용의 문자열을 앱 내의 여기 저기에서 사용하지 않아도 되므로 크기를 줄일 수 있고, 변경시에도 리소스 파일 한군데에서만 변경하면 되므로 쉽게 변경 할 수 있고, 오타 등의 오류도 줄일 수 있습니다. 먼저 테스트용 프로젝트를 만듭니다. Create Android Project - Application name : HelloWorld - Company domain : pentode.tistory.com Target Android Devices - Phone and Table에 체크 - AP.. 2018. 4. 20.
데이터베이스에서 null 과 빈 문자열(empty string)의 차이점 테이블의 NULL 허용 필드에 데이터를 넣을 때 빈 문자열(empty string)을 넣으면 어떻게 될까요? 아래의 두가지 쿼리가 어떻게 동작할지를 말하는 것입니다. INSERT INTO tb_test (id, name) VALUES (1, NULL); INERRT INTO tb_test (id, name) VALUES (2, ''); 1. Oracle 오라클에서는 NULL과 빈문자열 '' 이 모두 NULL 로 처리 됩니다. 위에서 id 가 1, 2 인 행의 name은 모두 NULL 이 들어갑니다. SELECT * FROM tb_test WHERE name IS NULL; 위와 같이 쿼리하면 id가 1, 2인 행이 모두 조회됩니다. 데이터베이스에서 NULL은 등호(=)로 비교할 수 없습니다. 반드시 IS.. 2018. 4. 20.
MySQL locking - Table-Level Locking, Row-Level Locking, Optimistic Locking 웹 프로그래밍은 기본적으로 다중 사용자 환경입니다. 동일한 자원에 여러 사용자가 동시에 접근하는 상황이 발생할 수 있습니다. 쇼핑몰에서 물건을 구매하는 상황을 생각해 봅시다. 두 명의 사용자가 재고가 하나밖에 없는 제품을 조회하고, 동시에 구매를 한 상황입니다. 서버로 요청이 넘어가면 서버에서는 다음 세 단계를 거쳐 구매를 처리한다고 가정해 봅니다. 1) 다시 한번 재고를 확인합니다.2) 재고를 감소 시킵니다.3) 구매정보를 입력합니다. 재고를 확인하고 구매할 수 있다고 판단한 후에 재고를 감소하기 전에 다른 요청을 처리하는 쓰레드 또는 프로세스가 재고를 확인하게 되면 둘 다 구매 할 수 있다고 판단하게 되고 구매 처리가 되어 버립니다. MySQL 데이터베이스를 사용하는 경우 이런 환경에서 어떻게 처리하.. 2018. 4. 20.
iPhone 5s에 iOS 11.1 업데이트 기기는 iPhone 5s 운영체제는 iOS 11.0.3 에서 11.1 로 업데이트 했습니다. 업데이트 용량은 245.8MB 이고 업데이트 시간은 다운로드와 설치에 35분정도 걸렸습니다. 업데이트 후 집에서 안테나가 두 개 밖에 안뜨는데, 이게 업데이트로 인한 문제인지 기지국 사정인지는 좀 더 지나봐야 알 수 있겠습니다. 그외에 프로그램 실행이나 와이파이 연결, 배터리 등은 문제가 없는것 같습니다. 1. 새로워진 기능 및 오류 수정 - 70여 개의 이모티콘이 새로 추가 되었다고 합니다. 그런데, 받는쪽도 iOS 11.1 이라야 추가된 이모티콘을 볼 수 있다네요. 나에겐 별 의미가 없군요. 이모티콘은 쓰지 않아서 이모티콘 키보드도 지워버린 상태 이네요. - 사진앱에도 일부 사진이 흐릿하게 나올 수 있는 문제.. 2018. 4. 20.
Oracle에서 VARCHAR2 컬럼을 CLOB으로 변경하기 VARCHAR2(4000) 으로 사용하던 컬럼에 데이터를 더 많이 저장할 필요가 생겨서 CLOB 타입으로 변경하려고 합니다. ALTER 명령으로 바로 변경하려면 에러가 발생합니다. ALTER TABLE table_name MODIFY (CONTENTS CLOB) 오류 보고 - ORA-22858: 데이터유형의 변경이 부적당합니다 22858. 00000 - "invalid alteration of datatype" *Cause: An attempt was made to modify the column type to object, REF, nested table, VARRAY or LOB type. *Action: Create a new column of the desired type and copy the .. 2018. 4. 20.
스프링프레임웍 다국어 메세지 프로퍼티 파일에 한글 바로쓰기 다국어 처리를 위한 메세지 프로퍼티 파일을 이클립스의 기본 에디터로 열어보면 다음과 같이 한글이 깨어져 보입니다. 실제로 유니코드로 저장되어 있는것입니다. fail.common.msg=\uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4! 예전에는 한글로 파일을 만들고, 변환 프로그램을 이용해서 서로 변환하여 사용했었습니다. 이제는 유니코드를 바로 보고 편집할 수 있는 이클립스 플러그인들이 나와서 편리하게 사용할 수 있습니다. 이런 플러그인을 통해서 위의 파일을 보면 아래 처럼 보이고, 바로 편집할수도 있습니다. fail.common.msg=에러가 발생했습니다! 이클립스에 유니코드를 지원하는 프로퍼티 에디터 플러그인을 설치하는 방법을 알아보겠습니다. 전자정부.. 2018. 4. 20.
전자정부표준프레임워크 Spring Security 사용시 로그인한 사용자정보에 추가정보 넣기 전자정부표준프레임워크에서 스프링 시큐리티가 적용되어 있을 때 로그인한 사용자의 정보를 얻기 위해서는 다음과 같이 사용합니다. import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; import egovframework.com.cmm.LoginVO; ... // 로그인 여부 확인 Boolean isLogin = EgovUserDetailsHelper.isAuthenticated(); // 로그인한 사용자 정보 LoginVO user = null; if(isLogin) { user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); } 로그인 후 세션에 저장되어 있던 Log.. 2018. 4. 20.
전자정부표준프레임워크 Controller에 AOP 적용하기 전자정부표준프레임워크 Business 템플릿에서 Controller에 AOP를 적용해 보겠습니다. 1. 컨트롤러에 적용될 테스트 클래스입니다. package com.tistory.pentode.log; public class TestAspect { public void callFromController() { System.out.println("컨트롤러에 적용된 Aspect 입니다."); } } 2. context-aspect.xml 파일과 context-syslogaop.xml 파일에 예외 처리 및 로그를 남기기 위한 AOP가 적용되어 있습니다. 하지만, 여기서는 컨트롤러에 대한 AOP 를 추가하더라도 동작하지 않습니다. 루트 컨텍스트에서는 서비스와 DAO 객체만 로딩하고, 컨트롤러 객체는 없기 때문입.. 2018. 4. 20.