- Monitortrió a Samsungtól, köztük egy 500 Hz-es QD-OLED-del
- AI-alapú felskálázót fejleszt az ultramobil piacra az ARM
- Új Vulkan implementációt hoz az Apple rendszerchipekre a LunarG
- Az OpenAI szerint Musk zaklatási kampányt indított, a bíró nem állt Musk mellé
- Kiválthatja az AI az egeret és a billentyűzetet?
- Második verzió: DeepCool LE360 V2 processzorhűtő
- AMD Navi Radeon™ RX 9xxx sorozat
- 3D nyomtatás
- Szünetmentes tápegységek (UPS)
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Calibre, az elektronikus könyvtár
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Először égett le egy újságnál a GeForce RTX 5090
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Projektor topic
-
PROHARDVER!
Új hozzászólás Aktív témák
-
Bambula5
csendes tag
válasz
fordfairlane #9299 üzenetére
Köszönöm... akkor megpróbálom megoldani
-
fordfairlane
veterán
-
Bambula5
csendes tag
válasz
fordfairlane #9295 üzenetére
Table "public.users"
Column | Type | Modifiers
------------+-----------------------+----------------------------------------------------
id | bigint | not null default nextval('users_id_seq'::regclass)
first_name | character varying(20) | not null
last_name | character varying(20) | not null
Indexes:
"pk_users" PRIMARY KEY, btree (id)
Foreign-key constraints:
"fk_users_1" FOREIGN KEY (id) REFERENCES products_reviews(user_id)Table "public.products_reviews"
Column | Type | Modifiers
----------+---------+-------------------------------------------------------------
id | bigint | not null default nextval('products_reviews_id_seq'::regclass)
star | integer | not null
comment | text | not null
product_id | bigint |
user_id | bigint |
Indexes:
"pk_products_reviews" PRIMARY KEY, btree (id)
"pk_products_reviews_0" UNIQUE CONSTRAINT, btree (product_id)
"pk_products_reviews_1" UNIQUE CONSTRAINT, btree (user_id)
Referenced by:
TABLE "products" CONSTRAINT "fk_products_3" FOREIGN KEY (id) REFERENCES products_reviews(product_id)
TABLE "users" CONSTRAINT "fk_users_1" FOREIGN KEY (id) REFERENCES products_reviews(user_id) -
Bambula5
csendes tag
válasz
fordfairlane #9292 üzenetére
a belinkelt schema nem teljesükörű!
Nem a Users táblánnál veszem fel a foreign keyt, hanem a review táblánál adnám meg a user_id-t. Viszont nem enged felvenni addig Usert, amíg az összes olyan táblában nem veszek fel rekordot user_id-val, ami kapcsolatban áll a user táblával...
De nem csak a user táblával vagyok így, hanem az összes többi táblával is. Ha egy tábla kapcsolatban áll egy másik táblával, akkor csak úgy tudok rekordot felvenni az adott táblánál, ha a kapcsolódó tábláknál is veszek fel rekordott az adott foreign key-el...
Nem tudom hogy mennyire érthető amit leírtam, de gondolom nem úgy kellen működnie, hogy csak akkor vehetek fel pl. egy új terméket, ha az összes általam tárolt adattípusú attribútomhoz adok hozzá értéket, hiszen pont az lenne a lényege hogy a tulajdonságok csak bizonyos termékkörhöz tartozzanak és ne az összes termékhez.
-
bambano
titán
válasz
Sk8erPeter #9290 üzenetére
ezt írta a #9209-ben:
"A T12 az idő benne, este 23 óra felé érkezik a következő modell futás, abban már T18 lesz nem 12, aztán holnap hajnalba jön az éjféli, akkor változik a dátum, és T0 lesz, aztán jön a T06, T12 T18, aztán következő nap változik a dátum megint és kezdődik újra T0 val."
tudom, rég volt, vagy 10 napja
szóval minden kerek negyednapkor elindul valaki másnál egy program az akkor aktuális adatokkal, ami előre nem megjósolható ideig fut, de várhatóan 5 órát, és amikor lefutott, akkor teszi ki az eredményt. tehát minden negyednap végefelé érdemes megkísérelni a letöltést.
-
Sk8erPeter
nagyúr
válasz
olivera88 #9278 üzenetére
Hát akkor nem értem, mikor melyik jelenik meg, mert nem írtad le egyértelműen. Ahogy én megírtam a scriptet az alapján, amit korábban írtál, így értelmeztem:
- éjfélkor megjelenik a T00 változat
- hajnali 6-kor megjelenik a T06
- déli 12-kor megjelenik a T12
- este 18h-kor megjelenik a T18Ennek megfelelően is akarja letölteni a fájlokat a script. Mivel 18:20-kor írtad a hsz.-t, ezek szerint 18h után próbáltad, tehát pont azt csinálta a script, amit mondtam neki (az értelmezés alapján úgy működik, ahogy kell). Ezek szerint a szerveren mégsem akkor jelenik meg az adott fájl, de akkor írd le, hogyan. Csak most úgy írd le lehetőleg, hogy ne kelljen visszakérdezni.
(#9279) bambano:
"az időpont kiszámításának módszere miatt nem indíthatod akármikor."
Pont az lett volna a scriptem lényege, hogy akármikor elindítva az aktuális legfrissebbet töltse le. Az alapján, amit korábban írt a kolléga, úgy volt értelmezhető, hogy ha elmúlt 18h, de még éjfél előtt van, akkor a referencetime paraméterben épp a T18 szerepeljen. (A script ezt is csinálja.) Hát ezek szerint nem úgy van, de hát ha nem írja le egyértelműen a specifikációt, akkor ez van. -
Bambula5
csendes tag
válasz
bambano #9285 üzenetére
Huhh ezt nem igazán értem...
Ha lebontom a kapcsolatot, akkor a már meglévő felhasználók meglévő review-jai között nem lesz kapcsolat. Viszont ha nem bontom le, akkor nem tud beregisztrálni egy új felhasználó, mert nem írt egy termékhez sem review-t? Az a baj hogy rengeteg olyan táblám van, amik között kapcsolat van, viszont nem feltétlen tartozna minden egyes rekordhoz a hozzá köthető táblákban is egy-egy rekord...
-
Bambula5
csendes tag
A létrehozott adatbázisom (postgresql) szeretném feltölteni adatokkal, viszont már az elején elvérzek..
Amikor egy felhasználót szeretnék felvenni a "users" nevű táblába nem engedi elmenteni a rekordot:
"org.postgresql.util.PSQLException: ERROR: insert or update on table "users" violates foreign key constraint "fk_users" Detail: Key (id)=(5) is not present in table "reviews".
Ha jól értelmezem, akkor addig nem engedi elmenteni az új felhasználót, amíg nem hozok létre egy hozzá tartozó "review"-t. Miként tudom megoldani, hogy úgy is el tudjak menteni adatokat táblákba, hogy a kapcsolt táblákba ne kelljen létrehoznom hozzá tartozó rekordokat?
-
adamch4
tag
válasz
Jim Tonic #9281 üzenetére
ja, azt nem említettem, hogy nem a saját webkamerámról lenne szó, hanem a neten található városi webkamerákról. nos, a Preview, amit a honlap forráskódjában találtam elég ritkán frissíti magát és még csak nem is egyforma időintervallumban, hogy hozzáigazíthatnám a scriptet, szóval mégis jó lenne valamilyen megoldás, amivel bizonyos időközönként kilehetne exportálni egy-egy képkockát a videókból, és valahová feltölteni azokat.
-
adamch4
tag
válasz
Jim Tonic #9281 üzenetére
húúh, szerencsére a honlap forráskódjában, amin az élőkép elérhető megtaláltam egy Preview-t, aminek változatlan az elérési útja, így ezzel a kivételes esettel megoldottnak látszik az ügy
már fel is kerültek az első képek, de azért szívesen várom a konstruktív javaslatokat, mit lehetne még kihozni belőle -
adamch4
tag
Sziasztok!
Élő webkamera képeket szeretnék automatikusan (pl. óránként) posztolni fb-on, csupán arra lennék kíváncsi, hogyan lehetne automatikusan lementeni a képeket streaming videókból és feltölteni egy tárhelyre? Elképzelésem szerint mindig csak egy, meghatározott nevű és kiterjesztésű kép lenne elmentve a tárhelyre, hogy az elérési útvonal ne változzon, így egy egysoros ütemezett parancssorral fel is kerülhetne fb-ra (eddig csak ez a része van meg, igaz még csak ma álltam neki). Köszönök minden építő jellegű hozzászólást és ha véletlenül nem jó tpoikba írtam, légyszi irányítsatok át, köszi.
-
olivera88
veterán
válasz
Sk8erPeter #9267 üzenetére
Most jutottam csak oda h kipróbáljam.
A 12 es legfrissebb most, de helyette letöltött egy 18 órás dátumú szöveg fájlt. Valamit változtatni kell. Igen scriptbe teszem.
-
zsinor008
tag
Sziasztok.
A segítségeteket / tanácsotokat kérném egy probléma megoldásában amely a következő lenne.
Adott egy lap szabász gép ( selco eb 70 l active ) ami egy számítógépen futtatott program vezérel ebbe a programba szeretném be illeszteni az adatokat amelyeket felvittek előzőleg az irodában.
Adatokat az irodisták excel fájlként mentik .
A legnagyobb segítség abban kellene hogy ezeket a karaktereket hogyan tudom be illeszteni a vezérlő programba az eddigi el gondolásom az hogy egy makró segítségével ki mentem a szükséges adatokat (hossz ,szélesség ,darabszám az adott elemből) .txt fájlba majd ebből beolvasom és beillesztem.
Remélem jó helyre írtam viszont ha nem akkor legyetek kedvesen át irányítani a meg felelő helyre. -
válasz
Bambula5 #9269 üzenetére
Csinálj egy külön táblát a stringeknek, kb így:
LocalizedStrings
StringID - a string azonosítója
LanguageID - a nyelv azonosítója
String - maga a string(A StringID nyilván nem lesz unique, mert ha három nyelvet támogatsz, akkor háromszor fog szerepelni.)
Aztán ott, ahol most varchar-ok vannak, azokat cseréld le egy StringID mezőre.
(#9270) Jim Tonic: a productname önmagában kevés lesz, mert pl. a tulajdonságok neveit, ha stringek, akkor az értékeit meg a kategóriákat is lokalizálni kellene, meg ha beesnek egyéb stringek is később, akkor azokat is
-
-
Bambula5
csendes tag
válasz
Jim Tonic #9268 üzenetére
Valóban ezt írtad le, csak úgy néz ki nem tudtam megfelelően dekódolni
Több nyelvűre szeretném elkészíteni az oldalt, viszont nem igazán értem hogy mit értesz az alatt hogy külön táblába tegyem a megnevezéseket...
Csak a termékek megnevezésére gondoltál vagy esetleg valami másra? -
Sk8erPeter
nagyúr
válasz
olivera88 #9244 üzenetére
Na, most volt pár percem, ki tudtam próbálni, úgyhogy bepötyögtem neked egy rövid megoldást.
Így értettem (nem fogalmaztam jól), hogy 1 nap négyféle referencetime fordulhat elő az alapján, amit írtál:2015-11-04T00:00:00Z
2015-11-04T06:00:00Z
2015-11-04T12:00:00Z
2015-11-04T18:00:00ZHogy az adott napon az aktuális frissebbet mindig le tudd tölteni (feltételezve, hogy mindig rendelkezésre áll a szerveren az adott referencetime-mal ellátott fájl), itt egy egysoros, ez megoldja:
current_hour=$(date '+%k'); let result=($current_hour/6)*6; referencetime="$(date '+%Y-%m-%d')T$(printf "%02d" $result):00:00Z"; wget --content-disposition "http://dcpc-nwp.meteo.fr/services/PS_GetCache_DCPCPreviNum?token=__5yLVTdr-sGeHoPitnFc7TZ6MhBcJxuSsoZp6y0leVHU__&model=ARPEGE&grid=0.1&package=SP1&time=00H12H&referencetime=$referencetime"
Ha ki akarod rakni egy scriptbe, ami határozottan jobb megoldás lenne (a one-liner magic nem túl áttekinthető), akkor szétbontva (adj a scriptednek futtatási jogot (chmod +x fájlnév), úgy már mehet):
#!/bin/bash
current_hour=$(date '+%k')
let result=$current_hour/6*6
referencetime="$(date '+%Y-%m-%d')T$(printf "%02d" $result):00:00Z"
url="http://dcpc-nwp.meteo.fr/services/PS_GetCache_DCPCPreviNum?token=__5yLVTdr-sGeHoPitnFc7TZ6MhBcJxuSsoZp6y0leVHU__&model=ARPEGE&grid=0.1&package=SP1&time=00H12H&referencetime=$referencetime"
wget --content-disposition "$url"Röviden annyi a lényeg, hogy mivel csak T00, T06, T12 és T18 fordulhat elő, megnézzük, hogy az aktuális időhöz képest melyiket hagytuk már el (a 00 nyilván éjfél, 06 a hajnali 6, 12 dél, 18 este 6), két számjegyűre alakítjuk (pl. ne T6 legyen, hanem T06), aztán összepakoljuk a komplett stringet, és letöltjük. A wget --content-disposition paramétere épp azt oldja meg, hogy a fájlnév helyes legyen, ne forduljon elő az a probléma, amit itt említettem (hogy a fájlnév megegyezik az URL-ben szereplő résszel, legyen az a fájlnév, amit a szerver a böngészőnek is ki akar szolgálni).
(Biztos lehet szebben is, most ennyi idő alatt ez jött ki.)
-
Inkább ide, mint a kolléga topicját szemeteljem...
Szóval, van valami Game Maker szerű framework IOS-re?
A lányom már több, mint egy hónapja rágja a fülem hasonlón, de ahogy néztem a Game Maker Studio Windows only (viszont nincs kedvem dual-bootozni a MacBook Pro-mon). 2D, körökre osztott vagy realtime Construction Management típus volna az első projekt. Mivel még csak 9 éves és nincs konkrét programozási ismerete (az angol sem acélos még), így egy komplett framework kellene. Scratch-et próbáltam, de nekem elsőre túlságosan szimplisztikus; bár a magyar fejlesztői nyelv elsőre előnynek tűnhet.
-
Bambula5
csendes tag
válasz
bambano #9252 üzenetére
Végiggondoltam amit írtál, illetve egy kicsit utánaolvastam a dolgoknak...
Találtam egy EAV nevezetű modelt, ami az általam felvázolt problémát orvosolja. Alapvetően ez a model is egy táblába helyezi az értékeket független annak típusától, viszont találtam egy bővített változatot amit megpróbáltam átültetni a saját schemambaEzzel ki tudok alakítani termék típusokat, amiknek meg tudom adni hogy milyen tulajdonságai vannak, majd ezeket a típusokat rendelem hozzá a termékekhez. A termékek tulajdonságait különböző táblák tárolják annak megfelelően, hogy milyen típusú változóban szeretném tárolni annak értékét.
Szerintetek így már működhet a dolog?
-
Sk8erPeter
nagyúr
válasz
bambano #9250 üzenetére
Ha cronnal pontosan beállítja, hogy ez mikor fusson le, akkor működik, de amúgy nem igazán foolproof, mert más időpontokban meg nem fog működni (pl. ha most lefuttatja). Igazából a scriptben csak azt kellene eldönteni, hogy elhagytuk-e már azt az időpontot, amikor a T00, T06, T12, T18 verzió megjelent a fájlból. Nem egy nagy cucc, de most nincs nálam Linux, hogy kísérletezzek, meg igazából kedvem sincs megírni helyette.
Na majd talán este, ha addig nem írja meg más.
-
inf3rno
nagyúr
Jó hát mondjuk egy voltdb vagy egy nuodb 1000 000 TPS-t tud clusterbe szétszórva kb 20 gépre, egy postgres meg 10 000 TPS-t egyedül és a cluster elég nehezen megy neki, nagyjából ennyi a különbség ezek között. Amúgy nem vagyok egy nagy db expert, csak olvasgattam kicsit a témában. Nekem az a benyomásom, hogy az említett projektre a postgres bőven elég lesz. Az is előny nála, hogy elmegy egy gyengébb szerveren is, szemben ezekkel a nagyobb jószágokkal, szóval ha indulásnál esetleg mégsem lenne millió sor, akkor fokozatosan lehetne fejleszteni a szervert is, ahogy nő a terhelés.
-
-
olivera88
veterán
válasz
bambano #9250 üzenetére
És a link mely részébe illesztem be ezt amit írtál?
Így próbáltam de semmi reakció, megjelenik a terminálban egy > jel
wget "http://dcpc-nwp.meteo.fr/services/PS_GetCache_DCPCPreviNum?token=__5yLVTdr-sGeHoPitnFc7TZ6MhBcJxuSsoZp6y0leVHU__&model=ARPEGE&grid=0.1&package=HP1&time=61H72H&referencetime=$(date -d '5 hours ago' '+%Y-%m-%dT%H-00-00')"Ez az eredeti link:
http://dcpc-nwp.meteo.fr/services/PS_GetCache_DCPCPreviNum?token=__5yLVTdr-sGeHoPitnFc7TZ6MhBcJxuSsoZp6y0leVHU__&model=ARPEGE&grid=0.1&package=HP1&time=61H72H&referencetime=2015-11-02T12:00:00Z
-
válasz
Bambula5 #9251 üzenetére
Oké, ebben az esetben nincs is nagyon más választásod.
Mondjuk így elsőre nem igazán tudom, ez miért jó neked. Nem lenne jobb úgy kialakítani a kategóriákat, hogy erre ne legyen szükséged? Addig visszamenni egy fán, míg elérsz egy közös pontig, és onnan lefelé az első szinttel kezdeni.
A többit nagyjából írta Bambano közben. Ha annak végére értek, folyt köv., ne futtassunk 3 szálon, mert nincs értelme.Bambano: "van, a régebbi netbeansek, pláne visualwebpack-kel súlyosbítva, meg sem nyikkantak elsődleges kulcs nélkül." Ok, félreértettelek, az elsődleges kulcs oké, azt hittem, arra gondolsz, az ID mező kötelező.
-
bambano
titán
válasz
Bambula5 #9245 üzenetére
ez így konkrétan pont nem jó, ha a values of properties kapcsolódik a properties of productshoz, akkor ha egy értéket törölsz a values of properties táblából, szétszakad a tranzitív kapcsolat a termék és a terméktulajdonság között.
én úgy csinálnám, hogy van a termék, mint szülő a gráfban, annak a gyereke a terméktulajdonság, annak a gyereke a terméktulajdonság érték.
persze ezzel már sérül a konzisztencia szerintem, mert mi van akkor, ha ugyanolyan termékből van több, ami csak egy tulajdonságában különbözik? pl. szeletelt karaj, tálcás csomagolásban, 20 deka és 50 deka.
szerk: másik probléma: ha nincs közvetlen kapcsolat a termék és a terméktulajdonság táblák között, akkor nem fogod tudni összeállítani azt az űrlapot, amivel felviszed egy adott termék tulajdonságtípusainak értékeit. tehát honnan fogja tudni a programod, hogyha cipőt visznek be, ott kell a lábméret, ha meg tejet, ott a liter?
-
bambano
titán
válasz
olivera88 #9244 üzenetére
ha lehet fixre venni a dátumok változását, vagy legalább elég pontosan becsülni, akkor nem kunszt a probléma.
a date parancs tud nem aktuális időpontra dátumot kreálni, tehát ha tudod, hogy pl. este 10-kor már biztosan ott van az aktuális jelentés, akkor csinálhatsz ilyet:
wget "http://blabla$(date -d '5 hours ago' '+%Y-%m-%dT%H-00-00')blabla.html"
most arra próbálok célozni, hogyha hat órás intervallumokban jön a jelentés, amely hat órának az elején még nem biztos, hogy kint van, de mondjuk az utolsó egy órában biztosan kint van, akkor a fenti paranccsal este 11 és éjfél között bármikor le tudod szedni a 18 órai jelentést, és így tovább.
-
bambano
titán
válasz
Jim Tonic #9243 üzenetére
én mostanában már minden táblát ezzel kezdek, ha kell, ha nem.
utólag rendszerint kiderül, hogy jól tettem.
oké, hogy elsődleges kulcsot a kívánalmak szerint kell összeállítani, de ezek a kívánalmak különbözőek. kell valami kulcs az adatbázis és az alkalmazás belső logikája szerint, meg kell valami kulcs a felhasználói felület logikája szerint. a kettő nem mindig egyezik. mert lehet, hogy nem kell az adatmodell szerint kulcs a tulajdonságtípusok táblához, de a tábla karbantartásához meg jól jön, akkor én rakok."Fejlesztőkörnyezet van ilyen?": van, a régebbi netbeansek, pláne visualwebpack-kel súlyosbítva, meg sem nyikkantak elsődleges kulcs nélkül.
-
-
inf3rno
nagyúr
Ja úgy nézem, hogy Nuo-nak van REST API-ja, de van VoltDB-nek is, meg szinte az összes új adatbázisnak már. Én pl Neo4j-t használtam REST API-n keresztül, az is elment. Ha egyszerre nem küldesz át rajta sok adatot, akkor meg nem is igazán lassít. [link]
-
inf3rno
nagyúr
válasz
Bambula5 #9245 üzenetére
A NuoDB newSQL, nem noSQL. Van egy csomó új fajta SQL adatbázis , amik sokkal gyorsabbak a régebbieknél, és lazán eljátszadoznak több millió sorral. [link] Ruby-val a látottak alapján talán jobban jársz, ha maradsz a régieknél, esetleg kipróbálsz olyan adatbázist, aminek van REST API-ja (általában szokott lenni), így kikerülheted azt a problémát, hogy nincs csatoló. Gondolom HTTP-t csak tud a ruby valami cURL-el vagy hasonlóval.
-
Bambula5
csendes tag
válasz
Jim Tonic #9237 üzenetére
Bocs, ha kicsit félrevezetően jelöltem a dolgokat. Beszúrom hogy miként alakítottam át az általatok leírtaknak...
Az a problémám, hogy tényleg nincs kihez fordulnom a témában. Többek között ezért is köszönöm a segítséget.
@inf3rno: én is úgy láttam, hogy a noSQL nem nagyon jöhet szóba. A rubyt azért választottam, mert gyorsan lehet vele haladni, ami most nálam nagyon fontos. Egyelőre egy szervert bérelnék a projektnek és ha jövedelmezővé válna a dolog akkor tovább gondolkodhatok hogy miként tovább.
-
olivera88
veterán
válasz
Sk8erPeter #9220 üzenetére
Nem, egy nap csak 1 féle dátum, a T változik csak négyszer azokkal az órákkal amit leírtam.
-
válasz
bambano #9241 üzenetére
Sosem használok ID mezőt, ahol nincs értelme (azaz szinte soha, kivéve, ha nincs szükség egyéb kulcsra, és egyáltalán nem gond, ha minden mező egyforma egy vagy több rekordnál. Ez igen ritka). Elsődleges kulcsot szerintem a kívánalmak alapján érdemes összeállítani. Azt nem tudom, van-e olyan DB, ami előírja (Oracle rémlik talán), de ha nem kötelező, nem látom értelmét. Fejlesztőkörnyezet van ilyen?
-
inf3rno
nagyúr
válasz
Bambula5 #9221 üzenetére
Elvileg a postgresql, amit írtál elég lehet. Ha túl lassú lenne, akkor váltanod kell noSQL-re vagy newSQL-re. Az utóbbiból nézegettem ruby-s gem-eket, NuoDB-hez volt valami tűrhető, de már azt is 2 éve nem fejlesztik, lehet, hogy fel se tudnád telepíteni, build failing-et ír a travis. [link] Nem egy jó nyelv ilyen szempontból a ruby, meg amúgy sem, legalábbis sokan nem szeretik. Én inkább távol tartom magam tőle.
-
bambano
titán
-
válasz
bambano #9236 üzenetére
Meghatározhatatlan jellemzők/adattípusok tárolására ilyen megoldást még nem láttam. Amit Te írsz, annak több értelmét látom úgy, ha a jellemzőfajtánként táblákat nyitunk, és abba létrehozunk megfelelő adattípusú mezőt. Akkor nem kell azon agyalnod a programban, hogy az adott jellemzőhöz milyen típusban van az adat letárolva, melyik mezőben. Szerintem.
@Bambano: Ok, szerintem ez meglátás kérdése, de legyen igazad. Az ID engem megzavart, azt hittem, a terméket érti rajta. Minek az első mező akkor?
-
válasz
Bambula5 #9235 üzenetére
Ez így rossz struktúra.
A tulajdonság táblának így fuss neki:
1. tulajdonság_tipus: integer, char, stb, ami a legjobb neked
2. tulajdonsag: char
A második mezőben azt tárolsz, amit akarsz. Tehát a termékfajta_id és a tulajdonsag_tipus_id az 1. mezőbe megy, a hozzárendelt adat pedig a másodikba.Az áru értéket teljesen máshol kell tárolni. Annak érvényességi ideje, pénzneme, vevő/szállító kapcsolata, stb. lehet.
Nem akarok gonosz lenni, de ha ez akkora projekt, akkor kérj segítséget az adatbázis megtervezése előtt, mert elsőre kicsit úgy tűnik, hogy ködben tapogatózol. Tényleg nem okoskodásból mondom, de az brutális bukta, ha utólag derül ki, hogy rossz az adatstruktúrád. Inkább mesélj itt többet róla, és beszéljük át többször. Én ERP-t fejlesztek évek óta, nagy titkokat nem fogsz nekem elárulni, szóval ettől nem kell félned. De ahogy érzed. -
bambano
titán
válasz
Bambula5 #9235 üzenetére
akkor rakjál bele mindegyikből.
tehát legyen benne: ertek_int, ertek_real, ertek_text, ertek_bool mező és használd azt, amelyik kell. tudtommal a postgres az üres mezőknek nem foglal túl sok helyet, nem nagy pazarlás.illetve még mindig forszíroznám az elvet, hogy bizonyos esetekben olcsóbb az emberi/programozói/fejlesztői erővel spórolni, mint a hardverrel. néha jobb megoldás pazarolni a hardvert.
-
Bambula5
csendes tag
válasz
bambano #9232 üzenetére
Még egy valamit nem értek, vagyis nem tudom megoldani...
Abban a táblában, amelyben már a konkrét tulajdonság értékek szerepelnek négy mező van:
1. id
2. termékfajta_id
3. tulajdonsag_tipus_id
4. értékViszont a különböző tulajdonság típusok különböző adattípusúak is pl.: integer, string, date, boolean
Ezt a problémát hogy tudom megoldani?
-
válasz
bambano #9232 üzenetére
union sem szerencsés szerintem, ha lesz néhány száz táblád, és állandóan egymásba kell tolnia az indexeket néhány millió cikkel. Nem kimondottan erre való.
Olyan sokrétű terméktörzs nem létezik, amit ne lehetne közös nevezőre hozni. Akkor annyi lesz a cikktáblád, hogy cikk + típus. -
bambano
titán
válasz
Jim Tonic #9228 üzenetére
union selecttel mint a villám.
én sem tartom jó ötletnek a táblákba szétpakolást, mert el nem tudom képzelni, hogy egy adatmodell, amit tervezési fázisban megtervez valaki, az futásidőben lényegesen módosuljon.
(#9229) Bambula5: "hogy tudom felépíteni ha különböző tulajdonságokkal bírnak a termékek?" csinálsz egy táblát, amiben minden rekord egy tulajdonság, meg csinálsz egy másikat, amiben minden rekord egy termék egy adott tulajdonságának a konkrét értéke. pl: akkumulátor kapacitás.
lesz egy termékfajtád, amiben egy sor az akkumulátor. egy tulajdonság_típusod, amiben egy sor a kapacitás, és egy tulajdonság táblád, amiben egy sor, hogy az adott termékfajta_id meg tulajdonság_típus_id mellé a konkrét érték 2400mAh.
-
Bambula5
csendes tag
válasz
dabadab #9224 üzenetére
A nosql adatbázisokhoz egyáltalán nem értek, illetve a projektet ruby on rails-sel vinném végig, ami úgy néz ki nem igazán támogatja a nosql adatbázisokat. Én a postgresql mellett döntöttem ennél a feladatnál. Azt nem lehet tudni, hogy milyen mélységig mennének az alkategóriák.
Ha egy táblában tárolnám a termékeket, akkor hogy tudom felépíteni ha különböző tulajdonságokkal bírnak a termékek? A keresés kategóriák és tulajdonságok megadásával történne...
-
válasz
dabadab #9224 üzenetére
Hat ez tokre attol fugg, hogy milyen strukturaju a lekerdezes. Ha egyszerre tobb productot akarnak eloszedni egy kategoriabol, akkor arra kell csinalni indexet... ha meg tok random, akkor nincs mit tenni. Ezenkivul ha flash alapu a storage, akkor a seek time nem igazan lenyeges. Szoval merni kell.
-
válasz
Bambula5 #9221 üzenetére
A táblákba szétszedés a sebességet nem fogja feltétlenül javítani
Azt már tudod, hogy mi alapján kell keresned?
Mert ha a tulajdonságok alapján (amik elég dinamikusnak tűnnek), akkor lehet, hogy jobban járnál egy nosql adatbázissal.(#9223) emvy: tisztán a gyakorlatitapasztalatmentes okoskodás szintjén azért segíthet, ha nem minden rekordon külön lemezblokkból kell összevadászni, hanem egy olvasással megvan egy rakat sor (feltéve, hogy a sorok elég rövidek)
-
válasz
Bambula5 #9221 üzenetére
A problémám az lenne, hogy tekintettel a rengeteg termékre és azok különböző tulajdonságaira nem lenne szerencsés egy táblában tárolnom őket. Miként lehetne megoldani, hogy egy-egy alkategória létrehozásánál létrejöjjön egy hozzá tartozó termék tábla? Gondolom ez a keresést is felgyorsítaná...
Triggerekkel lenne a legelegánsabb megoldani, de szerintem nem ez a jó irány. Óriási adatbázisokban sem szokás ugyanolyan típusú adatot más táblában tárolni. Az tudod milyen mélységig vannak alkategóriák? Szerintem egyéb paramétereket kell használni, és okosan indexelni.
-
Bambula5
csendes tag
Sziasztok!
Egy olyan adatbázist kellene felépítenem, amelybe rengeteg terméket fognak feltölteni (több millió) az elkövetkező években. Ezt az adatbázis rengetegen használnák egyidejűleg, ergo fontos lenne a gyors elérés. A dolgot tovább nehezíti, hogy dinamikusan kellene növelni a fő- illetve alkategóriákat, amelyekbe a termékek lennének besorolva.
Jelenleg három táblával oldanám meg a dolgot:
1. Products: ez tartalmazza a termékek adatait
2. ProductCategories: itt tárolom, hogy melyik termék milyen kategóriákba sorolható be
3. CategoriesOfProducts: ebben a táblában találhatók a fő- illetve alkategóriákA problémám az lenne, hogy tekintettel a rengeteg termékre és azok különböző tulajdonságaira nem lenne szerencsés egy táblában tárolnom őket. Miként lehetne megoldani, hogy egy-egy alkategória létrehozásánál létrejöjjön egy hozzá tartozó termék tábla? Gondolom ez a keresést is felgyorsítaná...
Előre is köszönöm a segítséget!
-
Sk8erPeter
nagyúr
válasz
olivera88 #9218 üzenetére
Ha nem teszed idézőjelek közé a "nyers" stringet, akkor minden egyes speciális karaktert, ami nem szeretnéd, hogy értelmeződjön, escape-elni kellene. Például az ampersand (&) karakter pont ilyen az URL-ben (\& kellene, hogy szerepeljen helyette, ha nincs idézőjel).
(#9209):
"A T12 az idő benne, este 23 óra felé érkezik a következő modell futás, abban már T18 lesz nem 12, aztán holnap hajnalba jön az éjféli, akkor változik a dátum, és T0 lesz, aztán jön a T06, T12 T18, aztán következő nap változik a dátum megint és kezdődik újra T0 val."
Ez a 2015-10-31T06:00:00Z formátum megfelel az ISO 8601 formátumnak (benne a T-vel és Z-vel - a T egy delimiter a dátum és idő között (<date>T<time>), a Z a Zone vagy a Zulu rövidítése).
Na, de rövidítsük le, amit írtál: magyarul egy nap négyféle dátum lehet a referencetime paraméterben, és annak a vége adott napon nap csak T0, T06, T12 és T18 lehet, függően az aktuális időtől (hogy melyik az aktuális legfrissebb)? -
olivera88
veterán
válasz
Sk8erPeter #9216 üzenetére
Na megvan mostmár letöltődik a grib fájl, én nem tettem " " közé linket, nem gondoltam hogy szándékosan raktad az közé.
Na akkor jöhet az automatizálás.
Köszi.
Cubic Most vettem észre csak hogy írtál, és az órát mi javítja át végén, a T06-ot?
-
cubix
tag
válasz
olivera88 #9214 üzenetére
A linkbe automata dátum behejettesítés:
"http://dcpc-nwp.meteo.fr/services/PS_GetCache_DCPCPreviNum?token=__5yLVTdr-sGeHoPitnFc7TZ6MhBcJxuSsoZp6y0leVHU__&model=ARPEGE&grid=0.1&package=SP1&time=00H12H&referencetime=$(date +"%Y-%m-%d")T06:00:00Zaz órát pedig egy valamilyen if-fel kellene megoldani(bash,python,lua,php, akármi)
+Akár böngészőből, akár Péter linkjéből töltöm le Curl/aria2c/wget-el ugyan azt kapom. -
Sk8erPeter
nagyúr
-
olivera88
veterán
válasz
Sk8erPeter #9213 üzenetére
Nem jó.
Megpróbáltam egy letöltés kezelőt, az Ugetet, evvel működik. Most már csak azt kellene megoldani hogy automatizálva legyen letöltés mindig ha frissül a linkben az idő és a dátum.
Erre valami ötlet? -
Sk8erPeter
nagyúr
válasz
olivera88 #9211 üzenetére
Most kipróbáltam a wget Windows-os alternatívájával, többször is tök jól letöltötte (egyszer mondjuk kaptam egy Internal Server Errort válaszként, aztán "elmúlt", utána háromszor kipróbáltam a letöltést, ami jó volt, az alapján nyugtáztam, hogy na, akkor ez működik
), csak a fájlnév (+kiterjesztés) az eredeti
ARPEGE_0.1_SP1_00H12H_201510310600.grib2
helyett
PS_GetCache_DCPCPreviNum@token=__5yLVTdr-sGeHoPitnFc7TZ6MhBcJxuSsoZp6y0leVHU__&model=ARPEGE&grid=0.1&package=SP1&time=00H12H&referencetime=2015-10-31T06%3A00%3A00Z
lett, de hát a letöltött fájlt úgy nevezed át, ahogy akarod - egyébként bájtra pontosan megegyezett azzal a fájllal, amit böngészőn keresztül "manuálisan" töltöttem le.
Szóval ez a link nekem most működött, azt nem néztem, amit a Drive-ra felraktál.Próbáld ki:
wget "http://dcpc-nwp.meteo.fr/services/PS_GetCache_DCPCPreviNum?token=__5yLVTdr-sGeHoPitnFc7TZ6MhBcJxuSsoZp6y0leVHU__&model=ARPEGE&grid=0.1&package=SP1&time=00H12H&referencetime=2015-10-31T06:00:00Z"
Ha már megvolt, és neked nem jó, akkor fogalmam sincs, nálad miért nem jó.(#9212) Jim Tonic:
Pont ezt írtam le neki korábban. Van egy link is az oldalon, de a fejlesztőpanel lenyitása után a Network fülön még könnyebb kideríteni, hogy a HTML-oldal betöltődése után milyen kérés küldése történik a szerver felé, és milyen URL-en van a direkt (vagyis hát egy fokkal közvetlenebb) link a fájlhoz.
-
válasz
olivera88 #9211 üzenetére
Telefonról vagyok, így nem néztem, mit tudtál letölteni, de a html jó lehet. Az normális, hogy a wget ezt szedi le, mivel nem html értelmező. Míg a böngésződ futtatja a letöltés után a kódot, addig a wget nem. Viszont a html-ben benne lehet a link. Tehát letölt, beolvas, linket kiemel és mehet.
-
olivera88
veterán
válasz
Sk8erPeter #9210 üzenetére
Már próbáltam nem jó az se. Ezt töltötte le. [link]
Ha meg is lehet oldani az automata letöltést, hiába, mert nem azt tölti le ami kellene. -
Sk8erPeter
nagyúr
válasz
olivera88 #9209 üzenetére
Nyisd meg a linket egy böngészőben, nyisd meg a fejlesztői panelt, azonbelül a Network fület, és megtudod. Először egy HTML-oldal megjelenítése történik, majd annak betöltődése után megkapod a közvetlen linket a fájlhoz, ez lesz a jó link:
http://dcpc-nwp.meteo.fr/services/PS_GetCache_DCPCPreviNum?token=__5yLVTdr-sGeHoPitnFc7TZ6MhBcJxuSsoZp6y0leVHU__&model=ARPEGE&grid=0.1&package=SP1&time=00H12H&referencetime=2015-10-31T06:00:00Z
-
olivera88
veterán
Nem az aktuális időt kell megnézni mondtam.
Ez a link a vége
ARPEGE&grid=0.1&package=SP1&time=37H48H&referencetime=2015-10-31T12%3A00%3A00ZA T12 az idő benne, este 23 óra felé érkezik a következő modell futás, abban már T18 lesz nem 12, aztán holnap hajnalba jön az éjféli, akkor változik a dátum, és T0 lesz, aztán jön a T06, T12 T18, aztán következő nap változik a dátum megint és kezdődik újra T0 val.
bambano A dátumformátumot tudod ahogy írtam fentebb, ez van megpróbálom letölteni wgettel.
[link]
Nem értem a miért nem tudja letölteni mint a böngésző a linkben szereplő grib fájlt, helyette egy letölt html fájlt. -
-
olivera88
veterán
Lehet valahogy automatizálni olyan letöltést aminek állandóan változik a vége? A dátum és az idő változik csak a linkben. A időnél fix időpontok váltogatják egymást, 00 06 12 18, mikor frissül a fájl akkor mindig megy egyel feljebb az időpont.
Erről a linkről lenne szó.
https://donneespubliques.meteofrance.fr/?fond=donnee_libre&token=__5yLVTdr-sGeHoPitnFc7TZ6MhBcJxuSsoZp6y0leVHU__&model=ARPEGE&grid=0.1&package=SP1&time=00H12H&referencetime=2015-10-31T06%3A00%3A00ZVagy erről
http://dcpc-nwp.meteo.fr/services/PS_GetCache_DCPCPreviNum?token=__5yLVTdr-sGeHoPitnFc7TZ6MhBcJxuSsoZp6y0leVHU__&model=ARPEGE&grid=0.1&package=SP1&time=61H72H&referencetime=2015-10-30T00:00:00Z
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
- MasterDeeJay: Alacsony fogyasztású házi szerver a korábbi projektekből összeépítve
- Mibe tegyem a megtakarításaimat?
- Második verzió: DeepCool LE360 V2 processzorhűtő
- AMD Navi Radeon™ RX 9xxx sorozat
- Kertészet, mezőgazdaság topik
- Linux kezdőknek
- sziku69: Fűzzük össze a szavakat :)
- Samsung Galaxy Watch4 és Watch4 Classic - próbawearzió
- Kerékpárosok, bringások ide!
- PROHARDVER! feedback: bugok, problémák, ötletek
- További aktív témák...
- Új és újszerű 13"-14" Gamer, ultrabook, üzleti készülékek nagyon kedvező alkalmi áron Garanciával!
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! Apple iPhone SE (2016), Apple iPhone SE2 (2020), Apple iPhone SE3 (2022)
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: FOTC
Város: Budapest