Fullstack developer
Чему можно научиться у дизайна гиперказуальных игр
Кто-то может сказать, что гиперказуалки, вероятно, один из простейших жанров для анализа гейм-дизайна. Кто-то может сказать что гиперказуальные игры даже не стоят анализа, потому что этот тренд скоро исчезнет, но у меня есть другое мнение.
Не могу сказать, что являются специалистом по гиперказуальным играм. Я простой потребитель, который больше не получает удовольствия от игр как потребитель благодаря моей профдеформации — я аналитический гейм-дизайнер. В последнее время я играл во множество гиперказуальных игр на мобильной платформе (и анализировал их), поэтому решил вкратце написать об их привлекательности и о том, чему у них могут поучиться гейм-дизайнеры. Повторюсь, это не готовое руководство по созданию гиперказуалок, а краткий обзор различных гейм-дизайнерских решений и систем, помогающих гиперказуальным играм быть увлекательными.
От монолитов к модульности команд
Представьте: все платформенные команды заняты одной фичей, а у бизнеса появляется срочное требование сделать что-то другое или скорректировать уже разрабатываемый функционал. И в этот момент останавливается работа над одной фичей и начинается работа над другой. В следующий момент появляются уже новые требования от бизнеса, а фича так и остается недоделанной. Разработчики в обиде и бизнес страдает.
Вот еще ситуация: меняется API, нужно срочно бежать в отдел бэкенда узнавать подробности, потом обратно к фронтам (iOS / Android / web). Дальше, обсудив с фронтами свои корректировки, нужно идти обратно к бэку и говорить наши требования. Это очень изнуряло, терялось время команд, отдельного разработчика и нервы всех заинтересованных людей.
Меня зовут Валерий, наша команда занималась QIWI Кошельком под iOS. Но всегда нужно было держать коммуникации с другими командами, иначе получался полный рассинхрон. Что касается наших неудобств, то бизнес всегда идет навстречу и дает свободу для экспериментов. Поэтому встал вопрос об изменении существующей структуры. Благоприятной средой для тестирования наших идей по изменению был скрам. Каждые две недели мы внутри платформы могли редактировать курс, чтобы это хоть как-то согласовывалось с другими командами. На проверку теорий давалось много времени. От месяца до полугода. Какие варианты мы перепробовали:
Заметки product manager’a: поведение пользователей на страницах игр в app store. Сколько надо времени чтобы скачать игру
На пенсию в 22
Я много работала и выгорела. Уволилась и не стала искать новую работу. Толстая финансовая подушка обеспечила мне бессрочный отпуск. Я отлично провела время, а еще утратила часть знаний и психологически постарела. Какая она, жизнь без работы, и чего не стоит от нее ждать, читайте под катом.
Что ты такое, замыкания в JavaScript?
Начнем с определения:
Замыкания - это функции, ссылающиеся на независимые (свободные) переменные. Другими словами, функция, определённая в замыкании, 'запоминает' окружение, в котором она была создана.MDN
Если вам что-то не понятно в этом определении, это не страшно. Просто читайте дальше.
Я глубоко убежден, что разбираться в чем-либо проще и быстрее на конкретных примерах.
Поэтому предлагаю взять фрагмент кода и пройтись по нему вместе с интерпретатором от начала до конца по шагам и разбираться по ходу, что происходит.
Итак, приступим:
Рисунок 1
Анализ производительности запросов в ClickHouse. Доклад Яндекса
Каждый раз, когда я делаю запрос, меня волнует не только результат, но и то, что этот запрос делает. Например, он работает одну секунду. Много это или мало? Я всегда думаю: а почему не полсекунды? Потом что-нибудь оптимизирую, ускоряю, и он работает 10 мс. Обычно я доволен. Но все-таки я стараюсь в этом случае сделать недовольное выражение лица и спросить: «Почему не 5 мс?» Как можно выяснить, на что тратится время при обработке запроса? Можно ли его в принципе ускорить?
Toolbox для исследователей — третий выпуск: поиск источников и работа с ними
- Toolbox для исследователей #2: подборка из 15 тематических банков данных
- Toolbox для исследователей #1: самоорганизация и визуализация данных
Подборка книг о том, как учиться, мыслить и принимать эффективные решения
Сегодня мы собрали подборку книг, которые рассматривают возможности для повышения эффективности работы и учебы с точки зрения паттернов мышления.
Кто такие эйдетики, как работают ложные воспоминания, и три популярных мифа о памяти
Расскажем о наиболее популярных из них плюс о том, почему не так-то просто все забыть, что заставляет нас «красть» чужую память и как выдуманные воспоминания влияют на нашу жизнь.
Простой трекер семейного бюджета с помощью AWS SES, Lambda и DynamoDB (и Route53)
Как контролировать семейный бюджет?
У меня всегда были сложности точно следовать бюджету, особенно сейчас, когда все покупки проходят по кредитной карте. Причина проста — перед глазами нет пачки денег, которая постепенно сокращается, и в какой-то момент ты понимаешь, что тратить больше нечего. Если большая часть покупок оплачивается кредитной картой, то единственный способ узнать, сколько cредств осталось или сколько потрачено, это зайти в Интернет-банк или мобильный банк, или же использовать финансовые агрегаторы, например Mint, в которые тоже надо заходить и проверять баланс. Это возможно, но на это требуется дисциплина, а когда с той же карточки платишь не только ты, то установить её сложно.
Я подумал, что меня устроит вариант, если каждый день мне будет приходить уведомление о том, сколько денег у меня ещё осталось в этом месяце. То есть я бы устанавливал бюджет на месяц, и что-то бы считало мои траты и каждый день посылало отчёт о состоянии бюджета.
«Проще ответить, чем продолжать молчать» — большое интервью с отцом транзакционной памяти, Морисом Херлихи
Морис Херлихи — обладатель целых двух премий Дейкстры. Первая — за работу по «Wait-Free Synchronization» (Brown University) и вторая, более свежая, — «Transactional Memory: Architectural Support for Lock-Free Data Structures» (Virginia Tech University). Премию Дейкстры дают за работы, значимость и влияние которых были заметны на протяжении не менее десяти лет и, очевидно, Морис — один из самых известных специалистов в области. На данный момент он работает профессором в Брауновском университете и имеет множество достижений на целый абзац длиной. Сейчас он занимается исследованиями блокчейна в контексте классических распределенных вычислений.
Ранее Морис уже приезжал в Россию на SPTCC (видеозапись) и cделал отличную встречу сообщества Java-разработчиков JUG.ru в Питере (видеозапись).
Этот хабрапост — большое интервью с Морисом Херлихи. В нем обсуждаются следующие темы:
- Взаимодействие академической сферы и индустрии;
- Фундамент для исследований блокчейна;
- Откуда берутся прорывные идеи. Влияние популярности;
- PhD под руководством Барбары Лисков;
- Мир в ожидании многоядерности;
- Новому миру – новые проблемы. NVM, NUMA и взлом архитектуры;
- Компиляторы против процессоров, RISC vs CISC, shared memory vs message passing;
- Искусство написания хрупкого многопоточного кода;
- Как обучить студентов написанию сложного многопоточного кода;
- Новое издание книги «The Art of Multiprocessor Programming»;
- Как изобреталась транзакционная память;
- Почему стоит проводить исследования в области распределенных вычислений;
- Остановилось ли развитие алгоритмов, и как жить дальше;
- Работа в Брауновском Университете;
- Разница между исследованиями в университете и внутри корпорации;
- Hydra и SPTDC.
Теория вместо эвристики: становимся лучше как frontend-разработчики
Перевод Becoming a better front-end developer using fundamentals instead of heuristics
Наш опыт показывает, что не имеющие технического образования разработчики и самоучки чаще полагаются не на теоретические принципы, а на эвристические методы.
Эвристика — шаблоны и проверенные правила, которые разработчик вынес из практики. Они могут работать неидеально или ограниченно, но в достаточной мере, и не требуют серьёзных размышлений. Вот некоторые примеры эвристики:
- «Используй
$(document).ready(function(){})
для инициализации кода на jQuery-сайтах» - «Конструкция
var self = this
необходима для вызова метода в функции обратного вызова» - «У стрелочных функций нет операторов
return
»
В то же время, теоретический принцип может быть использован для поиска решений других проблем. Он неизменно верен и часто определяет само устройство работы того или иного элемента. К теоретическим принципам относятся, например:
- Официальный синтаксис стрелочных функций
- API-документация к Lodash
- Правила применения и функции vertical-align
Обратите внимание: мы заключили в кавычки только примеры эвристики — для того, чтобы подчеркнуть кустарный характер эвристики по сравнению со строгостью теоретических основ. Ни один из примеров эвристики не является универсальным для всех случаев, но они работают в достаточном количестве ситуаций, чтобы применяющие их разработчики получали рабочий код без полного понимания его работы.
13 приёмов работы с npm, которые помогают экономить время
npm init
или npx create-react-app
стало привычным способом начала работы над практически любым JavaScript-проектом. Это может быть сервер, клиент, или даже настольное приложение.Но утилита npm способна не только на инициализацию проектов или на установку пакетов. Автор материала, перевод которого мы сегодня публикуем, хочет рассказать о 13 хитростях npm, которые позволят выжать из этой системы всё, что можно. Здесь будут рассмотрены приёмы разного масштаба — от использования сокращений команд до настройки поведения
npm init
.Многие программисты пользуются npm ежедневно. Это значит, что в долгосрочной перспективе изменить что-то в лучшую сторону может даже небольшая экономия времени. Этот материал рассчитан, преимущественно, на начинающих разработчиков и на разработчиков среднего уровня. Однако даже если вы — профессионал, автор материала надеется, что вы сможете найти здесь пару интересных вещей, с которыми вы раньше не сталкивались.
Если вы совершенно не знакомы с npm — знайте, что интересующая нас программа устанавливается вместе с Node.js. Если вы работаете в Windows, то, чтобы воспроизвести кое-что из того, о чём здесь пойдёт речь, рекомендуется установить Git Bash.
Эффективное управление программами и проектами по методологии P2M
Эта статья предназначена для интересующихся проектным управлением, практиков и теоретиков. Она позволит ознакомиться с японской методологией P2M (Project & Program Management for Enterprise Innovation), отличающейся от привычных западных подходов, в том числе ориентацией на создание дополнительных ценностей для компании и прямой корреляцией производимых изменений бизнеса с миссией предприятия.
Источник
Алан Кей: «Какие книги Вы бы посоветовали прочесть тому, кто учится на Computer Science»
Важно понимать, какое место занимает понятие «science» в «Computer Science», и что означает «engineering» в «Software Engineering».
Современное понятие «науки» можно сформулировать так: это попытка перевести явления в модели, которые можно более-менее легко объяснить и предсказать. На эту тему можно прочесть «Sciences of the Artificial» (одна из важных книг Герберта Саймона). На это можно смотреть с такой точки зрения: если люди (особенно разработчики) строят мосты, то учёные могут объяснять эти явления, создавая модели. Самое интересное в этом то, что наука почти постоянно будет находить новые, лучшие способы наведения мостов, так что дружеские отношения между учеными и разработчиками вполне могут улучшаться с каждым годом.
Примером подобного из сферы Computer Science является Джон Маккарти, размышляющий о компьютерах в конце 50-х годов, то есть о невероятно большом спектре того, что они могут сделать (может быть, ИИ?), и создание модели вычислений, которая является языком, и может служить в качестве собственного метаязыка (Lisp). Моя любимая книга на эту тему — «The Lisp 1.5 Manual» от MIT Press (автор Маккарти с соавторами). Первая часть этой книги по-прежнему остается классикой того, как нужно думать в целом и об информационных технологиях в частности.
Создаем музыку: когда простые решения превосходят по эффективности глубокое обучение
Кризис Agile. Что делать?
- Многие организации устали от Agile
- Часть проблемы — в существовании большой коммерческой отрасли Agile
- Нужно вернуться к основам: простоте Манифеста и 12 принципов
- Примеры базовых и простых фреймворков: Heart of Agile и Modern Agile
- Многие уроки можно извлечь из таких гуманитарных наук, как позитивная психология, направленное самосовершенствование и решение-ориентированная терапия
«Agile agile Agile agile agile agile Agile agile».
Мантра? Не совсем, хотя это может вызвать изменённое состояние сознания.
«Ответ на главный вопрос жизни, вселенной и всего такого?» (Дуглас Адамс, «Путеводитель для путешествующих автостопом по галактике»). Может быть, смотря кого спросить.
Это омонимы. Слова, которые выглядят и звучат одинаково, но имеют разные значения. Как это грамматически правильное предложение, состоящее из трёх совершенно разных слов: «Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo», Дмитрий Боргманн, «За пределами языка: путешествие слова и мысли» (фразу можно перевести так: «Буффальские бизоны, которых пугают буффальские бизоны, пугают других буффальских бизонов» — прим. пер.).
Риск чрезмерной омонимизации заключается в том, что слова начинают означать всё и вся, в то же время не означая ничего конкретного. Это психологический феномен, известный как «семантическое насыщение», форма ментальной усталости.
Чему я научился на своём горьком опыте (за 30 лет в разработке ПО)
Это циничная, клиническая коллекция того, чему я научился за 30 лет работы в разработке программного обеспечения. Повторюсь, некоторые вещи весьма циничны, а остальное — результат долгих наблюдений на разных местах работы.
Information
- Rating
- Does not participate
- Location
- Россия
- Date of birth
- Registered
- Activity