0

LIFO Alarm Processing

Sekarang aku tengah buat alarm processing untuk support LIFO data transaction. Ini bermakna alarm akan direkodkan tanpa mengira masa dihantar. Jadi setiap kali data dihantar ke server, kita perlu memproses dan membandingkan data yang terima dengan alarm yang telah ada di dalam database.

Boleh tahan jugak memikirkannya. Tapi aku dah jumpa caranya. Nanti aku update post ni nanti dengan cara-cara aku buat.

Seminggu kemudian ....

aku dah siap buat LIFO alarm processing ni.

Katakan kita ada table alarm yang mempunyai field seperti berikut :
  • alarmid (auto increment)
  • alarmcode
  • alamrmdatetime
  • rtuid
  • alarmofftime
Processing flownya macam ni:
Kena ambil 1 alarm sebelum dan 1 selepas masa data diterima.

























































Sebelum Selepas Offtime=Set? Current=Alarm? Result
X X X 1 Create new alarm
X 1 X 1 Update alarm selepas  alarmtime=current
X 1 1 1 Update alarm selepas  alarmtime=current
1 X X X Update alarm sebelum alarmtime=current
1 X 1 X Update alarm sebelum current >offtime, create new alarm
1 1 1 X Update alarm sebelum offtime = current jika current <
offtime
1 1 1 1 Update alarm selepas  alarmtime=current
1

MySQL multi keywords search with priority

Ader org tanya aku pasal nak buat carian nama berdasarkan lebih dari satu keyword dan nak result tu disusun mengikut priority carian tersebut.

kata kan mencari nama manaf osman

nama yang akan keluar :

manaf bin osman
manaf abdul osman
manaf gazali osman
manaf hashim osman
abdul manaf
daud manaf
osman manf

Jadi aku try la buat satu query untuk sort carian tu. Idea dia,

1. Carik location carian tu berlaku untuk setiap keyword.
2. Kalau result location dia 0 (x jumpa), kene jadikan value dia paling tinggi.
3. Left pad kan result dengan kosong di hadapan, max aku pakai 7 digit
4. CONCAT semua result carian.
5. CAST result yang dah di CONCAT kepada nilai integer.
6. Susun mengikut hasil pada no 5.

Ni contoh query yang aku dah buat.

SELECT * FROM (
SELECT CAST(CONCAT(LPAD(BBPos1,7,'0'),LPAD(BBPos2,7,'0')) as UNSIGNED) as Position,CC.* FROM (
SELECT IF(Pos1=0,999999,Pos1) as BBPos1,IF(Pos2=0,999999,Pos2) as BBPos2,BB.* FROM (
SELECT LOCATE('mohd',namapenuh) as Pos1,LOCATE('HJ',namapenuh) as Pos2,AA.* FROM (
SELECT * FROM ahli WHERE namapenuh LIKE '%mohd%'
UNION
SELECT * FROM ahli WHERE namapenuh LIKE '%HJ%'
) as AA
) as BB
) as CC
) as DD ORDER BY Position,namapenuh

Ni kira math dan logik kena power gak la. Macam ninja.

Nin.. Nin..
Hemo... Hemo..
0

PHP Web Service, .NET Remote MySQL Dataset

Projek open source aku yang pertama kat google code.
Kebanyakkan web hosting tak membenarkan connection MySQL dari luar untuk dasar keselamatan. Biasanya kalau nak manage ke pakai phpMyAdmin. Tapi kalau database tu dah besar, nak dump data macam lama gila, tambah lagi dengan internet yang slow.

So, aku create la web service pakai PHP dan return data dalam bentuk .NET dataset untuk mudahkan aku process data. Harap projek ni berguna jugak untuk org lain.

Nin...nin..

http://code.google.com/p/phpremotemysqldataset/downloads/list
0

SQLite for ADO.NET 2.0

Dalam aku tengah rilek-rilek aku teringat nak carik library untuk develop system PDA guna Sqlite sebagai database. Sebelum ni aku dah guna Sqlite ni untuk desktop application. Kira Ok jugak SQlite ni. Bagus untuk small embbed database dan boleh digunakan dalam CD. Library yang ni ader include sekali binary untuk Compact Framework.

Ni link untuk ke website dia.
http://sourceforge.net/project/showfiles.php?group_id=132486
0

First Post

Tujuan aku buat blog ni sebagai catatan berkaitan kerja aku dalam programming. Mungkin org lain pun boleh dapat manfaatnya.
 
Copyright © peyotest