V uplynulých dnech byla v depu Českých drah v Brně-Maloměřicích úspěšně dokončena zástavba speciální antény satelitního internetu Starlink od společnosti SpaceX do jednotky InterPanter 660 004 Českých drah. Zástavbu provedla Škoda Group. Cestující se s InterPanterem, vybaveným vysokorychlostním satelitním internetem, setkají například na linkách Svitava Brno – Česká Třebová – Praha nebo Moravan Brno – Břeclav – Přerov – Olomouc.
Byla vydána nová verze 8.7.0 správce sbírky fotografií digiKam (Wikipedie). Přehled novinek i s náhledy v oficiálním oznámení (NEWS). Nejnovější digiKam je ke stažení také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.
Před 30 lety, k 1. 7. 1995, byl v ČR liberalizován Internet - tehdejší Eurotel přišel o svou exkluzivitu a mohli začít vznikat první komerční poskytovatelé přístupu k Internetu [𝕏].
Byla vydána (𝕏) nová verze 7.4 open source monitorovacího systému Zabbix (Wikipedie). Přehled novinek v oznámení na webu, v poznámkách k vydání a v aktualizované dokumentaci.
Balíček s příkazem sudo byl vydán ve verzi 1.9.17p1. Řešeny jsou zranitelnosti CVE-2025-32462 (lokální eskalace práv prostřednictvím volby host) a CVE-2025-32463 (lokální eskalace práv prostřednictvím volby chroot).
Do služeb Seznam.cz se lze nově přihlásit pomocí služby MojeID [𝕏].
Bezpečnostní výzkumníci zveřejnili informace o osmi zranitelnostech, které postihují více než 700 modelů tiskáren, skenerů a štítkovačů značky Brother. Bezpečnostní upozornění vydali také další výrobci jako Fujifilm, Ricoh, Konica Minolta a Toshiba. Nejzávažnější zranitelnost CVE-2024-51978 umožňuje útočníkovi vzdáleně a bez přihlášení získat administrátorská oprávnění prostřednictvím výchozího hesla, které lze odvodit ze
… více »Společnost Oracle vlastní ochrannou známku JAVASCRIPT. Komunita kolem programovacího jazyka JavaScript zastoupena společností Deno Land vede právní bitvu za její osvobození, viz petice a otevřený dopis na javascript.tm. Do 7. srpna se k nim má vyjádřit Oracle (USPTO TTAB).
Byl představen samostatný rádiový modul Raspberry Pi Radio Module 2 s Wi-Fi a Bluetooth.
Certifikační autorita Let’s Encrypt ukončila k 4. červnu zasílání e-mailových oznámení o vypršení platnosti certifikátů. Pokud e-maily potřebujete, Let’s Encrypt doporučuje některou z monitorovacích služeb.
Tedy je to pořád lepší než ti, kteří kód píšou tak jak jim to IDECo? Ty si myslíš, že jseš v něčem lepší než já?
A take doporucuji
First off, I'd suggest printing out a copy of the GNU coding standards, and NOT read it. Burn them, it's a great symbolic gesture.
Kernel coding standards trvají na osmi mezerách. Podle mě je to overkillNow, some people will claim that having 8-character indentations makes the code move too far to the right, and makes it hard to read on a 80-character terminal screen. The answer to that is that if you need more than 3 levels of indentation, you're screwed anyway, and should fix your program.
if you need more than 3 levels of indentation, you're screwed anyway, and should fix your programTři? Pět je málo!
1 public void fce (int i, boolean b) { 2 switch (i) { 3 case 1: { 4 if (b) 5 if () akce(); else jina_akce(); else jeste_jina_akce;
public void fce (int i, boolean b) { switch (i) { case 1: if (b) { if () akce(); else jina_akce(); } else jeste_jina_akce; break; } }take nieco by ti spicoval aj gcc (a to nemyslim nedokoncenie funkcie)
gij
? :)
ja ich tam vidim len 5Metoda třídy se vnořuje o jednu úroveň oproti deklaraci třídy, to je ta šestá.
The answer to that is that if you need more than 3 levels of indentation, you're screwed anyway, and should fix your program.Zdá se, že to nebude jenom o kernelu, že?
enum AkceEnum { Akce1 { @Override public void doAction(boolean b, boolean c) { if (b) if (c) akce(); else jina_akce(); else jeste_jina_akce(); } }, Akce2 { @Override public void doAction(boolean b, boolean c) { // TODO } }; abstract public void doAction(boolean b, boolean c); } public void fce (AkceEnum akce, boolean b) { boolean c = false; akce.doAction(b, c); }Nebo pokud tam mermomocí potřebujete
switch
:
enum AkceEnum { Akce1, Akce2; } public void fce (AkceEnum akce, boolean b) { boolean c = false; switch(akce) { case Akce1: doAkce1(b); break; case Akce2: break; } } private void doAkce1(boolean b) { if (b) { if (this.c) this.akce(); else this.jina_akce(); } else this.jeste_jina_akce(); }
Na druhou stranu to ale může být i nevýhoda, právě proto, že je to proměnné v závislosti na použitém editoru.Ja to vidim jako vyhodu, kazdy si tu promenou muze nastavit se mu libi... IMHO editor, v kterem nejde nastavit, aby nemenil tabulatory na mezery, neni na programovani moc vhodny :)
Jo a když jsme u toho, délka řádky minimálně 100 znakůMinimálně nebo maximálně?
vetsi_projekt * vetsi_pocet_programatoru + tabulatory => spatna_citelnost_kodu
Makefile
rozlišuje mezery a tabulátory je celá kapitola v UNIX-Haters Handbooku. :)
asmlinkage int compat_sys_select(int n, compat_ulong_t __user *inp,
compat_ulong_t __user *outp, compat_ulong_t __user *exp,
struct compat_timeval __user *tvp);
[ tab ]asmlinkage int compat_sys_select(int n, compat_ulong_t __user *inp,
[ tab ]|||||||||||||||compat_ulong_t __user *outp, compat_ulong_t __user *exp,
[ tab ]|||||||||||||||struct compat_timeval __user *tvp);
Takové odsazení bez kombinace tabu a mezery nenapíšeteStačí používat mezery a napíšete
asmlinkage int compat_sys_select( int n, compat_ulong_t __user *inp, compat_ulong_t __user *outp, compat_ulong_t __user *exp, struct compat_timeval __user *tvp );A vystacim se 4 mezerama (tabulatorem). Nebo
asmlinkage int compat_sys_select( int n, compat_ulong_t __user *inp, compat_ulong_t __user *outp, compat_ulong_t __user *exp, struct compat_timeval __user *tvp );Ale prvni verze mi prijde nejprehlednejsi.
asmlinkage int compat_sys_select(int n,
compat_ulong_t __user *inp,
compat_ulong_t __user *outp,
compat_ulong_t __user *exp,
struct compat_timeval __user *tvp);
int i[,] = {{5, 7, 8, 0},
{7, 8, 9, 4}};
.... ( int n, ... ) { }pole dtto
void main () { } a void main() { }
V jednom nejmenovaném programovacím jazyku je konvence
begin ... end
void main () { }
int main(void)
{
...
}
int main (void) { int i; for (i = 0; i < 10; i++) { fputc(i + '0', stdout); } return 0; }První řádek je odsazen od těla funkce a je to tak přehlednější. Otevírací závorku cyklů a ifů dávám na nový řádek jen když je podmínka moc dlouhá a rozleze se to na více řádků. Mezi funkcema pak nechávám dva řádky prázdné.
Všechny závorky stejné úrovně jsou pak v jednom sloupci a je to přehlednější než když otevírací závorka je na řádku s deklarací někde vzádu vpravo. Ve škole máme prastarý Turbo Pascal a ten tam cpe furt ty pitomé mezery. Když si to pak otevřu třeba v Kate, tak se v tom tak špatně pracuje :-/void main() { }
if (něco) { blabla(); hello(); }
while (a == b) { nejaka_funkce (); }Což se mi tedy také nelíbí, ale pořád je to z optického hlediska milionkrát lepší než když je složená závorka na stejné úrovni jako ostatní blok v kódu. K&R prostě ruluje
Tiskni
Sdílej: