잡탕1 - IT2023. 11. 22. 15:43

VSCode 설치 : https://code.visualstudio.com/Download

 - VScode extensions : Flutter 설치

 

 

 

Flutter SDK 설치 : https://flutter-ko.dev/get-started/install/windows
- flutter\bin path 등록

 

 

 

Android Studio 설치 : https://developer.android.com/studio?hl=ko
- 기본 commponent 설치

- android SDK 에 Android SDK Command-line Tools 설치

 

 

 

Visual Studio 커뮤니티 버전 설치 : https://visualstudio.microsoft.com/ko/downloads/

 - Desktop development with C++ 만 설치

 - cmd : flutter -v doctor 실행

 

 

git 설치 : https://git-scm.com/download/win

Posted by pearl짓거리전문
잡탕1 - IT2017. 5. 21. 21:58

- 차례

1. python 설치

2. PYQT5 설치

3. pywin32 설치

4. GIT (github) 설치

5. pyinstaller 설치

6. pycharm 설치

7. 기타 잡설


선잡설

파이썬으로 윈도우 프로그래밍? 듣기만해도 뭔가 미쳐보이는 조합이다. 개인적으로 파이썬은 빅데이터, 클라우드, 네트워킹, 복잡한 수식 계산 등의 산술관련 프로그램이나 시스템 프로그램에 어울린다고 생각한다.

하지만 파이썬을 공부하는 입장이었고 때 마침(?) 윈도우 프로그램 하나를 짜야하는 상황이었다. 그래서 파이썬에서 윈도우 프로그램이 가능한가를 찾아보다보니 나름 많고 다양한 지원이 되어 있어 그 무모한(?) 작업을 시작하게 된다.




본잡설

1. python 설치

python 은 크게 2.7 이전 버전과 3.0 이후 버전으로 나눈다. 그 차이에 대해서는 수많은 글들이 있고 파이썬 관련 모든 책에 다 설명하고 있으므로 생략한다. 이제 파이썬을 시작하다면 3.0 이후 버전을 추천한다. (최신 버전을 설치하면 된다)

https://www.python.org/downloads/ 에서 윈도우용 최신버전을 다운하여 설치하면 되지만 주의할 점이 있다. 개발환경 시스템이 64비트라면 64비트용 파이썬을 설치하는게 좋겠지만 만들어진 윈도우 프로그램이 32비트 윈도우에서도 돌아가야 한다면 32비트를 설치해야 한다(만약 개발환경은 64비트인데 32비트 컴퓨터에도 돌아가는 프로그램을 만들어야된다고 하면 복잡해진다. 이에 관련해서 차후에 설명하도록 하겠다). 마음 편하게 개발환경 시스템에 맞는걸로 설치하자.

이외에도 PyPy, CPython 등 튜닝 인터프리터를 설치해도 무관하다. 설치 옵션은 크게 건들게 없지만 all user 로 잡아줘야 program Files 에 설치된다.



2. PYQT5 설치

PYQT 는 파이썬용 GUI 패키지이다. QT는 GUI 어플리케이션 툴킷으로 C++ 등도 지원한다(고백컨데 PYQT5 문서는 C++ 관련만 있는 듯 하다. 찾기가 어렵다 -_-;;). 이름에도 알 수 있듯이 PYQT 는 파이썬용 QT 라고 보면 된다. 파이썬은 pip 라는 패키지 설치 패키지가 있다. PYQT5 도 물론 pip 로  설치 가능하다. 하지만 차후 pyinstaller로 윈도우용 바이너리 파일을 만들고 싶다면 PYQT gpl 을 설치해주는게 좋다. 윈도우 시스템에 각종 DLL도 자동으로 설치되기 때문에 파이썬 패키지에만 설치되는 PYQT 보다는 유익하다.

https://sourceforge.net/projects/pyqt/files/PyQt5/ 에서 설치한 파이썬 버전과 개발환경 시스템에 맞는 설치파일을 찾아서 설치하면 된다. 특정 파이썬 버전에는 바이너리가 아닌 파일도 지원하므로 바이너리가 있는 버전의 파이썬을 설치하는것도 좋은 방법이다(2017년 5월 21일 현재. 최신 바이너리는 python3.5 를 지원한다).

TK 등 파이썬 GUI 프로그램을 위한 패키지는 많다. 하지만 PYQT 를 설치함으로써 QT Designer 를 사용할 수 있다. QT Designer는 막강하다. 흡사 VS 를 보는 듯 하다.



3. pywin32 설치

pywin32 는 python for windows Extensions로 파이썬 윈도우 프로그램을 위한 환경을 지원한다. 코딩할 때는 필요없지만 pyinstaller에서 바이너리 파일을 만들다보면 반드시 필요하게 된다.

https://sourceforge.net/projects/pywin32/files/pywin32/Build%20221/ 에서 파이썬 버전, 시스템 환경에 맞는걸 다운받아 설치한다.



4. GIT 설치

GIT는 버전관리 프로그램으로 SVN과 비슷하다고 생각하면 된다. 버전관리 프로그램도 과거에는 CVS나 SVN을 사용했다면 지금은 GIT가 대세다. 버전관리나 팀프로젝트용 소스관리가 필요 없다면 GIT 설치는 할 필요 없다. 하지만 버전관리는 상당히 중요하다. 만약 해야 한다면 개발환경을 만들때 처음부터 설치해서 사용하길 권장한다.

GIT는 https://git-scm.com/  에서 다운받아 설치하면 된다. GIT는 command창에서 명령어로 컨트롤하는데 pycharm을 사용할 것이므로 구지 공부 안해도 되고 명령어를 외울 필요도 없다. 복잡하게 하지 말자. 물론 GIT GUI 도 사용하지 않을 것이다.

근래에 코딩을 하면서 검색을 해봤다면 github를 알것이다. github는 쉽게 말하면 GIT를 위한 온라인 소스코드 저장소라고 생각하면 되다. GIT 같은 버전관리(or 팀프로젝트 소스관리) 프로그램은 메인 저장소가 필요하다. GIT 바이너리를 설치하면 내 PC가 저장소가 되는데 그 저장소를 온라인으로 설정할 수 있게 지원하는게 github 이다. github 는 사이트에 가입하면 된다. https://github.com/



5. pyinstaller 설치

pyinstaller는 파이썬 프로그램을 윈도우 바이너리로 바꿔주는 패키지이다. 파이썬을 정상적으로 설치했다면

:/>pip install pyinstaller

라고 하면 설치된다. 패키지 설치까지 개발환경 설치에 언급하는 이유는 윈도우 프로그램을 만들기 위해서 바이너리 변환은 중요하기 때문이다.



6. pycharm 설치

pycharm 은 IDE다. 파이썬을 위한 여러가지 IDE가 있지만 개인적으론 pycharm 이 좋은거 같다.

https://www.jetbrains.com/pycharm/ 에서 시스템에 맞는걸 다운로드 설치한다.





후잡설

pycharm 에서 소스관리로 github 사용법에 관한건 추후에 올리도록 하겠다

Posted by pearl짓거리전문
잡탕1 - IT2014. 3. 27. 23:27
 B. n개의 원소를 가지는 1차원 벡터를 i만큼 왼쪽으로 회전시켜라. 예를 들어 n=8, i=3 일 경우 abcdefgh 라는 벡터를 회전시키면 defghabc 가 된다. 간단한 코드로는 n개의 원소를 가지는 임시 벡터를 사용하여 n번의 단계를 통해 해결할 수 있다. 여분의 메모리가 수십 바이트 밖에 안되는 상황에서도 n에 비례하는 시간 내에 벡터를 회전시킬 수 있겠는가?

B는 n개의 원소를 가지는 벡터 x를 i만큼 왼쪽으로 회전 시키는 문제이다. 메모리의 한계를 생각할 때 가능한 방법으로 ①저글링 조작(juggling action)을 사용한 회전과 ②반전을 이용한 회전이 소개되어 있으며 이는 연습문제3 에서 코드로 구현한다

연습문제3 (1) - 저글링 조작(단계별 순차 이동)
/* 생각하는 프로그래밍 칼럼2 B문제1
시작일 : 2009-07-30
완료일 : 2009-07-30

1. 저글링 알고리즘을 이용하여 B문제 풀이
2. vector 는 문자 배열이라고 생각한다
3. 우선 총 8자리에서 3자리 옮기기를 구현한다(n=8, i=3)
4. 사용자 입력 부분은 구현하지 않았다
*/

public class JugglingShift {
public static void main(String[] args) {

String[] vector = {"a","b","c","d","e","f","g","h"};
int i = 3;


int blockCount = (int)Math.ceil((double)vector.length / i); // 블럭 단위 갯수 구하기
String[] block = new String[blockCount]; // 저장할 공간
String temp; // 임시 저장 공간

// 8개 원소를 3블럭으로 분배
for ( int j=0 ; j<block.length ; j++ ) {
for ( int l=0 ; l<vector.length ; l++ ) {

if ( (j*i+l%i) == l ) {
if ( l%i == 0 ) {
block[j] = new String(vector[l]);
} else {
block[j] += vector[l];
}
}
}
}
System.out.println( block[0]+" "+block[1]+" "+block[2] );



// 블럭 저글링
temp = block[0]; // 이동할 블럭을 temp 로
block[0] = block[1]; // 하나씩 당겨 넣는다
block[1] = block[2];
block[2] = temp; // 마지막에 빈 곳에 temp 를

System.out.println( block[0]+" "+block[1]+" "+block[2] );

}
}



연습문제3 (2) - 반전을 이용한 회전
반전 코드를 이용한 회전은 책에도 나와 있지만 '배열의 특정 부분의 원소들을 반전시키는 함수' 가 존재 할 때 가능하다. Java 는 StringBuffer 에 reverse() 메서드를 제공하지만, 간단하게 배열을 역으로 대입하는 방식으로 구현하였다. 물론 배열의 부분 반전도 구현하였다

/* 생각하는 프로그래밍 칼럼2 B문제2
시작일 : 2009-08-02
완료일 : 2009-08-03

1. 반전을 이용한 B문제 풀이
2. vector 는 문자라고 생각한다
3. 우선 총 8자리에서 3자리 옮기기를 구현한다(n=8, i=3)
4. 사용자 입력 부분은 구현하지 않는다
5. reverse() 메서드를 구현한다

*/

public class ReverseShift {
public static void main(String[] args) {

String vector = "abcdefgh";
int i = 3;

System.out.println(vector);

vector = reverse(vector, 0, i-1); // 처음부터 i까지 반전시킨다
System.out.println(vector);

vector = reverse(vector, i, vector.length()-1); // i부터 끝까지 반전시킨다
System.out.println(vector);

vector = reverse(vector, 0, vector.length()-1); // 전체를 반전 시킨다
System.out.println(vector);
}

// vector 문자열을 i 만큼 회전
public static String reverse(String vector, int start, int end) {

String ReverseVector = new String();

ReverseVector += vector.substring(0,start); // 반전하지 않는 앞부분 붙이기

// StringBuffer의 reverse() 를 이용해도 되지만
// 단순하게 배열을 역으로 넣어서 구현하였다
for ( int i=end ; i>=start ; i-- ) {
ReverseVector += String.valueOf(vector.charAt(i));
}

ReverseVector += vector.substring(end+1,vector.length()); // 반전하지 않는 뒷부분 붙이기

return ReverseVector;

}
}


Posted by pearl짓거리전문
잡탕1 - IT2014. 3. 27. 23:27
intro.
프로그래밍은 일종의 창작이다. 주어진 언어의 Spec 을 바탕으로 하고 사용자가 원하는 프로그램을 만들어 내는 것이다. 그런 프로그래밍에 가장 필요한건 무엇일까? 물론 언어의 이해정도가 가장 크겠지만 그런 기본기를 갖춘 프로급 위치에서는 프로그램 설계에 구현되는 논리, 방법, 구성 등이 더욱 중요한 지표가 된다
그 동안 여러 권의 자바 관련 책들을 보아 왔지만 자바 언어의 기초에 관련된 책들만 본 것 같다. 중급으로 가는길.. 그 방법은 앞서 언급한 사고력에 바탕을 둔 창작성이지 않을까?
그런 중 '생각하는 프로그래밍' 이란 책을 알게되었고 프로그래밍에 있어서 기초에서 벗어나는 통찰과 창조의 영역을 공부하고 싶었다. 사실상 필연이라고 봐도 될 듯 하다. 그런 지식에 대한 갈망이 이 책을 찾게 되는 이유일지도 모르겠다




column1은 데이터 정렬에 관한 문제이다
문제는 다음과 같다
입력 : 최대 n개의 양의 정수를 포함하는 파일로, 각 숫자는 n보다 작고, n=10^7 이다
어떤 숫자가 두 번 이상 나오는 것은 치명적 에러이다
정수 이외에 관련된 데이터는 없다

출력 : 입력된 정수를 오름차순으로 정렬한 리스트

제약조건 : 메모리를 많아야 대략 1MB 정도 사용할 수 있고, 디스크 공간은 충분하다
실행시간은 최대 몇 분 정도가 될 수 있고, 10초 정도 안에 작업을 끝낼 수 있으면 충분하다

일반적인 데이터 정렬로는 해당 숫자의 크기(bit)가 크고 처리해야할 데이터 수가 많기 때문에 주어진 메모리로는 40번 작업을 해서 정렬해야 한다. 하지만 책에 소개되어진 bitmap 구조를 이용하여 원하는 정렬을 구현한다. 비트맵 데이터 구조는 원소가 중복되지 않고 원소와 관련된 다른 데이터도 없는 촘촘한 유한 집합 이라는 특성을 이용하여 정렬한 것이다

1. 7자리의 중복되지 않는 양의 정수는 999,999 보다 크고 10,000,000 보다 작은 숫자이다
1,000,000 ~ 9,999,999 까지의 숫자 범위가 주어진 양의 정수의 범위가 된다

2. 10,000,000 자리의 2진수를 만든다고 생각한다면 그 자리에 대한 index 값을 이용하여 해당 자리에 값의 유무만 판단하게 되면(중복되지 않으므로) 일정 범위에서 값의 유무를 판단하고 정렬되어진(숫자의 index 이므로) 2진수를 구할 수 있다. 값이 있는 인덱스를 순서대로 취하면 그 인덱스가 원하는 값이 된다

3. 구현한 Java 코드
- 7자리 중복되지 않는 양의 정수 1,000,000개 만들기 ( Number.java )
// 7자리 양의 정수 랜덤 생성
import java.io.*;
import java.util.*; 

public class Number { 
    public static void main(String[] args) { 

        int k = 1000000; // 만들 숫자 갯수 
        int n = 7; // 몇자리 세팅 

        BitSet bitSet = new BitSet(k); // 정렬을 위한 비트셋 
        bitSet.clear(); // 비트셋 초기화 false 세팅 

        int kn = (int)((Math.pow(10,n)-1)-(Math.pow(10,n-1)-1)); 
        // 자리수에 맞는 범위값, Math.pow : 제곱 구하기 

        try { 
            File file = new File("randomNumber.txt"); 
            BufferedWriter writer = new BufferedWriter(new FileWriter(file)); 

            int l = 0; 
            while ( l < k ) { 
                int m = (int)(Math.random()*kn+(Math.pow(10,n-1))); 
                if ( !bitSet.get(m) ) { 
                    bitSet.set( m, true ); 
                    writer.write(Integer.toString(m)); 
                    writer.newLine(); 
                    l++; 
                } 
            } 

            writer.close(); 
        } catch (IOException ex) { ex.printStackTrace(); } 
    } 
}
randomNumber.txt 라는 텍스트 파일로 7자리 양의 정수 1,000,000 개가 출력된다


- BitSet 클래스를 이용한 1,000,000개 데이터 정렬 ( BitmapSort.java )
import java.io.*;
import java.util.*;

public class BitmapSort {
    public static void main(String[] args) {

        int[] num = new int[1000000]; // 데이터를 넣을 배열 생성

        BitSet bitSet = new BitSet(10000000); // 정렬을 위한 비트셋
        bitSet.clear(); // 비트셋 초기화 false 세팅

        try {
        File myFile = new File("randomNumber.txt");
        BufferedReader reader = new BufferedReader(new FileReader(myFile));
        // 데이터 파일 읽기

        int j=0;
        String line = null;

        while ( (line = reader.readLine()) != null ) {
            StringTokenizer tokenizer = new StringTokenizer(line);
            num[j] = Integer.parseInt (tokenizer.nextToken() );

            bitSet.set(num[j], true);
            // num[j] 의 값이 bitSet 의 인덱스로

            j++;
        }
        reader.close();


        File file = new File("sortedNumber.txt");
        BufferedWriter writer = new BufferedWriter(new FileWriter(file));
        // 파일 출력

        for ( int k=0 ; k<bitSet.length() ; k++ ) {
            if ( bitSet.get(k) ) { // bitSet 값이 true 일때만 파일에 쓰기
                writer.write(Integer.toString(k));
            writer.newLine();
            }
        }
        writer.close();
        } catch (IOException ex) { ex.printStackTrace(); }
    }
}
데이터 파일인 randomNumber.txt 파일을 읽고, 정렬한 데이터를 sortedNumber.txt 로 출력한다


Posted by pearl짓거리전문
잡탕1 - IT2012. 9. 16. 18:03

선잡설

만들고자 하는것이 갤러리 홈페이지다 보니 이미지의 썸네일 이미지도 쿼리티가 무척이나 중요하다.

php로 구현된것은 제로보드등 여러곳에서 볼 수 있지만 java 로 된건 별로 보지 못했다.





본잡설

1. JPEGImageEncoder 를 이용한 리사이즈

public static void createThumbnail(String soruce, String target, int targetW) throws Exception 

    Image imgSource = new ImageIcon(soruce).getImage(); 


    int oldW = imgSource.getWidth(null); 

    int oldH = imgSource.getHeight(null); 


    int newW = targetW; 

    int newH = (targetW * oldH) / oldW; 


    //Image imgTarget = imgSource.getScaledInstance(newW, newH, Image.SCALE_AREA_AVERAGING); 

Image imgTarget = imgSource.getScaledInstance(newW, newH, Image.SCALE_SMOOTH); 

    

    int pixels[] = new int[newW * newH]; 


    PixelGrabber pg = new PixelGrabber(imgTarget, 0, 0, newW, newH, pixels, 0, newW); 

    pg.grabPixels(); 


    BufferedImage bi = new BufferedImage(newW, newH, BufferedImage.TYPE_INT_RGB); 

    bi.setRGB(0, 0, newW, newH, pixels, 0, newW); 


    FileOutputStream fos = new FileOutputStream(target); 


    JPEGImageEncoder jpeg = JPEGCodec.createJPEGEncoder(fos); 


    JPEGEncodeParam jep = jpeg.getDefaultJPEGEncodeParam(bi); 

    jep.setQuality(1, true); 


    jpeg.encode(bi, jep); 


    fos.close(); 

}

(출처:http://www.ibm.com/developerworks/kr/library/j-jspdwj/index.html#N1015A 

        http://blog.naver.com/PostView.nhn?blogId=j79sw&logNo=110037089984&redirect=Dlog&widgetTypeCall=true )


음.. 나름 깔끔하다. JAI 로 한방 리사이즈보단 이미지가 괜찮다.

중간에 주석이 있는 부분 getScaledInstance() 메소드의 마지막 파라메터로 쿼리티를 조정할 수 있다.

다 해본결과 SCALE_SMOOTH 가 가장 좋다.

리사이즈 본이 원래 그렇지만 섬네일 이미지가 약간 블러를 먹은 듯 선예도가 떨어진다.




후잡설

방법들은 알게되는대로 계속 올리겠다.

Posted by pearl짓거리전문
잡탕1 - IT2012. 9. 15. 18:07

선잡설

어느덧 JSP 공부하면서 DB설치 순서가 왔다.

흠. 뭐 한것도 없는거 같은데 대충 하다보니 그런가 보다.

보고 있는 책에는 Oracle 로 되어 있는데 실제 홈페이지를 만들거라 MySQL로 깔았다.

쿼리 날리고 등록되는거 보면서 흐믓해야 하는 시점이지만

DB 상에 한글이 깨졌다. 흠 그것이군! 구글링을 하였으나 /etc/my.cnf 파일에 뭘 추가해 주란다.

하지만 /etc/my.cnf 파일이 없다.



본잡설

MySQL5.5.27 은 물론 바이너리로 깔았다.

정확하게는 mysql-5.5.27-osx10.6-x86_64.dmg 가 되겠다.

어떻게 하는지 본론만 확실히 말하면

/etc/my.cnf 파일을 하나 만들어서


[mysqld]

character_set_server=utf8

collation_server=utf8_general_ci

init_connect=set collation_connection=utf8_general_ci

init_connect=set names utf8

character-set-server=utf8

character-set-client-handshake = TRUE


요거만 덜렁 써주면 되겠다.

default 로 시작하는 값은 안써도 된다.

[mysql] 이니, [client] 에도 쓸 필요 없다.


MySQL 을 다시시작 하자!

문자 관련이 모두 utf8 이나 utf8_general_ci 로 바뀌어 있을 것이다.

이제 table 을 만들때도 character set 은 utf8 로 해준다.



후잡설

MySQL설치

파일 만들기

환경설정 확인

MySQL 재시작

등 잡다한건 쓰지 않는다.

리플로 달면 쓸지도;;;

Posted by pearl짓거리전문
잡탕1 - IT2012. 9. 1. 09:21

선잡설

오랜만에 쌓여 있는 JSP 책들을 보며 다시 공부해보고 싶은 마음이 들었다

절대 책산게 아까워서 그런게 아니다. 흠.

Java 감도 슬슬 없어지는 듯하고, 홈페이지도 개편할 때가 된 듯 하다





본잡설

내 PC에 설치된 버전들

JDK 1.6.0_32 (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Resin 4.0.30 (http://www.caucho.com/download/)

Eclipse Java EE IDE for Web Developers (JUNO) (http://www.eclipse.org/downloads/)


- 현 시점에서 Java 버전 이외에는 최신버전들이며, Resin 은 pro 버전이 아니다

- 각 링크는 해당 프로그램 다운로드 페이지므로 알아서 다운로드 하기 바란다

- Resin 은 zip 버전 받으면 된다



**

이 세팅은 JSP 개발자용이며 WAS 서버라든가 호스팅에는 적합하지 않다

(그럴려면 Resin 세부설정이 필요하다)

eclipse 에서 코딩하고 브라우저로 확인하는 정도 세팅이라 보면 되겠다



**

왜 Resin인가?

그냥 별다른 이유 없다. 모든 JSP 책에 tomcat 으로 되어 있는게 꼴뵈기 싫어서?

WAS 퍼포먼스에서 보면 개발자 PC의 성능이 더 좌우될거고 웹서버를 돌리지 않는 이상

크게 차이가 없을 듯 하다

마이너 지향인 필자의 성향이 Resin을 선택한 이유다



1. 환경설정

- Java 는 JAVA_HOME 시스템변수 잡고 path 에 bin 등록하고 CLASS_PATH 잡는다

(이 세팅은 너무도 많으니 알아서 하시길)

- Resin 은 RESIN_HOME 으로 설치 경로를 시스템 변수로 잡아준다


2. Eclipse 에서 서버 세팅



Window - Preferences - Server - Runtime Environments 에 Resin 등록된 모습


- 스샷처럼 물론 Resin 이 등록되어 있지 않다. 아무것도 없다 Add 를 누르자

New Server 선택창에 Resin 은 없다. 가장 많이 쓰는 Tomcat 은 버전별로 있고 다른 서버들도 보일 것이다

하지만 Resin 은 따로 등록해야 한다.

오른쪽 위에 있는 'Download additional server adapters' 를 누른다

Install new Extension 에 목록이 주르륵 나온다

Resin 은 하나 있으니 선택하여 설치하면 된다

그러면 Eclipse 재실행 해야 완료 된다고 나올것이다. 다시시작 하자.



- 재시작 후, 다시 Window - Preferences - Server - Runtime Environments 에 가서 Add 를 누른다

가장 마지막에 Resin 이 있을 것이고 선택하여 등록한다



특별한 세팅은 할게 없고 설치경로 맞춰주면 된다

JRE는 default 이길래 설치된 버전으로 골라주라고 하던데 그냥해도 무방할 듯 하다



- 이제 Project Exploler 에 Servers 가 등록되고 펼쳐보면 Resin 이 있을 것이다

eclipse 화면 하단 Servers 에도 Resin이 등록되어 있을 것이다


- JSP 든 Servlet 이든 하나 만들어서 테스트 해보자



프로잭트 만들기 할때, Target runtime 에 Resin 4.0 으로 되어있으면 된다





후잡설

본래 이런글은 스샷도 없이 대충 쓰지만 이번은 참 정성들여(?) 썼다

이 설정은 windows 에서 했지만 MAC 에서도 사용하고 있으므로 그대로 참고하면 될 듯 하다

기타 틀린점이나 궁금한건 리플로 남겨주시면 시간 날때 피드백 한다





Posted by pearl짓거리전문
잡탕1 - IT2012. 3. 4. 13:01

선잡설

MS 오피스 서비스팩 적용 시키는 일반적인 방법은 설치 파일에 서비스팩 파일을 적용하여
서비스팩이 포함되어 있게 설치하는 것이었다
그러나 2007 부터는 그렇게 서비스팩을 적용하는건 안된다고 한다(안해봤음)
 

본잡설

그럼 MS Office 2007 부터 서비스팩 적용시키기를 알아보자
1. 서비스팩 파일 구하기
MS Office 2007 sp3 는 

http://www.microsoft.com/downloads/ko-kr/details.aspx?FamilyID=0e40bbe7-1422-40ea-912d-2a29d709f93f 

 

2. 다운로드한 office2007sp3-kb2526086-fullfile-ko-kr.exe 압축 풀기
MS 의 메뉴얼은 

http://support.microsoft.com/kb/912203

cmd>office2007sp3-kb2526086-fullfile-ko-kr.exe  /extract:(압축 풀 경로)

3. MS Office 2007 의 설치 파일에 압축 푼 sp 파일 적용
설치 폴더 중에 보면 updates 라고 있다 거기다 2번에서 푼 파일들을 넣어주면 된다
2번의 경로를 updates 로 잡아주면 이 과정은 없어도 되겠다

후잡설

2번의 업데이트 파일 압축 풀기는 sp 만이 아니라 MS 의 모든 업데이트 파일들에 적용 될 수 있다
그렇게 여러가지 파일들을 풀고 묶어서 개인적인 업데이트 파일을 만들기도 하고
인터넷이 안되는 환경인 윈도우 시스템에 업데이트 방법으로 씌이기도 한다 

Posted by pearl짓거리전문
잡탕1 - IT2009. 6. 12. 22:18
int a[] = {3,4,1,6,2,5,7};
n = a.length;

for ( int i=0 ; i<n-1 ; i++ ) {
    for ( int j=0 ; j<n-1 ; j++ ) {
        if ( a[j] > a[j+1] ) {
            int temp = a[j+1];
            a[j+1] = a[j];
            a[j] = temp;
        }
     }
}

Posted by pearl짓거리전문
잡탕1 - IT2009. 6. 2. 21:04
if ( (0==(year%4) && 0 != (year%100)) || 0==year%400 )

A. 4의 배수를 구한다
B. 100의 배수는 윤년에서 제외시킨다
C. 100의 배수에서 제외된 연도 중 400의 배수를 윤년으로 한다

A-B+C
=> ( A && !B ) || C
Posted by pearl짓거리전문