Start-up není žádná prdel.

Když mám mezi školou čas vymýšlím nebo pracuju na něčem, co není úplně práce. Poslední dobou je to hlavně www.SharePlace.dk takovej dánskej projekt, co máme s jedním kolegou. Jsme ale seknutý někde, kde hledáme investory a z vlastních zdrojů to financovat už nemůžem. Nebo třeba jsem součástí projektu Jan Majer – Krejčovství Sušice, což jak já říkám, je můj víkendovej projekt (v angličtině se tomu říká side-project), kde prostě šíjeme kabelky a je to takovej relax od toho, co dělám normálně (nešiju kabelky starám se o web a marketing!), mimochodem, ten projekt je v plenkách.

Ať tak nebo tak. Občas slyším kritiku. Jasně, někdo občas vtipně utrousí, co to děláme za kraviny. Ať chceš nebo ne, prostě se nad komentářem některých lidí zamyslíš. Neříkám, že bych o tom hned musel psát článek, abych si sám urovnal, že co dělám dává smysl. (Tento článek určitě není ten článek, ale úplně jinej článek.)

Já vidím start-up primárně jako sprosté slovo. Když má někdo nápad, tak se hned vidí v Silicon Valley a jak buduje Facebook 0.2 a žije jak Dan Bilzerian. To je ale reálný jako jít po městě a potkat hezkou holku, co vaří, má super mámu, pije pivo, není vegetarián a nesměje se jak kůň. (Pokud taková holka čte tento článek, prosím napiš, hledám tě už dlouho!).

Já myslím, že start-up znamená asi tak 5% nápadu a zbytek OHROMNÝ práce a hlavně odříkání věcí, co většina normálních lidí bere za normální (např. spánek). Taky si myslim, že z relativně blbého nápadu se tvrdou prací dá udělat dobrý VÝDĚLEJČNÝ projekt.

Hodnocení toho, jak je start-up úspěšnej bych určitě nenechával na lidech, co v životě dokázali asi jen to, že se nejvíce těší na sobotu a neděli. To jsou totiž jediný dny, kdy můžou ve svém týdnu dělat to, co opravdu dělat chtějí. Zbytek týdnu totiž pracují pro někoho, kdo bohužel/náhodou se dostal k tomu, že je jejich šéf. (Tady pozor, nepletem sem lidi, co jsou s tím spokojený, takový respektuji a vážím si jich, protože je fakt jedno, co člověk dělá, HLAVNĚ, že to dělá rád.)

Hodnocení start-upu bych ani nenechával na logickém myšlení těch, co ho dělaj. Opět a vždy. Kdyby bylo tak lehké udělat si firmu a podnikat, proč to nedělá každej? Nejhorší na startapech je to, že výsledky (většinou peníze) třeba nemusí dojít hned a člověk na ně může čekat třeba rok. Proto, startup jede na snech. Nevěříš tomu, co právě tvoříš na 100%? – No, tak to je skoro na 100%, že se ti to nepovede. Dejcháš pro tu myšlenku, věnuješ jí volný čas a baví tě to? Je možný, že se ti to NĚKDY povede, ne teď, ne zítra, ale někdy jo, protože je to i o štěstí, být na správném místě ve správnou dobu. Třeba to není teď nebo jsi to propásl, ale určitě je dobré to zkusit. Navíc, když to zkusíš a nepovede se, svět nekončí. Naopak, zkušenost z neúspěchu je mnohem lepší, protože to donutí člověka se nad tím zamyslet.

Končil bych něčím jako… Fakt není důležitý udělat ze sebe blbce tím, že jsi jinej, ale je důležitý nebýt blbec jako ostatní. :)

 

BuddyPress in cs_CZ (WordPress plugin)

V jednom projektu jsem teď řešil jak přeložit wordpress plugin BuddyPress 2.5.x do Českého jazyka (cs_CZ). Bádal jsem dlouho, ale tady je rychlej návod.

Otevřete fpt \wp-content\languages\buddypress\bp-custom.php pokud nic takového nemáte, tak prostě ty složky vytvořte prázdné a založte .php soubor kam dejte následující kód:

Stáhněte si aktuální verzi češtiny z translation.wordpress.com. Dole na stránce je tlačítko export, zvolte .po file.

buddypress in cs_cz

Teď jsou dve možnosti, protože je přeloženo asi jen 15%+- slov, tak půlka bude v AJ a půlka v ČJ. Kdyby Vám to stačilo exportněte i .mo file a oba soubory přejmenujte na “buddypress-cs_CZ” a dejte do: \wp-content\languages\buddypress\

Pokud Vám to vadí a chcete něco dopřeložit, tak si stáhněte PoEdit otevřete .po soubor v tom programu a začněte překládat až budete hotový uložte jako “buddypress-cs_CZ” a program uloží jak .po tak .mo soubory.

Jestli se Vám návod líbil, lajkněte facebook a sledujte mě na twitteru. Ave WordPress! :)

 

Zefektivnění Vaší práce pomocí DeskTime

Nevíte, kolik hodin Vám trvá nějaká práce, práce na článku, kolik času denně Vám zabere facebookování? Mám pro Vás super typ!

www.DeskTime.com

Nemusíte být zrovna podnikatel nebo developer, aby se Vám tato aplikace vyplatila. Přihlášení trvá asi 3 vteřiny, na Vašem profilu uvidíte statistiku, jak jste efektivní.  DeskTime1Navíc si nainstalujete na Vaše PC (funguje na vše… linux, Windows, Mac) aplikaci. Na Váš hlavní panel se přidá malá ikonka aplikace.

DeskTime_icon

Co je podle mě ale asi nejlepší věc na této aplikaci, je box, kde si klikáte, kdy pracujete na jakém projektu. Např. teď mně tu běží projekt “My BLOGs”, abych si změřil, kolik času vlastně investuji do blogů, které mám.

DeskTime_timerV reportech to pak vypadá takto:

DeskTime_report

Můžeme vidět, že na to, že je teď asi 8:00, jsem už napracoval hodinu na dvou projektech. Dá se nastavit, jaká stránka či aplikace je pracovní, neutrální, neproduktivní. Takže lehoučká, super apka. Zkuste jí.

www.DeskTime.com

 

Web postaven na content focus 

Jak to udělat, aby uživatel neodešel z webu dřív, než ho stihnete zaujmout? Vytvořit poutavý web není takový problém.

V předchozím článku jsem Vám vysvětlil, co to znamená “mobile first“. Dnes se koukneme na to, jak neztratit uživatele. Content focus je jednoduše zaměření na obsah. Důležité je, aby uživatel nebyl rušen a nelákalo ho překlikávat na jiné podstránky či dokonce odejít z webu. Šanci na to zaujmout máte jen jednu a trvá asi 5 sekund.

Content focus v praxi

Když se podíváte na produktovou stránku Apple iPhone 6, tak si pravděpodobně ani nevšimnete menu. Nejsou tam žádné postranní panely, barevné menu, různé upoutávky – prostě čistý obsah. Menu tedy není vůbec výrazné. Co ale upoutá Vaši pozornost, je ten telefon. Cíl této stránky je upoutat na produkt a prodat ho. Jediné, čeho si všimnete, je modré tlačítko – koupit.

Pruduktová stránka iPhone 6 na apple.com
Produktová stránka iPhone 6 na apple.com (zobrazit)

Jako kontrast k tomuto příkladu skvělého designu mám stránku stejného produktu na českém eshopu Datart. Trochu se v té barevné mozaice ztrácí to hlavní, ten produkt. Tlačítka, platební metody, ikonky, vše na sebe zbytečně upoutává pozornost. V prvním dojmu ani nevím, kde je tlačítko koupit, kde jsou nějaké specifikace. Stránka je hrozně přeplácená zbytečnými informacemi.

Produktová stránka iPhone 6 na datart.cz
Produktová stránka iPhone 6 na datart.cz (zobrazit)

Z těchto dvou příkladů plyne, že content focus staví na jednoduché poučce:

“Čím méně, tím lépe.”

Princip “Mobile first”

Poslední dobou hodně řeším na webech takovou věc, které se v Google Analytics říká: “míra okamžitého opuštění stránky” a “průměrná doba trvání návštěvy“.

Tyto dva údaje se v Google Analytics počítají podle nějakého algoritmu, který se dá v nastavení samozřejmě změnit a lezou Vám pak dost jiné hodnoty. Tuším, že v default to funguje tak, že pokud člověk otevře stránku a je na ní pod 15 s, pak odejde z webu, tak se to bere jako okamžité opuštění.

Co ale tyhle dva údaje říkají (je v celku jedno, jestli je to po 5 nebo 30 sekundách) je, jak se Vaše stránka líbí a jak dlouho máte na to, tam něco prodat.

Problém jak všech wordpress webovek, tak vlastně komplet webů je, že uživatel je pořád rušen nějakými elementy na stránce, které s obsahem nemají nic společného. Jsou to třeba velké slidery/fotky v hlavičce, kde až pod nimi je ten text a informace, co hledám. Nebo různé postranní boxíky, které mají reklamu, citáty, kalendáře atd. To uživatele většinou vyruší od textu, který si chtěl přečíst a stane se tak pro něj ten tok informací, které mu chcete dát, NEPŘEHLEDNÝ.

Postranní panel a miniaplikace
Postranní panel a miniaplikace
na mobilenet.cz

Jak to udělat, aby člověk neutekl z webu?

Musí dostat přehledné a konzistentní informace, které jsou strukturované do nějakého proudu od začátku až do konce. Dole pak nějaká konverze, akce na prodej atd.

V praxi samozřejmě není problém něco takového udělat, protože nakonec skončíte na tom, jak vypadá tento blog, mínus levé menu. Takže tam místo článku není nic, což je vlastně to, co chcete. Soustředit se na obsah a nerušit uživatele. Není to ale jen o blogu, ale klidně i prodejním webu.

Mobile first je princip, kdy se web začíná dělat pro mobil a až poté pro počítač. A pro ten počítač se dělá vlastně ve stejném duchu jako pro mobil. Obecně online prodej roste třikrát rychleji na mobilech než na PC. Cca 60% návštěv webů je pak z mobilu. Takže doba, kdy web je jen pro počítač, je pryč.

Výhoda konceptu mobile first je ta, že na obrazovce mobilu je prostě málo místa a prostor pro velké fotky v hlavičce či boxíky po stranách prostě není. Soustředíte se na samé jádro webu, tzn. na informace, které tam jsou. Když pak se stejnou myšlenkou děláte web pro PC, je jednoduše dáno, že bude úspěšný.

Dva takové známe weby v České republice jsou super.cz a www.sport.cz.

mobile first koncept na super.cz
Mobile first koncept na super.cz

Co si o tomto principu myslíte? Má smysl? – Napište do komentářů! :)

Zápis do souboru v Java

Jako první v Eclipse vytvořím soubor “soubor.txt” který musí být umístěn v adresáři nějak takto:

zapis do souboru v java 1

Soubor si načtu pro zápis takto. Musím tam hodit include stejnojmené třídy.

Soubor je ready a můžu do něj zapsat. Můžu dokonce psát na řádky pomocí “\n”.

Do svého .txt souboru jsem ale ještě nic nenapsal, můj text “ahoj” a odrádkování je uložen do nějaké mezi paměti, abych to ale zapsal do souboru musím ukončit zápis.

Abych četl soubor musím si ho iniciovat pro čtení. Musím taky nastavit BufferedReader na soubor, který chci číst. Buffer vezme chary v tom souboru a připraví je pro čtení.

Vytvořím si pomocný string a pomocí while vypisuji obsah souboru, dokud je co vypisovat.

Potom po sobě uklidím a zavřu jak soubor tak ten BufferedReader.

Pokud by jste chtěli do souboru zapisovat efektivněji, máte možnost použít BufferedWriter. Jeho výhoda je že malé zápisy si uloží a zapíše pak při dostatečné velikosti vše jako jeden velký zápis.

 

stahnout_zdrojak
Klikni pro zdroják

Ukazatele v C++

Ukazatel má v sobě adresu paměti.  Ukazuje na místo v paměti, kde je něco uloženého. Pokud je to celé číslo, vytvoříme ukazatel např. takto:

Máme dvě možnosti jak uložit do paměti nějaké data:

První možnost s použitím new:

Výstup pak bude: 7 003E4BA8. Nesmíme zapomenout, že paměť, kterou jsme použili musíme vyčistit:

Pozor: Nesmaže se adresa, ale to, co bylo uložené v té paměti, v našem případě hodnota 7, adresa zůstane a můžeme jí používat dál.

Druhá možnost bez new:

Výstup pak bude: 5 008AF810. Protože jsme nepoužili new nejde uvolnit paměť. Adresa je číslo, které jednoznačně určuje pozici v celé paměti počítače. Značíme pomocí “&” (& = “ampersand“).

Můžeme si udělat pole pomocí ukazatelů a naplnit ho:

Takle se dají vypsat prvky v tom poly:

Takle uvolníme paměť. Výhoda je, že po uvolnění paměti pole můžu definovat pole jiné velikosti, ale ukazatel bude pořád stejný.

stahnout_zdrojak
Klikni pro zdroják

Operátory v C++

Kdyby operátor (např.: “+”) nebyl přetížen, nebude sčítat – neví totiž jak, aby fungoval musím ho přetížit.

Když si vezmu příklad s komplexníma číslama a vytvořím si v hlavičce třídu Complex a dám do ní vlastnosti takle:

Můžu potom vytvořit konstruktor (místo dva – s a bez vstupních parametrů jsem to napsal tak, že vstupní parametr je nadefinovaná nula a jen když do konstruktoru jde vstupní hodnota, tak se přepíše. A metodu na přetížení operátoru +.

Všimněte si, že jsem tam dal i metodu na přetížení “+=”. Ta ale nemá návratovou hodnotu – protože výsledek přičtu ke vstupní hodnotě.

Tady je definice konstruktoru, který je definován výše:

Tady pak definice metody pro přetížení opetárotu “+”. Výsledkem operátoru plus je nové komplexní číslo.

a tady definice metody bez návratové hodnoty pro operátor “+=”. Plus rovná se (přičítání), nevracím novou hodnotu ale upravím vstupní hodnotu.

Kdyby jste chtěli přetipovat celé číslo na double. Dá se tak automaticky pomocí metody double(). Všimněte si, že návratová metoda je definovaná pomocí toho double() a nedefinuje se stupeň přístupu (public, private…)

 Instanční nebo statická. Naše příklady jsou v instančních metodách, poznáte to tak, že se pracuje s “this”. Přetížení instanční metody -> posílám tam jen jeden vstupní parametr, druhý si beru pomocí toho this. Kdyby se dělala staticky, musí tam být oba vstupní parametry a this nemůžu využít.

V C++ existují i funkce nejsou vázány na třídu, pochází z jazyka C, kdy nebylo objektové programování.

stahnout_zdrojak
Klikni pro zdroják

Zápis do souboru v c++

Začnu tím, že si ve Visual studiu vytvořím prázdný c++ projekt. Potom si vytvořím třídu main a hlavičku. Tohle se mimochodem dá dělat i pomocí čarovného Class Wizard.

zapis do souboru v c++ 0
Class Wizard: CTRL + SHIFT+ X nebo pravým v solution explorer

Pro zápis do souboru v c++ musíme nejdřív vytvořit soubor ve složce “Resource Files“.

zapis do souboru v c++ 1

.txt se nachází v kartě utility nebo prostě do vyhledávání v pravo nahoře v novém okně napište .txt. Můj soubor se jmenuje: Text.txt

Do souboru se dá zapsat takto. Všimněte si, že soubor jsem si otevřel pro zápis, zapsal a zavřel.

Do souboru jsem tedy vložil úspěšně svůj text. Teď bych ho rád přečetl.  Musím soubor zase otevřít.

Když mám otevřený soubor musím definovat nějaký string, kam si uložím hodnoty, které přečtu + nějak to vypsat. Nejlepší je pro to while, který pojede tak dlouho, dokud v souboru bude, co číst.

Soubor pak už zase zavřu pomocí tohodle:

A je hotovo. Stáhni si zdroják, kde je funkční příklad. ;)

stahnout_zdrojak
Klikni pro zdroják

 

 

Java JFrame

Třída JFrame má v sobě konstruktor, který je title. Vytvořím si tedy okno.

Eclipse zase pomůže a řekne, že si musím naimportovat knihovnu:

java jframe 1

Když tak udělám a postím svůj program nic se nestane. Můj objekt okno má vlastnosti viditelnosti a velikosti, které musím udat abych okno nějak zobrazil.

Normálně tam má být i vlastnost setDefaultCloseOperation, ta je ale defaultně ve widlích nastavená na zavření okna křížkem v roku, takže nemusíte nastavovat a ono to funguje i bez toho. wow! Tady už vidíte okno, které jsem si udělal.

java jframe 2

Do okna bych si rád přidal nějaké prvky, klasika je nějaký text (text label) nebo tlačítko. Začnu tlačítkem. V java se používá pro přidávání prvků do okna takovej panel. Můžete to tam fláknout, ale pak se s tím nedá moc pracovat.

Panel si deklarujete takle. Musíte samozřejmě přidat knihovnu na JPanel – eclipse ale ráda  pomůže. :)

Panel není vidět, ale má vlastnost background, kde mu můžete nastavit barevné pozadí a on pak vidět bude. Můžete to udělat takto:

Výsledek pak bude, okno s černým panelem, což vlastně je výplň okna:

java jframe 3

Přidáme tlačítko. To se přidá do panelu. Všimněte té hierarchie.
Button -> Panel -> Okno

Výsledek je pak tahle super krása:

java jframe 4
Hodím si tam ještě nějaký text pomocí JLabel. Musím změnit barvu, protože mám černé pozadí, tak aby bylo něco vidět. :)

Tady je pak výsledek:

java jframe 5

Rozhodl jsem se přidat ještě ActionListener – prostě akci po kliku na tlačítko. Vytvořím si třídu akce a vytvořím event, kde se po kliku ukáže error okno s textem “ahoj!”.

Do mainu pak přidám tento event na tlačítko, které tam už mám:

Výsledek po kliknutí na tlačítko je pak tohle:

java jframe 6

Nezapomeň si stáhnout i zdroják, kde najdeš celý funkční příklad. :)

stahnout_zdrojak
Klikni pro zdroják