Oracle tegutseb…

juuni 5, 2009 kirjutas tingmarprog

Глава Oracle считает что OpenOffice нужно переделать под JavaFX

http://www.theregister.co.uk/2009/06/04/ellison_javafx_commitment/

Ehk siis hommikul paned app. tööle, õhtuks saad tööle ja pane kohe giga mälu ning võimas prose. Java tehnoloogia pole ju üldse aeglane :)

Nii nagu 3 postituses juba maininud, ootame huviga, mis trikk ikka MySQL’iga tehakse…

Koodivaramu: Delphi app. amCharts ja Open Flash Chart

juuni 4, 2009 kirjutas tingmarprog

Üldiselt vaatasin, enamus desktop programme omavad jube igavaid graafikuid. Enamus graafikud meenutavad mulle rastergraafika hiigelaegu. Korraks vajusin mõttesse, viimasel ajal Flash juba suht levinud tehnoloogia, mis peaaegu iga inimese arvutis. Miks mitte rakendada veebis kasutatavaid Flashis tehtud graafikuid desktop programmides !?

Delphis tuleb lihtsalt teha Flash com objekti import + komponendi automaatne loomine ja kogu lugu…

Natuke aega testisin ja proovisin erinevaid koode, algul ei olnud ma eriti edukas, aga hopsti tulid ideed ning sain asjad tööle. Lisan ka screenshotid:

amcharts_ja_delphi

openchartdelphi

Sain kätte ka evendid, et valitud väärtusi kuvada.

Programmide lähtekoodid + binaryd siin

- amCharts on siiski “tasuline”. Tasuta versioonides kuvatakse amcharts linki graafikus

- Open Flash Chart on tasuta + LGPL litsensi all, mida veel tahta :)

Lihtsalt märkusena võib öelda, et võimaluste poolest on amCharts kobedam, olen teda php projektides kasutanud…
————-
Seniks head pusimist…xor eax, eax…saaks veel normaalse suve ka

Sun’i Java polegi enam nii tasuta ?

Mai 30, 2009 kirjutas tingmarprog

ru.java – Похоже, мы допрыгались
http://community.livejournal.com/ru_java/818063.html?thread=10494607

Ma ütlesin oma tuttavale Java gurule peale seda, kui Oracle osa Sun’i ära ostis, et uskuge – küll see Sun java muutub ka kuidagi tasuliseks.

Sun released the Java 1.6.0_14 JDK and JRE today which include a cool new garbage collector called G1. There is just one catch. Even though it is included in the distribution, the release notes state ‘Although G1 is available for use in this release, note that production use of G1 is only permitted where a Java support contract has been purchased.

Kuna Oracle nüüd Sun’i suuromanik , siis varsti tasuta lõunaid pole. Oracle “paneb” asjad raha teenima… Huvitav mis seisus OpenJdk on ? Kas aktiivne arendus ikka jätkub ?

Huvitav, mis plaanid Oracle’l “MySQL Community Edition” versiooniga. Arvan, et varsti öeldakse selle arendus lõpetatud … kuna… ja mingi huvitav põhjus.

Oracle ostab Sun’i …

aprill 20, 2009 kirjutas tingmarprog

Kui asja analüüsida, siis loogiline käik mõneti. Samas, mida teeks Oracle MYSQL osaga ? Enamus veebisaitidel MYSQL Backendiks, miks ei tahaks Oracle seda kohta endale hõivata. Küsimus, kuidas nad seda strateegiliselt teevad, kas MYSQL Community Edition kaob üldse. Oracle on firma, kes tahab positsioone tugevdada, tasuta lõunaid pole olemas juba pikka aega.

Java Oracle tootepakettide alus, sellest saame aru. Hea oleks ju mõnda Java osa ntx patenteerida, tooks konkurentidele nii mõnegi halli juuksekarva juurde (IBM) :)

SANTA CLARA, Calif., April 20, 2009 — Sun Microsystems (NASDAQ: JAVA) and Oracle Corporation (NASDAQ: ORCL) announced today they have entered into a definitive agreement under which Oracle will acquire Sun common stock for $9.50 per share in cash. The transaction is valued at approximately $7.4 billion, or $5.6 billion net of Sun’s cash and debt.

http://www.sun.com/third-party/global/oracle/index.jsp

Sarnased küsimused ka teistel, mis minulgi.

What’s Going to Happen with OpenOffice, MySQL, SPARC?

With round and about 11 million installations, MySQL offers Oracle a lot of leverage in a market they previously didn’t really took part in. “While no one could ever rightfully claim that MySQL threatens Oracle’s higher-end database offerings, its addition to the portfolio gives Oracle additional leverage in a market with significant growth potential,” Independent analyst Carmi Levy told BetaNews, “The MySQL installed base of approximately 11 million gives Oracle sales teams fertile opportunity to have conversations they haven’t previously had.”

Blogide sissekannetele hindamissüsteem…muidu läheb asi jamaks !

aprill 12, 2009 kirjutas tingmarprog

Selline ettepanek oleks kõikidele blogide sissekandeid koguvatele portaalidele.

Probleem selles, viimasel ajal on osa inimesi, neid pole palju genereerivad suvalist rumalat juttu ja neil tuleb neid artikleid nagu oavarrest. Päevas 3 artiklit lõdva randmega, kui pingutavad saavad lausa 8 ja rohkem.
Poliit-valveblogijad ja muud taolised isiksused.

Lubada omistada sisutühja jutu eest miinuseid. Kui nädala jooksul on kogunenud kindel arv miinuseid, siis kuvatakse ainult artikli pealkirja ja seegi püsib maksimaalselt 25 min. Miinuspunktid kaovad nädalatega ehk kui jälle suudetakse normaalseid kirjutisi avaldada, siis miinuspunktide arv ei suurene – kellegil pole põhjust miinust anda. Samuti ei saaks seda miinust anda pidevalt üks ja sama inimene, miinuseid blogile saab anda üks isik korra nädalas. Automaatselt suurendaks seda miinust roppude sõnade arv !

See pole tsensuur, tegemist avaliku filtriga, mis eemaldab “eetrimüra”.

Alati saab paremat algoritmi teha ! Tänu sellele süsteemile tuleks ka kvaliteetblogijad rohkem esile.

____________________

Connection terminated…

Koodivaramu: vilgutame klaviatuuril tulukesi

aprill 10, 2009 kirjutas tingmarprog

Kes DOS aegasid mäletab ja igasugu “naljakaid viirusi”. Tavaliselt ma viirusi naljakaks ei pea , aga see, mis mul ekraanilt tähed alla kukutas oli ikka päris hea (Falling Letters).

Oli ka kunagi Yankee Doodle, see mängis mulle meloodiat ja vilgutas klaviatuuril tulesid vastavalt meloodiale.

Aga 30. aprill on tulekul, mõtlesin proovida, kas Windowsis klaviatuuri tulekesi programmiliselt lihtne vilgutada. Ei näinud küll mingit probleemi. Panin selle suht lihtsa programmikese üles, seal ka binary ja lähtekood.

Saate vähemalt ehk oma naist lollitada, et näe mis juhtub klaviatuuriga, kui liialt kaua msn’is istud :)

http://ingmar.planet.ee/avalikud_programmid/klaviatuurinali.zip

Üks vanem nalja programm
——————-

Naljaviluks

See oli kunagi ühe tuttava soov, sekkub klaviatuuri töösse ja imiteerib hambutu juttu ;) Kahjuks ma selle lähtekoode enam ei leidnud, suht ammu tehtud.

Millisele programmeerimiskeelele tasuks ümber õppida ?

aprill 9, 2009 kirjutas tingmarprog

Selline lihtne küsimus tekkis mul täna rattaga sõites ning IT alal filosofeerides. Lihtne – samas, küllaltki keeruline küsimus, et see programmeerimiskeel ka nö korralikku maitsvat leiba lauale tooks ka 2 – 3 aasta pärast.

… Php, Javascript, MYSQL, XML, XSL,SOAP/REST,AJAX,HTML|CSS antud terminid peaks olema kõigil peaaegu selged.

Programmeerijalt eeldatakse kohe nende tundmist, see nagu auto, millel eeldatakse lisade olemasolu – elektriaknad, signa…

Võtame jälle selle leiva seisukohalt: antud oskused tööturul tagavad suht keskmise leiva.

Natuke pean ka sisse tooma mõiste: spetsialiseerumine; Sa oled mingi valdkonna spetsialist. Mingi mees kirjutab scripte silmad kinni, teine kirjutab ühe näpuga mssql oracle jne protseduure ja seejuures vaatab telekat, kolmas mees suudab nii kiiresti htmli kirjutada, et tagid tulevad nähtavale sirvijas alles mõne minuti pärast.

Jäin korra rattaga seisma ja mõtlesin, millisel alal ma olen spetsialist…vähemalt arvan, et olen ;)

12 aastat Delphit ja Mssql 8-9… + windowsi api’d, shell extensionid, serviced, eriti multithreaded (ma ei suuda sõna LÕIM kasutada) serviced; e-arved jne Feedreaderi tooteid vaadates saab aimu natuke minu tegemistest olles nö backend mees.

Aga milles probleem…just nagu ühtteist teaks. Probleem selles, et IT maailm muutub ikka väga kiiresti.

Probleem algab minu programmeerimiskeskkonnast. Borland hakkas ennast juba nurka mängima alatest Delphi versioonist 7. Siis tuli Codegear asemele, nemad jätkavad ka suht ebamäärast joont.
Mis kõige hullem, need tooted siiani väga kallid ja firmad ei ole huvitatud selle peal asju arendama.

Tööandjad ei taha kallist arendusvahendit osta, mis ei anna mingit eelist turul ega ka arenduse kiiruses. Delphi native app. ei tööta ei mobiilide peal, ei toeta 64 bit jne jne.

Firmadel odavam osta Visual Studio ja strateegiliselt ka riskivabam.

Kõik see eelnev jutt mängib minu spetsialiseerumise profiili kahjuks. Ka süsteemsete asjade oskajatele pole eriti nõudlust enam.

Samuti viimasel ajal kaotab Mssql turgu; Mysql ja Oracle serverile. Seal võib palju põhjuseid olla, aga ei hakka seda hetkel täpsustama.
_ _ _ _ _ _ _ _ _ _

Tegin uue peatuse rattaga, avastasin mõtteid mõlgutades olin 50 km juba ära sõitnud…aga sõit polnud veel lõppenud.

Kõht läks ka tühjaks ja mõtlesin uuesti leiva peale …

Millisele programmeerimiskeelele peaks spetsialiseeruma ja ennast koolitama või järsku üldse õppida DB adminniks

Oracle/Mssql DB adminnid saavad ikka päris head leiba lauale… Miks mitte selle peale asuda, eriti kui Mssql on suht lihtne. Tekib järgmine nõks HUVI. Kas õppida asja, mille vastu ei ole suurt huvi.

Olen nö sündinud programmeerija, mulle meeldib koodi kirjutada ning “nautida oma töö tulemit”.

Mis valikud jäänud ? Vaadates ka tööturgu nii Eestis, kui ka välismaal.
(IN on):
- .NET
- JAVA


- C/C++ (hakkab ka ajaloolist maiku võtma ja jäänud rohkem süsteemsete asjade jaoks )

Mõned aastad tagasi algas suur javamaani, hetkel ta hääbumas, ei oskagi täpset põhjust öelda ? Nüüd mõni aasta käinud suur .NET-maania ehk nüüd ka tänu Monole , mis võimaldab .NET appse jooksutada Macil/Linuxil.

Kratsingi kukalt, et kui laiemalt analüüsida, kas mul on ainus (riskivaba) võimalus ongi .NET spetsialiseerumine.

Kuna tänapäeval interaktiivne veebikeskkond populaarne; siis ehk Flash / Silverlight / JavaFx (ei usu, et viimased kaks muutuvad populaarseks).

Või scriptikeeled: PERL, Ruby, Python… aga nende osas pole vist ka eriti suurt nõudlust.

_ _ _ _ _ _ _ _ _ _

Ja jõudsingi suure ringiga tagasi ja ei jõudnuki järeldusele, kuhu suunas edasi liigun ?

Järsku üldse liikuda mikrokontrollerite programmeerimise peale (küsimus jällegit kuidas lood leiva ja nõudlusega)

Seni kuni ma lihasevalu põen … mille põhjustas suur sportlikult aktiivne mõtlemine – oskavad ehk lugejad pakkuda suundi ! Tänan juba ette !

.ee domeeni saamiseks tee firma ?

aprill 7, 2009 kirjutas tingmarprog

Vaatasin siin, kuidas üks päevaleht hõivab domeene…

http://www.eenet.ee/EENet/ee-whois.html

1. e24.ee – OÜ MAJANDUSUUDISED
Asutuse aadress: Gildi 1, Tartu 50095
Asutuse telefon: 7390304

1. tarbija24.ee – AS Postimees
Asutuse aadress: Gildi 1, Tartu, 50095
Asutuse telefon: 6662366

1. postimees.ee – AS Postimees
Asutuse aadress: Gildi 1, Tartu, 50095
Asutuse telefon: 6662366

1. tallinnapostimees.ee – Postimees Online OÜ
Asutuse aadress: Gildi 1, Tartu, 50095
Asutuse telefon: 666 2241

1. elu24.ee – Postimees Online OÜ
Asutuse aadress: Gildi 1, Tartu, 50095
Asutuse telefon: 666 2241

1. ilmajaam.ee – Postimees Online OÜ
Asutuse aadress: Gildi 1, Tartu, 50095
Asutuse telefon: 666 2241

2. Üldised reeglid

2. Üldised reeglid

1. Igale taotlejale võidakse registreerida üks domeen.
2. Iga organisatsioon peab tõendama oma registreeritust Eestis.
3. Organisatsioon peab omama Eestis Interneti püsiühendust või sellega võrdsustatud virtuaalserverit.
4. Otsustamisõigus alamdomeeni registreerimiseks või registreerimisest keeldumiseks on Eesti tipmise nimeserveri administraatoril (hostmaster@ns.kbfi.ee).
5. Apellatsioone käsitlevad IANAs registreeritud .ee administraatorid.

Reegel ütleb, et üks domeeninimi per firma ? Kus näeks kirjutamata reegleid … eriti huvitab, kuidas üks sama firma saab mitut domeeninime omada.

Tean, et seadust tehakse, mis selle üldise jama ära lõpetab, aga millal ta jõustub ?

Järjekordselt huvitav sait: www.chromeexperiments.com

märts 23, 2009 kirjutas tingmarprog

Sisuliselt kõik need sisud on Javascriptis tehtud,
meeletult on ikka pusitud.

Isiklikult soovitan:

http://www.chromeexperiments.com/detail/chiptunecom-gui/

Launch Experiment

Ja pidu algab :)

Huvitav link: op.süsteemide GUI areng läbi aastate

märts 16, 2009 kirjutas tingmarprog

http://www.webdesignerdepot.com/2009/03/operating-system-interface-design-between-1981-2009/

Tehke, mis tahate, aga nii mõnigi pilt tõi nostalgia tagasi…

Koodivaramu: protsessi poolt laetud DLLide loendamine ilma PSAPIta

märts 2, 2009 kirjutas tingmarprog

Vôtsin jälle oma koodivaramust lôigu, mida kunagi kasutasin, et teada saada, millised DLLid on protsess laadinud.

Algallikas

Vähemalt töötab W2K, WinXp all…Vistat pole veel proovinud

Milleks seda koodi vaja…ntx kirjutasin kunagi pcturva programmi, mul oli vaja kontrollida, et mingete troojakate dll’e ei laetaks minu protsessi. Pahalased oskavad PSAPit modifitseerida, undocumented asjadega jäävad jänni.

PSAPI ‘t teavad ju kôik.

CreateToolhelp32Snapshot + Module32First + Module32Next jne

Siin on selle alternatiivse koodi listing…


program procexpl;
{$APPTYPE CONSOLE}

// Ingmar Tammeväli
// http://ingmar.planet.ee

uses
SysUtils,windows;

type
PDebugModule = ^TDebugModule;
TDebugModule = packed record
Reserved : array [0..1] of Cardinal;
Base : Cardinal;
Size : Cardinal;
Flags : Cardinal;
Index : Word;
Unknown : Word;
LoadCount: Word;
ModuleNameOffset: Word;
ImageName : array [0..$FF] of Char;
End;

type
PDebugModuleInformation = ^TDebugModuleInformation;
TDebugModuleInformation = record
Count: Cardinal;
Modules: array [0..0] of TDebugModule;
End;

type

PDebugBuffer = ^TDebugBuffer;
TDebugBuffer = record
SectionHandle: THandle;
SectionBase : Pointer;
RemoteSectionBase : Pointer;
SectionBaseDelta : Cardinal;
EventPairHandle : THandle;
Unknown : array [0..1] of Cardinal;
RemoteThreadHandle: THandle;
InfoClassMask : Cardinal;
SizeOfInfo : Cardinal;
AllocatedSize : Cardinal;
SectionSize : Cardinal;
ModuleInformation : PDebugModuleInformation;
BackTraceInformation: Pointer;
HeapInformation : Pointer;
LockInformation : Pointer;
Reserved : array [0..7] of Pointer;
End;

type
TFNRtlCreateQueryDebugBuffer=Function(Size:Cardinal;EventPair: Boolean): PDebugBuffer; stdcall;

TFNRtlQueryProcessDebugInformation=Function(ProcessId,DebugInfoClassMask: Cardinal; var DebugBuffer: TDebugBuffer): Integer; stdcall;

TFNRtlDestroyQueryDebugBuffer=Function(DebugBuffer:PDebugBuffer): Integer; stdcall;

procedure kuvaLaetudDllid(const procID : dword);
const
PDI_MODULES = $01;
var

HNtDll: HMODULE;
RtlCreateQueryDebugBuffer : TFNRtlCreateQueryDebugBuffer;
RtlQueryProcessDebugInformation: TFNRtlQueryProcessDebugInformation;
RtlDestroyQueryDebugBuffer : TFNRtlDestroyQueryDebugBuffer;
// ***
DbgBuffer : PDebugBuffer;
Loop : Integer;

Begin
Try
Try

HNtDll:=LoadLibrary(

'ntdll.dll'

);
If HNtDll=0 Then
RaiseLastWin32Error;

RtlCreateQueryDebugBuffer := GetProcAddress(HNtDll,

'RtlCreateQueryDebugBuffer'

);
If Not Assigned(RtlCreateQueryDebugBuffer) Then
Exit;

RtlQueryProcessDebugInformation :=GetProcAddress(HNtDll,

'RtlQueryProcessDebugInformation'

);

If Not Assigned(RtlQueryProcessDebugInformation) Then
Exit;
RtlDestroyQueryDebugBuffer:=GetProcAddress(HNtDll,

'RtlDestroyQueryDebugBuffer'

);

If Not Assigned(RtlDestroyQueryDebugBuffer) Then
Exit;

// ***
DbgBuffer := RtlCreateQueryDebugBuffer(0, False);
If Assigned(DbgBuffer) Then
try

if RtlQueryProcessDebugInformation(procID,PDI_MODULES,DbgBuffer^) >= 0 then
if DbgBuffer.ModuleInformation.Count<255 Then
for loop := 0 to DbgBuffer.ModuleInformation.Count-1 do
with dbgBuffer.moduleInformation.Modules[Loop] do
writeln(

'Aadress:'

+inttohex(base,12)+

';'

+imageName);

finally
RtlDestroyQueryDebugBuffer(DbgBuffer);
end;

finally
If Boolean(HNtDll) Then
FreeLibrary(HNtDll);
end;

except
end;

end;

begin
writeln(

'Laetud DLLid ...'

);
writeln;
// mingi protsessi pid
kuvaLaetudDllid(windows.GetCurrentProcessId);
readln;
end.

Pean kiitma ühte mercedese parandamise kohta…

Veebruar 27, 2009 kirjutas tingmarprog

Aus olla, ma pole eriti kedagi kiitnud. Kogumuse remondifirmade ja ka esinduste, sutsti valmis kirves arve selga ning nägemist. Kas ka töötab hiljem minu mure.

Tekkis probleem auto enam käima ei läinud ja temp. kôikumiste aeg, käisin vist kôik firmad läbi, diagnostikad kôik korras. Probleem ikka ôhus, siis mu sôber ütles, et otsi Imre üles. Mina siis ei teadnud, kes see Imre on, otsisin googles seoseid ja sain firma nime - Lesven OÜ

Suptsi ja korras, poisid lahendasid probleemi poole päevaga.

Nüüd oli probleem konditsioneeriga, pump pidi terve mootori (jooksis kinni)…essu keerama. Vahepeal sôitsin nagu tankiga, soojust autosse ei tulnud, oletasin, kus tee asub. Mesakeskusest öeldi selline remondihind, et mul pôrkasid varbad vastu otsaesist.

Otsisin Imre ja ta tiimi üles, no annab ikka teda leida.

Suur-Sõjamäe 30, Orto territoorium enne 5 angaari vasakule, siis paremale, 8 angaar.

Sutspi ja valmis ning kôik töötab nagu 5 kopikat.

Respekt, Imre ja ta tiim ikka tôsised gurud ! Töö kiire ja korralik sôna otseses môttes

Kuidas foorumi spämmerid (phpBB) captcha’st läbi tungivad !?

Veebruar 2, 2009 kirjutas tingmarprog

Seekord pigem küsimus teile arvuti spetsialistidele ehk oskate aidata.
Haldan ühte foorumit ja spämmerid kuidagi urlidega mängides suudavad mingi nädalas korra ennast regada.

Varem oli nö lihtne “captha” peal, seal polnud mingit vaeva ocr tekstituvastusega tehti 1:0.
Nüüd gd tüüpi captha phpBB3 peale keeratud, piisavalt müra ja jooni lisatud. Tähed varieeruvad jne

Aga mingi imeline url on, mida nad proovivad ja mingi hetk õnnestub ka (blind sql injection ?). Kas mul mõni phpBB uuendus jäänud panemata? Peaks olema viimased koodid.

POST: posting.php?mode=reply&f=3&sid=ed1622df26a043c08bfb2f28b3160f17&t=4%2B%255B0,109157,6248%255D%2B-%253E%2B%255BN%255D%2B

POST: posting.php?mode=reply&f=3&sid=ed1622df26a043c08bfb2f28b3160f17&t=4%2B%255B0,109157,5287%255D%2B-%253E%2B%255BN%255D%2B

POST: posting.php?mode=reply&f=3&sid=ed1622df26a043c08bfb2f28b3160f17&t=4%2B%255B0,109157,6214%255D%2B-%253E%2B%255BN%255D%2B

Kõikides logides on sama sid ja t parameeter !

MSSQL : Hoiame infot bitmaskide abil…

Veebruar 2, 2009 kirjutas tingmarprog

On olukordi, kus vaja hoida kirje kohta staatusi; ala töödeldud, viga (võib olla mitu viga), täiendavat infot.

Variandid:

  • teha tabelile kõvasti bit välju, muudaks tabeli suht koledaks
  • teeks teise tabeli, mis hoiaks antud kirje staatusi. Raiskame ketast ning muudame päringud kohmakaks

DOS ajast külge jäänud komme bitte kasutada. Jaotasin ära bitid loogilisse vahemikku, mis on väga tähtis
Veabitid jätke alati viimaseks !

Kokku 32 staatus, kui 0 ka arvestada :
0 – siis tähendas, et kirjet pole üldse töödeldud

– töödeldud edukalt
2^0=1

– milline programm muutis/töötles kirjet (4 programmi sai muuta)
2^1=2
2^2=4
2^3=8
2^4=16
– reserveeritud
2^5=32
2^6=64
2^7=128
2^8=256
– kirje täiendavad infobitid
2^9=512
2^10=1024
2^11=2048
2^12=4096
2^13=8192
2^14=16384

– töötlemisel tekkinud vead (16 tk), 7 reserveeritud
2^15=32768
2^16=65536
2^17=131072
2^18=262144
2^19=524288
2^20=1048576
2^21=2097152
2^22=4194304
2^23=8388608
2^24=16777216
2^25=33554432
2^26=67108864
2^27=134217728
2^28=268435456
2^29=536870912
2^30=1073741824

Näiditabel siis:

create table bitmaania
(vagavajalikudandmed varchar(255),
staatused int not null default 0)
go
create index bitmaaniatavalineindx on bitmaania(staatused)

Paneme mõned kirjed ka:

insert into bitmaania(vagavajalikudandmed,staatused)
values(’JAMA 1′,2|32768 )
go
insert into bitmaania(vagavajalikudandmed,staatused)
values(’JAMA 2′,8|2097152|134217728 )
go
insert into bitmaania(vagavajalikudandmed,staatused)
values(’ÜKS ÕNNESTUNUD KIRJE’,1|4|8192 )

Tulemus tabelis…

Päringu tulemus:

JAMA 1 32770
JAMA 2 136314888
ÜKS ÕNNESTUNUD KIRJE 8197

Teeme päringu, anna kõik korrektsed kirjed

Teoorias nagu kõik õige, kui bitmaskide loogikat kasutada. Aga tegelikkuses pole lood nii ilusad, sest mõlema näite puhul ei kasutata indeksit (forced index ei anna ka midagi).

SELECT [vagavajalikudandmed]
,[staatused]
FROM [test].[dbo].[bitmaania]
where staatused & 1=1

või mittekorrektsed

SELECT [vagavajalikudandmed]
,[staatused]
FROM [test].[dbo].[bitmaania]
where staatused & 1!=1

Nüüd peame esitama küsimuse, kas me teeme ainult otsingut ainult stiilis anna kõik korrektsed ja mittekorrektsed kirjed või tahame otsida ka veakoodide järgi.

Kui tõesti vaid esimene variant, siis võib bitmaaniatavalineindx kasutada. See olukord eeldab, et kirjel peab alati olema töödeldud staatus. Sest suvaline infobit märgiks, et kirje töödeldud.

SELECT [vagavajalikudandmed]
,[staatused]
FROM [test].[dbo].[bitmaania] with (index (bitmaaniatavalineindx))
where staatused>0 and staatused<32768

Aga saab ka kavalamalt teha,
et kas ikka reaalselt ka töödeldud bit olemas !

alter table [test].[dbo].[bitmaania]
add okrecs as cast(staatused & 1 as bit)
go
create index okbit on [test].[dbo].[bitmaania](okrecs)

– anname indeksi ette,
– et mssql server ennast üle ei mõtleks !
SELECT [vagavajalikudandmed]
,[staatused]
FROM [test].[dbo].[bitmaania] with (index (okbit))
where okrecs =1

Näiteks soovime ainult kirjeid, millel viga:
2^21=2097152

SELECT [vagavajalikudandmed]
,[staatused]
FROM [test].[dbo].[bitmaania] with (index (bitmaaniatavalineindx))
where staatused>=2097152 and staatused<=4194303

Bitmask pole paha stiil andmebaasinduses, aga seda tuleb osata kasutada !

Lõppu hariv sql lause, millega saate 2 astmete väärtustega tutvuda

set nocount on
declare @btmasks table (temp varchar(255))
declare @cnt int
set @cnt=0

while @cnt<31
begin
insert into @btmasks
select ‘ 2^’+CAST(@cnt as varchar)+’='+cast(power(cast(2 as bigint),@cnt) as varchar)
set @cnt=@cnt+1
end
– 2^31 – 1 viimane bait on negatiivsuse lipp, seda kasutada ei ole hea

select temp as bmaskval from @btmasks

Freeware/OS 3 lühikest foorumi postitust, mis garanteerivad, et keegi sind enam ei kuula

jaanuar 31, 2009 kirjutas tingmarprog

- teie toode on liialt aeglane (tsenseeritud sõnad) ja ma otsin uue
- olgu see viga kohe parandatud, kaua ma ootama pean
- miks pole minu featuret lisatud, kas (piip) te ei saa aru, kui vajalik see on

Inimesed peavad hakkama ükskord arusaama, et Freeware ja open source projektid tihti entusiastide poolt arendatavad tooted. Nende liikmed EI PEA midagi tegema, kui nad ei taha või pole aega.
Eriti iroonilised on minu silmis need inimesed, kes tulevad foorumisse haukuma ilma, et oleks kasvõi väikest donationit teinud. Kui lähtekoodiga projektid paranda ise, aga seda tihti ei osata.

Korralik foorumipostitus, mis ka tähelepanu tõmbab ning probleemiga tegelema paneb. Igasugust haukuva stiiliga postitust lihtsalt ingoreeritakse või üldse kustutatakse.

Tere…

Räägid ära väga väga detailselt oma mure, tood näited.

Lõppu

Tänan…
nimi
ala teie projekti suur fänn

See postituse stiili probleem pole üldsegit Eesti probleem, antud teema peaaegu kõikjal maailmas.