[작성자:] snowall

  • 이거 재밌네

    재밌어서 퍼왔음.

    snowall의 정치적 의도? 추정해 보삼 -_-;

    참고로 TV라고는 MBC game밖에 안봄. 요즘 SS501의 멤버가 프로게이머 도전한다는 프로그램이 재밌던데, 그 사람이 누군지 잊어먹었다. 역시 남자 이름은 외우기 힘들다;;

  • 수식

    수식은 자바스크립트를 이용해서 표시됩니다.

    이 자바스크립트는 파이어폭스 웹 브라우저를 이용할 때 잘 작동합니다.

    (따라서 이 블로그는 파이어폭스에 최적화 되어 있습니다.)

    MS인터넷 익스플로러에서는 잘 안되는 것으로 알려져 있습니다.

    파이어폭스 웹 브라우저는 아래의 주소에서 받을 수 있습니다.


    http://www.mozilla.com

  • 뇌가 없는 부대

    친구가 휴가를 나와서 만나러 갔었다. 결국 스타+워3+주차장 콤보로 기진맥진했지만…

    수다 떨면서.

    “요새 베르나르 베르베르의 소설이 재밌더군”

    “뭐 읽는데?”

    “파피용 재밌더라”

    “뇌를 읽어야지!”

    “우리 부대에는 뇌가 없어”

    “저런”

    날씨도 쌀쌀하고 내마음도 허전해서 친구와 허무개그하면서 놀았던 만담 하나 올렸다. 사실 위에 첫줄에 적은 주차장 콤보가 대박이라…-_-;

  • 이건 스팸인가

    얼마전에(약 2주 전), 일하는데 전화가 왔다.(휴대전화로)

    “안녕하세요, 자동차xx협회(?)에서 연락드립니다. 혹시 자동차 운전 하십니까?”

    “네”

    “한달에 기름값으로 얼마정도 지출하십니까?”

    “어…한달에 5만원이요”

    “…”

    사실 한달에 5만원어치도 안 넣는다.;;;

    “운전 안하시나요?

    “출퇴근 할때 차 끌고 다니는데요”

    “그런데 한달에 5만원 넣으세요?”

    “통근 거리가 2km정도라…”

    그리고 여기서 전화가 끊겼다.

    ??

    누구지. 왜 전화한건가. 여자라 받아줬더니 … 남자였으면 끊었을 내용을 기껏 받아줬더니 그냥 끊는건 무슨…

  • 772함 승조원들은 귀환하라, 그것이 마지막 명령이다…

    최근 천안함 침몰과 관련해서 “772함 승조원들은 귀환하라, 그것이 마지막 명령이다”라는 글이 돌고 있다.

    근데…

    그게 마지막 명령이라고 정해 버리는 것은 너무 슬프지 않은가?

    모든 실종자들의 무사귀환을 바란다.

  • SQLite on VB.net

    SQLite는 매우 가벼운 SQL DB프로그램이다. 서버가 없고, 프로그램에 붙어서 동작하는 DLL 또는 EXE파일 형태로 실행된다. 자세한 설명은 생략한다. Visual basic 2005에서 SQLite를 어떻게 사용하는지 알아보자.

    아래 링크에 가면 좀 더 상세한 설명과 Tutorial이 있다.


    http://www.kirupa.com/net/sqllite_vb_pg1.htm


    위 링크에서 제공하는 Tutorial은 VS 2008이나 VS 2010버전인 것 같다. 난 2005버전만 갖고 있어서 실행시킬 수가 없다.

    일단, 아래 링크에 가서 System.Data.SQLite 의 최신 버전을 받는다. 이것은 Visual Basic에서 SQLite를 쓸 수 있게 해주는 컴포넌트들을 모아둔 것이다.


    http://sqlite.phxsoftware.com/

    제대로 설치했다면

    도구상자에서 SQLite라는 것을 찾을 수 있을 것이다. 이제 시작이다.

    1단계 – DB생성하기

    뭘 하든지, 일단 갖고 놀 대상이 있어야 작업을 할 수 있다. DB를 만들어 보자.

    우선, SQLite.SQLiteConnection 객체 하나를 만들어야 한다. SQLconnect라는 인스턴스 이름을 주자.

    Dim SQLconnect As New SQLite.SQLiteConnection()

    이대로 선언하면, 아마 뭐가 없다고 할 것이다. 그러니까, 위에 도구상자에서 SQLiteConnection 하나를 끌어다가 창에 갖다 둔다.

    그럼 이제 SQLiteConnection을 쓸 수 있게 된다.

    방금 만든 SQLconnect를 DB에 열어야 하는데, 매우 간단하다. 다음의 세 문장이면 된다.

    SQLconnect.ConnectionString = “Data Source=” & dbfile & “;”

    SQLconnect.Open()

    SQLconnect.Close()

    여기서 dbfile은 DB로 사용할 파일의 경로이다. SQLite는 파일 확장자로 db3을 사용하며, 파일 1개가 DB 1개에 해당한다. dbfile의 경로는 SaveFileDialog 같은데서 적당히 지정해서 알려주면 된다.

    아무튼 여기까지 했으면 DB파일이 하나 생성되어 있을 것이다. 방금 우리가 한 것은 새로운 DB파일을 만들어서, 열었다가, 닫은 것이다.

    2단계 – DB에 테이블 만들기

    알다시피 SQL로 DB를 갖고 놀기 위해서는, DB가 있어야 하고, 그 안에 Table이 있어야 하고, 그 안에 Column과 Record가 있어야 한다. 순서대로 형성해야 하는데, 일단 테이블부터 만들자.

    이 작업은, 앞에 1단계에서 했던 명령어 중, 일단 SQLconnect.Open()까지는 똑같다. 왜냐하면, 뭔가 작업을 하려면 일단 DB를 열어야 하기 때문이다. 공책에 뭔가를 적기 위해서는 일단 공책을 펼쳐야 하지 않겠는가? 따라서, SQLconnect.Open()까지는 실행했다 치고, SQLconnect.Close()는 아직 실행하지 않은 상태이다. 즉, DB가 열려있는 상태에서 다음과 같은 코드를 써넣으면 된다.

    SQLcommand = SQLconnect.CreateCommand

    SQLcommand.CommandText = “CREATE TABLE tablename( tablespecification );”

    SQLcommand.ExecuteNonQuery()

    SQLcommand.Dispose()

    SQLcommand라는 객체를 도 만든다. 이 객체는 SQLconnect.CreateCommand라는 클래스의 객체이다. 하지만 이대로 하면 또 뭔가 안된다고 할 수도 있다.

    이 경우, 위와 같이 SQLiteCommand라는 컴포넌트를 갖다가 끼워준다. 그럼 이제 SQLconnect.CreateCommand를 쓸 수 있게 된다.

    그 다음, SQLcommand.CommandText에는 테이블을 만드는 SQL명령문이 들어가면 된다. 다들 알다시피 CREATE TABLE이 바로 그 명령이다. SQL에서 테이블을 어떻게 만드는지는 SQL책을 참고하자. 아무튼, 어떤 명령을 내릴 것인지 지정을 했으니까, 이제 SQLcommand.ExecuteNonQuery()를 실행시킨다. 이 명령어는 CREATE, INSERT, UPDATE, DELETE같은 DB의 내용을 바꾸는 것들에 대한 명령이다.

    눈치채야 하는 부분은, SQLite를 쓰려면 다음과 같이 하면 된다는 것이다.

    1. DB를 연다

    2. SQLCommand 객체에 SQL명령어를 입력한다.

    3. 그 명령어를 실행시킨다.

    4. 명령어 객체와 DB객체를 닫는다.

    그건 그렇고, 테이블 만드는건 CREATE로 하면 되고, 거기에 내용 넣는건 INSERT랑 UPDATE로 하면 되고 지울거면 DELETE로 하면 되는데, 넣은걸 읽어오려면?

    이제 SQL의 가장 중요한 구문인 SELECT를 해볼 차Ž?

    앞에서 SQLcommand의 SQLcommand.CommandText에다가 SELECT 명령어와 그에 따른 구문을 입력하는 것 까지는 똑같다. 그런데, 이번엔 실행시켜야 하는 명령어가 다르다.

    Dim SQLreader As SQLiteDataReader = SQLcommand.ExecuteReader()

    여기서 SQLreader는 그냥 평범한 배열이다. 별거 없다. TABLE에서 지정한 column이 순서대로 들어가 있을 뿐이다. SQLreader(0)하면 TABLE의 가장 첫번째 열에 있는 애들의 column이 쭉 들어가 있다.

    자세한건 좀 더 연구해 봐야겠다. 기록을 위한 글쓰기는 여기까지. 나도 잘 모름.

  • 4번째 입영통지서

    드디어 5월 6일날 논산으로 오라는 통지가 날아왔다.

    대학교 졸업할때, 대학원 졸업할때, 작년에 실험할때, 그리고 이번까지, 논산으로 오라고 하는 국가로부터의 러브콜을 3번이나 거절한 끝에, 결국 논산으로 가야 하는 것 같다. 쳇. -_-;

    따라서 5월 6일부터 6월 3일까지는 완전한 잠수를 타게 된다. 부디 그사이에 북한이나 기타 다른 나라에서 뻘짓만 하지 말기를 바란다.

  • 첫 C++ 코딩

    처음으로, 학교 숙제때문에 C++로 코드를 만들었다. 워낙에 Visual basic으로 객체지향적인 코드를 만드는데 익숙해져 있어서 몇가지 C문법을 복구시킨 후에, 그다지 어렵지 않게 코드를 완성해가고 있다.

    유일한 문제라면, 이 코드의 컴파일된 바이너리를 윈도우용으로 해 가야만 하는지, 리눅스용으로 해도 괜찮은지다. 윈도우용으로 해야 한다면, 연구소로 갖고 가서 Visual studio를 써서 컴파일하든가, mingw를 설치해서 컴파일하든가 해야 한다. 아님 DevC++를 설치해서 빌드해도 나쁘지 않겠다.

    하지만 C랑 비슷해서 그런지, 객체지향적 코드의 느낌은 잘 나지 않았다. (아마 내가 코딩해서 그럴 수도 있다.) 숙제 결과물은 나중에 성적 발표되면 올려두도록 하겠다.

  • LHC 실험 개시!


    http://webcast.cern.ch/lhcfirstphysics/

    오오…

    이제 유럽에서 일어나는 엄청난 실험을 라이브로, 생중계로, 집에서 볼 수 있다.


    물론 LHC는 고장나지 않았다.-_-; 왜냐하면 4월 1일 00시 01분에 고장나는 입자가속기는 존재하지 않기 때문이다.