Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  jintervals - ajavahemike formaatimise library märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 01.02.2009 12:58:58 jintervals - ajavahemike formaatimise library vasta tsitaadiga

Paljudes programmeerimiskeeltes on olemas funktsioon kuupäeva ja kella-aja formaatimiseks. Näiteks midagi sellist:

date_format(timestamp, "%d/%m/%Y");

Kuid mitte kusagilt pole ma suutnud leida funktsiooni ajavahemike formaatimiseks. Midagi, mis võtaks sekundites esitatud aja ja siis arvutaks mitu minutit, tundi ja päeva see on.

Kuna ma midagi sellist pole suutnud leida, siis arendasin sellise funktsiooni ise - JavaScriptis. Andsin talle nimeks jintervals ning jagasin maailmale GPL-i all välja (edit: nüüd LGPL). Mõned koodinäited:

// kümnendkohtade arvu määramine
jintervals(65, "{MM}:{ss}"); --> 01:05

// ühest väiksemate ajavahemike peitmine
jintervals(88, "{M?:}{s}"); --> 1:28
jintervals(28, "{M?:}{s}"); --> 28

// ühikute näitamine koos lokaliseerimisega
jintervals(75, "{Minutes} ja {s.}"); --> 1 minut ja 15s

Tervikliku ülevaate süntaksist leiab dokumentatsioonist

Ootaks teie arvamusi, ettepanekuid. Võibolla on midagi sellist juba kusagil olemas?

EDIT: Lisasin kodulehele nüüd ka võimaluse asja live'is proovida.

_________________
Mõistus otsas? Pane pinusse...


viimati muutis nene 02.02.2009 13:13:13, muudetud 2 korda
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
inzinz
HV kasutaja

liitunud: 26.01.2005




sõnum 01.02.2009 17:44:32 vasta tsitaadiga

Litsentsivaliku kohta küsimus: miks just GPL, miks mitte MIT või LGPL ? Või vähemalt MIT ja GPL dual-litsents.
Idee on ju GPL'l ilus ja tore, et keegi ei saa oma projektis sinu koodi kasutada varjatult, aga kui tahad asjaga massidesse jõuda siis kuna palju softi on closed sourcena ikkagi, siis rangelt GPL kasutamine lõppeb sellega et võetakse jupid sinu koodist, tehakse ümber ja enda jaoks sobivaks, ning mitte keegi ei saa aru et just sina olid selle koodijupi taga. Ja katsu siis tõestada et sul on copyright sellele regex reale või tollele funktsioonile. LGPL või MIT puhul tehakse sellist võimlemist ja rikkumist vähem kuna see ei kaasa endaga kohustust kogu oma projekti source kood avaldada.

Vaevalt jQuery oleks niivõrd populaarne kui nad oleks dual (GPL või MIT) License asemel ainult GPL valinud...
Ja lisaküsimus, et miks kasutad just {m} stiili (nagu ka C#'s on) mitte aga näiteks %m nagu sinu enda postis toodud näites date_format(timestamp, "%d/%m/%Y"); ?

_________________
Upload.ee - eestimaine failiupload
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 01.02.2009 20:07:53 vasta tsitaadiga

inzinz kirjutas:
miks just GPL, miks mitte MIT või LGPL?

Peamiselt ideoloogilistel kaalutlustel. Aga su jutus on iva.

Uurisin seda asja nüüd veidi ja paistab, et JavaScripti ja GPL-i osas valitseb suur segadus. GPL ütleb, et kui su tarkvara sisaldab GPL-ga koostisosi ja sa oma tarkvara levitad, siis pead sa kogu oma tarkvara GPL-i all välja jagama. Suur küsimus on seega, kas see kui su server saadab kasutaja brauserisse JavaScripti on tarkvara levitamine? Ja kui on, kas sa pead siis GPL-i all avaldama ka serveripoolse koodi või piisab üksnes ülejäänud JavaScripti koodi avalikustamisest?

Kuna pikk otsing internetis sellele selget vastust ei andnud, siis otsustasin muuta oma litsentsi ikkagi LGPL-iks, et vältida kogu seda suurt segadust.

inzinz kirjutas:
miks kasutad just {m} stiili (nagu ka C#'s on) mitte aga näiteks %m nagu sinu enda postis toodud näites date_format(timestamp, "%d/%m/%Y"); ?

Kuna mu koodid on varieeruva pikkusega, siis on mul tarvis nii algus kui lõpusümbolit - vastasel juhul on võimatu öelda kuskohas lõpeb kood ja algab tekst. Kaalusin ka varianti %m%, kuid kaks % märki ei moodusta head paari - pead hoolikalt vaatama, et aru saada, millal on % algussümboli ja millal lõpusümboli tähenduses.

Muide, sellest C# asjast ei teadnud ma midagi. Tore teada. Kui C# seda samuti kasutab, siis ei pea ma muretsema, et mu süntaks on liialt unikaalne.

_________________
Mõistus otsas? Pane pinusse...
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 01.02.2009 20:42:47 vasta tsitaadiga

Ei näe erinevust et kus lehe kood jookseb, et kas serveris või kliendis, sinu looming on ju mõlemal juhul.
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 01.02.2009 20:51:44 vasta tsitaadiga

mikk36 kirjutas:
Ei näe erinevust et kus lehe kood jookseb, et kas serveris või kliendis, sinu looming on ju mõlemal juhul.

Mis sa sellega öelda tahad?

EDIT:

Mõeldes seda GPL teemat edasi...

Eeldame, et javascripti saatmine kliendi arvutisse on programmi levitamine.

Mul on serveris PHP programm, mis kasutab GPL all olevat PHP koodijuppi. Server saadab kliendile ka JavaScripti - see on täielikult minu kirjutatud. JavaScript aga moodustab koos ülejäänud programmiga terviku - iseseisvalt on JavaScript kasutu.

Kuna JavaScripti brauserisse saatmine on programmi levitamine, ning JavaScript on osa programmist, mis sisaldab ka GPL-i all olevat koodi, siis pean ma kogu oma koodi GPL all avalikustama.

See aga minu meelest küll levinud praktika pole.

_________________
Mõistus otsas? Pane pinusse...


viimati muutis nene 01.02.2009 21:10:52, muudetud 1 kord
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 01.02.2009 21:02:33 vasta tsitaadiga

Aa deem, lugesin nüüd uuesti üle jutu, jäi endale vast segaseks.
Tarkvara levitamiseks ei nimetaks seda, kui Javascript brauserisse loetakse, kuna see on vajalik programmi/süsteemi enda tööks ja brauser kasutab seda normaalreziimil töötades vaid sihipäraselt.
Levitaksid siis, kui paneksid püsti lingi alla laadimaks eraldi seda koodi.
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 01.02.2009 21:15:16 vasta tsitaadiga

Igati nõus.

Aga mu põhipoint oli see, et kogu see värk on üks segane teema, mistõttu ma hetkel parem väldin oma tarkvara sellise suure küsimärgi alla panemist.

_________________
Mõistus otsas? Pane pinusse...
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  jintervals - ajavahemike formaatimise library
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.