블로그   태그   위치로그   이웃로그   방명록
          
 
 
05-16 16:51
 
 
     
 
  전체 에 해당되는 글 57
2013.12.05   오라클 쿼리 
2013.12.04   전자정부프레임워크에 오라클 oracle 서버 붙이기 
2013.08.28   안드로이드 위젯이 런처 재시작이후 먹통이 될 때 Android widget is not working when restart launcher 2
2013.08.13   안드로이드 xml의 이미지뷰 한가운데 텍스트뷰 넣기 Android TextView over ImageView 
2013.08.13   안드로이드 점수에 따른 윤곽선 원 그래프 그리기 Android Circular Outline Graph 
2013.07.30   Sublime Text 3에서 파이썬 Decode error날 때 
2013.07.09   비주얼 스튜디오 2012 업데이트 3 설치할 때 에러 조치법 Microsoft Root Certificate Authority 
2013.04.10   싱글톤 패턴 Singleton Pattern 
2013.04.03   코딩 스타일 관례 (Windows) Coding Style Conventions 
2013.04.03   변수 i,j,k의 역사 The origin of variables i,j,k. 
  오라클 쿼리  +   [카테고리 없음]   |  2013. 12. 5. 16:12
모든 DB 보기
select * from v$database;

모든 인스턴스 보기
select * from v$instance;

모든 유저 보기
select * from all_users;

모든 테이블스페이스 보기
select tablespace_name from dba_tablespaces;

유저의 테이블과 컬럼보기
select tc.table_name Table_name
,tc.column_id Column_id
,lower(tc.column_name) Column_name
,lower(tc.data_type) Data_type
,nvl(tc.data_precision,tc.data_length) Length
,lower(tc.data_scale) Data_scale
,tc.nullable nullable
FROM all_tab_columns tc
,all_tables t
WHERE tc.table_name = t.table_name;


현재 유저가 가지고있는 모든 테이블 보기
select tablespace_name, table_name from user_tables;

데이터베이스의 모든 테이블 보기
select tablespace_name, table_name from dba_tables;

현재 유저가 접속 가능한 모든 테이블 보기
select tablespace_name, table_name from all_tables;


테이블 스페이스 생성하기
create tablespace LOGINTABLESPACE
DATAFILE 'C:\app\logintablespace\tablespace.dbf' SIZE 100M
DEFAULT STORAGE
(INITIAL 10K
 NEXT    10K
 MINEXTENTS 2
 MAXEXTENTS 50
 PCTINCREASE 50);

테이블 생성하기
create table login_information (
id        VARCHAR2(20)        NOT NULL,
pw        VARCHAR2(12)        NOT NULL) TABLESPACE LOGINTABLESPACE;

테이블에 컬럼 추가하기
ALTER table login_information ADD (
numb        NUMBER(10)        NOT NULL);

테이블에 row 추가
INSERT INTO login_information VALUES(
'id값', 'pw값', numb값);

테이블 내용 출력
select * from login_information;

컬럼 지우기
alter table 테이블이름 drop(컬럼이름);

모든 권한 주기
grant connect, dba, resource to deadcat;

테이블스페이스 삭제
DROP TABLESPACE 테이블스페이스이름 INCLUDING CONTENTS AND DATAFILES 



 
  
  전자정부프레임워크에 오라클 oracle 서버 붙이기  +   [카테고리 없음]   |  2013. 12. 4. 16:54

Oracle 11g + 전자정부 프레임워크 2.6


/src/main/resources/egovframework/sqlmap/rte/sql-map-config.xml
전부 주석처리하고
<sqlMap resource="egovframework/sqlmap/rte/sample/EgovSample_Sample_SQL_oracle.xml"/>
만 활성화

/src/main/resources/egovframework/spring/context-datasource.xml
전부 주석처리하고
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
    <property name="url" value="jdbc드라이버:@서버주소:포트:DB이름 예시: jdbc:oracle:thin:@localhost:1521:testdb"/>
    <property name="username" value="사용자이름"/>
    <property name="password" value="비밀번호"/>
</bean>
만 활성화


/pom.xml
repository에
<repository>
  <id>codelds</id>
  <url>https://code.lds.org/nexus/content/groups/main-repo</url>
</repository>
추가

dependency에       
<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc6</artifactId>
    <version>11.2.0.3</version>
</dependency>
추가
레포지터리를 온라인으로 부를 이유가 없을 땐 오라클 드라이버를 /src/main/webapp/WEB-INF/lib에 복사 후 로컬 리포지터리 설정


/DATABASE/db/sampledb_oracle.script 실행 (DROP문은 문법적 에러가 있으니 제거한다)



 
  
  안드로이드 위젯이 런처 재시작이후 먹통이 될 때 Android widget is not working when restart launcher  +   [카테고리 없음]   |  2013. 8. 28. 15:12

위젯은 런처 재시작이후 onUpdate로 가지 않고 onReceive만 동작하기 때문에 onClick부분을 전부 update쪽에 몰아넣었다면 런처 재시작이후 위젯이 먹통이 된다.


따라서 별도의 메서드로 onClick부분을 구현하고 onReceive부분에서 호출하면 된다.


onReceive부분에서도 intent.getAction(); 으로 액션을 받을 때 Log.d로 액션을 찍어보면 액션 값이 android.appwidget.action.APPWIDGET_UPDATE가 아니라 android.appwidget.action.APPWIDGET_UPDATE_OPTIONS로 오기 때문에 이부분에 대한 if문을 마련해 두는 것이 좋다.


 
  
  안드로이드 xml의 이미지뷰 한가운데 텍스트뷰 넣기 Android TextView over ImageView  +   [카테고리 없음]   |  2013. 8. 13. 00:41



<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relativelayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" > //랠러티브 레이아웃 생성

    <ImageView
        android:id="@+id/myImageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/myImageSouce" /> //이미지뷰 생성

    <TextView
        android:id="@+id/myImageViewText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@id/myImageView"
        android:layout_alignTop="@id/myImageView"
        android:layout_alignRight="@id/myImageView"
        android:layout_alignBottom="@id/myImageView"
        android:layout_margin="1dp"
        android:gravity="center"
        android:text="Hello"
        android:textColor="#000000" /> //정렬을 상하좌우 이미지뷰에 맞춘다.

</RelativeLayout>


해당 소스는 오직 랠러티브 레이아웃에서만 된다.

출처 : http://stackoverflow.com/questions/5242951/android-text-over-image




 
  
  안드로이드 점수에 따른 윤곽선 원 그래프 그리기 Android Circular Outline Graph  +   [Java]   |  2013. 8. 13. 00:31


onDraw 메소드에서 위의 그림과 같이 점수에 따른 원의 외곽선 그래프를 그려보자.




    @Override

    protected void onDraw(Canvas canvas){
        final float ZERO = -90f; //drawAcr를 이용하면 오른쪽이 0도가 된다. 일반적으로 가장 위를 0으로 보기 때문에 - 90도를 해준다.
        final float DOTONE = 72f; //이 소스에서는 5점이 만점이기 때문에 360/5를 해서 1점당 72도를 준다.
        float score = 3.8f; //점수. 하드코딩으로 넣었지만 나중에 변경 예정
       
        float degree = score * DOTONE;
       
        Paint p = new Paint(); //페인트 객체 p 생성
        p.setAntiAlias(true); //윤곽에 안티알리아싱을 처리해서 부드럽게 할건지 설정
        p.setStyle(Paint.Style.STROKE); //원의 윤곽선만 그리는 페인트 스타일
        p.setStrokeWidth(5); //윤곽선의 두께
        p.setAlpha(0x00); //배경 원의 투명도. 이 부분을 00으로 투명하게 처리하지 않으면 배경 원과 점수의 원이 다 보인다.

        RectF rectF = new RectF(100, 100, 400, 400); //사각형 객체 rectF를 생성하며 점수 원의 크기를 사각형으로 보고 (좌, 상, 우, 하) 좌표 설정. 좌상이 기준이 된다.

        if( a < 2 ) {
            p.setColor(Color.RED);
        }
        else if( a < 3 ) {
            p.setColor(Color.YELLOW);
        }
        else if( a < 4 ) {
            p.setColor(Color.BLUE);
        }
        else if( a <= 5 ) {
            p.setColor(Color.GREEN);
        } //점수에 맞춰 점수 원의 색을 변경한다.
       
        canvas.drawArc (rectF, ZERO, degree, false, p);  //점수 원(호)를 그리는 메소드. (정사각형 객체, 시작각도, 끝각도, 시작각도와 끝 각도에서의 중앙으로 선을 그을것이냐, 사용할 페인트 객체). 각도는 시계방향으로 증가한다.


완성하면 다음과 같은 모양이 된다.





 
  
  Sublime Text 3에서 파이썬 Decode error날 때  +   [카테고리 없음]   |  2013. 7. 30. 11:48

메뉴의 Tool - Build System - New Build System을 선택해서 다음과같이 입력하고 원하는 이름으로 저장한다.


"cmd": ["드라이브문자:\\파이썬경로\\python", "-u", "$file"],
"file_regex": "^[ ]File \"(...*?)\", line ([0-9])",
"selector": "source.python",
"encoding": "원하는 인코딩"
}


이후 빌드에서 만든 빌드 시스템을 선택하고 Ctrl + B로 빌드하면 에러없이 하단에 콘솔이 뜨게 된다.


 
  
  비주얼 스튜디오 2012 업데이트 3 설치할 때 에러 조치법 Microsoft Root Certificate Authority  +   [Windows]   |  2013. 7. 9. 12:36

비주얼 스튜디오 2013 프리뷰에 맞춰 비주얼 스튜디오 2012 업데이트 3이 발표되었다.


그런데 이 업데이트를 설치하려고 할 때 다음과 같은 에러가 날 경우가 있다.


Microsoft Root Certificate Authority 2010 or 2011 is missing and can cause installation failures for some signed packages.  For more info, see http://support.microsoft.com/kb/931125.


이 경우 다음 사이트 혹은 첨부파일


rootsupd.exe


에서 KB931125 업데이트를 설치해주면 된다.


http://www.microsoft.com/en-in/download/details.aspx?id=38918


분명 윈도 XP용 업데이트지만 윈도7 64비트에서도 동작한다.



 
  
  싱글톤 패턴 Singleton Pattern  +   [Java]   |  2013. 4. 10. 10:51

소프트웨어 공학에서 싱글톤 패턴이란 하나의 클래스가 오직 하나의 오브젝트만 생성하고, 이것을 전역적으로 접근할 수 있게 하는 디자인 패턴이다. 이는 전체 프로그램에서 오브젝트가 오직 하나만 생성되어야 하는 경우에 사용한다.


이전부터 개발자들에게 간간히 쓰여졌는데, 폭발적으로 알려지게 된 계기는 이른바 GoF, Gang of Four라고 알려진 책 Design Patterns: Elements of Reusable Object-Oriented Software을 통해 사람들에게 널리 알려졌기 때문이다.


자바에선 일반적으로 두가지 방법이 사용된다.



게으른 초기화 Lazy initialization


public class SingletonDemo { private static SingletonDemo instance = null; // =null은 생략해도 무관. 싱글톤 데모 클래스에 대해 레퍼런스 변수만 선언 private SingletonDemo() {} //private 생성자를 만들어서 다른곳에서 객체를 생성하지 못하게 한다. public static SingletonDemo getInstance() { //public getInstance 메소드로 다른곳에서 접근 가능하게 만든다. if (instance == null) {                     instance = new SingletonDemo (); 싱글톤 객체 생성 } return instance; } }




이경우 멀티쓰레드 프로그램에서 두 개 이상의 쓰레드가 같은 클래스를 참조할 때 문제가 되기 때문에 Double Checked Locking을 사용하여 인스턴스가 생성되었는지 확인 후 생성되어있지 않을 때 동기화한다.


public class SingletonDemo {
        private static volatile SingletonDemo instance = null;
 
        private SingletonDemo() {       }
 
        public static SingletonDemo getInstance() {
                if (instance == null) {
                        synchronized (SingletonDemo .class){
                                if (instance == null) {
                                        instance = new SingletonDemo ();
                                }
                      }
                }
                return instance;
        }
}






부지런한 초기화 Eager initialization

번역은 임의로 하였으며 이것이 표준적으로 사용되는 말은 아니다

부지런한 초기화는 프로그램이 항상 인스턴스가 필요할 때나 인스턴스를 생성하는 비용이나 시간이 크지 않을 때 사용한다.



public class Singleton { private static final Singleton instance = new Singleton(); //레퍼런스 변수 선언과 동시에 인스턴스 생성 private Singleton() {} //생성자 지정으로 다른 클래스에서 객체 생성을 막음 public static Singleton getInstance() { //getInstance로 전역적인 접촉점 제공 return instance; } }



그 외 Static block initialization, The solution of Bill pugh, Enum way등이 있지만 다루지 않는다.





 
  
  코딩 스타일 관례 (Windows) Coding Style Conventions  +   [Java]   |  2013. 4. 3. 01:52

MSDN 번역 http://msdn.microsoft.com/en-us/library/aa378932%28VS.85%29.aspx


코딩 스타일 관례는 명확성과 일관성을 위해 사용되는 샘플 목록들이다. "헝가리안" 표기법이 사용된다. 이러한 관례는 Win32 프로그래밍에 일반적으로 사용되었다. 이 방법은 변수의 타입을 고려해 변수의 이름을 정할 때 사용되는 접두사를 포함한다.


다음 표는 일반적으로 사용되는 접두사(prefix)들이다.



 접두사

설명

 a

배열 array

 b

 BOOL (int)

 c

 Char

 cb

 Count of bytes

 cr

컬러 참조 값 Color reference value

 cx

 Count of x (short)

 dw

 DWORD (unsigned long)

 f

 Flags (일반적인 다중 비트 값)

 fn

 함수 Function

 g_

 전역 Global

 h

 핸들 Handle

 i

 정수형 integer

 l

 Long

 lp

 Long pointer

 m_

 클래스의 데이터 멤버 Data member of a class

 n

 Short int

 p

 Pointer

 s

 String

 sz

 Zero terminated String

 tm

 Text metric

 u

 Unsigned int

ul

 Unsigned long (ULONG)

 w

 WORD (unsigned short)

 x,y

 x, y 좌표 (short)


이러한 것들은 종종 혼합 사용되곤 하는데, 그 예를 들면 다음과 같다.




혼합된 접두사

설명

 pszMyString

 스트링을 지시하는 포인터

 m_pszMyString

 클래스의 데이터 멤버인 스트링을 지시하는 포인터



작성중///









 
  
  변수 i,j,k의 역사 The origin of variables i,j,k.  +   [Java]   |  2013. 4. 3. 01:20

흔히 반복문에서 임시 변수로 많이 사용하는 i,j,k는 포트란에서 비롯되었다.


수학에서 합 공식(Σ)이나 기타 고등수학에서 변수를 설명할 때 i,j,k를 사용하였고, 포트란을 설계한 사람들은 수학과 같은 방법을 사용하여 언어를 디자인하였다.


포트란에서 'I'부터 'N'까지로 시작하는 단어는 기본적으로 정수형이 되었고, 그 외의 단어로 변수를 만들면 기본값으로 실수형이었다. 사람들은 이러한 방법을 잊지 못했고 이로인해 다음과 같은 농담이 생겨났다.


God is real unless declared integer

신은 실수다(실제한다). 정수형으로 선언되기 전까지만


사족을 달자면 God로 변수를 선언하면 G로 시작하는 변수기 때문에 실수형이었고, 이를 정수형으로 쓰고싶으면 따로 정수형으로 선언해 주어야 했다.




 
  
 
 
<<이전   | 1 | 2 | 3 | 4 | ··· | 6 |   다음>>
 

데드캣's Blog is powered by Daum & tistory