Quantcast
Channel: Найцікавіше на DOU
Viewing all 8151 articles
Browse latest View live

28 марта, Киев — Мастер-класс "Разработка мобильных приложений с PhoneGap"

$
0
0

Организатор: SmartMe
Спикер: Дмитрий Малеев

Все больше и больше мобильных приложений пишутся и создаются разработчиками с помощью HTML / CSS / JavaScript на базе PhoneGap. Компания Gartner в своем ежегодном докладе написала, что более чем 50% мобильных приложений для enterprise рынка были написаны на PhoneGap’о подобных фреймоврках. Свой лидирующий мобильный продукт Worklight IBM написали поверх PhoneGap.

Хватит смотреть как другие пишут приложения на куче платформ за один раз! Приходи на воркшоп и научись писать самостоятельно!
Во время тренинга мы не будем фокусироваться на «как верстать приложения для мобильных устройств», а больше поговорим про: как это работает, как использовать фичи PhoneGap, дебажить и компилировать, и, конечно же, обсудим подводные камни.

Бери свой ноут, ставь Idea + Visual Studio, если Windows; Idea + Xcode, если Mac. Ну и приготовься кодить!

О тренере

Дмитрий Малеев
Руководитель Lviv Code School, архитектор мобильных приложений в N-iX. Разработчик со стажем более 9 лет. Дмитрий является постоянным спикером различных IT конференций. С фреймворком PhoneGap работает более 3-хлет.

Программа тренинга:

1. Кросс-платформенная мобильная разработка
2. Введение в PhoneGap — история + архитектура + среда разработки
3. Написание приложения — coding session
4. Plugins ( Android, iOS, Windows Phone )
5. Cordova CLI
6. PhoneGap build
7. Ionic
8. Практическая работа

Воспользуйтесь скидкой:

Cкидка 10%для читателей DOU по промо-коду douPGap_10 (введите промо-код в регистрационной форме, поле «Код скидки»)

Детали, стоимость и регистрация


Как понять, что тебя собираются уволить

$
0
0

В китайском языке для увольнения есть слово, которое буквально переводится как «поджарить». Такое сравнение наверняка возникло неслучайно, потому как увольнение обычно происходит больно и неожиданно: «Джо, ты неудачник. Выметайся из нашей компании», слышит бедный Джо, хотя ещё вчера ничто не предвещало беды. Или предвещало?

Отношения с работодателем чем-то напоминают отношения с девушкой. Всё вроде бы хорошо, девушка улыбается и смеется, ведет себя как обычно, не подавая никаких сигналов. Но через три дня ты узнаешь, что вы уже, оказывается, не встречаетесь. Хватаешься за сердце и начинаешь рыдать в туалете, проматывая в голове события и пытаясь понять, где свернул не туда. Со временем понимаешь, что таких моментов, где всё можно было сделать лучше, — более сотни, и затея, в общем-то, тупиковая. Но мозг так устроен: не найдя объяснения ситуации, он хотя бы пробует чему-то научиться. Чтоб в следующий раз история не повторилась. Тогда и начинаешь перебирать в голове знаки, намёки — любую мелочь, которую ты пропустил и которая привела к краху империи любви.

Примерно то же самое происходит с работодателем. Он молчит-молчит, как вдруг хоп — ты уже ничейный холоп. Раб без галеры. И вот ты вспоминаешь последние дни, недели, пытаешься восстановить цепь событий. Вспоминаешь кривую ухмылку тимлида, печальный взгляд уборщицы Зины, непривычно долгое рукопожатие с проджект-менеджером. Кто отдал приказ? Когда они узнали? Почему я?

Решение об увольнении сотрудника может вынашиваться месяцами, но может созреть и за минуту. В последнем случае не нужно обладать даром провидца, чтоб узреть свое будущее: поставленный тобой фингал начальнику или украденные исходники игры почти наверняка повлекут за собой волшебный пендель. Но с решениями, которые зреют долго, всё намного интереснее.

Мы с коллегами из антикризисного центра разработали методологию, которая позволяет с небольшой погрешностью предсказывать своё увольнение. Основной упор делается на входных данных (знаках-событиях), которые преобразуются в звуковой пищащий сигнал портативного увольмометра. Когда-нибудь настанут славные времена, и этот девайс будет стоять на каждом столе офисного трудяги. Но что это мы всё о хорошем да о хорошем? Давайте, наконец, о плохом.

Когда пора беспокоиться

1.Тебя реже зовут на собрания и Skype-коллы. А если и зовут, то не преминут публично посокрушаться, что ты этот шмат работы должен был сделать в срок, но не успел. Могут мягко посрамить за какой-нибудь другой ляп или недочет.

2.Тебе не дают сложных задач, которые требуют много времени. Не дают ответственных заданий, оставляя, как кость собаке, что-нибудь среднесрочное и некритичное.

3.Большой босс не здоровается за руку и, кажется, напрочь забыл твоё имя. Был на «ты», перешел на «вы».

4. Проджект-менеджер требует более подробной отчетности, хотя раньше этот вопрос не поднимался. В иные моменты возможен даже переход на почасовые отчеты.

5. Намекают, что неплохо бы тебе сходить на курсы повышения квалификации. Но когда ты заявляешь о своей готовности, волшебным образом оказывается, что мест больше нет, или что негоже в рабочее время шастать по курсам.

6. Начальник жмёт руку дольше обычного. Сила пожима либо заметно крепше, чем всегда, либо заметно слабше.

7. Или наоборот, начальник избегает прямого контакта. При разговоре уводит взгляд. Когда возникает проблема, играет в «футбол» — отправляет тебя к другому начальнику.

8. Тревога! Проджект стоит в углу с заказчиками и изредка поглядывая на тебя, что-то отвечает им робким голосом. Заказчики (если это иностранцы) после этой беседы относятся к тебе подчеркнуто вежливо и дружелюбно, «экий ты питомец-любимец».

9. Проджект и тимлид шепчутся, поглядывая на тебя. Когда ты приближаешься, резко начинают говорить о какой-нибудь чепухе, про погоду, и тут же расходятся, показушно щелкая каблуками: «мне пора».

10. Когда ты наломал дров и запорол кусок работы, вместо того чтоб ругать, начальник, наоборот, хлопает тебя по плечу, спрашивает, как там поживает жена/детишки, пропускает ответ мимо ушей, подходит к столу и наливает вам по стопочке «за всё хорошее».

11. Тебя не зовут на корпоратив и тимбилдинг. «Вспомнив» о досадной оплошности, бьют себя по лбу со словами «Как же это мы тебя забыли, Иннокентий?». Хотя на тот же корпоратив-тимбилдингещё за полгода были приглашены кондиционерщик Коля и уборщица Зина.

12. Красная тревога! Тебя перестали включать в общий недельный отчет. Если ты забыл выслать свой, тебе об этом даже не напоминают.

13. Твое имя и фамилию потихоньку изгоняют из всех списков, а в новые Skype-группы не то что не приглашают — даже не упоминают об их существовании.

14. Тебя перестают звать на те внутрикомандные чайные посиделки и обеды, которые организовываются тимлидом/проджектом. Мотивируется это демократией и «мы думали, ты и так знал, что все идут пить чай».

15. Тебя не просят указать даты планируемых отпусков в этом году. Хватит жить в будущем!

16. В переписке тебя перестают ставить в копию. Парень, зачем тебе вся эта суета? Отдохни. Да и заказчику ни к чему лишний раз напоминать о твоем существовании.

17. К тебе приводят коллегу (не джуна) и просят обучить его тем премудростям, которыми ты занимаешься во время работы — рассказать про приложение, его основные модули, классы, функции. Смахивает на передачу проекта? Нет, бро, тебе показалось.

18. Если ты заведуешь каким-нибудь проектом, то тебя просят передать рандомному коллеге или начальнику все логины/пароли. Официальная версия сего действа — «вдруг ты заболеешь».


Конечно, не каждый пункт может предсказать грядущий обряд пендель-изгнания из компании. Поэтому их нужно рассматривать в совокупности или связками (в 3-4 штуки),ориентируясь по ситуации.

В конце концов, может это всего лишь паранойя? Но я бы не спешил успокаивать себя этой мыслью. Нет дыма без огня. И если мысль о том, что тебя собираются поджарить, точит тебя день ото дня — значит, это неспроста. Мозг может и не понимает ситуацию, но нутро-то чует грядущий апокалипсис. Так, может, обновить резюмешечку, да перестать морозиться от когда-то назойливых, но теперь уже милых и почти родных HR-сестричек?

2 марта, Киев — Курс “Тестирование ПО для новичков”

$
0
0

Всем тем, кто хочет работать в IT сфере, мы протягиваем руку помощи и подсказываем, как осуществить свою мечту!
Долгие годы успешно работаем инженерами по тестированию ПО и теперь пришло время делиться своим опытом с вами!

Первое занятие мы проводим бесплатно. На нем вы сможете ближе познакомиться с преподавателем, тренинговым центром, технологией, задать все интересующие вопросы и к окончанию занятия определиться — принимаете Вы решение продолжать обучение или нет!

Весь курс состоит из 10 занятий по 2 часа, 2 раза в неделю (понедельник/среда) с 19:00-21:00.

Что предлагают наши курсы?

Теоретические знания:
• Методологии тестирования ПО.
• Цикл разработки программного обеспечения.
• Методики и логика поиска дефектов.
• Bug report — оформление, правила, стандарты.
• Правила и особенности написания тест-кейсов.

Практические навыки:
• Использование багтрекинг системы Jira.
• Использование тестовой документации с помощью TestRail.
• Участие в реальном проекте.

Подготовку к собеседованию:
• Составление «правильного резюме».
• Подготовка к собеседованию.
• Прохождение собеседования в «домашних условиях».

Требования к участникам:
• ОГРОМНОЕ желание стать инженером по тестированию.

Записаться на первое бесплатное занятие можно здесь.

17 — 19 апреля, Киев — Garage48 вже цієї весни у Києві!

$
0
0

Зустрічайте всесвітньо відому серію стартап хакатонів Garage48вже цієї весни у Києві!

Ви коли-небудь мріяли стати частиною «sucsess story», що має витоки з України? У вас є всі шанси! Garage48знову у Києві з купою супер-менторів, які допоможуть вам перетворити ваші ідеї на робочі прототип за 48 годин!

Стартап-хакатон Garage48 — це подія на вікенд, що передбачає довгу та інтенсивну розробку інноваційних веб та мобільних додатків і втілення нових стартапів в життя. Якщо ви розробник, маркетолог, дизайнер або пристрасний фантазер — приєднуйся до найочікуванішої стартап події України!

Ми сподіваємося зібрати у Часописі близько ста учасників, тож не зволікайте з реєстраціями — кількість місць, на жаль, обмежена. Нагадуємо, що чекаємо на таких фахівців, як програмні розробники, дизайнери, маркетологи та візіонери з усіх куточків України та сусідніх країн. Захід з радістю прийме і молодих студентів, що ще не мають фаху, та мають мету!

Мозкові штурми, створення нових ідей, формування команд, шалені розробки та круті презентації — на все це у вас є лише 48 годин! Протягом івенту вам допомагатиме міжнародний менторський склад. В неділю ввечері продукти та послуги мають бути на відкритому ринку та у доступі для широкого загалу в інтернеті, презентація ваших проектів транслюватиметься, а журі оберуть переможців.

Доречі, захід проводитиметься виключно англійською мовою, презентації також мають бути англомовними (англомовне журі). Та якщо у вас виникнуть з цим проблеми, не хвилюйтеся та реєструйтеся — ми допоможемо!

Хочемо зауважити, що окрім фану і досвіду метою організаторів Garage48 є і привернення уваги світу до Українських технологій і стартапів, тож давайте покажемо, на що ми здатні!

Приєднуйтеся до заходу у Facebook, щоб слідкувати за актуальними та свіжими новинами.

Програма:

П’ятниця, 17 квітня:
• 17:30 — Реєстрація, кава
• 18:15 — Вступне слово
• 18:45 — Презентація ідей
• 19:45 — Кава-брейк
• 20:00 — Презентація ідей
• 21:00 — Формування команд
• 22:00 — Робота в команді розпочинається!

Субота, 18 квітня
• 09:00 — Кава та сніданок. Розробка триває
• 10:00 — Check point # 1
• 11:00 — Робота з наставниками
• 13:00 — Обід
• 13:45 — Розробка продукту
• 16:00 — Надихаюча історія стартапу
• 19:00 — Вечеря
• 19:45 — Розробка продукту
• 20:00 — Check point # 2. Розробка триває

Неділя, 19 квітня
• 09:00 — Кава та сніданок. Розробка триває
• 10:00 — Check point # 3
• 11:00 — Пітчинг сесія # 1
• 13:00 — Обід
• 14:00 — Пітчинг сесія # 2
• 17:00 — Кава-брейк та закуски
• 17:30 — Фінальна презентація проектів та пряма трансляція
• 20:00 — Визначення переможців та нетворкінг

NB!Графік є попереднім, можливі зміни, і вони, ймовірно, відбудуться.

Дайджест цікавих вакансій № 175

$
0
0

Олексій Орапшукає крутого дослідника-аналитикадля нових проектів з підготовки кастомізованих аналітичних звітів за результатами бренд-моніторингу в соцмережах.

Максим Нефьодов, заступник Міністра економічного розвитку і торгівлі України, запрошує волонтерів на роботу в міністерство. Потрібні analysts with excellent ppt skills and data drilling experience, communications manager, social media manager.

Компанія WinZip Computingшукає в Харкові молодшого С++ програміста.

Компанія Eda.uaзапрошує на роботу керівника інтернет-проекту. Зарплата 70 000 грн.

ТОВ «Сігніс», що займається розробкою програм у сфері електронної звітності та криптографії, шукає в Херсоні Delphi-програміста. Зарплата 14 000 грн.

Одеській продуктовій компанії Readdleпотрібен старший iOS-розробник. Серед бонусів — 45% знижка на будь-який продукт Apple.

Ringostatшукає в Одесі PHP-програміста. Серед бонусів настільний теніс, аерохокей, X-box,можливість повисіти на турніку або дошці Євмінова.

Національний авіаційний університетзапрошує на роботу доцента кафедри телекомунікаційних систем.

Київський вітамінний заводшукає начальника відділу інформаційних технологій.

Інтернет-асоціація Україниоголосила конкурс на заміщення посади директора ДП «Українська мережа обміну трафіком» (UA-IX). Пропозиції кандидатів приймаються до 09.03.2015 за адресою 04053, м. Київ, вул. О.Гончара, 15/3, оф.22.

Військовій частині № 2240 (Харків) потрібен спеціаліств службу технічного захисту інформації. Зарплата 5500 грн.


Слідкуйте за Front End вакансіями в twitter за допомогою @front_end_jobs.


Більше вакансій шукайте на jobs.dou.ua.
← Попереднійвипуск дайджесту.

Якщо зустрінете цікаву вакансію, яку варто додати в наступний дайджест — надсилайте її на editors@dou.ua.

12 — 14 марта, Киев — Luxoft Interview Factory Days для Java разработчиков

$
0
0

Luxoft предлагает опытным Java разработчикам возможность получить перспективную работу в Польше!

Успешная карьера строится шаг за шагом, позвольте нам приблизить вас к работе вашей мечты.

Приглашаем вас на мероприятие Interview Factory, которое состоится 12-14 марта.У вас будет возможность продемонстрировать свои технические навыки, пройти собеседование и получить предложение о работе в кратчайшие сроки!

Краков станет для вас первым шагом на встречу вашей международной Java-карьере и страной, c множеством преимуществ:
• Официальное трудоустройство и полный социальный пакет
• Высокий уровень жизни, медицинского обслуживания и образования
• Возможность путешествовать по всей Европе без визы

Все, что нужно сделать — это зарегистрироваться и прийти на Interview Factory!
Не упустите свой шанс жить и работать в Польше!

Зарегистрируйтесь на Interview Factory

Результаты “книжного” опроса: список must-read по версии DOU

$
0
0

В ходе опроса 1015 украинских айтишников высказали свое мнение о том, какие именно книжки по программированию можно назвать полезными и стоящими для чтения.

Каждой книге можно было поставить одну из трех оценок: «Хорошо» (1 балл), «Так себе» (0 баллов), «Не понравилось» (-1 балл). По сумме этих баллов и считался общий рейтингиздания.

Кроме общего рейтинга, мы посчитали рейтинг по индексу полезности. Он показывает, сколько процентов людей из тех, кто прочитали книгу, оценили ее высоко. Значения этой шкалы переведены в пятибалльную систему.

Итак, назовем по ТОП-5 лидеров по двум рейтингам для каждой технологии, вынесенной в опрос.

Быстрый переход:
— C#/.Net
— C и C++
— Java
— Базы данных
— PHP
— JavaScript, jQuery, Node.js
— HTML, CSS
— Pyt
— Ruby/Rails
— Unix/Linux
— Разное
— Статистика: как читают программисты?

C#/.Net

Общий рейтингРейтинг полезности
1 место
Нейгел К.
C# 4.0 и платформа .NET 4 для профессионалов
Набрала 65 баллов на DOUРейтинг DOU: 4.5 / Amazon: 3.9
2 место
Нэш Т.
C# . Ускоренный курс для профессионалов
Петзольд Ч.
Программирование для MS. Windows на С#
Набрала 54 балла на DOUDOU: 4.5 / Amazon: 4.1
3 место
Рихтер Дж.
Программирование на платформе MS NET Framework
Шилдт Г.
C# 3.0. Руководство для начинающих
Набрала 44 балла на DOUРейтинг DOU: 4.4 / Amazon: 4.8
4 место
Петзольд Ч.
Программирование для MS. Windows на С#
Freeman A.
Pro ASP.Net MVC 5
Набрала 42 балла на DOUРейтинг DOU: 4.1 / Amazon: 4.2
5 место
Рихтер Дж.
Windows для профессионалов
Chadwick J., Snyder T.
Programming ASP.NET MVC 4
Набрала 27 баллов на DOUРейтинг DOU: 3.9 / Amazon: 3.5

C и C++

Общий рейтингРейтинг полезности
1 место
Керниган Б., Ритчи Д.
Язык программирования Си
Набрала 47 баллов на DOUРейтинг DOU: 4.5/ Amazon: 4.7
2 место
Липпман С.
C++ для начинающих
Набрала 42 балла на DOUРейтинг DOU: 4.5 / Amazon: 4.3
3 место
Александреску А.
Современное проектирование на С++: Обобщенное программирование и прикладные шаблоны проектирования
Джосьютис Н.
Стандартная библиотека С++ (Для профессионалов)
Набрала 41 балл на DOUРейтинг DOU: 4.3 / Amazon: 4.6
4 место
Каррано Ф., Генри Т.
Абстракция данных и решение задач на C++
Либерти Дж.
Освой самостоятельно C++ за 21 день
Набрала 34 балла на DOUРейтинг DOU: 4.2 / Amazon: 4.4
5 место
Саттер Г.
Новые сложные задачи на C++
Каррано Ф., Генри Т.
Абстракция данных и решение задач на C++
Набрала 31 балл на DOUРейтинг DOU: 4.1 / Amazon: 4.2

Java

Общий рейтингРейтинг полезности
1 место
Блох Дж.
Java. Эффективное программирование
Набрала 146 баллов на DOUРейтинг DOU: 4.7 / Amazon: 4.8
2 место
Шилдт Г.
Полный справочник по Java
Freeman E.
Head First Design Patterns
Набрала 143 балла на DOUРейтинг DOU: 4.3 / Amazon: 4.6
3 место
Эккель Б.
Философия Java
Набрала 127 баллов на DOUРейтинг DOU: 4.2 / Amazon: 4.2
4 место
Хорстманн К., Корнелл Г.
Java. Библиотека профессионала, том 1,
Java. Библиотека профессионала, том 2
Sierra K., Bates B.
Head First Java
Набрала 95 баллов на DOUРейтинг DOU: 4.0 / Amazon: 4.2
5 место
Sierra K., Bates B.
Head First Java
Sierra K., Bates B.
SCJP Sun Certified Programmer for Java 6 Exam
Набрала 50 баллов на DOUРейтинг DOU: 4.0 / Amazon: 4.5

Базы данных

Общий рейтингРейтинг полезности
1 место
Гольцман В.
MySQL 5.0. Библиотека программиста
Дейт К.
Введение в системы баз данных
Набрала 26 баллов на DOUРейтинг DOU: 5.0 / Amazon: 3.5
2 место
Грабер М.
SQL. Описание SQL92, SQL99 и SQLJ
Уилсон Дж., Редмонд Э.
Семь баз данных за семь недель. Введение в современные базы данных и идеологию NoSQL
Набрала 14 баллов на DOUРейтинг DOU: 5.0 / Amazon: 4.5
3 место
Гарсиа-Молина Г., Ульман Дж.
Системы баз данных. Полный курс
Кляйн К., Хант Б.
SQL. Справочник
Набрала 11 баллов на DOUРейтинг DOU: 5.0 / Amazon: 3.9
4 место
Бейли Л.
Изучаем SQL
Дейт К.
SQL и реляционная теория. Как грамотно писать код на SQL
Набрала 9 баллов на DOUРейтинг DOU: 4.4 / Amazon: 3.4
5 место
Дейт К.
Введение в системы баз данных
Гарсиа-Молина Г., Ульман Дж.
Системы баз данных. Полный курс
Набрала 8 баллов на DOUРейтинг DOU: 4.2 / Amazon: 3.5

PHP

Общий рейтингРейтинг полезности
1 место
Зандстра М.
PHP. Объекты, шаблоны и методики программирования
Набрала 57 баллов на DOUРейтинг DOU: 4.7 / Amazon: 4.7
2 место
Котеров Д., Костарев А.
PHP 5. Наиболее полное руководство в подлиннике
Веллинг Л., Томсон Л.
Разработка веб-приложений с помощью PHP и MySQL
Набрала 20 баллов на DOUРейтинг DOU: 4.1 / Amazon: 4.3
3 место
Веллинг Л., Томсон Л.
Разработка веб-приложений с помощью PHP и MySQL
Шлосснейгл Дж.
Профессиональное программирование на PHP
Набрала 18 баллов на DOUРейтинг DOU: 3.6 / Amazon: 4.0
4 место
Шлосснейгл Дж.
Профессиональное программирование на PHP
Котеров Д., Костарев А.
PHP 5. Наиболее полное руководство в подлиннике
Набрала 7 баллов на DOUРейтинг DOU: 3.4
5 место
Колисниченко Д.
Самоучитель PHP5
Набрала 4 балла на DOUРейтинг DOU: 1.6

JavaScript, jQuery, Node.js

Общий рейтингРейтинг полезности
1 место
Стефанов C.
JavaScript. Шаблоны
Набрала 62 балла на DOUРейтинг DOU: 4.8 / Amazon: 4.7
2 место
Маккоу А.
Веб-приложения на JavaScript
Самков Г.
jQuery. Сборник рецептов
Набрала 30 баллов на DOUРейтинг DOU: 4.7
3 место
Флэнаган Д.
JavaScript. Подробное руководство
Крокфорд Д.
JavaScript. Сильные стороны
Набрала 20 баллов на DOUРейтинг DOU: 4.7 / Amazon: 4.3
4 место
Бибо Б., Кац И.
jQuery. Подробное руководство по продвинутому JavaScript
Маккоу А.
Веб-приложения на JavaScript
Набрала 19 баллов на DOUРейтинг DOU: 4.4 / Amazon: 4.1
5 место
Пауэрс Ш.
Изучаем Node.js
Флэнаган Д.
JavaScript. Подробное руководство
Набрала 18 баллов на DOUРейтинг DOU: 4.3 / Amazon: 4.5

HTML, CSS

Общий рейтингРейтинг полезности
1 место
Макфарланд Д.
Большая книга CSS3
Набрала 11 баллов на DOUРейтинг DOU: 5.0 / Amazon: 4.6
2 место
Макдональд М.
HTML5. Недостающее руководство
Лабберс П.
HTML5 для профессионалов. Мощные инструменты для разработки современных веб-приложений
Набрала 9 баллов на DOUРейтинг DOU: 5.0 / Amazon: 3.8
3 место
Лоусон Б., Шарп Р.
Изучаем HTML5. Библиотека специалиста
Сухов К.
HTML5. Путеводитель по технологии
Набрала 7 баллов на DOUРейтинг DOU: 5.0
4 место
Роббинс Дж.
HTML5, CSS3 и JavaScript. Исчерпывающее руководство
Макдональд М.
HTML5. Недостающее руководство
Набрала 5 баллов на DOUРейтинг DOU: 4.5 / Amazon: 4.7
5 место
Лабберс П.
HTML5 для профессионалов. Мощные инструменты для разработки современных веб-приложений
Лоусон Б., Шарп Р.
Изучаем HTML5. Библиотека специалиста
Набрала 4 балла на DOUРейтинг DOU: 4.4 / Amazon: 3.6

Python

Общий рейтингРейтинг полезности
1 место
Лутц М.
Изучаем Python
Набрала 68 баллов на DOUРейтинг DOU: 4.3 / Amazon: 4.1
2 место
Россум Г.
Язык программирования Python
Набрала 22 балла на DOUРейтинг DOU: 3.9 / Amazon: 4.3
3 место
Саммерфилд М.
Программирование на Python 3. Подробное руководство
Набрала 17 баллов на DOUРейтинг DOU: 3.8 / Amazon: 3.9
4 место
Бизли Д.
Python. Подробный справочник
Головатый А, Каплан-Мосс Д.
Django. Подробное руководство
Набрала 14 баллов на DOUРейтинг DOU: 3.5 / Amazon: 3.9
5 место
Головатый А, Каплан-Мосс Д.
Django. Подробное руководство
Бизли Д.
Python. Подробный справочник
Набрала 12 баллов на DOUРейтинг DOU: 3.3 / Amazon: 4.3

Ruby/Rails

Общий рейтингРейтинг полезности
1 место
Мацумото Ю.
Язык программирования Ruby
Perrotta P.
Metaprogramming Ruby
Набрала 29 баллов на DOUРейтинг DOU: 5.0 / Amazon: 4.6
2 место
Хартл М.
Ruby on Rails Tutorial
Olsen R.
Design Patterns In Ruby
Набрала 9 баллов на DOUРейтинг DOU: 5.0 / Amazon: 4.5
3 место
Perrotta P.
Metaprogramming Ruby
Black D.
The Well-Grounded Rubyist
Набрала 8 баллов на DOUРейтинг DOU: 5.0 / Amazon: 4.7
4 место
Olsen R.
Design Patterns In Ruby
Fernandez O.
The Rails 3 Way
Набрала 7 баллов на DOUРейтинг DOU: 5.0 / Amazon: 4.6
5 место
Black D.
The Well-Grounded Rubyist
Carlson L., Richardson L.
Ruby Cookbook
Набрала 7 баллов на DOUРейтинг DOU: 5.0 / Amazon: 4.7

Unix/Linux

,

Общий рейтингРейтинг полезности
1 место
Керниган Б.
UNIX.Программное окружение
Стивенс У.
UNIX.Разработка сетевых приложений
Набрала 24 балла на DOUРейтинг DOU: 5.0 / Amazon: 4.9
2 место
Таненбаум Э.
Операционные системы.Разработка и реализация
Немет Э.
UNIX руководство системного администратора
Набрала 18 баллов на DOUРейтинг DOU: 5.0 / Amazon: 4.4
3 место
Немет Э.
UNIX руководство системного администратора
Лав Р.
Linux. Системное программирование
Набрала 12 баллов на DOUРейтинг DOU: 5.0 / Amazon: 4.2
4 место
Стивенс У.
UNIX.Разработка сетевых приложений
Стивенс У.
UNIX. Взаимодействие процессов
Набрала 8 баллов на DOUРейтинг DOU: 5.0 / Amazon: 4.7
5 место
Бах М.
Архитектура операционной системы Unix
Керниган Б.
UNIX.Программное окружение
Набрала 8 баллов на DOUРейтинг DOU: 4.3 / Amazon: 4.6

Разное

,

Общий рейтингРейтинг полезности
1 место
Иванова Г., Ничушкина Т.
Объектно-ориентированное программирование
Петцольд Ч.
Код.Тайный язык информатики
Набрала 102 балла на DOUРейтинг DOU: 5.0 / Amazon: 4.7
2 место
Кнут Д.
Искусство программирования
Friedl J.
Mastering Regular Expressions
Набрала 77 баллов на DOUРейтинг DOU: 5.0 / Amazon: 4.6
3 место
Мартин Р.
Чистый код
Gamma E.
Design Patterns: Elements of Reusable Object-Oriented Software
Набрала 68 баллов на DOUРейтинг DOU: 5.0 / Amazon: 4.5
4 место
Раскин Д.
Интерфейс: новые направления в проектировании компьютерных систем
Абельсон Х, Сассман Дж.
Структура и интерпретация компьютерных программ
Набрала 49 баллов на DOUРейтинг DOU: 4.7 / Amazon: 3.8
5 место
Кириевски Д.
Рефакторинг с использованием шаблонов
Шень А.
Программирование: теоремы и задачи
Набрала 48 баллов на DOUРейтинг DOU: 4.6 / Amazon: 5.0
6 место
Абельсон Х, Сассман Дж.
Структура и интерпретация компьютерных программ
Мартин Р.
Чистый код
Набрала 35 баллов на DOUРейтинг DOU: 4.5 / Amazon: 4.2
7 место
Вирт Н.
Алгоритмы и структуры данных
Хювёнен Э., Сеппянен И.
Мир Лиспа
Набрала 31 балл на DOUРейтинг DOU: 4.5
8 место
Ахо А., Сети Р., Ульман Дж.
Компиляторы. Принципы, технологии, инструменты
Кормен Т.
Алгоритмы. Построение и анализ
Набрала 30 баллов на DOUРейтинг DOU: 4.3 / Amazon: 4.3
9 место
Бек К.
Экстремальное программирование
Иванова Г., Ничушкина Т.
Объектно-ориентированное программирование
Набрала 30 баллов на DOUРейтинг DOU: 4.2
10 место
Коберн А.
Современные методы описания функциональных требований к системам
Кнут Д.
Искусство программирования
Набрала 30 баллов на DOUРейтинг DOU: 4.2 / Amazon: 4,8

Немного цифр

Большинству участников опроса от 20 до 30 лет, средний опыт работы — 5 лет.

Половина всех проголосовавших программируют на Java, C# или PHP:

Объемы чтения

Почти половина участников опроса (486 человек) в год читает 1-2книги по специальности:

Самые активные читатели — старше 40 лет; именно их доля перевешивает среди тех, кто читает более 5 книг в год:

Однако в будущем году читать еще больше книг планируют 92% двадцатилетних разработчиков, и только 71% сорокалетних:


Более 5 книг в год читают многие специалисты по Scala, C++ и Objective-C:


В будущем году больше читать планируют все опрошенные специалисты SQL, 96% опрошенных питонщиков и 94% Ruby программистов:


Предпочитаемый язык

Программисты до 20 и после 35 лет читают преимущественно на русском языке. Остальные предпочитают англоязычные материалы:

Что касается технологий, то большинство русскоязычных читателей — программисты на SQL (83% из них выбирают книги в русском переводе) и PHP (71%). Большинство англоязычных — разработчики Objective-C (85% читают на английском языке), Scala (83%) и Ruby (78%).

Формат литературы

Электронные книги приобретают популярность: их выбрали 365 человек (36%); практически столько же опрошенных ответили, что формат не важен. А вот любителей бумаги чуть меньше — 287 человек, 28% от числа опрошенных:

Новые книгиукраинские программисты в основном предпочитают брать из открытых источников в интернете. Второй по популярности способ (с большой разницей — вдвое меньше) — покупки в интернет-магазинах:

Сводка результатов

28 марта, Киев — Мастер-класс "Production разработка под iOS используя Swift - миф или реальность", Игорь Томич

$
0
0

Организатор: SmartMe
Спикер: Игорь Томич

Swift — новый блокбастер от Apple, который закладывает фундамент для быстрой и качественной разработки под платформу iOS на десятилетия.
На этом мастер-классе мы напишем приложение Маршрутки с нуля. а также рассмотрим на практике применение языка и особенностей его использования вCocoa.

О тренере

Игорь Томич
Владелец студии разработки мобильного ПО, огранизатор и докладчик на Kharkiv Mobile Developers. Многолетний практик разработки под платформу iOS c огромным опытом преподавания.

План мастер-класса:

1. Основы синтаксиса Swift
— История создания
— Ознакомление с синтаксисом

2. Знакомство с Playground
— Практика с языком
— Ограничения и советы по работе с Playground

3. Cocoa и Swift
— Создаем Cocoa Touch приложение
— MVC и работа с UI
— Архитектура правильного Swift проекта

4. Работа с сетью и Alamofire
— NSURLSession за и против
— Alamofire и другие варианты

5. Objective C и Swift
— Интеграция с Objective C
— Работа с cocoapods

6. Дебаг, тестирование и подготовка приложения для AppStore
— Работа с дебагером
— Подпись приложения и подводные камни при отправке приложения в AppStore

Воспользуйтесь скидкой:

— Cкидка 10%для читателей DOU по промо-коду douSwift_10 (введите промо-код в регистрационной форме, поле «Код скидки»)
— Online трансляция (50% от стоимости оффлайн,код скидки ONLINE

Детали, стоимость и регистрация


Дайджест: история PetCube, научно-технический рэп, почему не стоит уезжать из Украины

$
0
0

Новости

Новые версии

Мнения и интервью

Полезное

Howto

The sad truth about process improvement

Для поднятия настроения

Научно-технический рэп.

If programming languages were countries, which country would each language represent?

The Groot Programming Language.

Enterprise Framework Unifying Cloud Code (FUCC).

The best programming language

Sans Bullshit Sans. The font that replaces every buzzword by a Comic Sans-styled censorship bar.




Code reuse

CSS

Code Monkey as Code in Delphi

Engineers at the party

Разработчик — проектный менеджер?

$
0
0
Choice image via Shutterstock.
Недавно знакомый спросил меня: как программисту стать проектным менеджером? Пришлось прочитать ему небольшую лекцию. Дело в том, что мышление людей этих профессий устроено по-разному. Чтобы совместить эти виды деятельности, надо подобрать правильную стратегию.


Подразумевается, что менеджер — это человек, сосредоточенный в основном на работе с продуктом и людьми, вовлеченными в его создание. Что касается разницы между продуктовымменеджером и проектным, то она незначительна как в outsource, так и в продуктовых компаниях. И уж точно она меньше, чем между менеджером и программистом.

Как работает программист

Самая высокая продуктивность у программиста случается, когда он входит в состояние потока. Состояние потока — не самое уникальное явление, характерное только для программистов, но я ведь сравниваю программистов с менеджерами, а не другими профессиями.

Чтобы эффективно работать, надо загрузить в мозг большее количество сущностей, и только тогда начать писать писать код. Я где-то слышал численную оценку, измеряющуюся десятками элементов, но самому сложно сделать подсчеты: при наблюдении за самим собой концентрация разрушается.

Для наглядности представьте, что надо сделать небольшие изменения в структуре базы данных какого-то веб проекта. Для этого надо загрузить:
— Текущую схему базы данных
— Синтаксис ORM
— Ограничения системы шаблонов
— Пример реальных данных
— Подумать о том, как мигрировать к новой структуре существующие
— Вспомнить ограничения СУБД и допустимые форматы хранения данных
— Подумать об эффективности использования индексов
— Etc.

После того, как все загружено в мозг, программист начинает писать код. Время загрузки можно замерить — оно занимает около 15 минут на создание ментальной песочницы.

Что происходит, если программиста отвлекают

Сначала он не реагирует, потому что мозг слишком занят и сосредоточен. Если раздражитель не исчезает, то всё, на чём сосредотачивался мозг, начинает разрушаться со стремительной скоростью — как мандала, уносимая потоком ветра. Принимая во внимание, что на раздражитель необходимо отреагировать и переключить контекст, а потом вернуться назад временная, цена громкого звонка телефона или крика «Иди кушать» из соседней комнаты составляет уже около 30 минут. Но на самом деле больше, потому что часто бывает сложно вернуться в поток при текущем количестве раздражителей (Twitter, Skype/Slack, Facebook).

Программист не может работать в Windows

Я так считаю потому, что весь софт системы настроен на привлечение внимания. Любая, самая убогая и жалкая, программа засунет себя в tray и выбросит окно бесполезного уведомления. Причем это поведение рекламируется системным софтом. Настройка окружения без раздражителей практически невозможна, в отличии от OS X (хотя и в ней в последнее время появились notifications) или Linux.

Отсюда следует просто эмпирическое правило:
Чтобы убить день разработки, достаточно всего нескольких раздражителей в день.

Хотите, чтобы сотрудник выполнял 0 тикетов в день? Сделайте несколько пятиминутных совещаний каждый час, поставьте в комнате телефон, который будет звонить несколько раз в день. Или развлекайте задумчивого программиста разговорами в курилке: и правда, не может же человек обдумывать свою задачу без компьютера.

Конечно, полное отсутствие раздражителей тоже может привести к снижению продуктивности, но я не встречал компаний, создававших депривационные камеры с абсолютной звукоизоляцией, без света и особым режимом температуры.

Как работает продуктовый менеджер

У менеджера естьдостаточно абстрактная задача и некоторые ресурсы, которые надо использовать максимально рационально. Задача может быть хорошо детализирована, но всё равно проект приобретает конечную форму не в процессе проектирования, а в процессе разработки, и всегда всплывают недостающие детали.

Часто задача ставится в стиле «сделайте черт-те что, вот roadmap». И его наличие — хороший начальный признак: roadmap вообще — редкий зверь. Еще меня очень смущает, когда просят оценку сроков, исходя из концепта на несколько листов. Но об этом можно поговорить отдельно.

В начале, когда у проектного менеджера есть хоть какие-то ресурсы, он начинает распределять работу среди людей. И превращение задачи в конкретный тикет обычно требует уточнений. Те, кто говорит, что можно сразу хорошо распланировать работу, — либо врут, либо им плевать на проект и результат, а к работе они подходят формально (еще бывает, что менеджер слишком туп, чтобы понять, о чем речь). Ситуация, когда клиент просит то, что ему не нужно, — тоже не редкость. В общем, приходится все время общаться и с клиентом, программистами и остальными нужными людьми.

Если перефразировать, то, помимо планирования, задача продуктового менеджера — это реагирование на входящие сигналы и эффективное распределение ресурсов.

Умышленно написал «ресурсы» вместо людей, потому что важным сигналом вполне может оказаться закончившееся место для backup’а или стена ошибок, пришедшая в Sentry. Если программист ждет ответа, потому что не может продолжить работу над текущей задачей, то хорошо бы успеть ему ответить прежде чем он выйдет из состояния потока.

Заставить программиста управлять

Вот тут начинается самое интересное. Для того, чтобы успешно программировать, надо трепетно относиться к состоянию потока; чтобы успешно руководить, надо успевать быстро решать входящие задачи и планировать ресурсы (менеджер занимается менеджментом). Это два процесса, которые как минимум сильно мешают друг другу.

Существует странное мнение, что у продуктового менеджера позиция выше. Не совсем согласен с этим мнением. По моему, подтирать сопли — не самый крутой признак большого успеха. И среди знакомых с опытом «10+» больше людей, которые говорят: «Не хочу руководить, хочу просто писать код».

Конечно, причины сменить специализацию бывают разные. У меня был сотрудник, которого жена все время убеждала, что ему надо подняться на ступень выше и наконец-то стать менеджером проектов. При этом он взрывался по любому поводу и демонстрировал неспособность соглашаться с людьми. Но чаще сама компания пытается уговорить программиста — сначала посидеть на двух стульях, попробовать «порулить» парой людей, а когда получится, то и всеми остальными.

Помимо конфликта двух стратегий работы, программист сталкивается с другой проблемой: как измерить результат? Написанный модуль, исправленный тикет и десяток тестов можно запустить и почти пощупать. 8 часов, потраченых на общение, — это всего-навсего 8 однообразных часов общения.

Программист vs менеджер

Станет ли человек хорошим руководителем? Многое зависит от него. Руководящие должности подходят не всем, и желательно бы понять, нравится ли это человеку, стоит ли ему вообще этим заниматься. И нравится ли это окружающим.

Проверка

В своих проектах я обычно смотрел на поведение человека в тот момент когда просил его провести утренний митинг. Обычно хорошо, если это не вызывает никакой реакции.
Провести 5 минут, опрашивая свой отдел, — это не марш-бросок в тыл врага, но некоторые умудряются за это время потерять половину команды и радостно добивают оставшихся, показывая, кто тут начальник, с целью поднять боевой дух. А ведь могли бы просто эффективно застрелиться на публике.

Следующий этап — дать человеку задание на 1-2 дня,пару программистов — и посмотреть, как пойдет дело.

Трудности

Пока это были банальные примеры, но, допустим, программист хорошо себя показал и пока еще не сбежал в другое место.

Основная причина фрустрации у хорошего программиста — невозможность писать код, ощущение деградации его знаний о проекте и его самого как специалиста. Вот тут он и начинает искать новое место работы. Может случиться и противоположная ситуация, когда вместо того, чтобы переживать о себе, он начинает заваливать проект тем, что загоняет или давит на людей, считает их идиотами или убеждает, что они медленно работают. В этом случае компания уже хочет уволить его, предварительно потеряв хорошего программиста, потом — часть команды и, напоследок, инвестиции в менеджера.

Конечно, серебряной пули нет, но почему бы не поделиться своим опытом? У меня получилось сочетать управление проектами и программирование, завязывая на себя некоторые интеграционные задачи. Например, поддерживать инфраструктуру развертывания проекта и тестов — не такая уж и сложная задача с точки зрения концентрации, плюс интенсивность изменяющихся требований небольшая. Обычно это экономит время для всей команды. Опять же, не страшно, если пару дней проект нельзя будет развернуть со всеми зависимостями одним `make setup`, а надо будет у кого-то спросить версию какой-то библиотеки. В конце концов, программисты и сами могут следить за тем, чтобы окружение не сломалось, а упавший Jenkins быстро пришлет репорт.

Оставаться в курсе

Продолжая управлять, менеджер всё равно будет знать, какие библиотеки и модули используются в какой части проекта, и общая картина будет оставаться перед глазами.

Например, можете посмотреть пример шаблона Flask проекта, который я обычно использую, — он разворачивается одним `make` и запускается командой `make run`. Когда программисту нужно что-то быстро протестировать, можно развернуть рядом окружение и запустить проект. Если же окажется, что кому-то нужен Windows, можно развернуть проект внутри Docker’а и работать с проектом в окружении, приближенном к боевому.

Еще один способ оставаться в курсе — code review, но это чревато соблазном начать переписывать код за других людей. Получится, что узким местом раз за разом будет тот участок кода, который должен был проверить менеджер.

Преимущества программиста-менеджера

Вообще хорошо, чтобы все программисты ознакомились с работой менеджера, а в идеале еще побыли бизнесменами (хотя бы внутри MMORPG).

Качество таких программистов гораздо выше, потому что они понимают, как делается проект, а иногда еще и задумываются над бизнес-задачами клиента. Говорят, некоторые компании делают ротацию ролей, но о широком распространении этой схемы я не слышал.

Особого счастья в управлении проектами нет. Это такая же работа, со своими плюсами и минусами.

Частые ошибки назначения менеджера

Собственно, вся эта статья описывает одну из самых главных ошибок — заставлять менеджера писать код. Чтобы разрушить работу программиста в течение дня, ему надо быть 5 раз по 1 минуте менеджером каждый час. Такое маленькое пересечение обязанностей уничтожает работу программиста полностью. Это приводит к стрессу и всем остальным негативным последствиям.

Менеджером на полный рабочий день программист становится сразу, хотя многие почему-то думают что можно совмещать эти роли какое-то время. Можно выделить на менеджмент 1 час в день, при этом в остальное время его не должны беспокоить, и он не должен беспокоиться о том, что происходит в проекте. Но от этого может страдать проект.

Вторая распространенная ошибка — неправильный размер группы. Плохо, когда менеджер управляет совсем маленьким количеством людей. В такой ситуации он недогружен, но всё также неспособен писать код, потому что даже пару человек требуют постоянного внимания. Не так страшно, если при полной загрузке он скажет кому-то: «отвечу через 10 минут, занят», чем если его отвлекут во время попытки сосредоточиться и написать код.

Есть ограничения на количество людей, с которыми одновременно может работать один человек, — это видно по динамике общения детей в школе или детском саду. Если у вас в классе было 15 мальчиков, то, скорее всего, они распадались на 2-3 группировки.Когда в класс приходит 16-ймальчик, дружная компания получается редко.

Можете называть это магией числа 7, но менеджер может знать, чем заняты 7 (редко — 9) его подчиненных. Добавьте еще 1 — и новенький останется вне контроля. Впрочем, до определенного масштаба это тоже эффективно решается дополнительными инструментами.

Надеюсь, создал некую ментальную модель этих двух ролей и ответил на какие-то вопросы окружающих.

Frontend дайджест #6: Бенефис Реакта

$
0
0

С прошлого дайджеста прошло два с половиной месяца. За это время самым ярким событием стала React-конференция, где показали удивительные штуки — например, React Native. Эта простая библиотека на наших глазах стала промышленным стандартом. React используют Facebook, Yahoo, Netflix, Airbnb, и мы в Grammarly тоже делаем ставку на нее.

Библиотека React

Обзор конференции по Реактусо списком всех видео (посмотрите обязательно про react native и immutable)

Описание Relay и GraphQLот Facebook

На этом сайте собирают крутые ссылки по темам, в том числе по Реакту: getawesomeness.com

Обзорплохого подхода использования MVC вместе с Реактом

Новая статьяв документации Реакта о производительности.

Cтатьяо будущих изменениях в Реакте.

Отличное описание и примеры использование Flux от Dan Abramov.

Hip-chat переписали на React.

Флипбоард рендерит реактом на канвас (монстрячество).

Polarrпоказали альфу новой версии фото-редактора на реакте.

Реакт-компонент таблицыдля больших обьемов данных.

Reapp.io — фреймворк для построения мобильных интерфейсов на Реакте (не Native).

Почитать

Причиныне использовать AngularJS в ваших проектах. Холивар в коментариях.

Нетрадиционное ревьюАнгуляра.

Развернутое сравнение Browserfy и Webpack.

Обзор нововведений ES6

«Destructuring and Recursion in ES-6» — статья для углубления знаний ES6.

Статьяо функциональном программировании на JavaScript.

Серфинг из комментариев по этой же теме: essence of functional programming.

Journey from procedural to reactive JavaScript with stops

Reduce reigns supreme

Детальная статья о промисах

Большая статья declarative touch interactionsс корнями из статьи об анимацияхтого же автора.

Производительность веб-анимаций на мобильных устройствах

Качественный справочник по CSSс примерами.

Хорошее руководствопо флекс-боксу.

Мысли о том, как сделать CSS расширяемым.

Статьяразбирает, как вставлять адаптируемые под разные медиа-условия картинки.

Верстка авто-исчезающего хедера

Паттерны js-ошибок, полезно для начинающих.

Коммуникациямежду табами в браузере.

Посмотреть

Любопытный доклад «Server-less applications powered by Web Components».

Докладо Immutable-структурах данных.

Новое крутое видеоот Netflix о ES6/7.

Новичкам фронтенда пригодится сайт с короткими обучающими видео.

Библиотеки

Pouchdb.com — база данных на JavaScript для оффлайн-синхронизации приложений.

Formatjs.io — мощная библиотека от Yahoo для локализации.

Виджетдля наблюдения за расходом памяти.

Awesomplete — легковесный автокомплит.

Lz-string — поможет сохранить в localStorage больше данных, чем позволяет обычная строка. Актуально для мобильных устройств.

Pluminjs — JavaScript библиотека для редактирования шрифтов!

Defiantjs — мощный библиотека, реализует XPath для JSON. Умеет применять JSON на XSLT.

Инструменты

Обзориспользования ESLint для контроля качества кода от PayPal

Pixact.ly — тестируем пиксельмер

Navigator.sendBeacon — метод, позволяющий отсылать данные на сервер без ожидания ответа. Запросы собираются в очередь и обрабатываются при первой же возможности.

У Хрома есть апи, которое можно использовать для профилирования

SVGomg — онлайн SVG-редактор

Webfontload.com — удобный способ поставить Google Web Fonts на OS X

Демки

Примеры использования Elastic SVG анимации

Создание вечной анимации на CSS

Примерыанимированой заливки текста

Анимация перемещения элементов списка

Крутой пример использования SVG фильтров (слипающиеся фигуры)

Кроссбраузерный CSS-слайдери еще коллекция слайдеров.

Хорошо проработанный стилизованный переключатель.

Сумасшедший CSS-рендер.

Огоньна CSS.

Остальное

Сравнение конструкцийв разных версиях JavaScript

Not-born-to-die: 6to5 переименовали в babel.

У BrowserSyncпоявился интерфейс.

Фронтенд-гайдлайныи стандарты от TMWUnlimited.

Субьективные гайдлайныдизайнера-разработчика из Страйпа.

Гайдлайны Jetpack

Devdocs.io — тех. документация в одном месте, работает в офлайне.

Libscore.com — статистика использования фронтенд-библиотек.

Таблицасравнения функций популярных CSS фреймворков.

Emscripten порт редиса в JS

JavaScript Has Won: Run Flash with Mozilla Shumway and Develop Silverlight in JS with Fayde — вовсю компилят Флеш и Сильверлайт на JS

Chrome Dev Tools наращивает мощности — сделали редактор кривых для аннимаций.

В SVG2 будет z-index

В феврале прошла Фронтенд-встреча — судя по отзывам, людям понравилось. С прицелом на следующую встречу (пока не знаю дату) хотелось бы узнать, чем сейчас интересуетесь, какие технологии используете в проектах, что собираетесь внедрять.


Отдельно напомню, что у нас есть места во фронтенд команде. Задачи — веб-редактор, браузерное расширение, движок редактирования (что-то вроде Гугл-докса). Продуктами пользуются миллионы пользователей. Кому интересно, напишите на kigorw@grammarly.comрассказ (рассказ) о себе, и я вам дам тестовое задание.

С вами был Игорь Кононученко @kigorw. Оформить дайджест помогал мой коллега Сергей Руденко.

← Предыдущий выпуск: Frontend дайджест #5.

18 марта, Киев — Курсы Автоматизированное тестирование. Selenium WebDriver и Базовая подготовка тестировщиков

$
0
0

Друзья! Сейчас, лучшая инвестиция — инвестиция в себя, свое развитие! Тем более, что пройти обучение вы можете по ЗАФИКСИРОВАННОМУ КУРСУ — 1$ = 15,0 грн. и, уже через пару-тройку месяцев, устроится на работу с зарплатой в долларах!)

Немного о курсе«Автоматизированное тестирование. Selenium WebDriver.». Стартует, предварительно, 18 марта 2015 г.. Длительность 7 недель (30 часов, по 2 часа 2 раза в неделю — понедельник, среда с 19:00 до 21:00). Стоимость курса 6000 грн., за весь курс. Оплата возможна частями. Занятия проходят в группах до 10 человек, в комфортных залах, оборудованных компьютерами, проектором и доступом в Интернет в аудиториях НТУУ КПИ (Киевский Политехнический Институт), по ул. Политехнической 37, корпус 18.

На данном курсе вы узнаете, что такое автоматизация тестирования, как ее применяют в современных методах ведения проектов и поработаете с автоматизацией реальных веб приложений, используя Selenium WebDriver. А также, приобретете навыки в программировании, необходимые для написания автоматических тестов.

Требования к ученикам:Опыт мануального тестирования реальных проектов. Минимальное представление о том, что такое программирование. Желание развиваться и делать свою работу более эффективно.

Программа курса

Философия тестирования и ведение проекта разработки
— о тренере;
— тестирование: определение, назначение, виды, основные понятия, примеры из реальной жизни;
— автоматизация тестирования: зачем проекту, зачем менеджеру проекта, что можно и что нужно автоматизировать, как извлекать пользу из автоматизации;
— процессы на проекте: пирамида автоматизации тестирования в Agile и место автоматизации в Agile, взаимодействие с разработчиками, Continuous
— Integration, Definition of Done.

Основы программирования (на примере Java) и его культуры
— переменные;
— типы данных и преобразования;
— ветвления и циклы;
— простые структуры данных;
— лёгкое введение в ООП;
— системы контроля версий;
— правила написания поддерживаемого кода: code conventions, comments, readability, code reuse;
— базовые техники разработки: debugging, refactoring.

Создание пакета тестов при помощи WebDriver
— настройка окружения, set up и tear down;
— компоненты задействованной системы (взаимодействие клиента, сервера, браузера и WebDriver);
— структура страницы и селекторы;
— написание тестов (основная часть курса);
— консольный запуск тестов;
— отчёты о прогоне тестов.

Финальный тест

Немного о курсе «Базовая подготовка инженеров по тестированию ПО». Старт, предварительно, 18 марта 2015 г.. Длительность — 10 недель (40 часов, по 2 часа, 2 раза в неделю, пн., ср., с 19:20 до 21:20). Стоимость курса 6000 грн.. Возможна оплата частями. Подробнее о программе курса смотрите на сайте.

Занятия проходят в группах до 15 человек. Вы получите теоретические знания, для прохождения собеседования и практические навыкиработы на реальных проектах, которые сможете указать в резюме как опыт работыв сфере QA. На нескольких последних занятиях, группа, вместе с тренером, оттачивает свое резюме, доводя его до состояния, которое хочет видеть работодатель. Узнаете необходимые и интересные факты о собеседованиях.
.
Для предварительной регистрации на курс и резерва места в группе, необходимо внести предоплату в размере 300 грн.. Подробнее читайте на сайте qafactory.kiev.ua.

Если возникнут вопросы, пишите, звоните:
E-mail: info@qafactory.com.ua
Тел.: (093) 15-55-242
Тел.: (097) 55-35-232
Тел.: (095) 68-02-185

Память программиста: как запомнить паттерны и Камасутру

$
0
0

Сжалились над «чайником» добрые люди,
объяснили, что значит RTFM — мол,
аббревиатура такая: Read The Fucking Manual.
«Чайник» прислушался к совету, и... прочел Камасутру
(Анекдот)


А лучше бы запомнил — такими мануалами
гораздо удобнее пользоваться по памяти
(Бывалый)



Сразу предупрежу: эту статью недостаточно пробежать глазами. Моя цель — не накормить информационным фастфудом, а облегчить вам жизнь и обеспечить преимуществом над остальными.

От вас лишь требуется выполнить рекомендации. Добросовестно. И если сейчас нет полчаса свободного времени, в течение которых вас ничто не отвлечет — лучше отложите чтение.

Из грязи в князи

О личной эффективности и конкурентном преимуществе говорю не ради красного словца.

Посудите сами. Разве не удобно всю нужную документацию загрузить в голову, чтобы каждый раз не «раскуривать маны»?

А что обычно вы пишете в резюме — образование, таблица скилов, перечень проектов, владение иностранными языками? Список личных качеств, самые важные из которых — «добросовестность в работе» и «умение работать в команде»? Как будто кто-нибудь признается в противоположном... Ну, и чем ваше резюме отличается от сотен других?

А представьте, если где-нибудь в «Дополнительной информации» вы добавите всего одну строчку: «обладаю феноменальной памятью». И кого при прочих равных условиях возьмут на работу?

Это если вас нанимают. А если нанимаете вы? Привыкли восхищаться памятью легендарных «топ-менеджеров» — Македонским, Цезарем, Наполеоном, и считаете их харизму недосягаемым идеалом. Неужели вы думаете, что феноменальная память им была дана от природы? Обратитесь к биографиям. Кто был учителем Александра Великого? Правильно, Аристотель. А кем был Аристотель? Правильно, древним греком. А чем, помимо прочего, примечательны древние греки? Правильно, первыми текстами о мнемотехнике. А что такое мнемотехника? Так о ней же, родимой, дальше речь и пойдет.

Поутру, надев часы, мы забыли про трусы

Почему забываются детали программы, над которой работали, структура библиотек и сам синтаксис? Почему регулярные выражения и другие знаковые обозначения вам обязательно надо записывать? Почему через неделю после прочтения книги в голове остается лишь часть содержания, а спустя месяц — только общее представление? Почему заученные сведения выветриваются? Почему вы долго зубрите иностранные слова, и вроде бы точно помните их, но в нужный момент они ускользают из памяти?

Список этих вопросов может быть бесконечным. На все эти «почему» отвечу: уж точно не потому, что у вас плохая память.

Это не более чем природные ограничения: мы не умеем запоминать определенные виды и последовательность информации. Например, если бы я сейчас назвал вам 10 простейших слов, то запомнить и повторить вы смогли бы лишь 7±2. Откуда такая уверенность? За несколько лет еще никто из сотен участников моих мастер-классов не смог выйти за рамки этого «магического» числа.

Помнить все, и даже больше

И вот как раз чтобы обойти эти ограничения, еще несколько тысячелетий назад придумали мнемотехнику — совокупность специальных приемов и способов запоминания. Первые описания которых, как мы уже говорили, встречаются в Древней Греции.

Современная же мнемотехника позволяет загружать информацию в голову, как в компьютер, и потом со 100% точностью ее воспроизводить — слово в слово, буква в букву, цифра в цифру.

Вот только большинство людей ничего не знает о возможностях мнемотехники. Многие вообще ничего не слышали о ней. А те, кто слышал, не подозревают о ее практической направленности. Последнему обстоятельству есть объяснения.

На Западе мнемотехника выхолощена до бесполезного суррогата — «спортивного запоминания». Когда одна и та же тусовка чудаков встречается раз год и соревнуется в запоминании клякс, бинарных чисел и другой совершенно бесполезной информации.

Наши соотечественники стараются от них не отставать и тоже развлекаются, как могут — устанавливают рекорды по запоминанию цветных карточек и геометрических фигур, а также определяют дни недели по дате.

Некоторые слышали о так называемой «эйдетике». По этой методике учат запоминать что-нибудь совсем простое, вроде списка покупок, соединяя слова в «забавные истории». Хотя мамаши довольны: за тот час, пока ребенок занят, можно спокойно пошопиться.

В общем, наткнется программист на информацию о чемпионате мира по памяти или эйдетике — и совершенно справедливо спросит: «Ну, и что мне с этих клякс и цветных карточек? Как запомнить реальную, нужную инфу — например, вот этот справочник технической документации?».

Потерпите, дальше — самое интересное. Все расскажу. Все покажу. Все сами попробуете.

Шаблоны проектирования и шаблонное проектирование — не одно и то же

Мне все равно, на каком примере демонстрировать возможности мнемотехники. Прелесть в том, что ее принципы универсальны, и позволяют запоминать любую информацию. Но так как эту статью я пишу специально для ДОУ, давайте проиллюстрирую на паттернах программирования.

Знаю, некоторые скажут, что главное сейчас — по-быстрому писать рабочий код, и умные книжки читать некогда. Но все мои клиенты-айтишники, далеко не последние люди в профессии, утверждают обратное: шаблоны проектирования надо знать. И не только потому, что вопросы о них в обязательном порядке задают на каждом собеседовании.

Недаром Влиссидес писал: паттерны суммируют опыт экспертов, позволяют разработчикам лучше понимать друг друга, упрощают реструктуризацию системы и позволяют сделать программную систему более гибкой.

А раз шаблоны экономят время, обеспечивают качественные решения и упрощают общение, то знать их точно полезно. Ну, а я покажу, как их запомнить мнемотехнично.

Да, и если упомянули Джона Влиссидеса, обратимся дальше ко всей «банде четырех» сразу — их легендарной книге «Design Patterns: Elements of Reusable Object-Oriented Software».

System requirements, или давайте договоримся

Учтите следующее:

1. Мнемотехника опирается преимущественно на наглядно-образное мышление. Конечно, все виды мышления — и наглядно-действенное, и наглядно-образное, и словесно-логическое, будучи различными уровнями познания, представляют стороны единого процесса. Без словесно-логического мышления мы не сформируем нужный нам наглядный образ. Но вот само запоминание осуществляется с помощью образов.

2. Когда мозг видит два соединенных предмета, он с легкостью фиксирует эту связь. И с такой же легкостью фиксирует связь двух образов в воображении. Потом достаточно представить один образ — стимул, чтобы увидеть следом второй — реакцию. Это — базовый механизм запоминания.

3. В одной статье нереально рассказать, а главное — научить, каким критериям должны отвечать образы, как правильно их соединять, кодировать информацию, какие мыслительные операции осуществлять. Не получится объять все то, что составляет мнемотехнический навык. Поэтому пришлось за вас сделать всю работу. Не спрашивайте, почему так, а не иначе, — просто делайте.

4. Иллюстрации моделируют работу вашего воображения. Достаточно лишь их внимательно разглядывать. Я расскажу потом, как именно, но общие рекомендации такие: каждое изображение вам придется открывать в новом окне. Это о критериях из п. 3 — мелкие образы мозг не запоминает. По этой же причине не советую пытаться разглядывать изображения на смартфоне. На планшете — еще куда ни шло, но вот на смартфоне — точно нет.

5. Так как это моделирование, мне пришлось использовать свои образы. В дальнейшем вы будете работать со своими — они всегда лучше запоминаются и вспоминаются. А пока же будьте готовы к тому, что мозг может противиться запоминать мои, чужие для вас образы.

6. Начнете со мной, с моих иллюстраций. Продолжите сами, в своем воображении. Мне важно научить вас. И для этого вы должны пробовать сами.

7. Когда я учился в вузе, мы ходили в библиотеки и конспектировали книги, то есть, выписывали самое важное. Потом появилась возможность ксерокопировать, и маркером выделять на копиях самое важное. Сейчас самое важное выделяют в электронном виде. Способы разные, идея одна — конспектируют только самое важное. Мнемотехнику еще называют техникой внутреннего конспектирования. «Внутреннего» — потому что записываете прямо в память. «Конспектирования» — потому что записываете самое важное. Запоминать все от первой до последней буквы — глупо, не рационально, и мало того, вредит пониманию. Разбираясь с текстом, большая часть информации запомнится сама собой, непроизвольно. Помогает и смысл, и контекст. Поэтому специально запоминаем только тезисы, и только то, что ну никак не хочет запоминаться само.

8. Степень точности запоминания определяйте сами. Иногда достаточно своими словами изложить последовательность информации. А иногда требуется воспроизвести дословно, вплоть до номеров страниц. Сейчас нецелесообразно спорить, почему я предлагаю запомнить это, а не то. Разберем общие принципы. А потом с их помощью запомните все, что хотите.

9. Мнемотехника позволяет не только запомнить, но и понять. То, что у гениев исключительно развито наглядно-образное мышление, — не совпадение. Если бы Эйнштейн не увидел себя сидящим на луче света, он бы не создал теорию относительности. И Тесла не был бы «человеком, который изобрел XX век», если бы не собирал свои турбины в воображении. Но сейчас предполагается, что вы разбираетесь в материале. Иначе, если мы с помощью образов будем еще и запоминать каждое определение, вроде «под паттернами проектирования понимается описание взаимодействия объектов и классов, адаптированных для решения общей задачи проектирования в конкретном контексте», то мы точно выйдем за рамки того получаса, о котором я говорил вначале. Да, мнемотехника — самый эффективный способ понять определение, но сейчас речь идет о ситуациях, когда смысл паттернов вы знаете, но забываете и путаете их названия, назначение, мотивацию, применимость или другие компоненты их описаний. В общем, сегодня пишем «шпору», а не учим. Причем пишем прямо в мозг.

Как представить то, что невозможно представить

«Банда четырех» классифицирует паттерны на «порождающие», «структурные» и «паттерны поведения». К первым относятся «Абстрактная фабрика», «Строитель», «Фабричный метод», «Прототип» и «Одиночка». Их и возьмем. Другие паттерны оставим для «домашней работы».

Хорошо, что имена им придумали за нас. Авторы признаются: «Нахождение хороших имен было одной из самых трудных задач при составлении каталога». Использовать имена удобно — сославшись на имя, можно сразу описать проблему проектирования, ее решения и их последствия, это позволяет проектировать на более высоком уровне абстракции, с помощью словаря паттернов можно вести обсуждение с коллегами, упоминать паттерны в документации, в тонкостях представлять дизайн системы.

Но одного имени недостаточно, мозг не запомнит слово как сочетание букв. Нужен образ, стоящий за словом.

Поэтому «Абстрактную фабрику» увидим так:

«Строителя» закодируем в крюк строительного крана:

«Фабричный метод» представим в виде кабины фабричной машины:

«Прототип»:

«Одиночка»:

Каждому сверчку по своему шестку

Пока мы только закодировали информацию в образы. Но сказать, что мы запомнили информацию, можно будет только тогда, когда сможем обращаться к ней произвольно. Когда доступ к информации есть в любой момент. А не так, как обычно — в нужный момент не можем вспомнить, или вспоминаем случайно. Как та женщина с хозяйственными сумками, которая вспомнила о том, что не купила яйца, глядя на распахнувшего перед ней плащ эксгибициониста.

Мы говорили, что мозг запоминает связь между двумя образами. В нашем случае «фабрика», «крюк», «кабина», «прототип» и «евро» — вторые образы в таких связках. Образы, всплывающие в воображении в ответ на стимулирующие образы.

С образами-реакцией все понятно. Они — наша конечная цель. А какие образы будут стимулами? Вариантов несколько. Например, можно связать «Фабрику» с «Крюком», «Крюк» с «Кабиной», «Кабину» с «Прототипом», «Прототип» с «Евро». И глядя в воображении на «Фабрику», будет вспоминаться «Крюк», «Крюк» вытянет «Кабину», и т.д.

Но в нашем случае удобно поступить так, как написал Цицерон еще в 55 г. н. э. в диалоге «Об ораторе»:

«Следует держать в уме картину каких-нибудь мест, и по этим местам располагать воображаемые образы запоминаемых предметов. Таким образом, порядок сохранит порядок предметов, а образ предметов означит самые предметы, и мы будем пользоваться местами как воском, а изображениями — как надписями».

То есть в качестве стимулов мы возьмем те образы, которые уже находятся у вас в голове — предметы хорошо знакомого вам интерьера.

Например, вне зависимости от того, как давно вы закончили школу — пять лет назад, десять, двадцать, как я, или сорок, вы одинаково хорошо помните свой школьный спортзал. Вот здесь раздевалка, потом зал, тут канаты, там турники... Легко?

Когда будете работать самостоятельно, мысленно в хорошо знакомых помещениях сверху вниз и слева направо выделите достаточное количество образов-стимулов. Выделять образы надо последовательно, чтобы потом так же последовательно вспоминать образы-реакции, чтобы «порядок мест хранил порядок вещей». Причем, выделяемые образы уже естественно объединены в группы — комнаты или зоны, и каждую такую комнату можно отводить под запоминание конкретных блоков информации.

Возьмем вот эту комнату:

Образы начнем выделять с той стены, где телевизор. Всю эту зону отведем под «порождающие» паттерны. А перемещаясь по часовой стрелке дальше по комнате, под «структурные» можно взять, например, кресло, под паттерны «поведения» — столик, под другую информацию — диван, полку, окно... Запоминать специально, где какая группа паттернов расположена — излишне, это запомнится само собой.

Итак, часть комнаты:

В ней, как и договаривались, сверху вниз и слева направо выделяем образы в соответствующем количестве. «Порождающих» паттернов пять, значит и стимулирующих образов выделим тоже пять — левый край верхней полки, середина полки, книги, телевизор и столик под ним.

Теперь каждый из выделенных образов соединяем с образами-паттернами. Открываем изображения в новом окне и внимательно разглядываем соединения образов по 5-7 секунд.Сейчас разглядываем на иллюстрациях, а при самостоятельной работе — в воображении.

«Левый край полки» + «Фабрика»:

«Середина полки» + «Крюк», который в тени, и поэтому кажется черным:

«Книги» + «Кабина»:

«Телевизор» + «Прототип»:

«Столик» + «Евро»:

После добросовестной фиксации каждой связи в отдельности посмотрите в воображении на всю картину целиком, проверяя, все ли образы на месте. В воображении все должно быть еще реалистичнее:

Таким образом вы сможете запоминать последовательности чего угодно — понятий, тезисов выступлений, покупок, встреч, дел, товаров и пр. Последовательности какой угодно длины — не только 23 элемента, что обычному человеку уже кажется невозможным, а 123 или 1023. Не важно, сколько их в списке.

Причем сможете воспроизводить в прямом и обратном порядке, выборочно, каждое второе, третье, пятое, десятое слово или слово по его порядковому номеру. Как? Да точно так же! Вспомните сформированную картину и начните считывать информацию с конца, со столика под телевизором. Получится так же легко. А если надо вспомнить третий паттерн, доходите в воображении до книг, видите на них «Кабину» и говорите: «Фабричный метод!».

Ну да ладно, не это сейчас главное. Идем дальше.

Камень — ножницы — бумага

Перейдем к запоминанию описаний паттернов на примере «Абстрактной фабрики».

«Банда четырех» придерживается единого принципа, и описание каждого паттерна разбивает на 13 разделов. Такой подход позволяет единообразно представить информацию, облегчает изучение, сравнение и применение паттернов. И опять же, специально запоминать последовательность разделов я бы не стал. Она — всегда одна и та же, поэтому запомнится непроизвольно. А название, смысл раздела будет и так понятен по конкретному его содержанию — запоминаемым образам.

Рассмотреть успеем только первые пять разделов «Абстрактной фабрики». Дальше будете действовать по аналогии.

Все разделы «Абстрактной фабрики» теоретически возможно разместить в виде образов сверху вниз и слева направо на частях самой «Фабрики». Но, разделов много, а я рекомендую запоминать на части одного образа не более пяти других образов. И, скорее всего, вы будете использовать понятие «Абстрактная фабрика» неоднократно. Образ «Фабрика» станет повторяться в комбинациях с другими образами. А если вы раз и навсегда запомните на него другие образы, то использовать такую «Фабрику» станет проблематично.

Поэтому образы — разделы описания надо запомнить на другие стимулирующие образы. На образы, выделенные в интерьере, уже нельзя — середина полки, книги, телевизор и столик заняты. А как тогда?

Получим их другим путем — с помощью ассоциативного ряда. Когда я слышу слово и вижу образ «Фабрика», у меня на языке и в воображении мгновенно появляется «Горючее». Когда мне говорят «Горючее», сразу вспыхивает «Жаровня», «Жаровня» — «Жаркое», «Жаркое» — «Бутылка вина», «Бутылка вина» — «Бокал вина»:

Важно, чтобы ассоциативный ряд был исключительно вашим. Чтобы образы вспыхивали мгновенно, не задумываясь. Тогда вас ночью разбуди — вы безошибочно повторите эту последовательность. А значит, так же безошибочно воспроизведете и запоминаемые сведения.

Конечно, ваш ассоциативный ряд будет другим. «Фабрика» может ассоциироваться с телевизионным проектом «Фабрика звезд», а не с горючим. Горючее — не с жаровней, а с двигателем, и т. д.

Продолжать ассоциативный ряд вы тоже будете по-разному. После «Бокала вина», например, «Особь противоположного пола». Ну а дальше — «Жили они долго и счастливо», и так далее до «Умерли в один день». По мере необходимости расширяйте систему стимулирующих образов. Благо, между «Жили» и «Умерли» — бесконечное их число. А если образы все-таки закончатся, поиск можно продолжить уже по ту сторону.

Первый раздел «Название и классификация паттерна»: «Абстрактная фабрика — паттерн, порождающий объекты». Прочитав в глоссарии, что «объект — имеющаяся во время выполнения сущность, в которой хранятся данные и процедуры для работы с ними», «паттерн, порождающий объекты» я закодирую в виде коробки с подарком.

Дальше вы уже знаете — «Коробку с подарком» соединяем с «Горючим» и внимательно разглядываем, открыв их в новом окне:

Назначение «предоставляет интерфейс для создания семейств взаимосвязанных или взаимозависимых объектов, не специфицируя их конкретных классов» представлю в виде «Узла-банта», который соединю с «Жаровней»:

«Известен также под именем Kit (инструментарий)»? Правильно — «Кит», которого прямо на «Жаркое» и положим:

Мотивацию «Клиенты вызывают эти операции для получения экземпляров виджетов, но при этом ничего не знают о том, какие именно классы используют. Стало быть, клиенты остаются независимыми от выбранного стандарта внешнего облика» закодируем «Венецианской маской», которую расположим на бутылке:

На бокале вина сидели кубик, цепочка, автомат и ледник

Давайте теперь покажу, как запомнить блок из нескольких информационных сообщений.

Раздел «Применимость» мы должны запомнить на «Бокале вина». Но этот раздел состоит из четырех сообщений. Поэтому в «Бокале вина» выделяем четыре части — верхний край, чаша, ножка и подставка:

Сообщение о том, что «Абстрактную фабрику» следует использовать, когда «система не должна зависеть от того, как создаются, компонуются и представляются входящие в нее объекты» закодируем в виде «Кубика Рубика», и поместим его на первую часть бокала:

«Входящие в семейство взаимосвязанные объекты должны использоваться вместе, и вам необходимо обеспечить выполнение этого ограничения» — «Цепь»:

«Система должна конфигурироваться одним из семейств составляющих ее объектов» — «Томми-ган». «Чикагская пишущая машинка», с помощью которой мафиозные «семьи» «конфигурировали» свой бизнес:

«Хотите предоставить библиотеку объектов, раскрывая только их интерфейсы, но не реализацию» — «Верхушка айсберга»:

В завершение полюбуйтесь на всю конструкцию целиком:

Повторение — не учение

А теперь отвернитесь от монитора и, скользя в воображении по образам, воспроизводите смысл информации, которую только что запомнили, с помощью образов. Смысл — самое главное. Дословность в изложении — второстепенная задача, которая тоже запросто решается, если к зрительному подключить еще и слуховой анализатор.

То, что вы сейчас смогли безошибочно воспроизвести последовательность информации, еще не означает, что вы точно так же сможете ее воспроизвести через несколько дней. Сейчас вы только захватили информацию в память. Но чтобы запомнить надолго, эту информацию надо в течение нескольких дней повторять специальным образом.

Мнемонисты повторяют не для запоминания, а для припоминанияинформации. Обычные люди, надеясь выучить, повторяют путем повторного восприятия информации — банальной «зубрежкой». Мнемонист же повторяет исключительно по памяти, припоминая ранее сформированные образы, и с каждым таким повторением информация все надежнее закрепляется в памяти. Потом образы-подсказки уже не нужны — информация помнится как бы «сама собой».

Овчинка стоит выделки

Если не прислушаться к совету в начале статьи и «проскроллить» ее, в глазах зарябит от обилия текста и графики. И кто-то подумает: «Уж лучше я буду запоминать как обычно».

«Как обычно» — значит никак. Или запоминать так, как я описал, или совсем никак.

И надо учесть, что любое описание мнемотехнических приемов — всегда сложное. В воображении все происходит буквально за считанные секунды — пока другой только тянется за бумажкой с ручкой, вы уже запомнили.

Давайте подсчитаем, сколько времени займет выполнение того, что я так долго описывал.

На кодирование информации в образ вы потратите где-то 5 секунд. На фиксирование связи двух образов у вас уйдет тоже приблизительно 5 секунд. Тратить время на формирование стимулирующих образов не придется, потому что они у вас и так в голове — то ли это предметы интерьера, то ли это образы ассоциативного ряда.

Считаем, сколько получается «кодирований-соединений»: «Левый край полки — Фабрика», «Середина полки — Крюк», «Книги — Кабина», «Телевизор — Прототип», «Столик — Евро», «Горючее — Подарок», «Жаровня — Узел», «Жаркое — Кит», «Бутылка — Маска», «Край бокала — Кубик», «Чаша бокала — Цепь», «Ножка бокала — Пулемет», «Подставка бокала — Айсберг». Итого — 13.

13 умножаем на 10 секунд — получаем 2 минуты 10 секунд. Давайте еще накинем с учетом того, что пару раз надо смотреть на все образы сразу — в комнате и на бокале. Уверен, трех минут вам хватит за глаза и за уши.

Всего 3 (!) минуты. А когда навык сформирован — и того меньше. Другие занимаются мазохизмом, пытаясь запомнить «как обычно», а вы легко и непринужденно перемещаетесь по образам, как по файлам компьютера, считывая с них информацию. Разве не круто?

Роль эмоций в принятии решений

$
0
0

Мозг как повозка с лошадьми

У разных народов полно упоминаний о том, что неплохо бы думать дважды, перед тем, как что-либо делать. В английском языке это think twice, китайцы предлагают думать трижды, русские «отмеряют» семь раз — посыл вроде бы здравый. Но откуда тогда взялась поговорка «горе от ума»?

На первый взгляд может показаться, что нет ничего лучше рационального мышления. Логика превыше всего! Декарт — так вообще не постеснялся разделить человека на две отдельные сущности: душу, способную рассуждать, и тело, полное «механических страстей», что вылилось в его известное утверждение: «я мыслю — следовательно, я существую». С другой стороны, и Гоя от него тоже не отставал, когда говорил: «сон разума порождает чудовищ». Да и если отмотать историю назад, то можно отчетливо увидеть, что идеи Платона и Аристотеля насквозь пропитаны рациональностью и обузданностью чувств.

Достаточно взять Платоново представление мозга как колесницы с двумя лошадьми. Рациональный мозг, — говорил он, — это кучер, который держит вожжи и решает, куда лошадям направиться. Одна из лошадей благородной породы и послушна — она олицетворяет высшие стремления человека. Другая же — полная её противоположность, — она низкого происхождения, упряма и буйна, представляет собой низменные инстинкты и сомнительные влечения. Эти лошади представляют собой так называемый эмоциональный мозг (в противовес рациональному).

По Платону, когда кучер (рациональный мозг) и лошади хотят разного, важно прислушаться к кучеру. Если же этого не сделать и последовать за лошадьми, то, как говорил Платон, «глупцами сойдем в могилу».

Мозг как компьютер

Сегодня эта метафора с лошадьми уступила место сравнению с компьютером: мозг — это компьютер, на жестком диске которого записаны программы, которые и выполняются человеком во время жизни. Метафора удачная, поскольку многие функциональные характеристики мозга можно описать терминами «железа»: ПЗУ — долговременная память, ОЗУ — кратковременная память, p-n переходы — синапсы, транзисторы — нейроны. Да и сам мозг можно сравнить с центральный процессором. Эта аналогия стимулировала несколько важных научных прорывов, в том числе создание искусственного интеллекта, но и у неё есть своя ахиллесова пята: компьютеры ничего не чувствуют.

— Ну и что? — поперхнувшись чаем, спросит кондиционерщик Коля, — К чему нам эти чувства? Рациональность, вот что рулит.

Поясню. С одной стороны, эмоции получили свое эволюционное развитие из потребности быстро оценить ситуацию. При виде приближающейся змеюки желание сесть в автобус и уехать в другой город появляется раньше, чем мысль о том, сколько будет стоить билет, и сможет ли эта змеюка догнать автобус на светофоре. Потому что логика медлительна. Зато эмоция страха достаточно быстра, чтобы на уровне подсознания оценить угрозу и помочь человеку быстро принять решение.

Но зачем нужны эмоции в тихих офисно-планктонных буднях? — не унимается Коля, — Там ведь нет никакой опасности, кроме гадкого пакетированного чая. Насчет чая Коля прав, но по поводу эмоций нужно уточнить.

Когда кончается RAM

Эмоции включаются в работу по той причине, что возможности рационального мозга сильно ограничены. Некоторые ученые, такие как Ап Дейкстерхус, утверждают, что любая задача с более чем четырьмя переменными выводит рациональный мозг из равновесия. И вот когда человеку не хватает «оперативки», на помощь ему приходит эмоциональный мозг, который и принимает решение. То есть мы чувствуем, что следует поступить так, а не иначе.

Эту теорию подтверждает случай, произошедший в 1982 году, когда неврологу Антонио Дамасио попался пациент по имени Эллиот, которому удалили небольшую опухоль рядом с лобной долей. Эллиот нормально перенес операцию и сохранил уровень IQ, но стал вести себя странно. Принятие решений теперь давалось ему с огромным трудом — он мог часами взвешивать все «за» и «против» и так ни к чему и не прийти. Этот случай заинтересовал Дамасио и он начал изучать других пациентов, у которых были похожие мозговые повреждения. Оказалось, что у всех этих пациентов наблюдается проблема Эллиота — сохранив рассудок и способность мыслить, они оказались полностью неспособны принимать решения. Даже в самых мелочных вопросах вроде «уйти в отпуск 15 или 27 числа» они не могли сделать выбор.

Сегодня неврологии уже известно, что именно лобная доля во многом отвечает за создание эмоций. Именно орбитофронатльная кора (находится в лобной доле), которая отсутствовала у Эллиота, соединяет чувства, возникающие в примитивном мозге (в мозговом стволе, миндалине и т.д.) с потоком сознательной мысли. То есть, потеряв способность эмоционировать, человек теряет возможность эффективно думать. Как говорил Г.К. Честертон «Сумасшедший — это не человек, потерявший рассудок. Сумасшедший — это человек, потерявший все, кроме рассудка».


Орбитофронтальная кора

Роль эмоций в накоплении опыта

Дело вот в чем: эмоции играют важнейшую роль в обучении. Мозг так устроен, что боль и радость от совершенных ошибок позволяют ему эффективно обучаться. Но мало лишь испытать эти эмоции. Чтоб пользоваться плодами обучения, не повторяя одних и тех же ошибок, их нужно записать на «жесткий диск». Здесь на помощь приходят так называемые дофаминовые нейроны (aka нейроны предсказания), которые порождают причинно-следственные схемы (если А, то В), которые позволяют структурировать информацию. Теперь накопленный опыт можно будет использовать не думая — считывание из подсознания и «включение» записанной ранее эмоции происходит автоматически. Вкусив однажды шоколада, дофаминовые нейроны запомнили свои ощущения (записали состояние), и теперь при одной лишь мысли о шоколаде у человека выделяется слюна и улучшается настроение. То есть сначала эмоциональный мозг выносит свой вердикт, и только потом рациональный мозг находит объяснение.

Эмоциональный и рациональный мозг дополняют друг друга — эмоциональный на уровне подсознания проводит огромную аналитическую работу, тогда как скудный, но «умный» рациональный мозг помогает принимать сознательное решение.

Проблема лишь в том, что мы не всегда знаем, кому из них верить. Эмоциональный мозг живет сегодняшним днем, его кредо — «была не была» и «сколько той жизни?». В то же время именно он заставляет нас чувствовать, что начальник — скользкий тип, и что в пятницу вечером в продакшен лучше ничего не заливать. Тогда как намного менее мощный рациональный мозг руководствуется исключительно логикой.

С точки зрения логики релизу в пятницу вечером — быть. Ведь всё безупречно — ты несколько раз всё проверил, и твои изменения работают. Тестировщик тоже дал добро. Твоя лапища тянется нажать кнопку Enter и запушить последние изменения на сервер. Но перед самым нажатием в груди появляется гнетущее чувство. Это дает о себе знать эмоция страха, записанная и многократно подтвержденная массой неудачных релизов в пятницу вечером и звонков заказчика в воскресенье утром. И ты думаешь — Ну его к черту. Понедельник пятницы мудренее.

Эмоции в быту

Идеальное место, где можно попрактиковать принятие решений, — магазин. Вот уж где проявляют себя эмоциональный и рациональный мозг. В ходе экспериментов выяснилось вот что: если покупка небольшая, и параметров для сравнения у неё немного (например, зубная щетка), то имеет смысл доверить выбор рациональному мозгу. С большой долей вероятности он сделает правильный выбор по главным параметрам — по цене, размерам, гибкости. Но если дать волю эмоциональному мозгу, то он может «клюнуть» на любимые цвета, интригующую форму, разноцветные волокна, расположенные крест-накрест, «цепляющую» упаковку. И вместо того, чтоб купить простую бесцветную щетку, которая подходила бы по всем основным параметрам, человек переплачивает и покупает то, что было ему не нужно.

С другой стороны, когда параметров для сравнения слишком много, рациональный мозг «подвисает». Сложно выбрать автомобиль, если нужно сравнить несколько моделей по марке, цвету, салону, вместительности, объему двигателя, литражу, аудиосистеме, и так далее.

Точно так же сложно выбрать квартиру: локация, метраж, соседи, этаж — слишком много переменных.

Как же принять решение?

Есть две новости: плохая и хорошая.

Плохая:Мало того, что количество переменных сводит на нет успехи рационального мозга, так их ещё и нельзя сократить. Предательский мозг так устроен, что он не умеет не учитывать дополнительные данные. Это значит, что сознательное ограничение параметров (например, выбирать квартиру только по цене и метражу) не будет работать.

Хорошая:когда переменных слишком много, можно положиться на эмоциональный мозг. Исследования подтверждают: большие, сложные покупки, такие как дом, автомобиль и даже диван, лучше всего совершать за один день, доверившись чувству. Потому как учесть все параметры все равно невозможно.

Что это значит для программистов?

Это значит, что одной лишь логикой сыт не будешь. Конечно, когда ты нуб, выбора у тебя нет — приходится полагаться на одно лишь рациональное мышление. Но зато, когда накопится опыт, рациональный мозг можно будет освободить для решения тактических задач более высокого уровня.

Один из примеров подсознательной работы мозга — реакция на Code smell. Показываешь опытному программисту кусок кода — и он как-то сразу начинает морщить нос. Объяснить пока не может, но чувствует, что от этих классов и переменных как-то странно пахнет. Возникает ощущение боли. И только после этой эмоциональной оценки программист начинает подключать свою рациональную часть мозга: «Здесь непонятные названия переменных, вон там ненужный вызов, здесь слишком запутанная логика, а это вообще в другом классе должно быть».

Другим примером может быть выбор инструмента для решения задачи. Когда фреймворков слишком много, начинаешь больше доверять интуиции. Когда ставишь новый плагин, то смотришь, когда там были последние обновления, кто занимается поддержкой и разработкой, сколько плагину лет, что о нем говорят коллеги, на каких ресурсах о нем упоминается, и так далее. Огромный массив переменных потихоньку формулируется в чувство.

По мере накопления опыта начинаешь по-разному ощущать Vector и ArrayList. Тебе уже не нужно каждый раз сравнивать их особенности, чтобы понять, когда и что использовать. Ты начинаешь чувствовать, когда стоит ваять на PHP, а когда — на Perl, когда лучше брать MySQL, а когда — Redis. Разного рода библиотеки и компоненты, в зависимости от опыта, обретают свою мыслеформу, связанную с какой-нибудь эмоцией (или с набором эмоций). Кому-то C++ люб и дорог, кто-то млеет от C# , а вот Assembler может, например, вызывать одновременно и страх, и трепет. У каждого по-разному. Но здесь важно вот что: чем больше у человека опыта, тем больше он может доверять своей интуиции.

Слабость эмоционального мозга

Но и полностью на интуицию полагаться нельзя. Некоторые очевидные эмоциональные решения могут быть в корне неверными. Яркий пример ущербности работы эмоционального мозга:

Все розы — это цветы,
Некоторые цветы быстро увядают,
Значит, некоторые розы быстро увядают

На первый взгляд вывод «некоторые розы быстро увядают» кажется вполне логичным. Но если задуматься, то становится ясно, что это утверждение ошибочно. Задача с бутылкой и пробкой — из той же оперы. Сколько народу уж накалывалось на желание выпалить ответ «10 и 1»! Эти примеры являются яркой иллюстрацией того, как бывает опасно слепо следовать эмоциям.

Выходит, нет универсального способа, который бы позволил принимать наиболее точные решения. Возможно, лошади и кучер должны страховать друг друга, и тогда вероятность упасть с обрыва будет меньше. Возможно, лошадям неплохо бы научиться разговаривать с кучером, или кучеру — понимать лошадиный язык. Но пока этого не произошло, остается одно: думать над тем, как мы думаем. Принимая решение, отдавать себе отчет в том, какое решение мы принимаем, и какого мыслительного процесса оно требует. А это значит, что не стоит топить в себе эмоции как нечто непрофессиональное. Ведь еще Аристотель говорил: «Любой может разгневаться — это просто. Однако разгневаться на того, на кого нужно, до нужной степени, в нужное время, с правильной целью и правильным способом — это нелегко, и дано не каждому».

Портрет украинского ИТ-специалиста: new edition


Беседа с Эльмирой Нуртаевой, методологом по налоговому учету в системе SAP Eurasian Group

$
0
0

193-йвыпуск подкаста «Откровенно про IT карьеризм». В подкасте пойдет речь о налогах, консалтинге и SAP.

В программе:

  • Про SAP
  • Как внедряют SAP
  • Про образование в Казахстане
  • Большая четверка
  • Работа консультанта
  • С чего начинает консультант
  • Про во’IT’и в SAP
  • Скорость изменений в больших компаниях

Книги в выпуске:

Прямая ссылка на файл
Подкаст на iTunes

Текстовая версия доступна на itpodcasts.com.ua.


Выпуск записан при поддержке IT-компании AltexSoft.
Спасибо за помощь в записи подкаста сервису QuickBlox.com.

Подкаст «Откровенно про IT карьеризм» от идеи до реализации — интеллектуальная собственность Михаила Марченко и Ольги Давыдовой. Все вопросы, касающиеся подкаста, адресуйте нам на shami13@gmail.com.

17 марта, Киев — Курс «Frontend разработчик»

$
0
0

Освой новую профессию!
Ситуация в стране нестабильна. Возникает вопрос куда вложить свои деньги. Менять в иностранную валюту? По какому курсу? Неизвестно. Чтобы не прогадать — пришло время вложить в свое развитие, в самообразование, в смену профессии. Почему ИТ? Потому, что это единственная сфера, которая выигрывает во время кризиса, т.к. заработная плата выплачивается в долларах, а значит зарплата в гривне стабильно растет. И сегодня вложив в образование 150 дол., завтра получишь уже 800 дол. Выбор за тобой!

Наш курс «Frontend разработчик» рассчитан для:
— тех, кто хочет освоить новые технологии;
— тех, кто хочет сменить профессию;
— тех, кто хочет развиваться и хочет изучить что-то новое.

Преимущества:
— Курс состоит из 20 занятий по 3 часа, с перерывом на кофе/чай.
— Общая продолжительность 2,5 месяца.
— Занятия в вечернее время 2 раза в неделю, что позволит вам совмещать свою прежнюю работу и курсы.
— По окончанию курса у вас будет готовый сайт.
— Выдается сертификат при успешном завершении курса.
— 5 минут пешком от м. Дарница.

Гарантии:Если на последнем занятии у вас не будет сделан сайт*, мы вернем вам стоимость обучения потраченную на курсы.

*При условии 100% посещения занятий и 100% выполнении домашнего задания.

Программа курса:
1. Базис (Размещение в Интернете (домен, хостинг), клиент-сервер, протокол HTTP. DNS, валидность, кроссбраузерность, среда разработки и др.)
2. HTML (Теги. Атрибуты. Спецсимволы. Метаданные. Текст. Гиперсылки. Изображения. Мультимедиа. Списки. Формы. Таблицы. Адаптивный веб-дизайн. Социальные сети в макете)
3. CSS (Классы. Идентификаторы. Селекторы. Псевдоселекторы. Псевдоэлементы. Группирование. Наследование. Каскадирование.Модели визуального форматирования. Отступы. Рамки. Цвета. Фоны. Градиенты. Тени. Прозрачность. Анимация)
4. JAVASCRIPT (Основы JavaScript.Данные. Функции. Обьективы. Массивы. Основы JQery. Технологии Ajax. Cookies. Основы безопасности веб-приложений)
5. CMS (Шаблонизация. Работа с MODX, Wordpress, Joomla, Drupal)
6. Практическая работа: Создание адаптивного сайта с выпадающим меню, галереями, формой обратной связи. Данная итоговая работа будет прекрасным приложением к профессиональному резюме в виде портфолио.

Зарегистрироваться можно по ссылке

Стоимость курса — 4500 грн. (за 2,5 месяца)
При частичной оплате аванс 900 грн и 2 месяца по 1800 грн.
При полной оплате 3750 грн., экономия 750 грн.
Для слушателей, которые прийдут с другом/подругой скидка каждому 10% от стоимости курса.

Кто займет вакантные места в IT в ближайшем будущем

$
0
0

Зерна от плевел

Если бы в наше время существовало татаро-монгольское иго, то оно бы, вероятно, на 90% состояло из менеджеров, танцовщиц, кухарок, крупье и других представителей «недолларовых» профессий, которые из-за кризиса ордами записываются на сомнительные компьютерные курсы, где обещают за три месяца поднять от новичка до программиста. С гарантией трудоустройства. Но мы уже выяснили, что их можно не бояться: во-первых, шансов у них маловато, во-вторых, если и попадут в IT, то надолго там не задержатся. Но есть среди них и темные лошадки, о которых, кажется, все позабыли. А зря. Кто они?

Представители интеллектуальных профессий с аналитическим складом ума — это та глина, из которой можно лепить неплохих программистов. Ведь что самое главное в этой профессии? Думать. Определять логические цепочки. Строить модели. Только не надо цепляться за «абстрактное мышление», которое у программистов якобы развито так, как ни у кого другого. Так ли уж сложно будет объяснить биологу наследование? Так ли уж врачу будет непонятна инкапсуляция? Да и у финансового аналитика в голове может быть такая архитектура, что не каждый Java architect осилит. И вообще, круг «интеллектуальных профессий» может выходить далеко за рамки юристов, врачей, инженеров и финансистов. Тем же солдатам приходится решать массу задач в реальном времени: начиная от логистики харчей, медикаментов и боеприпасов и заканчивая способами одновременно угодить генералам и не пойти на корм червям. Это я к чему — думающих людей, которые зарабатывают себе на хлеб головой таки достаточно много.

Где же они раньше-то были?

Вариантов несколько — либо эти люди довольствовались неинтересной работой и краюхой хлеба, которой хватало на аренду и кино пару раз в месяц, либо же они занимались любимым делом и, опять же, на хлеб хватало. Кто хотел, тот ещё в 2008-2009мог прощупать возможность «понаехать в IT». В остальном народ не особо помышлял о переквалификации, потому как традиционно считалось, что компьютеры — это, во-первых сложно, а во-вторых, не так уж прям супер-прибыльно.

Что изменилось сегодня

С одной стороны, это война и миллион беженцев левобережной Украины, которые покинули свои дома. Им нужно где-то жить, где-то работать.

Кто ходит по киевским кафешкам, тот наверняка отметил приток официанток из Луганска и Донецка. Наверняка в других сферах труда тоже наблюдается подобная тенденция. Грех иметь IT-специальность и не уехать подальше от военных действий. Кто-нибудь скажет, что «кто хотел, тот давно уехал», но это будет только половина правды. Всегда были люди чуть менее подвижные, которым для толчка и переезда не хватало самую малость — пары неразорвавшихся снарядов в своем дворе.

Но главным, все-таки, является просевший курс гривны и инфляция. Раньше профессор получал 1000 долларов, а сейчас и пяти сотен нет. Всё из-за гривневой зарплаты. Программисты же, наоборот, хоть и получают столько же, сколько и всегда, но в гривневом эквиваленте разрыв сильно увеличился. Так сильно, что когда-то фантазия теперь стала реальностью — за год можно стать миллионером! Хоть и гривневым, но всё же.

Поэтому двери компьютерных академий ломятся, да пороги IT-конференций крошатся — не от внезапного прозрения, но от резкой нужды. Но в этот раз ситуация отличается от прошлого кризиса. Теперь даже спокойные когда-то профессионалы в своих областях понимают, что работать за еду — это, конечно, благородно, но кредит надо как-то выплачивать, детей во что-то обувать и за учебу им чем-то платить. И вот люди, которые ещё недавно не помышляли об IT, и даже морщились при слове «многопоточность» или «full stack», теперь устремили свои взоры на ограниченное количество вакантных мест.

Но в отличие от залетных золотоискателей, которые ещё не факт, что пройдут хотя бы первый отсев, это люди другого склада ума.

Неужели финансовый аналитик, который с отличием закончил Шевченко и за деньги обучал техническому анализу и разрабатывал собственные курсы — так уж далек от того, чтоб наваять скриптик на php? А ведь этого достаточно, это уже что-то. Вначале был скриптик ©.

И вот эти врачи, юристы, архитекторы, преподаватели и бизнес-аналитики, которых выбросил на берег кризис-прибой, теперь пошли на курсы или в ученики к друзьям-программистам. И шансов у них больше, чем у других золотоискателей, потому что они умеют думать, у них хорошо развит логический аппарат и всё в порядке с абстрактным мышлением. Они знают, как проводить диагностику и локализировать проблему. Что ещё нужно? Такому семени, попади оно на благодатную IT-почву, не понадобится много времени, чтоб взойти.

С одной стороны, для рынка IT это благая весть. Что может быть лучше, чем более-менее насыщенный рынок? И не какими-нибудь залетными мидлами, которых выдают за сеньоров, но толковыми, мотивированными людьми, с которыми есть о чем поговорить, кроме «когда уже пятница?». Может, не сразу у них получится программировать, но кодить они будут хорошо. Нужда заставит, мозг поможет.

Кто ещё готов к погрузке на IT-корабль?

Не юристами-финансистами едиными. Даже комрады-айтишники, которые волей судьбы оказались по другую сторону валютного борта, точат лыжина рынок аутсорсинга и аутстаффинга. Гривневые IT-специалисты и раньше были на вторых позициях, но теперь их зарплата совсем скукожилась, а вместе с ней и уровень жизни. В отличие от юристов, экономистов и инженеров, они на ступеньку ближе к исполнению своей новой мечты. Нужно только протянуть руку и затащить их на борт.

Не стоит расслабляться также PM’ам и product owner’ам. Представим ситуацию: на дворе невиданный кризис, многих людей увольняют, мелкий и средний бизнес несёт ощутимые убытки, многие закрываются. Вопрос на засыпку: где себя может хорошо проявить человек, который имеет реальные навыки управления персоналом и создания продукта? Куда захочет пойти этот способный к переговорам с заказчиком человек? Да ещё с английским языком. Каким образом он собирается поддерживать свой падающий уровень жизни? Мы все знаем ответ на этот вопрос. Да я сам знаю несколько человек из различнейших отраслей, которые в данный момент зондируют почву IT. Так что пристегните ремни. Ожидаем пополнения.

IT-сфера от этого движения только выиграет. Потому что рядом появится больше толковых специалистов. Их отличие от выпускников IT-специальностей будет в том, что это уже будут довольно зрелые, хлебнувшие морской воды люди, которые успели получить опыт в своей сфере и доказали способность учиться.

Но кому не позавидуешь, так это представителям профессий, изначально далеких от IT. Сейчас и так мало кто берет джунов-тестировщиков, не говоря уже о джунах-программистах, так теперь ещё и появляется такой сильный конкурент — бывший врач, юрист, экономист и даже предприниматель, который не знал, что может стать айтишником.

И не смотрите на диплом гуманитария. Он не спасет от ещё одного конкурента. Потому что на гуманитарные факультеты шли не только раздолбаи, которые хотели, чтоб «было легко», но и вполне гиганты мысли, которые осознанно променяли компьютеры на философию. И если нужда прижмет, они зарегистрируются на Github даже быстрее, чем некоторые выпускники технических вузов.

Так что пора запасаться попкорном и наблюдать отчаливающее судно, которое кренится от тех, кто уже зацепился за борт, но не успел пока забраться на палубу.

DOU Hack: Revolution (Summary) [Feb 21-22, 2015]

$
0
0

Тиждень тому, 21-22 лютого,в офісі компанії Digital Futureми провели найбільший в Україні ДОУ Хакатон #16 (codename: Revolution). На нього зібралося близько 200 програмістів та дизайнерів із усіх куточків України: Києва, Харкова, Львова та інших міст. Хакатон такого формату відбувався вперше після 2-річноїперерви. Наша команда зробила усе аби, незважаючи на таку тривалу перерву, легендарний дух Хакатону залишався незмінним.

Учасники почали прибувати за кілька годин до початку, аби в неформальній обстановці познайомитися, випити кави та зібрати команди для своїх проектів. На початку події всіх привітали організатори та представники спонсорів заходу. Цього року Хакатон підтримало багато компаній, зокрема

Платинові спонсори:

Срібні спонсори:

Інтернет-провайдер:

Медіа-партнери

Призові партнери

Гостинний партнер

Особливої подяки заслуговує GrowthUP. Вони чи не найпершими відгукнулися на прохання допомогти з хакатоном. Сподіваємося вони продовжать нас підтримувати :)

Олександр Шалахін: “Хочется, чтобы наше комьюнити развивалось, чтоб программисты встречались, создавали какие-то проекты, чтоб на хакатоне собирались команды, которые будут, возможно, делать стартапы. Возможно они не будут делать стартап, но они слелают какое-то крутой офигенный патч на KDE 2 под FreeBSD, наконец-то :) Очень хочется, чтобы мы все двигались и развивали нашу страну развивали друг друга, поддерживали друг друга. И я надеюсь, что это такой маленький вклад, который в чём-то поможет нашей стране и нам”.

Img_0063.jpgImg_0058.jpg

Після офіційної частини почалося найцікавіше — 24 години безперервного програмування. Учасники самоорганізувалися в команди, яких загалом на початку Хакатону було більше 50. Кожна із команд працювала над власним проектом та намагалась за відведений час максимально втілити його в життя. Серед заявлених ідей були проста і зручна система для пересилання файлів в Linux як рішення для файлового менеджера Nautilus (проект Marvin), систему керування роботом через інтернет (проект Teleport), система розрахунку платежів за комунальні послуги (проект Bills).

Годували ми учасників регулярно. За перший день встигли нагодувати їх двічі. Їжі було настільки багато, що навіть після ночі холодильники лишилися повні.

10854988_10204381988165660_2147100334549110306_o.jpg

Ближче до ранку черги до кава-машин стали більшими. Деякі з учасників та організаторів влаштовували собі тихі години. Тепер у фотографів є компромат :)

11018475_1572252976325318_1320522794_n.jpgIMG_2380.JPG

Зранку почалась реєстрація команд, які бажали представити свої проекти. Переглянути перелік проектів можна на ChallengePost. Пітчинг проектів тривав більше 2 годин, під час яких 36 команд показали, що можна створити з нуля за 24 години.

Список команд

Назва проектуУчасники командиКоротко про проектТехнології
d-call [url]CRM и колл-центр. Решает профессиональные задачи — разворачивается даже для одного человека.
Гарнокод [url]Reformat Javascript as beautiful ASCII-art pictures while preserving code functionallity
  • clojurescript
Diary of happyness [url]#douhack #Android #Java #Service #Diary
  • Android
  • iOS
  • web
Party Up! [url]Private party or flashmob using phones with flash
Smotri SportСмотри Спорт всегда-
HoReCa [url]Get what you want and where you want
Printera [url]Breathtaking, fantastic, awesome app for u either to share your printer or to use one already shared.
mootrend-analyzerMega great twitter mood trend analyzer and map visualiztor
Екознижка [url]Будь екологічним і зоощаджуй
RhythmTower [url]Our idea was to create the game in tower defence jenre, difficulty of which depends on music loudness and rythm. Our target user is ordinar human, that loves to play games and listen music.
Tooltip.io [url]Tooltips without coding. Quickly create relevant help messages for users without help from developers.
UpStartUpService for quick description of IT startups using structured templates and demonstration on a web page.-
Social Hyperlink [url]
візуалізація наявних в Суспільстві проблем, ідей, проектів та ресурсів для їх реалізації та вирішення
Konserva #27 [url] [url2]Geolocating by photo, removing evil curse, charge conservation
VoatGoat [url]Строгое мобильное кросс-платформенное приложение, помогающее принимать коллективные решения.
I Am Alive [url]Help your friends to know that you are alive-
Teleport [url]Робот, который управляется через интернет.
Bills [url]A simple calculation of utility bills
redeye [url]Определяет большего красноглазика на двух фотографиях
Find the Door [url]game, android, iOS, indie-damedev

Задачи игрока — найти на уровне дверь, минуя бомбы и собирая звёзды.

Awesome A/B [url]Make your A/B-test awesome
YoGurt [url]YoGurt — тепер вирішувати проблеми можна гуртом!-
Navigator WM [url]Connecting people in groups for making their teamplay (teamwork) better.
Marvin [url]bluetooth-like network based file sender
BookFace [url]social network for readers
Quantum [url] [url2]game, multiplayer, fun,
Project 53 [url]The best way for giving and receiving
BandMi [url]Very first Windows Phone client for fitness device Mi Band
ILikeTasty [url] [url2] [url3]Meteor App that helps you to cook tasty food better :)
Hack Community [url]gather together
pukanoid [url]shooter game-
BeMagic game [url]
  • Oles Oleschuk
Cast magic and be happy ;)
GuideMeГарний спосіб спланувати свій тріп
Computer Vision for Drone [url]Computer vision and color detects for Ar.Drone 2.0 quadrocopter
noir Tower Defense [url]Мультиплеерная игра в жанре Tower Defense в стиле нуар

Переможців Хакатону обирало журі, яке складалось з представників Digital Future, Яндекс.України, InfoPulse, iHUB.

10968331_793680490711083_7487538012090339112_n.jpg

В номінації Найкраща граперемогла команда Quantum, за Найкращий hardware стартапбула нагороджена команда BeMagicі в номінації Передові технологіїперемогу здобули хлопці з Computer vision for drones — всі вони отримали призи від GitHubі JetBrains (підписки на сервіси та ліцензії на продукти).

Проект Гарнокодбув нагороджений сертифікатом на навчання мобільній розробці від WebAcademy.

Спеціальний приз від компаній Digital Futureі Govitallотримала команда UpStartUp — один місяць хостингу в офісі Digital Future.

Спеціальний приз від центру іновації iHUB, гарантовану участь в iHUB Ring 2 (з можливістю потрапити на Seed Forum в Сан Франциско чи Нью Йорку), одержали Konserva.

Сертифікати на менторство від Яндекс.Україниза Найпозитивніший проектотримали Diary of happiness та I Am Alive як Найактуальніший проект. Також Яндекс.Українанагородила цінними призами (террабайтні жорсткі диски) команди Find the Doorза Найкращий дизайн та проект Party Up! за Нетипове вирішення неіснуючої проблеми.

А по завершенню нарогодження учасники одержали пледи-подушки від Infopulse, які були весело вкинуті прямо до зали :)

Алексей-Витченко.jpgОлексій Вітченко (CEO, Digital Future): “Мы были рады принять ДОУ Хакатон в нашем офисе и помочь в организации мероприятия. Считаем это своим вложением в развитие IT-отрасли Украины. К слову, это первое масштабное мероприятие в новом офисе Digital Future. Наша компания старается всячески поддержать молодых специалистов в IT области. Очень приятно было увидеть большое количество ребят из разных городов Украины, которые хотят развиваться. Мы открыты к сотрудничеству с мероприятиями подобного рода и готовы инвестировать в лучшие команды и проекты”.

I.Stefurak.jpg“Последние 4 года я регулярно посещаю различные хакатоны. DOU Haсkaton: Revolution для меня стал уникальным с точки зрения аудитории, которую собрали организаторы. Процентов 80 участников это студенты, и я уверен, что многие из них в будущем создадут свои компании. Рад, что мы поддержали именно эту инициативу, которая хорошо дополнила наше направление по работе со студентами”, — прокоментував захід Ігор Стефурак, менеджер по роботі з потоком проектів акселератора GrowthUP.

Оскільки бажаючих прийняти участь в ДОУ Хакатоні було дуже багато, то ми збираємося організувати ще один захід в такому форматі найближчим часом. Stay tuned :)

Img_0154.jpg(команда ДОУ Хакатону і волонтери)

І, наостанок, про соціалки.

Відео із заходу можна переглянути на нашому каналі: ustre.am/KPCE

Офіційний #хештеґ на: Twitter, VK, Google+, Facebook.

Сторінки заходу: Google+, Facebook, VK, DOU — можна позначитися “я тут був”.

Спільноти: Facebook, VK.

Публічні сторінки: Facebook, Google+.

Твіттер: @DOUHack.

P.S. Частина фото від Богданаі Анівже є в соціалках, згаданих вище. Крім того, очікуються фото від ще кількох фотографів приблизно за тиждень. Також ми будемо раді побачити ваші фото — діліться ними за хештеґом і/або на наших офіційних ресурсах у соцмережах. Оу, і звіти/пости в блоґ теж кидайте в хештеґ, наприклад.

20 мая, Днепропетровск — Курс Разработка приложений под Android

$
0
0

Компьютерная Академия ШАГ приглашает студентов, начинающих разработчиков и также всех, кто хочет научиться программировать на годовой курс разработки приложений под Android.

Выпускники курса смогут:
— программировать приложения под Android с использованием Android SDK;
— овладеть навыками программирования на языке Java, что позволит впоследствии заниматься разработкой под другие платформы (Core Java, Java EE, Blackberry и др.);
— проектировать, создавать и работать с базами данных, изучить особенности SQLite;
— пройти процедуру размещения приложения в Google Play;
— узнать, как проектировать работу при разработке приложения, как правильно оценивать свои временные затраты, как подбирать команду с учетом сложности проекта и контролировать качество выполнения работы.

Программа обучения:

— Введение в язык программирования «Java» и Android
— Переменные, типы данных, операторы
— Логические операторы, операторы ветвлений, побитовые операторы
— Циклы
— Строки, массивы одномерные, многомерные
— Методы (на примере статических методов)
— Объектно-ориентированное программирование
— Исключения (ключевое слово try, catch, throw, finally)
— JavaCollectionFramework
— Структура android-проекта. Пользовательский интерфейс приложения.
— Жизненный цикл приложения Android, Activity
— Layout, Views
— Детальный обзор виджетов Android. Основные и полезные методы виджетов, важные аспекты их создания и работы.
— Расширенные приёмы работы с виджетами
— Меню, управляющая и оповещающая информация, диалоги
— Фрагменты
— Изображения, графика, анимация
— Обработка жестов пользователем
— Сервисы, намерения intent, слушатели BroadcastReceiver
— Сохранение информации в телефоне (SharedPreferenses, XML-библиотека,использование специализированных элементов управления в экранах предпочтений)
— Введение в работу с базами данных
— Использование баз данных в Android-приложениях
— Адресная книга, календари, события, звонки, sms
— Аудио, видео, камера
— Сенсоры
— Многопоточность, AsyncTask
— Сетевые возможности, доступ к веб-сервисам
— Работа с картами Google Maps
— Виджеты домашнего экрана
— Регистрация в Google Play

Расписание и порядок обучения:

— Возраст студентов от 15 до 50 лет.
— Продолжительность обучения — 1 год, в конце обучения выдается сертификат Компьютерной Академии ШАГ об окончании годичной программы разработчика мобильных приложений.
— Общая продолжительность курса — 368 академических часов.
— Занятия проходят два или три раза в неделю, с 19:00 до 21:00 по будням.
— Каникулы: 2 недели зимой, 2 недели весной и 3 недели летом.
— Собеседование по курсу пользователя ПК. Приступая к обучению, желательно быть уверенным пользователем персонального компьютера. Знание основ программирования приветствуется.
— Документы, необходимые для заключения договора: паспорт (если нет 18 лет, то паспорт одного из родителей), код.
— Заключение договора. Оплата в соответствии с выбранным вариантом оплаты.

Стоимость обучения:
2154 грн. ежемесячно

Записаться на курс

Viewing all 8151 articles
Browse latest View live