Nabídka práce: Hledáme programátora

Hledáme webového programátora

Prosím o sdílení.

Do liberecké IT firmy hledáme šikovného programátora v Javascriptu/C#. Přichází velký webový projekt, který bude minimálně na 1 rok. A po něm budou následovat další skvělé projekty.
Jsme firma, kde jsou lidé spokojení, s téměř nulovou fluktuací, od nás prostě lidi neodchází :)

Jak se u nás pracuje?
Pracujeme v nejnovějším Visual Studiu na výkonných notebocích v prostorných kancelářích. Používáme AngularJs + MVC, píšeme si unit testy, máme i vlastní testery. Na continuous intergration používáme Team City, pro verzování Git. Snažíme se o kvalitu.

Kdo jsme?
Jmenujeme se ST-Software a jsme dceřinná společnost od Swiss Timingu. Vyvíjíme software pro velké sportovní události, některé sporty na olympiádě, plavecké a jachtařské závody, atd…

Takže pokud jsi chytrý, rád se učíš nové věci a umíš C# + Javascript, tak se určitě ozvi na mail votrubec.d@st-software.com.

Sdílejte, lajkujte, přeposílejte, tweetujte ….

Problem with nested forms in AngularJs

I had a long form across multiple tabs. Some parts of the form were hidden via ng-if. After some time I’ve noticed that ng-if on <form> element does not work anymore. The parts which were to be hidden, were always visible. When I’ve changed element type to <div> or <div ng-form> it worked again. WTF is happening here??

The problem was that about a week before I’ve added <form> above all those tabs and thus the <form> inside of tabs were nested. Angular has no problem with that, but browsers do. It is invalid HTML. As a result ng-if (or ng-show, ng-hide) was not even called, it was silently ignored.

So the solution is simple. If you need nested forms, always use directive ng-form instead of <form> element. Than you will have valid html and directives will be invoked.

See plunkr for demo.

RTFM :)

Jak se Seznam.cz (ne)stará o své uživatele

Už jsem tady jednou o Seznam.cz psal (Proč už nepoužívám Seznam.cz), a musím bohužel znovu. To, že Seznam nepoužívám, platí stále, ale moje máma potřebovala poradit s jedním mailem, do kterého se nemohla dostat. Místo obsahu mailu se ukázalo jen prázdné místo. Ukázalo se, že se jedná o rozsáhlejší problém. Mnoho lidí reportovalo, že jim zmizel obsah emailů doručených kolem 30.5. (Viz diskuze na seznamáckém fóru zde a zde). Jediná (!) reakce ze strany Seznamu je z 11.5., kde říkají, že “během několika málo dní to opraví”. Neopravili zatím nic (psáno 22.6.2014). Není ani žádné oficiální prohlášení typu “Omlouváme se za chybu, intenzivně na tom pracujeme, blablabla…”. Pokud je, tak o něm nevím. Vypadá to, že Seznam.cz situací nijak neřeší a stížnosti uživatelů ignoruje. Škoda …

Milí uživatelé, tuto zprávu ignorujte... ve skutečnosti to totiž nijak neřešíme

Milí uživatelé, tuto zprávu ignorujte… ve skutečnosti to totiž nijak neřešíme

 

Forum napoveda.seznam 2

Mlčení je asi tak ta nejhorší taktika, co Seznam.cz mohl zvolit. Zajímalo by mě proč.

Skoro to vypadá, že kazit si dobré jméno patří k filosofii Seznamu. Viz Nejhorší inovace roku 2012? Nový email od Seznamu nebo redesign Lide.cz, který v podstatě zařízl stávající službu a nahradil ji seznamkou. Spoustu lidí tím naštval, a následoval propad návštěvnosti na polovinu.  Viz článek Podarilo se Lide.cz zvrátit úbytek uživatelu? na Pooh.cz.

ceske-socnety-2014-05

 

A pro úplnost ještě tragikomický příběh o tom, jak Seznam.cz má na Firmy.cz jen jednu hvězdičku. Článek zde.

PS:  Diskuze pod profilem Seznamu na Firmy.cz je lahůdka…

 

UPDATE

Pokud máte problém se zobrazením emailů, tak nepiště na seznamácké fórum, ale kontaktujte přímo helpdesk.

Link na helpdesk:
http://napoveda.seznam.cz/cz/services/
Pak kliknout na “Přejít na technickou podporu”

What to do when angular controller is initialized over and over?

It is probably a rare case, but it already happened to me at least twice.

The thing is this:

We have rather big angular application, it is more like several semi-independent applications (or modules). Everything works fine except one dialog with specific url, which causes given angular controller to initialize over and over. The browser UI is frozen, javascript engine is working like crazy, until finally page crashes. It turns out that the cause of this problem is rather silly. It is the url specified in base tag.

My buggy code looked like this

Index.html

<base href="/some/path/bleble/" />

Angular

//its typescript
($routeProvider: ng.route.IRouteProvider, $locationProvider: ng.ILocationProvider, $httpProvider: any) => {
 $locationProvider.html5Mode(true);

 $routeProvider.when("/", { templateUrl: "template.html", controller: "SomeCtrl", caseInsensitiveMatch: true });
 $routeProvider.when("/profile", { templateUrl: "template.html", controller: "SomeCtrl", caseInsensitiveMatch: true });
 $routeProvider.otherwise({ redirectTo: "/profile" });
}

Corrected version

<base href="/some/path/bleble" />

See the difference? No? .. i did not see it either. The difference is the slash “/” in the end of the base url. When the slash is present it then angular router can not find a matching url, redirects to default, fails again. So it redirects again, fails to find a match, redirects, fails …, …, over and over.

One stupid slash :)

Happy debugging.

Jak se mi pracuje se stolem Sit2Stand

Jedním slovem: Skvěle

Stůl je robustní, prý unese až 100kg, ale to jsem nezkoušel. Je programovatelný, takže si můžu přednastavit 3 polohy. (využívám ale jen 2 :))

Zhruba rok a pů jsem měl stůl pro práci ve stoje udělaný z papírových krabic. Nebylo to moc estetické, ale bylo to zadarmo a účel to splnilo. Nevýhodou bylo, že vždycky když jsem se chtěl posadit nebo postavit, tak jsem musel vzít notebook a přenést ho na vedlejší stůl. Což zní jako prkotina, ale pokud jsem zrovna zabraný do nějakého problému, tak poslední co chci, je přerušovat si myšlenky nějakým přesunem. Musel jsem vždycky vytáhnout notebook z dokiny, přenést, zapojit do dokiny na druhém stole, to mi samozřejmě rozházelo velikost otevřených oken, zkontrolovat že jsem vypnul zvuk aby při přenášení nezačal notebook hrát nahlas atd…

Teď když si chci sednout, tak jen zmáčknu knoflík a je to. Nepřeruší se mi flow, ve kterém práve jsem, což je velká výhoda.

Chci také tímto poděkovat svému skvělému šéfovi, že mi ten stůl koupil. Platit ho ze svého by se mi nechtělo, byť bych platit jen polovinu.

Jediná nevýhoda je absence poličky na kabely, zdroj a podobné věci. Předchozí, klasický stůl ji měl, a všechny kabely jsem do ní elegantně schoval. U sit2stand mi kabely visí a plandají. Sice jsem si je nějak svázal, ale ideální to není. Jinak všechno skvělé :)

Buffer
GetSocial