Skip to content

Category: programmingSyndicate content

Иван Ванков

 Възходът на машините

   от Иван Ванков


Тези от вас, които ме познават по-добре, сигурно знаят, че моята страст е machine learning, или казано на български самообучаващи се машини. Това е една от най-динамично развиващите се сфери на науката в момента, която ще доведе до фундаментални промени в човешкото общество, при това доста скоро. Ще се опитам да обясня защо и как това ще се случи.

Как започва всичко

 

Иван Ванков

 Deep WEB, Dark WEB и TOR

   от Иван Ванков


Няколко човека в последните два дни ми зададоха един и същи въпрос – какво е TOR и какво е Deep WEB, ще се опитам простичко да обясня какво представляват и да внеса малко разбиране. Нека да започнем от най-простото:

Нормалният Интернет (Surface Internet)

Как намирате информация в страница? В над 90% от случаите търсите в google (а ако имате странно психическо заболяване Bing или Yahoo). Google и останалите непрекъснато сканират страниците в мрежата, записват тяхната информация на техните сървъри и в последствие алгоритмите им се опитват да ви покажат най-релевантните резултати. Често успяват, най-вече с рекламите. Но ето тук е важния момент – как се сканират всички страници?

 

Иван Ванков

Не, няма да хейтя, въпреки че NodeJs има толкова матял за хейт и сърказъм.

Проблемът за който искам да споделя не е бъг, а е фундаментална грешка в NodeJS, която едва ли някога ще се оправи. Говоря за асинхронността, и най-вече, че според NodeJS религията всичко трябва да бъде асинхронно.

Тази псевдо асинхронност (nodejs работи само на една нишка) често помага и много процеси са изградени и модифицирани за да се „възползват“ максимално от нея, обаче има едни ситуации в които става кошмарно. Нека да ви дам реалистична постановка.

Да приемем, че имаме библиотека, която има метода addAgent(). На този метод трябва да се подаде външен обект, писан от мен, който има метода invoke(param1,param2). Библиотеката в даден момент ще извика този мой метод с тези параметри и очаква отговор от него. Важното в случая е, че библиотеката очаква точно определен отговор (обект) с който да може да работи веднага.

 

Иван Ванков

Рядко пиша за политика и гледам да седя далеч от тези теми в този блог – политиката си е за политиците. Обаче великият неповторим стожер на България, единственият и ненадминат вокален експериментатор, завършил колеж за непорочни девици, винаги правият Слави Трифонов, започва да бута нещата към много, ама много опасна пропаст.

Естествено говоря за прочутия му референдум и най-вече факта, че част от въпросите ще бъдат изпратени за тълкуване от Конституционния съд. И този господин с цялата си медийна власт обяснява колко ужасно лошо е това и как цялото управление (включително и опозицията) се опитвали да пренебрегнат „желанието на народа“.

 

C, PHP, VB, .NET

ОКОНЧАТЕЛНИ РЕЗУЛТАТИ ПО ПТСК: РЕЗУЛТАТИ ОТ РЕДОВНА СЕСИЯ 2016

Архив:

1. Списък със студентите, които са освободени от задача и писмен изпит с оценка „отличен 6“.

 

Иван Ванков

Този пост е инспириран от коментар в предишен пост където започна лека дискусия относно създаването на нови инстанции на обекти в самите обекти. Но нека да започнем от самото начало:

Какво точно е DI

DI е част от общо приети добри практики в програмирането наречени S.O.L.I.D, които не са абсолютни и задължителни, но съобразяването с тях, доколкото е възможно, води до по-добра архитектура, намалява „спагети код“, премахва скритите зависимости, позволява по-доброто преизползване на код и много други хубави работи. D в S.O.L.I.D е за  Dependency Injection.

Идеята е изключително проста, DI позволява класовете да не се интересуват от създаването на своите зависимости, а да ги получават на готово. Нека да видим следния код:

 

Иван Ванков

Забелязвам, че често хората, най-вече начинаещите, не са напълно наясно, че в България има 3 основни типа фирми в IT и ще се опитам да дам малко яснота. В никакъв случай тази статия не претендира за пълнота, идеята и е да опиша сбито основните сектори и техните основни разлики. Това не са абсолютни граници, някой фирми и проекти често не могат да се определят категорично в някой от секторите.

 

Иван Ванков

Вчера водих поредното интервю и след краят му колегата който също участваше ме погледна учуден и ми каза в прав текст – „Ти си голям задник, защо бе толкова зъл и агресивен с това момче„.

Наистина бях агресивен, но не в смисъла на физическа агресия, а в смисъла, че показах на момчето колко нереалистична представа има за уменията си, пазара на труда в България и като цяло в IT сектора.

Нека да дам малко контекст, преди да се опитам да обясня основната теза. Момче на около 28 години, с завършено техническо образование и 8 години професионален опит в IT, в частност  PHP. Според CV-то е почти идеалния кандидат за нас. Но както се казва – „На думи и CV-та всички сме богове“, за това има серия от интервюта, за да се види кой кой е.

 

Иван Ванков

 Интересни роботи във Facebook

   от Иван Ванков


Днес ми се случи нещо доста интересно, поглеждам във Facebook да видя някакви неща по курса и виждам, че имам интересна покана за приятелство от девойче с френско име. FB ми казва, че имаме много общи познати. Стана ми интересно, все пак имам познати във Франция и общувам често с чужденци, помислих си, че е наистина е някоя личност, с която сме имали общо. Я по конференции, я по някой проект.

Профилът изглежда нормален, снимки, месторабота, някаква що-годе реална активност. Решавам да приема поканата и буквално 5 секунди след приемането получавам съобщение от девойчето, което ми се извинява, че ме е добавя като приятел без да се познаваме и изтърсва някакво замотано извинение.

 

C, PHP, VB, .NET

 Упражнение 15, 2015

   от C, PHP, VB, .NET


Това е решението на примерната задача за изпит, която е дадена на javac.bg. Имаме библиотека за документ (docslib), сървърно приложение (Upr15Server) и две клиентски приложения: Upr15Student, което изпраща документи и Upr15Secretary, което обработва документи.

Изтеглете >>> сорс кода от тук <<<