Если нельзя, но очень хочется, то нужно обязательно и ничего в мире не стоит того, чтобы делать из этого проблему!


Интересна Java? Кликай по ссылке и регистрируйся!
Если тебе полезно что-то из того, чем я делюсь в своем блоге - можешь поделиться своими деньгами со мной.
с пожеланием
столько времени читатели провели на блоге - 
сейчас онлайн - 

среда, 31 декабря 2014 г.

Все вопросы по java/j2ee, что ты хотел спросить, собранные в одном месте

Решил рефрешнуть в памяти свои знания по java. Для этого есть классная подборка 400+ вопросов на собеседовании для молодого и не очень java бойца. Называется работа "Java/J2EE Job Interview Companion" автора  Arulkumaran Kumaraswamipillai


Вчера прочел первых 30 страниц. Пока все очень даже ок! Сегодня еще 30.

А как ты готовишься к собеседованиям на java проект?

ПриЁм

среда, 24 декабря 2014 г.

THX-1138

...составьте список прямо сейчас. Каждую мечту. Я хочу быть автором бестселлеров. Я хочу уменьшить свои материальные потребности. Я хочу освободиться от многих неприятностей, жертвами которых я был всю жизнь. Я хочу быть здоровым. Я хочу помочь всем людям вокруг меня или людям, которые приходят в мою жизнь. Я хочу чтобы все, что я делаю, было источником помощи для людей. Я хочу быть рядом только с теми людьми, которых я люблю и которые любят меня. Я хочу иметь время для самого себя.ЭТО НЕ ЦЕЛИ. Это установки. Что мне нужно делать каждый день, чтобы практиковаться следовать этим установкам? Это начинается в тот момент, когда я просыпаюсь: «Кому я могу помочь сегодня?» Спрашиваю я темноту, когда открываю глаза. «Кому бы вы хотели, чтобы я помог сегодня?» Я секретный агент, и я жду своего задания. Готов к приему. Вот как Вы делаете детские шажочки. Вот как Вы, в конечном счете, прибежите к свободе...
Дальше читать сюда. А еще собираюсь посмотреть фильм Джорджа Лукаса про THX-1138, который стремился на свободу. Фильм конечно на любителя, но вот


Какие фильмы порекомендуешь? Что смотрел на тему освобождения от оков системы?

ПриЁм

понедельник, 22 декабря 2014 г.

TED Jane McGonigal: Gaming can make a better world

Блин, я каждый день убеждаюсь в том, что есть Вселенский Админ, который видит наши мысли и посылает нам то, что больше всего сейчас надо. Недавно я только писал про то, как в варкрафт играл в психотерапевтических целях, а тут такое. Доклад TED Jane McGonigal: Gaming can make a better world. Смотрим и удивляемся. 


Конспект:

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

Почему мы успешнее в играх, чем в реальной жизни? В чем отличия игры World of Warcraft от реальной жизни, что там возможны эпические победы?

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

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

Всегда есть вдохновляющая история, зачем это все.

Мы получаем позитивную обратную связь в виде опыта, артефактов, левелапов и т.д.

Все  игроки Мира Варкрафта уже потратили 5,93 миллиона лет на решение виртуальных проблем Азерота. А это соизмеримо с переходом человека из каменного века.

К 21 году, молодой человек в развитой стране проводит за играми 10 000 часов, это столько же сколько он отсидит в школе с 5го по 12й класс и столько же, сколько надо времени, чтобы стать виртуозом в любом деле. Учится он там тому, как стать хорошим геймером.

Так в чем геймеры становятся виртуозами?

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

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

Радость творения - процесс игры как упорный труд приносит нам больше удовлетворения, чем просто расслабление или общение.

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

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

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

Когда-то давно игры были придуманы для того, чтобы избежать голода. Еды не хватало и правитель придумал играть в кости. 1 день люди ели, а другой играли в кости, отвклекаясь от чувства голода. И так они прожили 18 лет. Сейчас мы так же используем игру, чтобы убежать от реальности - мы используем игры, чтобы отвлечься от всего, что не так. Но то что случилось дальше врет все шаблоны - по Геродоту после 18 лет голода страна разделилась на два лагеря, и решили, что тот, кто выиграет на этот раз в кости - пойдет искать себе новую землю для жизни. Половина населения снялась и пошла искать новый мир. Сейчас то же делает варкрафт - ему уже 16 лет...

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

Что думаешь? Поделись

ПриЁм

воскресенье, 21 декабря 2014 г.

Секреты гейм-девелопмента: 47 игровых механик

Это просто бомба. Спасибо за перевод и авторам за оригинал. И ребятам, кто пошарил это со мной сегодня.

Достижения /Achievement
Определение: Виртуальное или материальное выражение результата выполнения действия. Достижения часто рассматриваются как награда, либо сами по себе
Пример: Медаль, уровень, вознаграждение, очки... наградой будет все, что может считаться таковой.
Механика назначенной встречи / Appointment Dynamic
Определение: Механика, в которой, для достижения успеха, нужно вернуться в игру в определенное время для совершения некоего действия. Механика назначенной встречи зачастую тесно связана с интервальным графиком вознаграждений или механикой избегания (читай ниже).
Пример: Cafe World и Farmville, в которые нужно возвращаться в назначенное время, чтобы сделать что-то хорошее, а если этого не сделать – случится что-то плохое.
Избегание / Avoidance
Определение: Акт стимулирования игрока не наградой, а избеганием наказания. Помогает поддерживать постоянный уровень активности согласно задуманному разработчиком расписанию.
Пример: Нажимайте рычаг каждые 30 секунд во избежание шокового удара.

И так 47 советов! Читаем дальше тут

А какой опыт геймификации у тебя?

ПриЁм

суббота, 20 декабря 2014 г.

Рисовал бэймакса

Скорее срисовывал. Рисовал на обоях :) У нас дома это можно.


Вот просыпаешься утром, на на тебя Беймакс смотрит :)

Правда голову ему надо было чуть по больше. Но стенка это не паншет с редактором веркторной графики, нарисуешь не исправишь.

Оригинал взят тут


Спасибо!

пятница, 19 декабря 2014 г.

Варкрафт инсайт

Решил чуть отвлечься и нашел себе Warcraft II. Всю ночь в него играл.


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

Может для кого-то это будет банальным, но меня торкнуло во время игры. Для нормальной полноценной игры, когда ресурсы добываются, оборона держится, контролы атакующих пробивают защиту, заводы работают на апгрейды надо около 50 юнитов. Если юнитов меньше 10, то тут только о первичном сборе материлов можно говорить и волноваться, а не вынесут ли. А теперь во всем этом какая моя роль? Я же не бегаю сам по карте на белом коне, сам добывю золото, сам рублю лес, сам воюю и строю здания? Никак нет. Я даже по полю не бегаю - а сижу наполовину укутанный в одеяло и нажимаю кнопавки клавиатуры. Руковожу в общем. Да переживаю. Да провтыкиваю иногда. Но юниты мне верят и идет в бой. Я выкладываюсь по полной, но не бегаю по полю с языком за плечами. 

А теперь посмотреть на все поделки, которые начинаются разработчиками. Классные и умные поделки. Хорошими и толковыми разработчиками. Дай Бог, чтобы ребят было двое, а так то поодиночке пилят. Говорю - делегируй это кому-то, ты не должен искать помещение для своего тренинга, а мне - так могу жеж. Говорю, если не хватает времени - напиши джоб дескрипшен, а под него кандидат найдется со временем, а мне - так нет времени и кто выделит мне человека? В результате и получается, что один рабочий и золото добывает и лес рубит и строит и чинит и воюет. Представил себе игру в стратегию одним юнитом-работником?  

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


Спасибо Салава, спасибо WarCraft II.

Кстати пару рекомендаций из своей копилки по делегированию:
- Если что-то становится рутиной и кушает много времени, а автоматизировать не получается (а так ли это на самом деле?) напиши job description, распечатай его и положи на стол - кандидат найдется. Может он и автоматизирует? Обычно таски, которые уже приелись лучше делаются новичками - у них там чаще прорыв случается.
- Предлагай поработать за опыт. Волонтерство в наше время в айти очень даже ничего работает. Ребята устроены, имею неплохие зарплаты, а дополнительные опции рядом с твоим делом у них нет, а у тебя пока денег нет :) Вот и договоритесь.
- Если к тебе кто-то обращается с советом что-то исправить, улучшить или дополнить - смело предлагай ему эту задачу. Скорее всего он согласится, потому как идея-то его.
- Делегируй не таску, а ответственность за какое-то целое направление, чтобы человек себя там чувствовал боссом и придумавыл сам себе задачи. А микроменеджмент выкинь на помойку. За всеми не проследишь, только за мотивируешь ребят не работать с тобой.
- О факапах сообщай как о фактах, которые есть в системе, а не о том, что кто-то налажал. А может даже не стоит их озвучивать - момент, когда случился факап не самое подходящее время чтобы проводить ретроспективу. Может быть как-нибудь в будущем, или никогда.
- И вообще рисуй чаще у ребят в голове успех. Каждый хочет сделать свою работу как можно лучше!
- Не лезь с советом, погоди, пока не спросят тебя "а как лучше?" вот тогда и говори, если знаешь. Лидеры выжидают подходящего момента тогда, когда к ним обращаются.

Наверное есть еще 100500 других ркомендаций, но это первое, что пришло в голову, что уже удалось попробовать и что работает.

А как делегируешь ты?
В какие игры играешь, чтобы расслабиться?

ПриЁм

Как выучить java?

Решил тут собрать все рекомендации, что когда либо озвучивал для трейни у себя в блоге. Итак.

Статья о том, какой путь необходимо пройти чтобы уверенно себя чувствовать.

Рекомендации перед стартом по мотивам коучинга других стартующих джава тренинг
Книги:
Мотивирующие доклады - что ждет в компании и как готовиться к этому:
Описание моей программы Java Basic для тех, кто хочет сам менторить или же трейниться.

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

Пока это все, но дока будет расширяться.

Какие рекомендации новичкам можешь добавить?

ПриЁм

Программа Java Basic

Эту программу я оттачивал на нескольких группах - это ее 5 редакция. Спешу поделиться с теми, кто хочет запускать java тренинг у себя но не знает с чего начать. После java basic хорошо бы углубляться в enterprise мир и набивать шишки с тем же приложением но подключая к нему все более сложные технологии, выводя его в Web.

Сейчас я работаю с напарником над программой goJava в goIT, если интересует хороший тренинг с менторами и тренерами и группой единомышленников - велкам к нам. 

Тренинг состоит из модулей: каждый из которых имеет свою роль и цель.
  • Java Basics 3 дня
    Установим окружение, необходимое для программирование на java. Напишем 4 несложных консольных приложения. Ознакомимся с языковыми конструкциями, используемыми на java. Ознакомимся со средствами для командной работы с кодом (SVN). Получим обратную связь от ментора в виде code review замечаний.

  • OOP Basics 5 дней
    Смоделируем любую выбранную Трейни систему (по-умолчанию это университет) в терминах объектно-ориентированного программирования. Практически овладеем основными понятиями OOP: инкапсуляция, наследование, полиморфизм, интерфейс, агрегация, композиция, абстрактный класс, метод, поле и многие другие. Модель будет представлена в виде UML диаграммы для демонстрации ее коллегам и ментору. Много code review. Много новых терминов. Будем ломать привычки процедурного стиля программирования. Все это позволит научиться думать объектами и абстрагироваться от деталей. Задание будет сформулировано в виде нескольких user stories, отвечающих на вопрос - что я как пользователь будущей системы смогу сделать.

  • Т.к. модель уже готова, то стоит зафиксировать ее в том рабочем состоянии, в котором она находится. Мы научимся дополнять рабочий код таким образом, чтобы он стал самотестирующимся. В этом нам поможет библиотека jUnit. Что такое тест? Как сделать так, чтобы одним кликом можно было сказать, система работает или нет? Как справляться со стрессом в процессе разработки? Все это мы разберем в этом модуле.

  • Если в прошлом модуле мы использовали массивы для агрегации множества однотипных объектов, то теперь мы познакомимся с разными способами хранения информации - Collection, List, Set, Map,... Тесты, написанные в прошлом модуле позволят нам не бояться, что что-то будет поломано - конечный пользователь не заметит перемен. Это называется рефакторинг! Безопасный рефакторинг имеет свои правила. Научимся и этому. Код модели станет чище, более ООП.

  • Немного отвлечемся от нашей модели и углубимся в качественно новый процесс разработки TDD. Если мы раньше писали тест после того как была написана функциональность, то сейчас мы будем писать требование в виде теста до того, как эта функциональность появится. Это перевернет все с ног на голову. Кто-то называет этот способ разработки - программирование для домохозяек - так он упрощает будни программиста. Но на самом деле все не так просто, требуется немало сил, чтобы сломать старые привычки. Это мы и начнем делать. Бинарное сортированное дерево будет нашим подопытным кроликом - в процессе его разработки мы испытаем процесс TDD на себе.

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

  • Error handling 3 дня
    Если раньше модель работала в режиме приема идеальных данных, то теперь мы изрядно постараемся и будем передавать на всех все, что только можно передать. Конечно, модель будет вести себя не предсказуемо, а потому мы воспользуемся мощным инструментом, который присутствует в Java наряду с OOP - Exception Handling. Поймем, что такое checked/unchecked exception, что такое error, как обрабатывать исключения (и надо ли вообще) и многое другое. Как это отразится на модели? А ней будет реализована защита от дурака.

  • Java Input/Output 5 дней
    Чтобы наша моделька была полезной - она должна уметь сохранять свое состояние. В качестве альтернативы базе данных мы будем использовать плоские файлы. Как проводить чтение, как проводить запись, множество разных классов для для всевозможных способов чтения/записи - запутаться можно. Но тем не менее мы научимся выбирать именно те классы, которые нам нужны.

А что бы ты хотел добавить в этот план?
Что еще надо знать новичку, изучающем у java?

ПриЁм

четверг, 18 декабря 2014 г.

Порадуемся, ведь завтра будет лучше! А если и не будет, то порадуемся за такое хорошее сегодня

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


А как ты относишься к своему Завтра, Вчера, Сегодня?

ПриЁм

Теликотерапия

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

А еще на этот клип попал. 


Встречал такой эффект, когда что-то пытается до тебя достучаться через других людей?

ПриЁм

вторник, 16 декабря 2014 г.

Мусор в голове


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

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

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

А как ты расчищаешь свои завалы?

ПриЁм

пятница, 12 декабря 2014 г.

Collapse codenjoy уже в эту субботу

Кстати, я жеж был в Одессе на прошлые выходные. Java/Scala Lab. Готовил туда доклад и Codenjoy collapse. Ее я в экспрессе, пока ехал в Одессу наваял за 6 часов.


Правила игры описаны тут.
Попрактиковаться можно вот тут.
Собираемся в эту субботу поиграть.
Если интересует - добавляйся ко мне в скайп.

Какую следующую игрульку ты бы предложил??

ПриЁм

TDD c tetris codenjoy

Вот нашел в складках гугла :) Старое, наше с Серегой Зелениным выступление


Может кому пригодится :)

Что думаешь про TDD? Практикуешь? Хотел бы научиться?

ПриЁм

16 интервью за день

Собеседуем ребят на Java тренинг по GoJava в GoIT. Позавчера у меня было 16 собеседований подряд. Вчера еще 8. 40 минут на каждого гостя. Это даже не собеседования, а консультации. Так, разговаривая с человеком я интересовался несколькими вещами, чтобы понимать будет ли ему комфортно в нашей компании в качестве учащегося, попутно отвечая на любые его вопросы. 

Все 16 человек и все уникальные. Очень рекомендую попробовать такой марафон, если представится возможность - это меняет. 

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


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

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

А как ты относишься к интервью?
Сколько их у тебя было?
Сколько ты сам проводил?

ПриЁм

Учимся рисовать Спансчоба

Вот класснючий сайт с большой базой рисовалок. От простого к сложному. Я вот за 10 минут нарисовал спанчбоба )


Даже круче, чем в оригинале получился :)

Рисовать просто, если рисовать...

воскресенье, 7 декабря 2014 г.

Максим Дорофеев

Вчера говорил доклад айтишник в Одессе на Java/Scala Lab. И после доклада мне порекомендовали блог Максима Дорофеева. Вот уже воскресенье, мы собрались в онлайне поиграть в Codenjoy collapse а параллельно я слушаю доклад Максима о том, что не стоит делать несколько дел параллельно :)


Так же рекомендую блог Максима