• Пора убить веб

    • Translation
    Что-то происходит. Люди недовольны. Призрак гражданских беспорядков преследует наши программистские сообщества.

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


    Это ты, хакер фронтенда
    Читать дальше →
  • Перформанс: что в имени тебе моём? — Алексей Шипилёв об оптимизации в крупных проектах

      Оптимизация производительности издавна не даёт покоя разработчикам, представляясь своеобразным «золотым ключиком» к интересным решениям и хорошему послужном списку. Большую обзорную экскурсию по ключевым вехам оптимизации больших проектов  – от общих принципов до ловушек и противоречий —  на прошедшем JPoint 2017 провёл Алексей Шипилёв, эксперт по производительности.



      Под катом — расшифровка его доклада.
      Читать дальше →
    • UI-тесты для iOS: почему нужно поверить в дружбу QA и разработки, но не обольщаться


        С недавних пор мы взялись за внедрение UI-тестирования в iOS для iFunny. Путь этот тернист, долог и холиварен. Но все равно хочется поделиться с умными людьми своими первыми шагами в этом направлении. На истину не претендуем – всё примеряли к собственному продукту. Поэтому под катом немного информации о том, что такое iFunny на iOS и зачем нам понадобился UI + много фидбека по инструментам и примеров кода.
        Читать дальше →
      • Стек, который позволил Medium обеспечить чтение на 2.6 тысячелетия

        • Translation

        Предлагаю общественности мой перевод статьи Dan Pupius'а об архитектура сервиса Medium и используемых технологиях. Хочу особо отметить, что статья является переводом, поэтому местоимение "я", используемое в тексте далее относится к автору оригинального текста, а не к переводчику.


        Фон


        Medium это сеть. Это место, где обмениваются историями и идеями, которые важны — место, где вы развиваетесь, и где люди провели 1.4 миллиарда минут — 2.6 тысячелетия.


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


        Я руковожу инженерной командой. Раньше я работал инженером в Google, где я работал над Google+ и Gmail, а также был одним из со-основателей проекта Closure. В прошлой жизни я гонял на сноуборде, прыгал из самолёта и жил в джунглях.

        Читать дальше →
      • Make QR Codes Great Again или камерная революция от Apple


          На недавнем WWDC Keynote Крэйг Фидеричи мельком анонсировал нативную поддержку QR-кодов в iOS11. Новость эта прошла почти незаметно. А зря.


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

          Читать дальше →
        • Вы — не Google

          • Translation
          Мы, программисты, иногда почему-то сходим с ума. Причём по каким-то совершенно нелепым причинам. Нам нравится думать о себе, как о супер-рациональных людях, но когда дело доходит до выбора ключевой технологии нового продукта, мы погружаемся в какое-то безумие. Вдруг оказывается, что кто-то слышал что-то об одной классной вещи, а его коллега читал комментарий о другой на Хабре, а третий человек видел пост в блоге о ещё чём-то похожем… и вот мы уже пребываем в полнейшем ступоре, беспомощно барахтаясь в попытках выбора между совершенно противоположными по своей сути системами, уже и забыв, что мы вообще пытаемся выбрать и почему.

          Рациональные люди не принимают решения таким образом. Но именно так программисты часто решают использовать что-то вроде MapReduce.

          Вот как комментировал этот выбор Joe Hellerstein своим студентам (на 54-той минуте):

          Дело в том, что в мире сейчас есть где-то 5 компаний, обрабатывающие данные подобных объёмов. Все остальные гоняют все эти данные туда-сюда, добиваясь отказоустойчивости, которая им на самом деле не нужна. Люди страдают гигантоманией и гугломанией где-то с середины 2000-ых годов: «мы сделаем всё так, как делает Google, ведь мы же строим один из крупнейших (в будущем) сервисов по обработке данных в мире!»

          image

          Сколько этажей в вашем датацентре? Google сейчас строит четырёхэтажные, как вот этот в Оклахоме.
          Читать дальше →
        • Откуда берётся стремление к чрезмерной заботе о детях

          • Translation
          image

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

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

          • Translation

          image


          Что ж, всё плохо. Немного забавно так говорить: на конференции (Web à Québec) было много разговоров об удивительном будущем и вещах, возможных благодаря новым технологиям. О новых средствах и устройствах, которые должны сделать нашу жизнь проще. Мои знакомые знают, что у меня обычно очень циничный взгляд на технологии; лично я боюсь всех этих умных устройств, которые реагируют на мои слова, чем восхищались другие спикеры.


          В основном потому, что чем больше времени я трачу на программирование и провожу в этой отрасли, тем больше узнаю, как всё работает изнутри, и тем меньше доверия всё это мне внушает. Я подобрал изображение для слайда. Это картина «Триумф смерти» Питера Брейгеля. В некоторой степени она раскрывает моё отношение к «умному дому».

          Читать дальше →
        • Как мотивировать пользователей залипнуть в вашем продукте навсегда: Фреймворк Папы Григория

            Почему у Фейсбука десятизначное число пользователей, а у большинства приложений — просто около десяти? Как побудить пользователей приходить снова и снова? Что движет ими?

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

            Я предпочитаю название Фреймворк Папы Григория. Вам его составляющие наверняка знакомы как семь смертных грехов. Семь главных грехов. Peccata capitalia.

            Давайте посмотрим как успешные приложения умело их используют и позволяют предаться всем им одновременно.

            Папа Григорий в своем труде «Толкование на Книгу Иова, или Нравственные толкования» (Expositio in librum Iob sive Moralia) упорядочил их от самых простых в реализации, но привлекающих не всех, до самых сильных, над которыми, однако, надо потрудиться.
            Читать дальше →
          • Остроумие и отвага: как мы много раз ошибались, создавая iFunny

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


              Читать дальше →
            • Гайд по Pascal: разбираемся в видеокартах NVIDIA 2016 года

                2016 год уже на исходе, но его вклад в игроиндустрию останется с нами надолго. Во-первых, видеокарты из красного лагеря получили неожиданно удачное обновление в среднем ценовом диапазоне, ну а во-вторых NVIDIA в очередной раз доказала, что не зря занимает 70% рынка. Maxwell’ы были хороши, GTX 970 по праву считалась одной из лучших карточек за свои деньги, но Pascal — совсем другое дело.


                Новое поколение железа в лице GTX 1080 и 1070 буквально похоронило результаты прошлогодних систем и рынок флагманского б/у железа, а «младшие» линейки в лице GTX 1060 и 1050 закрепили успех в более доступных сегментах. Владельцы GTX980Ti и прочих Titan’ов рыдают крокодильими слезами: их убер-пушки за много тысяч рублей разом потеряли 50% стоимости и 100% понтов. Сама NVIDIA заявляет, что 1080 быстрее, чем прошлогодний TitanX, 1070 легко «наваляет» 980Ti, а сравнительно бюджетная 1060 сделает больно владельцам всех остальных карточек.

                Так ли это, откуда растут ноги высокой производительности и что с этим всем делать в преддверии праздников и внезапных финансовых радостей, а также чем именно себя порадовать, можно узнать в этой длинной и немного занудной статье.
                Читать дальше →
              • KPI, или пособие по командному самоубийству

                  Для написания этой заметки  было затрачено:

                  • 68338 километров на поездки.
                  • 72 человеко-часа на почтовую переписку.
                  • 423 человеко-часа на эксперименты с коллективом в 30 человек.
                  • 88 часов на подготовку докладов и выступления на конференциях.
                  • 17 чашек кофе на беседу с мудрыми людьми на афтепати.
                  • Порядка 25 часов на набор этого текста и правку багов в нем :).
                  • До смерти замученный копирайтер, который был вынужден разбирать мои черновики, аудиозаписи и вообще ему спасибо.


                  Много денег и времени. Пожалуй, самым затратным (по нервам, времени и деньгам) был эксперимент над собственной командой, о котором мне безумно неловко вспоминать. Но об этом — ниже.

                  Рано или поздно, наверное, у каждого директора возникает желание платить по справедливости. За выполенную работу. И очень многие сейчас пытаются внедрять KPI (ключевые показатели эффективности). Работает так: вы, как владелец бизнеса, назначаете конкретные цели для сотрудников. Они достигают или не достигают поставленных целей в процессе работы. Тем, кто достиг — выдается плюшка (денежная премия).

                  Смысл такого подхода: платить по справедливости. На сколько наработал — столько и получил. Это честно, это логично, это — прекрасно!



                  Ну, логично же, что:

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


                  А вот с творческими единицами (дизайнерами, программистами) — все значительно сложнее.

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



                  Некоторые компании (15%) применяют KPI для оценки эффективности труда программистов и дизайнеров.
                  Читать дальше →
                • Музыкальная теория для гиков

                  • Translation
                  imageКто-то считает музыку уделом избранных талантов, кто-то — набором физических закономерностей. Автор материала делает попытку объяснить знакомые каждому музыкальные термины, такие как тон, интервал, амплитуда, нота, октава, партитура, аккорд и так далее с помощью расчетов и технических обоснований. Ниже перевод оригинального текста.

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

                  Все остальные правила для меня выглядят совершенно, ну просто абсолютно произвольно. Почему у нас есть 12 нот, но для их обозначения применяются только 7 букв? Откуда взялись знаки при ключе? Почему ни одну статью по музыке в Википедии просто невозможно понять, не прочитав сперва все остальные?
                  Читать дальше →
                • Стилизация изображений с помощью нейронных сетей: никакой мистики, просто матан

                    Приветствую тебя, Хабр! Наверняка вы заметили, что тема стилизации фотографий под различные художественные стили активно обсуждается в этих ваших интернетах. Читая все эти популярные статьи, вы можете подумать, что под капотом этих приложений творится магия, и нейронная сеть действительно фантазирует и перерисовывает изображение с нуля. Так уж получилось, что наша команда столкнулась с подобной задачей: в рамках внутрикорпоративного хакатона мы сделали стилизацию видео, т.к. приложение для фоточек уже было. В этом посте мы с вами разберемся, как это сеть "перерисовывает" изображения, и разберем статьи, благодаря которым это стало возможно. Рекомендую ознакомиться с прошлым постом перед прочтением этого материала и вообще с основами сверточных нейронных сетей. Вас ждет немного формул, немного кода (примеры я буду приводить на Theano и Lasagne), а также много картинок. Этот пост построен в хронологическом порядке появления статей и, соответственно, самих идей. Иногда я буду его разбавлять нашим недавним опытом. Вот вам мальчик из ада для привлечения внимания.


                    Читать дальше →
                  • Принципы и приёмы обработки очередей



                      Принципы и приёмы обработки очередей


                      Константин Осипов (Mail.ru)


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


                      Для начала о себе — я занимаюсь разработкой СУБД Tarantool в Mail.ru. Этот доклад будет об обработке очередей. У нас много очередей внутри системы, фактически вся база данных построена как система массового обслуживания.


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




                      Читать дальше →
                      • +42
                      • 29.3k
                      • 2
                    • Как мы делали мониторинг запросов mongodb


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


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


                        Как раз про сложности и проблемы я и хочу рассказать на примере реализации мониторинга запросов к mongodb.

                        Читать дальше →
                        • +21
                        • 11.3k
                        • 8
                      • Типичные ошибки начинающего технического директора в ИТ — мнения экспертов


                          Изображение с сайта tech.co

                          От некоторых сотрудников ИТ-компаний до сих пор можно услышать такую реплику: «Я не совсем понимаю точное значение должности Технический директор». Как отметил в предельно простой форме один из пользователей «Тостера», «CTO — технический человек, который что-то понимает в бизнесе». Если рассматривать это понятие чуть шире, то можно сказать, что он балансирует на стыке между разработкой ИТ-продуктов с командой технических специалистов и принятием бизнес-решений совместно с менеджерами.

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

                          1. стандартный — «Developer -> Senior -> Team lead -> CTO»;
                          2. гуманитарный – «PM -> Senior PM -> CTO».

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

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

                          О том, какие ошибки и подводные камни ожидают новоиспеченных технических директоров в ИТ-сфере, мы попросили рассказать экспертов отрасли.
                          Читать дальше →
                        • Big Data головного мозга

                            Наверно, в мире данных нет подобного феномена настолько неоднозначного понимания того, что же такое Hadoop. Ни один подобный продукт не окутан таким большим количеством мифов, легенд, а главное непонимания со стороны пользователей. Не менее загадочным и противоречивым является термин "Big Data", который иногда хочется писать желтым шрифтом(спасибо маркетологам), а произносить с особым пафосом. Об этих двух понятиях — Hadoop и Big Data я бы хотел поделиться с сообществом, а возможно и развести небольшой холивар.
                            Возможно статья кого-то обидит, кого-то улыбнет, но я надеюсь, что не оставит никого равнодушным.


                            image
                            Демонстрация Hadoop пользователям

                            Читать дальше →
                          • Чатботы: массовая истерия

                              Bots… Bots everywhere



                              Heather Rice Photography

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

                              СМИ настолько убедительны, что невольно начинаешь задумываться о том, что надо бы уже отвыкать от красивого дизайна и полностью перемещаться в текстовую среду, где, конечно же, и одежду купить, и к доктору записаться, и деньги на другую карточку перевести будет гораздо проще.
                              Терзают меня смутные сомнения: почему же нажимать кнопочки в телеграме или тем более вводить "/show menu", "/choose pepperoni" — это удобнее, чем пользоваться сайтами? Понятно, что со временем платформы будут давать больше возможностей, появятся даже какие-то зачатки дизайна, но действительно ли боты убьют приложения?
                              Напомню, что мобильные приложения уже убили вебсайты, которые, в свою очередь, убили печатные издания, которые убили живое общение, которое убило наскальную живопись. Так почему же все убитые до сих пор так и не убились?
                              Читать дальше →