Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2023. Vybráni byli Bruno Haible za dlouhodobé příspěvky a správu knihovny Gnulib, nováček Nick Logozzo za front-end Parabolic pro yt-dlp a tým Mission logiciels libres francouzského státu za nasazování svobodného softwaru do praxe.
Před 10 lety Microsoft dokončil akvizici divize mobilních telefonů společnosti Nokia a pod značkou Microsoft Mobile ji zanedlouho pohřbil.
Fedora 40 release party v Praze proběhne v pátek 17. května od 18:30 v prostorách společnosti Etnetera Core na adrese Jankovcova 1037/49, Praha 7. Součástí bude program kratších přednášek o novinkách ve Fedoře.
Stack Overflow se dohodl s OpenAI o zpřístupnění obsahu Stack Overflow pro vylepšení OpenAI AI modelů.
AlmaLinux byl vydán v nové stabilní verzi 9.4 (Mastodon, 𝕏). S kódovým názvem Seafoam Ocelot. Přehled novinek v příspěvku na blogu a v poznámkách k vydání.
Před 50 lety, 5. května 1974 v žurnálu IEEE Transactions on Communications, Vint Cerf a Bob Kahn popsali protokol TCP (pdf).
Bylo vydáno do češtiny přeložené číslo 717 týdeníku WeeklyOSM přinášející zprávy ze světa OpenStreetMap.
Byla vydána (Mastodon, 𝕏) nová stabilní verze 2.10.38 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.
Google zveřejnil seznam 1220 projektů od 195 organizací (Debian, GNU, openSUSE, Linux Foundation, Haiku, Python, …) přijatých do letošního, již dvacátého, Google Summer of Code.
Na základě DMCA požadavku bylo na konci dubna z GitHubu odstraněno 8535 repozitářů se zdrojovými kódy open source emulátoru přenosné herní konzole Nintendo Switch yuzu.
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '192.168.0.3 (datum date,data_out int,data_in int)' at line 1Pokud mu dam jmeno obycejne slovo tak se tabulka vytvori. V phpmyadmin tabuku s jmene ip adresy vytvorim , ale ja to potrebuju vkladat shellem.
Řešení dotazu:
mysql -N -D $DB_DB -u $DB_USER -h$DB_HOST -p$DB_PASS -e "CREATE TABLE '192.168.0.3' (datum int,data_out int,data_in int)"
./ipaccount_sql.sh: line 106: 192.168.0.3: command not found ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(datum int,data_out int,data_in int)' at line 1a kdyz pouziju '' tak ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''192.168.0.3' (datum int,data_out int,data_in int)' at line 1
"CREATE TABLE \`192.168.0.3\` (datum int,data_out int,data_in int)"
Samozřejmě že nepotřebuje, jen mu asi nedošlo že je to prasárna a že takhle se to prostě nedělá.
Nevim o nicem lepsim jak popsat hosta nez podle IP.
Toto je v pořádku, pokud jsou IP unikátní a jednoznačně identifikují hosta.
Pak IP by mohla sloužit například v tabulce "nastaveni" jako primární klíč. Další prvky by pak byly: mac, rychlost atd se vhodnými datovými typu. Případně odkázané přes cizí klíče do dalších tabulek (například to tabulky s osobami) dle normálních forem. Tedy nikoliv co IP to tabulka, ale jedna tabulka a co řádek to IP.
Nedokazu si predstavit co ip tak sloupec
Proč zase sloupec? ŘÁDEK!
Tabulka se sloupci např. ip UNSIGNED INT, cas DATETIME, incoming BIGTINT, outcoming BIGINT
atd. Primární klič na (ip, cas)
a podle verze MySQL ještě třeba další samostatný index nad sloupcem cas
. Pak si můžeš psát dotazy typu WHERE `ip`=nejaka_ip AND `cas` BETWEEN datum1 AND datum2
.
Nedokazu si predstavit co ip tak sloupec.
Proboha, nic takového jsem přece nepsal, ba ani nenaznačil, to by byla v podstatě stejná šílenost jako "co adresa, to tabulka". Prostě si uděláte strukturu ve stylu např.
create table HOSTS ( IPADDR bigint primary key, NAME varchar(32), ... ); create table TRAFFIC ( IPADDR bigint not null references HOSTS(IPADDR), RDATE date not null, DATA_IN bigint, DATA_OUT bigint, primary key (IPADDR,RDATE) ); create index IDX_TRAFFIC_DATEADDR on TRAFFIC(RDATE,IPADDR);
Pokud trváte na tom, že dat nesmí být moc, tak třeba jednou za měsíc záznamy starší než rok smažete, ale nehodláte-li těch počítačů evidovat statisíce, tak k takovému počínání nevidím důvod.
Pokud trváte na tom, že dat nesmí být moc, tak třeba jednou za měsíc záznamy starší než rok smažete
Případně je přesune to tabulky archiv (klidně i používající stejnojmenný engine) nebo ještě lépe: nastaví paritioning.
CREATE TABLE tabulka (`ip` varchar(15),`datum` date,`data_out` int, `data_in` int); ALTER TABLE `tabulka` ADD PRIMARY KEY (`ip`, `datum`); INSERT tabulka (ip,datum,data_out,data_in) VALUES ('192.168.1.1','2009-12-01',10,20), ('192.168.1.1','2009-12-02',11,21), ('192.168.1.1','2009-12-03',15,25), ('192.168.1.2','2009-12-01',1110,550), ('192.168.1.2','2009-12-03',100,200); SELECT * FROM tabulka WHERE `ip`='192.168.1.1'; SELECT * FROM tabulka WHERE `datum`='2009-12-01'; SELECT * FROM tabulka WHERE `ip`='192.168.1.1' AND `datum`='2009-12-01'; SELECT SUM(`data_out`) AS `out`, SUM(`data_in`) AS `in` FROM tabulka; SELECT SUM(`data_out`) AS `out`, SUM(`data_in`) AS `in` WHERE `ip`='192.168.1.1'; SELECT SUM(`data_out`) AS `out`, SUM(`data_in`) AS `in` FROM tabulka WHERE `datum`='2009-12-01'; SELECT SUM(`data_out`) AS `out`, SUM(`data_in`) AS `in` FROM tabulka WHERE `ip`='192.168.1.1' AND `datum`='2009-12-01';
`ip` varchar(15)
Špatně. IP(v4) je 32b, tedy typ UNSIGNED INT -- operace s tím budou daleko rychlejší než s varcharem (a to nemluvě o potenciální možnosti použít bitové operace) a zabere to méně místa.
date
jsem opravil.Tiskni Sdílej: