pátek 20. července 2018

Jak na dlouhá "slova" na webu?

Jsou věci, co se vrací jako bumerang. Třeba potřeba se popasovat s nezalomitelným textem, respektive dlouhými slovy. Přesněji "slovy". V praxi jde, pokud nebudeme brát v potaz Němčinu, o emailové a webové adresy a parametry notebooků a telefonů, které produktový manažeři s oblibou naperou do názvu, oddělené lomítky a bez dostatky mezer, na kterých by se text mohl v prohlížeči zalomit. Samozřejmě tyto nešvary se připomenou až s vyladěným layoutem (jsem si myslel) a ostrými daty.

První věc, která opravdu nejde ignorovat. Dlouhé "slovo" rozstřelí layout ve flex-boxu. Boxíky postižených produktů se roztáhnou. Zafunguje malé kouzlo. Stačí nastavit na item ve flexu

min-width: 0;
Minimální šířka nemusí být nulová, ale musí být definovaná. Více

Pak to chce nějak ošetřit samotný text. Při googlení je potřeba zohledňovat stáří rad a návodů. Co platilo před rokem dnes už neplatí, nebo nemusí platit. V CSS lze nastavit pravidla pro dělení a zalamování slov. V kombinaci s media query jde o dobrou pojistku zachování funkčního layoutu a čitelného textu. Použijme třeba podle Dealing with long words in CSS | justmarkup něco jako

.hyphenate {
  overflow-wrap: break-word;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
}

Více

Na všechno styly ale nestačí. Správnému dělení slov pomůžeme znakem měkké dělení. Hojně se řeší, jakou formu zápisu znaku volit, ale aktuálně by to mělo být použití entity

­­­
Pročti si

Rovnou jsme se dostali i k HTML5 tagu

<wbr>
který slouží k označení místa, kde se může v případě potřeby text zalomit, ale bez "-". To je přesně to, co je dobré vrazit za výše zmíněná lomítka v názvech.



Dřív se toto nahrazovalo využitím třeba tenké mezery &thinsp;. I další entity, jako třeba &zwnj; a &zwj; můžou najít uplatnění.



Obecně se řešení problémů s dlouhým textem věnuje článek Handling Long and Unexpected Content in CSS | CSS-Tricks.

Toto neberte jako přesný návod, spíš soupis poznámek k navedení, kde hledat nápovědu k dané problematice.

úterý 17. července 2018

Zlý Chrome aneb jak z přítele zákeřný nepřítel se stal?

Dlouho předlouho již k prohlížení webů i práci Chrome používám. Chvíli trvalo mi sic, než přešel jsem naň z Firefoxu užívání, leč navykl jsem si záhy na všechny udělátka a nechci měnit. Ale poslední dobou se Chrome, respektive Google, nechová vůbec hezky.

Nedávno jsem zjišťoval, co mi asi tak může vytěžovat disk a zpomalovat ne zase tak starý, i když ne zrovna naddimenzovaný počítač. Objevil jsem stále běžící software_reporter_tool.exe - utilitka Chromu pro "zjišťování programů, co by mohl zhoršit zážitek z brouzdání po webu". Aha: nepracuj a brouzdej?

Podle návodu How to block the Chrome Software Reporter Tool (software_reporter_tool.exe) na gHacks Tech News jsem zablokoval přístup k adresáři utilitky (smazání prý nestačí, utilitka se po aktualizaci Chromu zase vrátí) a noťas se o poznání zrychlil.

Další zákeřnost přišla pod praporem bezpečnosti: Google aktivoval Site Isolation všem desktopovým uživatelům Chrome. Když bojujete o každou píď paměti, nepotěší. Podle vlastního pozorování se ale již nainstalovanému Chromu nic takového nezapnulo. Nicméně podle Zvýšení bezpečnosti izolováním webů - Nápověda Google Chrome lze toto nastavení změnit na "adrese" chrome://flags/#enable-site-per-process

Prostě fakt dík, že se o mě tak staráte :-(


pátek 13. července 2018

PostgreSQL, collations a tři dny trápení

Po nějakých úpravách v projekty došlo na upgrade databáze. Na stránce PostgreSQL: Windows installers jsem sáhl po instalaci Postgres od BigSQL. Ostatně tak, jak mi bylo doporučeno. Build projektu ovšem začal padat na collations. A přidání chybějících collations, podle všech návodů to mělo vše vyřešit, nešlo, protože prý:

ERROR:  nondefault collations are not supported on this platform

Dál jsem pátral po internetech, procházel fóra, ale radu nenalézal. Až asi opravdu po třech dnech pátrání (mezitím jsem dělal i něco jiného, nebojte se) jsem se dopátral rady nainstalovat jinou verzi. No ano, PostgreSQL od EnterpriseDB problém "vyřešila".

Není PostgreSQL jako PostgreSQL.

(Samozřejmě jsem vyzkoušel i dřívě ověřený postup dle Marenkův bloček: Update Windows 10 a nefunkční PostgreSQL (RESOLVED), marně.)

Mno, samozřejmě je potřeba ještě doplnit ty které chybějící collations:

CREATE COLLATION "cs_CZ" (LOCALE="Czech");
CREATE COLLATION "de_DE" (LOCALE="German");
CREATE COLLATION "en_US" (LOCALE="English_US");
CREATE COLLATION "hu_HU" (LOCALE="Hungarian");
CREATE COLLATION "pl_PL" (LOCALE="Polish");
CREATE COLLATION "sk_SK" (LOCALE="Slovak");


neděle 3. června 2018

Oprava chyby REPO33 na set-top boxu Horizon

Onehdy nám set-top box Horizon namísto zpětného přehrávání jakéhokoliv pořadu vypsal chybu REPO33. Nejdříve jsem počkal, jestli "se to neupraví samo". Neopravilo. Zkontroloval jsem pak síťové připojení, restartoval set-top box, restoval set-top box do továrního nastavení... Nic z toho nepomohlo. Pak jsem napsal přes Facebook podpoře, zanedlouho zavolal chlápek, jako vždycky na otázku "jste u toho?" odpovídám "ne", tak on že restartuje vzdáleně modem, pak že si mám set-top box restartovat a mělo by to jet. Stačil ten restart modemu. Opraveno. ;-)

(Poznamenáno je pro pořádek.)

středa 3. ledna 2018

Rozdílný čas v Linuxu a Windows? Náprava je snadná - ale bohužel ne stoprocentní :-(

Je to stará známá věc, že Linux a Windows zobrazují čas počítače uložený "v BIOSu" jinak. Jinak se pracuje s časovým pásmem. Na jednosystémových strojích to nečiní žádný problém. Horší je situace, pokud využíváte dual boot - spouštíte-li oba systémy na jednom počítači na střídačku.

Bez upraveného nastavení posune Linux (konkrétně Ubuntu 16.04 LTS) v BIOSu čas o hodinu zpět, což pak zobrazí Windows (konkrétně Windows 10). Samozřejmě jsem na to při rozcházení dualbootu po těch letech, co jsem si s Linuxem pohrával naposled, zapomněl a dost mě to vyděsilo. ;-)

Návodů na opravu, protože tento časový problém řeší každý zelenáč a sklerotik stále dokola, najdete fůru. Opravit můžete buďto Windows úpravou nastavení synchronizace času podle How to solve Windows 10 time being wrong (tentokrát jsem šel touto cestou i já):

  1. pomocí stisku Windows key (praporek) + R vyvolejte panel "Spustit" (Run)
  2. napište services.msc a spusť stiskem OK
  3. v nově otevřeném panelu "Služby" najděte službu Windows Time (i v českých Windows se jmenuje anglicky)
  4. pravým tlačítkem myši otevřete kontextovou nabídku a z ní otevřete Vlastnosti
  5. změňte Typ spouštění na Automatický
  6. ve stejném panelu službu spusťte
...nebo nastavením Ubuntu:



P.S.: Výše uvedené nastavení Windows má ale jeden zásadní zádrhel, když se čas nesesynchronizuje dřív, než jej zkontroluje nějaký program (Skype pro firmy) a odmítne se přihlásit.




MAKE Magazine

Technology Review RSS Feeds

Nejčtenější příspěvky