7 заметок с тегом

обучение

Как улучшить себя как программиста

Думай категориями издержек и прибыли.

Тебя делает лучше все то, что позволяет более эффективно (с меньшими издержками) достигать результата.

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

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

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

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

Как принимать решение:

Оценить соотношение издержек и прибыли рассматриваемых вариантов решения.

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

2015   мысли вслух   обучение

Наблюдения за собой и другими при обучении

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

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

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

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

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

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

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

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

2014   мысли вслух   обучение

Модель мира. Часть 1

Часть 2

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

Из-за простоты мира наблюдения “если УСЛОВИЕ, то РЕЗУЛЬТАТ” можно предсказывать, зная только условие. Такие предсказания — ключ к выживанию наших далеких предков. Если солнце село, значит оно вскоре встанет. Если съесть этой травы, умрешь. Это золотой век (точнее миллион лет) абсолюта: все знания абсолютны.

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

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

Бояться змей — не стать серпентологом. Модель “змея = плохо” ломается. Змеиный яд, оказывается лечит. Не все растения вредны. Модель их понимания их выстраивают ботаники.

Знания наших предков зачастую упрощенные модели о мире, с допущениями, ошибками, и багажом предрассудков. Меня удивляют серьезные ученые, дающие отсылки к “народной мудрости”. “Утро вечера мудренее” работает, а лечение ран землей — нет.

Мошенники и иллюзионисты используют особенность нашего мозга строить наиболее вероятную модель происходящего. Оцените начало ролика https://www.youtube.com/watch?v=QcQxFkHGVvc

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

Неработающая модель мира может формироваться случайным образом, как следствие. Например идеал женского тела сформирован рекламой. И нравятся человеку толстушки. А вокруг культ костей. Куда ему податься? Отстаивать свою позицию, или довериться большинству? Когда все вокруг говорят, одно, ты думаешь иначе? http://youtu.be/MoeQ3I7BRpY?t=18m

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

Иногда модели не соответствуют действительности. С приходом нового СЕО у компании растет прибыль. СЕО связывает успех со своим управленческим гением. Это его модель. А на самом деле весь рынок на подъеме, и любое решение привело бы компанию к текущим прибылям. Читай одураченные случайностью.

P.S. годная статья в тему: Почему возникают теории заговора и как с ними бороться

2014   мысли вслух   обучение

Про парадигму системы образования

Про условия, в которых была создана существующая система образования, и как она не подходит под существующие условия. Логические не каждый момент последователен, тем не менее рациональное зерно присутствует. Оригинальная лекция суше http://www.youtube.com/watch?v=mCbdS4hSa0s и интереснее.

2013   видео   обучение

Как создать и поддерживать много презентаций

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

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

На определенном моменте, стало понятно, что движусь не в ту сторону. Вернее в ту, в которую уже кто-то двигался до меня. Последовало исследование сегодняшнего рынка js презентаций, в итоге остановился на revealjs. Выглядит симпотно, и эффектов не такая куча, как в некоторых других. В нем ряд вопросов решен: подсветка синтаксиса, анимашки, апишка (планирую прикрутить удаленное управление по вебсокетам). Удаленное управление есть, но тормозит оно безбожно. Еще приятным бонусом оказалась поддержка markdown (с разбитием на слайды).

Имея на руках такой плацдарм, упростить процесс написания презентаций до невозможного:

  • все слайды размечаются в markdown во внешнем файле.
  • подгрузка презентации реализована через параметр в URl.

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

Отдельная тема с подсветкой кода. Для подсветки revealjs ипользует ту же библиотеку, highlightjs, что и этот блог. highlightjs определяет язык, на котором написан код, по классу контейнера с кодом. Иначе она пробует подобрать самостоятельно язык. Так как у меня примеры часто имеют не более 3-х строчек, и написаны на js, highlightjs часто ошибается в определении языка. Ставить класс в markdown нет возможности. Задача решается добавлением комментария к коду, и доработкой highlightjs напильничком, чтобы та подсвечивала код с определенным комментарием как javascript-овый.

Итого:

  • презентации — чистые markdown файлы
  • для всех презентаций единый файл, один стиль

Пример презентации, исходный код.

2013   javascript   обучение
Ctrl + ↓ Ранее