Всем доброго времени суток. Я давно обещала выложить сюда подробный гайд на тему того, как можно изучать Machine Learning самостоятельно, не тратя деньги на платные курсы, и, наконец, выполняю свое обещание. Надеюсь, этот гайд станет подсказкой, которая поможет найти правильное направление новичкам, которые хотят погрузиться в нашу область.
Программист
Возвращаем RSS к жизни
6 min
32KRSS-агрегатор NetNewsWire
Мы уже обсуждали, насколько важен и удобен RSS для профессиональной работы с источниками в интернете. Это единственный способ собрать огромный массив данных с тысяч сайтов, соцсетей, блогов, твиттер-аккаунтов, торрент-трекеров и др.
Вся информация накапливается в личном агрегаторе, доступна в удобное время, в том числе офлайн. Никогда ничего не теряется. Это особенно актуально сейчас, в условиях информационной блокады, периодических отключений интернета и угрозы полного шатдауна.
+75
Проходим L6 интервью на System Design в FAANG
6 min
14KПривет, из-за последних событий решил поделиться материалами по собеседованиям в зарубежные компании, которые сам собирал последние несколько лет. Описанное ниже - смесь из личного опыта, историй на различных форумах и анекдотов собранных через знакомых - поехали.
+11
Как получил оффер от Microsoft
6 min
53KО чем эта статья
Это продолжение моих похождений по ФААНГ. Предыдущая статья была о моем опыте собеседования в Амазоне.
Здесь я тоже поделюсь всем процессом: как я попал на собеседование, все этапы, вопросы на интервью, как я готовился, некоторые детали офера, и общее впечатление от интервью. Так же будут всякие сравнения опыта собеседования в Майкрософте и в Амазоне.
К слову, все собеседования тоже сейчас проходят онлайн, и никаких онсайт интервью нет.
+72
Музыкальная теория для гиков
17 min
121KTranslation
Кто-то считает музыку уделом избранных талантов, кто-то — набором физических закономерностей. Автор материала делает попытку объяснить знакомые каждому музыкальные термины, такие как тон, интервал, амплитуда, нота, октава, партитура, аккорд и так далее с помощью расчетов и технических обоснований. Ниже перевод оригинального текста.
Я ничего не знаю о музыке. Я знаю, что в музыке есть знаковые обозначения, но иногда у них вырастают закорючки. Я знаю, что увеличение октавы удваивает высоту звука. Я знаю, что для того, чтобы написать песню в стиле поп достаточно всего четырех аккордов. Вот, пожалуй, и все.
Все остальные правила для меня выглядят совершенно, ну просто абсолютно произвольно. Почему у нас есть 12 нот, но для их обозначения применяются только 7 букв? Откуда взялись знаки при ключе? Почему ни одну статью по музыке в Википедии просто невозможно понять, не прочитав сперва все остальные?
Я ничего не знаю о музыке. Я знаю, что в музыке есть знаковые обозначения, но иногда у них вырастают закорючки. Я знаю, что увеличение октавы удваивает высоту звука. Я знаю, что для того, чтобы написать песню в стиле поп достаточно всего четырех аккордов. Вот, пожалуй, и все.
Все остальные правила для меня выглядят совершенно, ну просто абсолютно произвольно. Почему у нас есть 12 нот, но для их обозначения применяются только 7 букв? Откуда взялись знаки при ключе? Почему ни одну статью по музыке в Википедии просто невозможно понять, не прочитав сперва все остальные?
+101
История Half-Life 2
25 min
91KВ понедельник, 9 ноября 1998 года, около четырёх часов вечера в обычном офисном комплексе где-то под Сиэттлом человек в синей рубашке берёт в руки монтировку. Он держит её обеими руками и встаёт в позу для атаки. Затем следует смачный удар по головокрабу. Набитая игровыми деньгами из «Монополии» и заводными игрушками с персонажами «Южного парка» пиньята падает на пол. Под ликование толпы краба добивает ещё один человек. Это Гейб Ньюэлл и Майк Харрингтон, основатели компании Valve Software, празднуют выход своей первой игры Half-Life на тиражирование.
В четверг, 14 октября 2004 года, в 12:15 дня после долгих уговоров толпы уничтожить цель пораньше церемония повторяется. На этот раз Гейб в красной поло обороняется от нападения сканера из Half-Life 2. Контрольные удары для болтающихся на верёвочке кусочков пиньяты выполняет сценарист игры Марк Лэйдлоу. На «золото» вышла вторая игра серии.
Между этими датами — почти шесть лет. Про затягивание любых сроков разработки любит шутить и сама Valve. На официальной вики есть страница Valve Time с забавной таблицей, набитой комичными несоответствиями. Любое обещание — от минут до месяцев — легко превращается в часы и годы.
Не стала исключением Half-Life 2: игра была в разработке почти 6 лет. По меркам игровой индустрии — это эпоха. За шесть лет игровые консоли успевают разок обновиться. Как можно было так всё затянуть и опять сорвать срок релиза?
+67
Электровелосипед — доступность и эффективность на личном примере
6 min
51KВ последнее время на Гиктаймсе проскакивают статьи про электровелосипеды, анонсированные крупными компаниями или выложенные на кикстартере и аналогах. Но всех их объединяет одно — низкая эффективность и многократно завышенная цена. Например, Xiaomi Mi Qicycle Folding Electric Bicycle проезжает до 45 км в идеальных условиях при скорости 20 км/ч. Зачем при такой скорости вообще мотор? Но при увеличении скорости каждые 10км/ч увеличивают расход, грубо говоря, в два раза. Да ещё надо учесть то, что чем больше мощности отбираем у аккумулятора, тем меньше ёмкости он отдаст. Делаем выводы про дальность.
Про то, как я дошёл до электротранспорта и какой ценой — под катом.
Про то, как я дошёл до электротранспорта и какой ценой — под катом.
+47
Как сделать многослойную Parallax иллюстрацию на CSS & JavaScript
5 min
57KTutorial
Translation
Рисунок используемый для parallax эффекта. Автор Patryk Zabielski
Привет друзья, я покажу вам как создать простою многослойную иллюстрацию с глубиной, которая переходит к контенту. Мы будем использовать метод, в котором необходим только css и чистый JS(coffeescript) (Никаких jQuery!).
Этот урок для начинающих, с начальным знанием JS и CSS, так что я буду объяснять большинство вещей и ссылаться на внешние источники.
→ Финальное демо
+15
Сертификация в Apple Developer Center простым и понятным языком
12 min
135KКратко о главном
В Apple Developer Center с незапамятных времен применяется довольно мудреная система сертификации ваших приложений на каждом из ключевых этапов — разработка, тестирование и публикация.
Зачастую при первом погружении в эту систему у начинающих (и не только) разработчиков возникают серьезные проблемы с пониманием того, как функционирует Apple Developer Center (будем называть его «девцентр» для простоты). В результате, мне в процессе профессиональной деятельности не раз приходилось наблюдать на новых местах работы огромные свалки из профилей и сертификатов в девцентре, в результате чего приходилось приступать к «разбору завалов».
При этом, в сети довольно не такой большой выбор материалов на эту тему. Конечно, в официальной документации Apple все хорошо структурировано и очень подробно описано, но зачастую просто не хватает времени на изучение такого количества материала. Как правило, хочется быстро понять, что именно и в каком порядке нужно сделать для корректной работы приложения на этапах разработки, тестирования и при публикации его в магазин App Store. В русском же сообществе подобных материалов, собранных в одном месте и в удобном доступе, я не видел вовсе, поэтому и решил написать эту статью. Для всех интересующихся — добро пожаловать под кат.
+19
Дизайн кейс: Coral Order e-commerce сайт
4 min
22KRecovery Mode
Начало
Пару месяцев назад к нам обратился постоянный заказчик которому мы уже сделали несколько успешных проектов. Ему нужно было сделать редизайн его главного проекта.
Решение сделать редизайн интернет-магазина и сменить концепцию дизайна было связанно с тем, что сайт не отвечает текущим веб-стандартам и не решает поставленные перед ним задачи. Также сайт до этого был закрытым, но его решили сделать публичным.
Сравнение старого магазина с новым
+9
YouTube показывает пользователям Adblock Plus ошибку вместо рекламы… и самого ролика
1 min
29KОфис YouTube в Мумбаи (фото: YouTube)
Если вы используете Adblock Plus и одновременно желаете просматривать ролики на YouTube, у вас может возникнуть неожиданная проблема. Некоторые пользователи вместо рекламы и части ролика сейчас видят вот такое приятное сообщение: «An error occurred. Please try again later». Оно показывается только на время демонстрации рекламы, означая, что технически Adblock выполняет свою работу.
Одновременно это означает, что часть ролика с рекламой будет блокироваться. При этом до настоящего момента сервис много лет успешно блокировал рекламу, не вызывая каких-либо проблем с просмотром роликов. Видимо, что-то поменялось.
+8
Создание архитектуры программы или как проектировать табуретку
25 min
687KВзявшись за написание небольшого, но реального и растущего проекта, мы «на собственной шкуре» убедились, насколько важно то, чтобы программа не только хорошо работала, но и была хорошо организована. Не верьте, что продуманная архитектура нужна только большим проектам (просто для больших проектов «смертельность» отсутствия архитектуры очевидна). Сложность, как правило, растет гораздо быстрее размеров программы. И если не позаботиться об этом заранее, то довольно быстро наступает момент, когда ты перестаешь ее контролировать. Правильная архитектура экономит очень много сил, времени и денег. А нередко вообще определяет то, выживет ваш проект или нет. И даже если речь идет всего лишь о «построении табуретки» все равно вначале очень полезно ее спроектировать.
К моему удивлению оказалось, что на вроде бы актуальный вопрос: «Как построить хорошую/красивую архитектуру ПО?» — не так легко найти ответ. Не смотря на то, что есть много книг и статей, посвященных и шаблонам проектирования и принципам проектирования, например, принципам SOLID (кратко описаны тут, подробно и с примерами можно посмотреть тут, тут и тут) и тому, как правильно оформлять код, все равно оставалось чувство, что чего-то важного не хватает. Это было похоже на то, как если бы вам дали множество замечательных и полезных инструментов, но забыли главное — объяснить, а как же «проектировать табуретку».
Хотелось разобраться, что вообще в себя включает процесс создания архитектуры программы, какие задачи при этом решаются, какие критерии используются (чтобы правила и принципы перестали быть всего лишь догмами, а стали бы понятны их логика и назначение). Тогда будет понятнее и какие инструменты лучше использовать в том или ином случае.
Данная статья является попыткой ответить на эти вопросы хотя бы в первом приближении.
К моему удивлению оказалось, что на вроде бы актуальный вопрос: «Как построить хорошую/красивую архитектуру ПО?» — не так легко найти ответ. Не смотря на то, что есть много книг и статей, посвященных и шаблонам проектирования и принципам проектирования, например, принципам SOLID (кратко описаны тут, подробно и с примерами можно посмотреть тут, тут и тут) и тому, как правильно оформлять код, все равно оставалось чувство, что чего-то важного не хватает. Это было похоже на то, как если бы вам дали множество замечательных и полезных инструментов, но забыли главное — объяснить, а как же «проектировать табуретку».
Хотелось разобраться, что вообще в себя включает процесс создания архитектуры программы, какие задачи при этом решаются, какие критерии используются (чтобы правила и принципы перестали быть всего лишь догмами, а стали бы понятны их логика и назначение). Тогда будет понятнее и какие инструменты лучше использовать в том или ином случае.
Данная статья является попыткой ответить на эти вопросы хотя бы в первом приближении.
+82
Слишком много работаешь? Отпуск не поможет
2 min
34KИзнурительная работа по 48 часов в неделю и больше становится обычным делом в развитых странах. Но исследования показывают, что такой напряжённый труд повышает риск сердечно-сосудистых заболеваний, негативно отражается на семейной жизни, увеличивает интенсивность курения, уровень тревожности, вызывает нарушения пищеварительной системы и проблемы с алкоголем.
Отпуск не поможет избавиться от проблем, связанных с выгоранием на работе: положительный эффект отпуска длится всего 2-4 недели. К счастью, существуют другие методы снятия стресса.
+19
Просмотр фильмов/сериалов/TED в Anki
3 min
16KСуть в следующем: с помощью написанной программы автоматически по английским субтитрам разбиваю фильм/сериал на отдельные фрагменты. Также автоматически создается tsv файл для импорта в Anki (http://ankisrs.net), содержащий английский транскрипт и русский перевод (если были добавлены русские субтитры) каждого фрагмента.
Затем импортирую в Anki и просматриваю весь фильм следующим образом:
Пример просмотра таким образом (все 4 шага) одной карточки:
Затем импортирую в Anki и просматриваю весь фильм следующим образом:
- Просматривается видеофрагмент.
- Прослушивается аудио с одновременным чтением английского транксрипта.
- Прослушивается аудио еще раз с чтением русского перевода или просто смотрится перевод незнакомых фраз.
- Заново просматривается видеофрагмент.
Пример просмотра таким образом (все 4 шага) одной карточки:
Sharpe's Rifles (1993)
Shrek (2001)
+9
25 инструментов повышения производительности (и какие из них вам использовать не следует)
5 min
13KTranslation
Итак, вот, что будет происходить дальше. Вы посмотрите на все эти инструменты и немедленно захотите прочесть о каждом из них, чтобы выбрать лучшие для себя. В результате вы потратите сегодня больше времени на клики, прокрутки и загрузки, чем вам бы того хотелось. Как этого избежать и использовать материал по максимуму?
+7
Мааааленькая PDF-сборка хардкорных статей про GameDev
7 min
44KПривет!
У издательств я узнал, что с 1 по 10 января люди читают больше, чем за год. Поэтому небольшой подарок от нас — мы договорились с Даниилом Куком (бывшим геймдизайнером Epic Megagames), взяли и перевели несколько его хардкорных материалов про разработку игр. И засунули их в PDF на сотню страниц.
- Как игры формируются внешней средой: как рынок влияет на сюжет игры (например, из-за уменьшения среднего дохода на игру уменьшается роль открытого мира – слишком долго делать) и так далее. Очень хороший аналитический обзор от гуру с конкретными советами.
- Организация игровых процессов в многопользовательской игре — как собирать игроков вместе, как делать асинхронные взаимодействия и много чего ещё с числами и примерами. Годный хардкор.
- ТОП-5 споров о разработке 2014-го года — прошлогодний материал о том, что за тренды обсуждались. Всё актуально и сейчас.
- Декларация независимости разработчика — американский крик души о том, что «уберите грязные лапы финансового директора от сюжета игры». Ну, примерно.
- Критика критики игр — что делать, если обзоры пишут дилетанты, и как выделиться из балласта.
- Создание эффективных причинно-следственных связей в играх — невероятно полезная вещь для всех тех, кто хочет понять, как работают когнитивные схемы игр. Полезна не только разработчикам, но и для UI/UX-спецов.
- Таблицы трофеев – математика выковыривания лута из трупов врагов. Начинается с ликбеза и стремительно ускоряется до весьма крутых решений.
Вот PDF и полные тексты. Ниже в посте – основные тезисы, если лень читать всё или хочется здесь и сейчас.
+28
DIY порошок для посудомойки: разбираем промышленные средства и улучшаем рецепт
11 min
126KВнимание! В рецепте с отбеливателем обнаружилась опасность коррозии металла! Не рекомендуется в стандартном применении!
Обзор экспериментов год спустя:
DIY порошок для посудомойки: как не растворить посуду и не повторить моих ошибок. Год экспериментов
В прошлой публикации мы создавали дешевый порошок для посудомойки из
+123
Диванный маркетинг мобильной игры (120.000 установок в первый месяц. Совпадение?)
4 min
17KЧасто ли вам приходилось слышать фразы “я не собираюсь тратить ни копейки на продвижение”, “хорошая игра сама себя продаёт”, “у тех парней получилось, и у меня получится”, а чуть позже — “игра не пошла”, “на рынке нет места независимому одиночке”, “золотое время инди-игр прошло”?
Всем хочется верить в успех своей игры, что уж она-то ворвётся в топы и станет новым хитом, несущим свет людям и процветание разработчикам. Но при этом никто не спешит рисковать деньгами, чтобы помочь игре взять хороший старт. “А вдруг не полетит?”, “Я не разбираюсь в маркетинге!”, “Я разработчик, я не хочу ничего продвигать, хочу чик-чик и в продакшен!”
Мне никогда не нравился такой подход, поэтому на старте мы немного потратились на неумелый “диванный” маркетинг. И наша первая игра не провалилась. Отбила затраты, заработала сверху, получила отличные отзывы — 5 звезд в (AppStore) и 4.7 в (GooglePlay), и даже спустя 9 месяцев не спешит отправляться в “Долину Смерти” приложений. Но сейчас, видя такой отклик аудитории, появляются сомнения — а действительно ли был толк в нашей небольшой “PR-кампании” или нам просто повезло? Ошибка выжившего? Совпадение? Может, попав в топ новинок GooglePlay, мы бы и так нашли своих игроков?
Я изложу факты, покажу графики и цифры, а выводы предлагаю сделать вместе в комментариях — раскрутилась бы игра сама или всё-таки без продвижения никто бы о ней не узнал?
+11
Архитектура open source-приложений: Как работает nginx
18 min
66KTranslation
Мы в «Латере» занимаемся созданием биллинга для операторов связи и рассказываем на Хабре о разработке своего продукта, а также публикуем интересные технические переводные материалы. И сегодня мы представляем вашему вниманию адаптированный перевод одной из глав книги «Архитектура open-source-приложений», в которой описываются предпосылки появления, архитектура и организация работы популярного веб-сервера nginx.
+26
Selenium для Python. Глава 1. Установка
5 min
480KПредставляю перевод неофициальной документации Selenium для Python.
Перевод сделан с разрешения автора Baiju Muthukadan.
Оригинал можно найти здесь.
Selenium WebDriver – это программная библиотека для управления браузерами. WebDriver представляет собой драйверы для различных браузеров и клиентские библиотеки на разных языках программирования, предназначенные для управления этими драйверами.
Перевод сделан с разрешения автора Baiju Muthukadan.
Оригинал можно найти здесь.
Предисловие от автора статьи
Selenium WebDriver – это программная библиотека для управления браузерами. WebDriver представляет собой драйверы для различных браузеров и клиентские библиотеки на разных языках программирования, предназначенные для управления этими драйверами.
+16
Information
Specialization
Backend Developer, Software Architect
Python
Perl