[작성자:] snowall
-
수식
수식은 자바스크립트를 이용해서 표시됩니다.이 자바스크립트는 파이어폭스 웹 브라우저를 이용할 때 잘 작동합니다.
(따라서 이 블로그는 파이어폭스에 최적화 되어 있습니다.)MS인터넷 익스플로러에서는 잘 안되는 것으로 알려져 있습니다.
파이어폭스 웹 브라우저는 아래의 주소에서 받을 수 있습니다.
http://www.mozilla.com
-
이건 스팸인가
얼마전에(약 2주 전), 일하는데 전화가 왔다.(휴대전화로)“안녕하세요, 자동차xx협회(?)에서 연락드립니다. 혹시 자동차 운전 하십니까?”
“네”
“한달에 기름값으로 얼마정도 지출하십니까?”
“어…한달에 5만원이요”
“…”사실 한달에 5만원어치도 안 넣는다.;;;
“운전 안하시나요?
“출퇴근 할때 차 끌고 다니는데요”
“그런데 한달에 5만원 넣으세요?”
“통근 거리가 2km정도라…”…
그리고 여기서 전화가 끊겼다.
??
누구지. 왜 전화한건가. 여자라 받아줬더니 … 남자였으면 끊었을 내용을 기껏 받아줬더니 그냥 끊는건 무슨…
-
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이 쭉 들어가 있다.
자세한건 좀 더 연구해 봐야겠다. 기록을 위한 글쓰기는 여기까지. 나도 잘 모름.
-
첫 C++ 코딩
처음으로, 학교 숙제때문에 C++로 코드를 만들었다. 워낙에 Visual basic으로 객체지향적인 코드를 만드는데 익숙해져 있어서 몇가지 C문법을 복구시킨 후에, 그다지 어렵지 않게 코드를 완성해가고 있다.유일한 문제라면, 이 코드의 컴파일된 바이너리를 윈도우용으로 해 가야만 하는지, 리눅스용으로 해도 괜찮은지다. 윈도우용으로 해야 한다면, 연구소로 갖고 가서 Visual studio를 써서 컴파일하든가, mingw를 설치해서 컴파일하든가 해야 한다. 아님 DevC++를 설치해서 빌드해도 나쁘지 않겠다.
하지만 C랑 비슷해서 그런지, 객체지향적 코드의 느낌은 잘 나지 않았다. (아마 내가 코딩해서 그럴 수도 있다.) 숙제 결과물은 나중에 성적 발표되면 올려두도록 하겠다.
-
LHC 실험 개시!
http://webcast.cern.ch/lhcfirstphysics/
오오…
이제 유럽에서 일어나는 엄청난 실험을 라이브로, 생중계로, 집에서 볼 수 있다.
물론 LHC는 고장나지 않았다.-_-; 왜냐하면 4월 1일 00시 01분에 고장나는 입자가속기는 존재하지 않기 때문이다.
