윈도우 계정인 Administrator나 개인 계정에 비밀번호 분실시 아래와 같이 조치하면 해결할수 있습니다.

1) C:\Windows\System32\config안에 SAM파일에 계정 정보를 기록하고 있습니다.하지만 윈도우 계정이 시작하면 파일을 바로 사용하고 이미 사용중이라고 하여 열리지 않습니다.

2)  ntpwed03.zip 파일을 다운 받고 USB나 C:\ 안에 찾기 쉬운곳에 위치해 놓습니다.

3) 윈도우 계정이 로그인 하지 않게 하기 위해서 윈도우 설치 CD로 부팅하면 설치하는 화면이 나옵니다. 거기서 Shift+F10키를 이용하여 도스창으로 이동하게 됩니다.

4) 도스모드에서 압축이 풀어진 (ntpwed003.zip)의 ntpwedit.exe를 실행하여 1)의 SAM파일을 읽어 비밀번호를 변경합니다.

 

출처는 http://snoopybox.co.kr/1646 입니다.

'컴퓨터일반' 카테고리의 다른 글

정규표현식 모음  (0) 2016.02.18
[윈도우7] OEM 시디키 인증방법  (0) 2014.01.20
[윈도우] 환경변수 path 삭제시 복원  (0) 2013.02.08

환경변수중 Path가 피치못할 사정으로 인해 제거 당했을 경우 이전 Path로 복원 하는 방법입니다.

1) 실행 : regedit

2) HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Session Manager\Enviroment\Path

위 경로에 Path에 대한 백업 값이 들어있음.

 

출처는 http://blog.naver.com/tomato100vs1?Redirect=Log&logNo=140172845632 입니다.

 

'컴퓨터일반' 카테고리의 다른 글

정규표현식 모음  (0) 2016.02.18
[윈도우7] OEM 시디키 인증방법  (0) 2014.01.20
[윈도우] 비밀번호 분실시 비밀번호 변경  (0) 2013.02.08

 

컴퓨터의 불안정한 종료로 인하여 DB파일에 손상을 입을 경우 데이터베이스 옆에 "(주의대상)"이라로 뜰 때가 있음.


1) SQL Server Management Studio 실행

2) EXEC sp_resetstatus 'yourDBname';

ALTER DATABASE yourDBname SET EMERGENCY

DBCC checkdb('yourDBname')

ALTER DATABASE yourDBname SET SINGLE_USER WITH ROLLBACK IMMEDIATE

DBCC CheckDB ('yourDBname', REPAIR_ALLOW_DATA_LOSS)

ALTER DATABASE yourDBname SET MULTI_USER


위 쿼리를 복사후 주의대상 DB 이름으로 변경후 쿼리를 실행하면 된다.

 

출처 : http://http://jjun7983.tistory.com/151

'DB > Mssql' 카테고리의 다른 글

[MSSQL] MSSQL 파일이름 변경하여 복원  (0) 2015.01.12

querybrowser 에서 User 테이블의 직접 편집해도 된다.

 

아래와 같이 해도됨

 

1. mysql 의 데이터베이스 mysql 로 들어가서

User 테이블의 정보를 확인 해 본다.

User 컬럼의 localhost 와 % 의 비밀 번호 정보가 다르게 입력 되어 있을 수 있다.

다를 경우

update user set Password=Password('password') where User='id' and Host='%';

commit;

FLUSH PRIVILEGES;

이런 식으로 재등록 해준다.

2. 권한이 없는 문제일 경우

GRANT ALL PRIVILEGES ON *.*TO 'id'@'%' IDENTIFIED BY 'password' with GRANT OPTION;

FLUSH PRIVILEGES;

이런 식으로 해결 해 주면 됨.

 

'DB > Mysql' 카테고리의 다른 글

[Mysql] 리눅스 Mysql 데이터베이스 백업  (0) 2015.12.22
외래키 무시, 안전 모드 무시  (0) 2015.07.17
Mssql -> Mysql 마이그레이션  (0) 2015.05.08
[mysql] 한글 설정(utf-8)  (0) 2014.09.22
MY-SQL InnoDB 데이터 복구 방법  (1) 2013.02.08


import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.StringTokenizer;

public class MemoryMonitor {
 public static List listRunningProcesses(String processName) {
  List processes = new ArrayList();
  try {
   String line;
   StringTokenizer temp;
   Process p = Runtime.getRuntime().exec("tasklist.exe /FI \"IMAGENAME eq \""+processName+" /FO CSV /NH");
   BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
   while ((line = input.readLine()) != null) {
    if (!line.trim().equals("")) {
     // keep only the proecess name
     line = line.replace("\",\"", "^").replace("\"", "").replace(",", "");
     temp = new StringTokenizer(line, "^");
     while (temp.hasMoreTokens()) {
      processes.add(temp.nextToken());
     }
    }
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
  return processes;
 }

 public static void main(String[] args) {
  List processes = listRunningProcesses("svchost.exe");
  String result = "";
  // display the result
  Iterator it = processes.iterator();

  int i = 0;
  while (it.hasNext()) {
   result += it.next() + "\n";
   i++;
   if (i % 5 == 0)
    result += "\n";
  }
  System.out.println(result);
 }

 public void start() {
  // TODO Auto-generated method stub
  
 }
}

'JAVA' 카테고리의 다른 글

IP찾기  (0) 2013.02.26
Java - 자주사용하는 Collection객체들의 특징  (0) 2013.02.08
[JAVA] String의 날짜를 date로 변환  (0) 2013.01.25
[JAVA] 파일 읽고, 쓰기  (0) 2013.01.24
[JAVA] log4j  (0) 2009.11.12

 

훌륭한 개발자란 무엇일까?

이 부분을 단지 하나의 내용으로 정리하기엔 쉽지 않다.
왜냐면 아직까지 훌륭한 개발자 위인전은 등장하지 않았기 때문이다.

하지만 일반적인 관점이나 견해등은 존재한다.

다음은 내가 개인적으로 생각하는 훌륭한 개발자의 조건이다.
1번부터 중요한 순서대로 적어 내려 가도록 하겠다.


1. 끈기가 있어야 한다.
이건 개발자가 아닌 어떠한 일을 한다고 해도 마찬가지 이다.
어떠한 일도 한순간에 이루어 지지 않는다.
건물을 짓던 요리를 하던 아니면 다른일을 하던지 꾸준히 끈기를 가지고 노력하는 사람이 성공하는 것이 진리이다.

예를 들어서 보자.
높이와 폭이 10 m 인 강에 벽돌(20cm * 20 cm) 을 쌓아서 강을 막는다고 생각해보자.
하루에 벽돌을 하나씩 쌓는다.
그다음날에 하나를 더 쌓는다.
이제 강을 보자 과연 자기가 쌓은 벽돌이 보이는가? (까마득 할것이다.)
저걸 다 막을려면 2500 일이 지나야 한다.
그래야 겨우 벽돌이 수면까지 올라온다.
그 다음부터 벽돌을 쌓아야 결국 눈에 보이기 시작한다.
그때부터는 다른 모든 사람들도 확인할 수 있다.

개발자도 마찬가지 이다.
처음 시작으로는 아무것도 볼 수 없다.
꾸준히 노력하고 개선해 나가야만 자신이 원하는 실력을 키울 수 있고 자신의 프로그램을 올바르게 완성할 수 있다.

대부분의 초급 개발자와 이제 어떤일을 시작하는 보통의 사람들은 이 기간을 버티지 못한다.
(저 기간을 버틴 사람이 바로 일류의 경지에 오르는 것이다.)

지금 당장 개발이 힘들 수도 있다. 그리고 희망이 보이지 않을 수도 있다.
하지만 그렇다고 포기하면 거기서 끝이다. 잊지 말도록 하자.

2. 프로그램으로 이루고 싶은 꿈이 있어야 한다.
이건 두번째 요인이다. 끈기가 아무리 있는 사람이라도 자기가 하고 싶은일을 하지 않으면 오래 버티지 못한다.
즉 개발자(프로그래머)로서 자신이 만들거나 완성하고 싶은 프로그램이 하나쯤은 있어야 한다.
어떤 개발을 하던지 자신의 꿈과 도움이 되도록 그리고 도움이 된다고 생각하며 진행해야 한다.
만약 프로그래머로서 자신이 만들고 싶은 프로그램이 없다면 반성해 보아야 한다.


3. 기초가 튼튼해야 한다.
말이 필요없다. 실력이 증가하거나 점프하려면 무엇보다 중요시 되는게 기본이다.
칼을 쓰지 못하는 요리사가 무슨 소용이 있는가?
축구공을 잘 못차는 축구선수를 누가 쓰겠는가?(골키퍼 제외?ㅡ.ㅡ)

실력이 증가할수록 그리고 보다 많이 알수록 다시 생각해 보게 되는 것이 이 모든것들이 바로 기초에서 비롯된다는 것이다.
특히 요즘에 OOP로 넘어온 이후에도 여전히 C++ 로 C 형태의 코드 구성을 하는 개발자가 많이 존재한다.
그리고 OOP를 바탕으로 해서 보다 많은 이론들이 마구마구 생겨나고 있다.
OOP 뿐만 아니라 기본적인 자료구조, 알고리즘등 프로그래머로서 기초적인 지식이 필요한 것들이 존재한다.

단순히 지금 현상태를 유지하려면 저런것을 생각할 필요없이 그냥 하던대로 하면 된다.
하지만 자신의 실력을 키우고 싶거나 보다 높은 등급으로 가려면 기초부터 차분히 갈고 닦아야 한다.

4. 자신이 담당하는 분야(도메인)에 대한 전문성이 있어야 한다.
사실 이건 어렵다. 하지만 중요하다.
어떤 분야에서 인정받는 개발자가 되려면 해당분야에 대한 관심과 전문성이 있어야 한다.
사실 나도 그렇지만 개발자들이 이부분에서 많이 실수를 한다.
ERP를 개발하지만 ERP의 필요성을 모르는 개발자,
게임을 개발하지만 자신이 만든 게임을 한번도 하지않는 개발자,
어떤 프로그램을 개발하지만 사용자를 전혀 고려하지 않는 개발자 등...

이런 개발자가 프로그램을 개발하면 기술적으로는 화려하지만 사용자가 외면하는 프로그램이 완성된다.
이런 프로그램은 결국 사장된다.

게임으로 보자면 게임성은 무시하고 화려한 그래픽과 특정 기술만 바탕으로 홍보를 하다 사라져간 게임이 몇개인지 생각해 보면 된다.


5. 다양한 분야에 관심이 있어야 한다.
이 부분은 단지 기술적인 부분만을 의미하지 않는다. 보통 사람은 아는만큼 보인다고 한다.
특히 요즘 중요시 되는 창의성은 한순간에 만들어 지지 않는다.
다양한 분야에 관심을 가지고 꾸준히 노력하는 자만이 이러한 창의성과 감성을 지닐 수 있다.
가끔 보면 단지 현실에 안주하면서 자신이 하던거 외에는 신경안쓰는 개발자가 존재한다.
하지만 요즘같은 세상에서는 이런 개발자는 오래 버틸 수 없다.
개발자는 모든 분야, 특히 개발과 관련된 분야에 꾸준히 관심을 가지고 모든 것을 알려는 호기심을 지녀야 한다.
물론 일에 치여서 바쁘지만 책을 많이 보도록 하자.

6. 방법(툴) 보다는 물건(대상) 이 분명해야 한다.
요즘에도 이런거 가지고 싸우는 사람들을 보면 사실 약간 부끄럽다.
개발자가 왜 특정 툴이나 언어에 맹목적으로 집착해야 하는가? 그리고 어떤 언어가 무조건 옳다고 서로 싸워야 하는가?
어떤일을 하는데에 효율적이고 최적인 툴은 물론 존재한다.
그리고 배우기 어렵고 난이도가 높은 툴이나 언어도 존재한다.
하지만 해당 툴이 모든 곳에 적용되는 것은 아니다.
개발자는 프로그램 사용자가 아니다. 프로그램 자체를 만드는 예술가이다.
어떤 물건(프로그램)을 만들어야 한다면 해당 물건을 만드는 데 최적의 방법을 생각하자.
그리고 뭔가를 새로이 배워야 한다면 배워서 만들면 되는 것이다.
단 만약 새로 배워서 작성하는 시간보다 지금 현재 기술로 만드는 시간이 덜 걸리는 단기적인 프로젝트나 프로그램이라면
그냥 지금 현재의 툴이나 언어로 만드는 것이 보다 효율적이다.(이 부분은 7번과 연계된다.)

7. 툴을 다루는 능력도 일정 수준을 갖추어야 한다.
일단 어떤 툴을 뭔가 작업을 진행해야 한다면 해당 툴에 대한 지식과 기술이 있어야 한다.
칼을 쓰긴 하지만 제대로 다루지 못하는 요리사와 칼로 못만드는게 없을 듯한 요리사가 만드는 똑같은 요리가 존재할 때
어떤 요리를 빨리 제대로 먹을 수 있겠는가?
답은 모두가 알고 있다. 알고 있다면 노력하자!!

번외. 제자를 양성할 수 있어야 한다.
사실 이 항목은 넣을지 말지 정말 많이 고민했다.
하지만 내가 쓰는 글은 유능한 개발자가 아닌 훌륭한 개발자에 대하여 쓰는 글이기에 이 항목을 넣기로 했다.
만약 당신이 1 ~ 7의 항목을 어느정도 이루고 완성했다면 해당 방법은 자신의 후임이나 후배 들에게 알려주도록 하자.
가르치는 사람은 배우는 사람보다 최소 5배 이상 많이 공부하고 알아야 한다.
이것은 단지 제자 양성의 목적이 아니다.
제자라는 거울을 통해 자신의 초심을 확인하고 자신의 실력을 다시 갈고 닦는 것이다.(보다 높은 경지를 위해서...)
그리고 그 제자가 다시 다른 제자를 양성해서 전체적으로 등급이 올라가야 한다.
이것이 계속 반복되야만이 해당분야에서 인정받는 개발자가 될 수 있다.
어떤분야에서 인정받는 거장이나 마스터라면 이 부분은 필요악이다.
만약 이런 것이 귀찮거나 할 수 없다면 모든 항목을 갖추었다고 해도 존경을 받기는 힘들다.

 

- by 강태원(Meteor) -

 

출처 데브피아

사각형 중 라인 표시 하고 싶으면 1 아니면 0

BorderFactory.createMatteBorder(0, 0, 1, 0, Color.black));

 

public static MatteBorder createMatteBorder(int top,
                                            int left,
                                            int bottom,
                                            int right,
                                            Color color)

프로그램을 운영하면서 한번 오류난 곳에는 계속 문제가 숨어 있다.

 

오류 해결뒤에도 다른 모듈의 영향으로 인해 또다시 오류에 빠질 수 있으므로

 

그때 마다 적절한 테스트 케이스를 만들자.

'끄적끄적' 카테고리의 다른 글

모듈 하나마다 의문점을 갖자  (0) 2013.01.24

날짜의 예) 2013-01-24 17:01:54

String writeDate = "2013-01-24 17:01:54";

SimpleDateFormat sdf = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss", Locale.KOREA);

sdf.parse(writeDate)

 

추가로 String을 Timestamp로 변환할 때는

Timestamp.valueOf(wirteDate);

'JAVA' 카테고리의 다른 글

IP찾기  (0) 2013.02.26
Java - 자주사용하는 Collection객체들의 특징  (0) 2013.02.08
[JAVA] 프로세스 리스트 출력 - 확인해보기  (0) 2013.02.08
[JAVA] 파일 읽고, 쓰기  (0) 2013.01.24
[JAVA] log4j  (0) 2009.11.12

자바에서는 sqlite JDBC lib를 제공한다.

 

1. 몇가지 sql이 다른 부분이 있다.

- select 시 timestamp를  String으로 받아야한다.(rs.getTimestamp가 아닌 rs.getString)

  rs.getstring한 결과를 Timestamp.valueOf 함수를 이용하여  Timestamp 객체로 변환시켜야함.

  예) data.add(Timestamp.valueOf(rs.getString("C_Datetime")));

 

 

2.  파일 기반의 특이성

 

- 원격지에서 접속이 불가능 하다.

- Index설정 후 급격하게 Insert가 느리다. 예를 들어 Index설정 전에는 1000EA 저장 가능하면 후 50EA 정도의차이가 발생한다.
- Index설정을 하면 Select시 성능이 향상되긴 한다.
- 파일의 처음 접근시 오래걸린다.
- 파일을 나누지 않고 통째로 큰 파일로 했을 때도 파일의 크기가 크면 open시 오래 걸리기 때문에 나뉜 시간보다 더 느린 단점이 있다.

 

3. 파일 크기가 mssql에 비해 크다.

 

 

+ Recent posts