• Как я 13 лет делал футбольный симулятор

      2_fview_gameplay


      История, которую я расскажу, началась 13 лет назад на уроке информатики. Мы с друзьями-семиклассниками решили все задачи на Паскале и весело играли в первый Quake. Наша учительница увидела это, подошла ко мне и сказала всего одну фразу, которая перекосила мою картину мира: «Если ты хочешь играть в игры на уроке, пиши их сам». С тех пор я эпизодически делаю игры. Одна из них — футбольный симулятор, о котором и пойдёт речь.


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

      Читать дальше →
    • Тонкая настройка OpenStack под высокой нагрузкой

        Привет, меня зовут Максим, я системный администратор. Три года назад мы с коллегами начали переводить продукты на микросервисы, а в качестве платформы решили использовать Openstack, и столкнулись с некоторым количеством неочевидных граблей при автоматизации тестовых схем. Этот пост про нюансы настройки OpenStack, которые с трудом находятся на пятой странице выдачи поисковика (а лучше, чтобы легко находились на первой).



        Нагрузка на ядра: было — стало


        NAT


        В некоторых инстансах мы используем dualstack. Это когда виртуальная машина получает сразу два адреса — IPv4 и IPv6. Сначала мы сделали так, что «плавающий» v4-адрес назначался во внутренней сети через NAT, а v6 машина получала через BGP, но с этим есть пара проблем.


        NAT — дополнительный узел в сети, где и без него нужно следить за нормальным распределением нагрузки. Появление NAT в сети почти всегда ведёт к сложностям с отладкой — на хосте один IP, в базе другой, и отследить запрос становится сложно. Начинаются массовые поиски, а разгадка всё равно будет внутри OpenStack.


        Ещё NAT не позволяет сделать нормальную сегментацию доступов между проектами. У всех проектов свои подсети, плавающие IP постоянно мигрируют, и с NAT управлять этим становится решительно невозможно. В некоторых инсталляциях говорят об использовании NAT 1 в 1 (внутренний адрес не отличается от внешнего), но это всё равно оставляет лишние звенья в цепочке взаимодействия с внешними сервисами. Мы пришли к мнению, что для нас лучший вариант — это BGP сеть.

        Читать дальше →
        • +28
        • 5,3k
        • 6
      • Десять человек на 90 тысяч сайтов: как не сойти с ума

          Привет, меня зовут Вера Сивакова. Я работаю с ключевыми партнёрами Яндекс.Кассы — подключаю большие магазины и сервисы, запускаю проекты и езжу на встречи по всему миру. В общем, слежу, чтобы всё было хорошо.


          Каждый сотрудник Яндекс.Денег раз в год может сменить род деятельности — выбрать какой-нибудь отдел и поработать там несколько дней. Поэтому месяц назад и я села в Сапсан и приехала в Петербург. Там работает отдел мониторинга, который тоже следит, чтобы у 90 тысяч сайтов, подключенных к Кассе, всё было хорошо, — и мы решили объединить силы.



          Как не сойти с ума? Точно не так (источник: reddit.com)


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

          Читать дальше →
          • +21
          • 8,6k
          • 5
        • Доклады про битву CI и CD, оркестрацию и секреты OpenStack

            27 сентября мы провели второй митап «Орки тут» — про оркестрацию, автоматизацию и полевое применение CI/CD. В этом посте полные видео и таймкоды с важными местами из трех докладов.



            Темы такие:


            • Environment as a Service — про эксплуатацию и секреты настройки OpenStack
            • Pod, Cloud and two Smoking Hubs — про масштабирование Selenium-фермы
            • CI vs CD: гонка вооружений — про то, как «воевали» CI и CD в Яндекс.Деньгах
            Читать дальше →
          • Как работает робоэдвайзинг в инвестициях. Спойлер: просто

              Я редактор этого блога, и я довольно ленив.


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



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


              Еще вроде есть робоэдвайзеры — сервисы, которые за небольшую комиссию магическим образом делают всё сами. Я ненадолго победил свою лень и решил разобраться в том, как они работают.

              Читать дальше →
            • Деньги решают. «У нас три разработчика, но мы не умеем работать»

                https://xkcd.ru/1562/Нам пишут:
                «Хм, а дайте плиз совет.


                Реальный кейс, три разработчика, один разработчик работает 100% времени удаленно, второй разработчик — шеф/соучредитель, третий — немного офигевающий новоприбывший.


                Общие совещания — раз в полгода и дальше слов дело не идет. Внедрить GIT для всех разработчиков не получается, все завалены текущей работой.


                Есть ли способы как-то улучшить ситуацию?»


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

                Читать дальше →
              • Девять граблей Elasticsearch, на которые я наступил

                  Автор иллюстрации — Anton Gudim


                  «Подготовленный человек тоже наступает на грабли.
                  Но с другой стороны — там, где ручка.»


                  Elasticsearch — прекрасный инструмент, но каждый инструмент требует не только настройки и ухода, но и внимания к мелочам. Некоторые — незначительны и лежат на поверхности, а другие спрятаны так глубоко, что на поиск уйдет не один день, не один десяток кружек кофе и не один километр нервов. В этой статье расскажу про девять замечательных граблей в настройке эластика, на которые я наступил.
                  Давайте приступим
                • «Яндекс.Деньги в ваше приложение заходить неинтересно сделайте штонибуть»


                    Где-то внутри приложения Яндекс.Денег спрятана кнопка «Предложить идею». Люди нажимают на неё и пишут о своей боли, предлагают помощь или просят денег за невероятные новые возможности, которые они уже придумали, осталось только заплатить им сто тысяч.


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


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


                    Пост об этом, а ещё о том, как мы сделали свой CSS на Swift.

                    Читать дальше →
                  • Это пост с докладами и видео по MS SQL Server

                      В июне мы провели митап по Microsoft SQL Server — докладчики из Яндекс.Денег, «Лаборатории Касперского», AwaraIT и SpbDev поделились с коллегами опытом. А теперь выкладываем видео в общий доступ.



                      Под каждым видео — таймкоды ключевых мест, но советуем смотреть, слушать и внимать целиком.


                      Data-driven подписки в SSRS


                      Под катом еще три доклада
                      • +26
                      • 5,7k
                      • 8
                    • Я устал принимать платежи через WebView. Что мне делать?

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

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

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



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

                          Аркадий — успешный стартапер. Он прочитал все книги по личной эффективности, каждый месяц открывает новые перспективные бизнесы и доволен собой, но каждый раз что-то идёт не так.


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

                          Я украл эту иллюстрацию у дизайнеров, когда они отвернулись.


                          В конце с бонусной карты в «Пятерочке» кто-то списывает 364 балла, накопленные за последний год на кефире и ягодах годжи, и Аркадий вскипает. Он идет в интернет с вопросом о том, как поступают другие ребята в таких ситуациях.


                          Этот пост про антифрод-машину Яндекс.Кассы. Под катом некоторые сценарии, в которых она защищает, и рассказ про новый API для магазинов, который сильно усложнит работу мошенникам.

                          Читать дальше →
                        • Митап JavaJam. Спор о джавистах, сплав на брёвнах, эксперименты и микросервисы

                            Java-разработчики классные.

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

                            Иногда мы проводим для них java-митапы — собираем экспертов и просим их рассказать что-нибудь позабористей. Так и в этот раз — коллеги из Сбербанка, Одноклассников, Яндекса и Яндекс.Денег пришли на JavaJam и выложили сразу кучу подробностей о своей работе.

                            image

                            Под катом:

                            — Главное о логировании Java-приложений на примерах от Яндекса;
                            — Разработка инструмента на Low-code для UFS Сбербанка;
                            — Автоматизация экспериментов в Одноклассниках с помощью Kotlin DSL;
                            — Как в Яндекс.Деньгах сделали одну платформу для микросервисов вместо семи.

                            А еще там опрос о том, уместно ли называть java-разработчиков джавистами.

                            Читать дальше →
                            • +11
                            • 5,4k
                            • 4
                          • Реактивный фронтенд. История о том, как мы снова всё переписали

                              Привет, это снова Катя из Яндекс.Денег. Продолжаю свою историю о том, как я перестала верстать и начала жить. В первой части я рассказала, как меня сюда занесло и чем занимаются наши фронтендеры. Сегодня — про фронтовый стек, откуда там React и куда делся БЭМ.

                              Спойлер: БЭМ пока никуда не делся ¯\_(ツ)_/¯. Погнали!



                              Внимание: высокая концентрация фронтенда. Много текста, картинок и кода, как обещала.
                              Читать дальше →
                            • Тёмная сторона agile

                                Внимательный читатель листает ленту и задает вопрос: «Что, опять текст про agile?». Ага.

                                Эта статья — о процессах, технических аспектах и немного о том, как agile живет и внедряется в Яндекс.Деньгах. Если вы прошли хотя бы половину пути до настоящего agile, какие-то вещи могут показаться вам очевидными, и это нормально.

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

                                А еще внимательный читатель спросит: «Почему „Темная сторона"? Тут что, про Дарта Вейдера?» Увы, нет, речь пойдет о темной стороне Луны, которая была неизвестна человечеству, пока туда не прилетел аппарат, чтобы сфотографировать и показать ее всем.

                                Когда внедряете agile, вы составляете проект освоения Луны, не зная,
                                что на другой стороне


                                Все начинается с попытки внедрить новые процессы разработки.
                                Читать дальше →
                              • Мониторинг Elasticsearch без боли и страданий

                                  «А оно там делает магию»
                                  кто-то из тех, кого я удалённо консультировал по Эластику.

                                  Я всегда говорю, что верю в три вещи: мониторинг, логи и бэкапы.

                                  Тема про то, как мы собираем и храним логи, достаточно полно была раскрыта в предыдущих статьях, тема про бэкапы в Elasticsearch — совсем отдельная история, поэтому в этой, возможно заключительной, статье цикла я расскажу как происходит мониторинг моего любимого кластера. Это не очень сложно (и не требует использования дополнительных плагинов и сторонних сервисов) — ибо REST API, предоставляемое самим Elasticsearch простое, понятное и удобное в использовании. Всего-то надо немного углубиться в его внутреннее устройство, понять, что означают все эти метрики, пулы тредов, веса распределения шардов по нодам, настройки очередей — и не останется никаких вопросов о том, что же за «магию» эластик делает прямо сейчас.



                                  На недавней конференции Highload++ 2017 я рассказал о том, как строил кластер своей мечты, и говорил, что недостаточно просто построить сервис. Критически важно в любой момент знать, в каком он состоянии, причём контроль обязательно должен быть многоуровневым. Разбудите меня посреди ночи (отделу мониторинга привет!) — и через две минуты я буду знать, в каком состоянии находится кластер. Причём одна минута из двух уйдёт на подключение к корпоративному VPN и логин в Zabbix.
                                  Так как же мы это делаем?
                                  • +26
                                  • 11,4k
                                  • 6
                                • Фронтенд как у сына маминой подруги

                                    Привет. Я Катя. Я пишу фронтенд в Яндекс.Деньгах.


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



                                    В этой статье я расскажу, что мы разрабатываем, как оптимизируем рабочие процессы и зачем развивать свои soft skills. На подходе вторая часть — она будет технической. В ней подробно расскажу про стек, почему их два и как мы дружили БЭМ с React (спойлер: будет много кода). Поехали!


                                    upd. Вторая часть вышла.

                                    Читать дальше →
                                  • [Видео] Доклады с митапа Android Paranoid

                                      Android почти исполнилось десять лет.

                                      Мы решили отметить это праздничным чаепитием со всеми, кто пришел в питерский офис Яндекса на второй митап Android Paranoid. Сказано — сделано. К нашему сожалению, маршмеллоу, шоколадное печенье и желейные бобы закончились еще 28 марта.



                                      Вместо них — доклады, записанные на видео, и короткая выжимка полезной информации для Android-разработчиков. Под катом о том,

                                      • что происходит после нажатия на иконку приложения;
                                      • как перевести приложение на Kotlin и уместиться в 300 строк кода;
                                      • как менялись инструменты фоновой работы в Android;
                                      • как быстро получить анимации в RecyclerView.
                                      Читать дальше →
                                    • «T-commerce»: как работают онлайн-продажи через Telegram

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


                                        Дело в том, что до недавних пор у Telegram-продаж была одна особенность, не учитывающая чисто российскую специфику электронной торговли, — обязательную отправку онлайн-чеков (требование 54-ФЗ, известного как закон об онлайн-кассах). У Яндекс.Кассы сразу появился специальный протокол, который поддерживал работу с новым кассовым оборудованием и автоматизировал передачу чеков. Но в Telegram такая автоматизация технически не поддерживалась, и продавцы должны были настраивать передачу чеков сами (считайте, плясать с бубном). И вот недавно мессенджер пошел навстречу российскому рынку электронной коммерции и реализовал с Яндекс.Кассой совместный проект, дополнив свой протокол важным элементом — появилось специальное поле для дополнительной информации платежному провайдеру. Теперь продавать через Telegram стало удобно с точки зрения не только клиентского сервиса, но и автоматизации передачи онлайн-чеков (то есть соблюдения 54-ФЗ). Под катом расскажу, что нужно сделать, чтобы запустить продажи в Telegram, принимая платежи через Яндекс.Кассу.

                                        Читать дальше →
                                      • [Видео] Доклады с пиэмного митапа Яндекс.Денег про agile и коучинг


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

                                          Читать дальше →
                                          • +10
                                          • 4,9k
                                          • 2
                                        • Создание NPM-модуля Яндекс.Кассы под Node.js — опыт Lodoss Team


                                            Спустя несколько месяцев после релиза обновленного API Яндекс.Кассы начали появляться первые интеграционные решения на новых технологиях. Одним из пионеров интеграции стала компания Lodoss Team, разработавшая SDK-библиотеку для работы с Кассой под Node.js.


                                            Никто не расскажет о проекте лучше, чем его автор. Поэтому передаю слово Антону, техническому идеологу Lodoss Team, который и расскажет о том, почему выбор пал на Кассу и как теперь у них всё это работает.

                                            Читать дальше →
                                            • +17
                                            • 3,9k
                                            • 3

                                          Самое читаемое