• Numl – Альтернативный язык разметки и стилизации для веб

      Всем привет! Меня зовут Андрей, я профессионально разрабатываю веб-интерфейсы уже больше 11 лет и последний год развиваю проект Numl, который можно назвать языком разметки и стилизации для веб. В этой статье я расскажу, как в попытке перебороть ряд особенностей CSS и упростить вёрстку веб-проектов получился целый язык, который не только удовлетворил все наши потребности в стилизации, но также позволил уменьшить кол-во JS-кода и улучшить доступность.


      Читать дальше →
    • История архитектуры Dodo IS: путь бэкофиса

        Хабр меняет мир. Больше года мы ведём свой блог. Где-то полгода назад нам прилетел вполне логичный фидбэк от хабровчан: «Додо, вот вы везде говорите, что у вас своя система. А что это за система? И зачем она нужна сети пиццерий?».

        Мы посидели, подумали и поняли, что вы правы. Мы пробуем объяснить всё на пальцах, но выходит рваными кусками и нигде нет полноценного описания системы. Так начался долгий путь сбора информации, поиска авторов и написания серии статей про Dodo IS. Погнали!
        Благодарности: спасибо, что делитесь своим фидбэком с нами. Благодаря ему мы наконец описали систему, составили технорадар и скоро выкатим большое описание наших процессов. Без вас так бы и сидели ещё 5 лет.

        Читать дальше →
      • MskDotNet Meetup в Райффайзенбанке 11/06

          Вместе с MskDotNET Community приглашаем на онлайн-митап 11 июня: обсудим вопросы nullabilily в платформе .NET, применение функционального подхода в разработке с использованием типов Unit, Tagged Union, Optional и Result, разберем работу с HTTP в платформе .NET и покажем применение собственного движка для работы с HTTP. Ещё много интересного приготовили – присоединяйтесь!

          Смотрите митап в записи!


          Читать дальше →
        • Каков ты, русский опен сорс?

            В 2017-м году, когда я жил в Одессе (Украина), на украинском IT-портале DOU (аналог Хабра) опубликовали анализ наиболее активных "украинских" open source разработчиков: GitHub-акаунти українських ІТшників: хто в ТОПі. Я не попал в рейтинг, хотя по некоторым параметрам на тот момент превосходил многих его участников (например, по числу followers). Мне стало интересно, по какому принципу были отобраны кандидаты: по гражданству, стране проживания, языку в Javadoc, или по их location в GitHub. Думаю, что по последнему. Три года назад мне показалось это странным: в open source мире не должно быть, как я думал тогда, ни гражданств, ни прописок. Теперь я вижу, что ошибался.

            Читать дальше →
          • Неделя онлайн-стримов от JUG Ru Group #3



              Продолжаем говорить обо всём от DevOps до C++ в формате разговорных шоу и митапов. В этот раз будет онлайн-митап по .NET и YouTube-обсуждения по всему остальному. Записи эфиров мероприятий прошлой недели уже доступны!
              Читать дальше →
            • Книга «Управление памятью в .NET для профессионалов» в правильном переводе команды DotNetRu

                Совсем недавно в издательстве ДМК-пресс на русском языке вышла замечательная книга Конрада Кокосы «Управление памятью в .NET для профессионалов».

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

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


                Читать дальше →
              • Конференции на удалёнке: онлайн-трансформация JUG Ru Group


                  Многие читатели Хабра уже знают и любят наши IT-конференции. Кто-то был на них лично, а кто-то видел онлайн-трансляции.


                  На лето 2020 у нас запланированы 8 конференций, и сейчас мы переводим их все в онлайн. Но это не означает, что они станут выглядеть как прежние трансляции. Наоборот, мы многое делаем по-новому:


                  • Создали билет-абонемент на 8 конференций сразу
                  • Изменили продолжительность каждого мероприятия
                  • Вводим в онлайне новые форматы

                  Сама идея изменилась. Трансляция — это когда со стороны наблюдаешь, как где-то далеко происходит что-то интересное. А мы готовим «конференции на удалёнке»: теперь не только разработка перешла из офисов в дома, но и мероприятия должны «приходить к вам домой». Люди должны быть участниками, а не просто зрителями.


                  Что это значит на практике? Расписали все подробности под катом.

                  Читать дальше →
                • Онлайн-холивар: новый формат обмена опытом. В эту субботу

                    Часто самое интересное на митапах начиналось, когда несколько человек увлеченно спорили вокруг какой-то темы, а ты мог включиться с вопросом или добавить свои “пять копеек” опыта.

                    Мы с Алексеем anzem Землянским и Григорием eyeofhell Петровым подумали перенести эту механику в онлайн. Хотим попробовать 11 апреля в 11 часов по Москве — в формате интерактивной ютуб-трансляции и открытых дискуссий в зуме* за эфиром. Надеемся, у вас найдется полтора часа на протестировать формат с нами.



                    В качестве темы для первого холивара взяли TDD.
                    Читать дальше →
                    • +20
                    • 1.8k
                    • 6
                  • Мейнтейнер популярнейшей JS-библиотеки приговорен к тюремному заключению за смертельное ДТП по его вине

                    • Translation

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


                    Что станет с open-source проектом, от которого так многое зависит?



                    В ноябре 2019 г. мейнтейнер небезызвестной библиотеки core-js Денис Пушкарев проиграл апелляцию на приговор на 18 месяцев тюрьмы за то, что в ходе движения на мотоцикле он совершил наезд на двух пешеходов, один из которых впоследствии скончался.


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

                    Читать дальше →
                  • Открытый список митапов и конференций, переходящих в онлайн

                      К некоторым мероприятиям можно подключиться уже сегодня. И так почти каждый ближайший день:



                      ИТ-сообществам не рекомендуют собираться в оффлайне. Часть конференций уже перенесена, статус некоторых пока неясен. А кто-то пробует собираться онлайн в те же даты — или делает специальные мероприятия для тех, кто остался дома.

                      Мы пробуем собрать их в одном месте — и надеемся, что вы поможете с его наполнением или поддержите организаторов и спикеров своим присутствием.
                      Читать дальше →
                    • Масло и водка: как мы избавляем ноутбуки от стикеров

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


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


                        Нас зовут Артём Лелюхин и Павел Васильев, и мы работаем в той самой команде Авито. В этой статье мы расскажем об эффективных, абсурдных и даже опасных способах освободить ноутбук от стикербомбинга.


                        Читать дальше →
                      • Лайфхаки разработчикам от рекрутера

                        Недавно на Хабр вышел перевод статьи «Оцениваем рекрутеров по холодным письмам». Примечание переводчика и 120 комментариев показывают, что тема болезненна для русскоязычных разработчиков, а рынок рекрутинга в IT токсичен. С одной стороны страдают разработчики: завал писем на почте, звонки от рекрутеров, которые потом внезапно пропадают, нелепые вакансии с релокацией в Гватемалу, предложения сеньорам поработать в молодом стартапе джуном и собеседования с вопросами «почему люки круглые». С другой — сами рекрутеры страдают от некомпетентных коллег, которые выставляют их как спамеров не отличающих Java от JavaScript, и раскидывающихся вакансиями без разбора, будто они риэлторы на Авито.



                        Меня зовут Светлана Петровичева, 10 лет работаю в IT-рекрутинге, основатель рекрутингового агентства и платформы для поиска работы в IT. У меня есть мечта избавить IT-рынок от токсичности. Поэтому сегодня я поделюсь своим опытом, поделюсь некоторыми полезными приемами и попробую описать, как работают рекрутеры. Вы узнаете как разработчикам оценивать вакансии и компании, как вас находят и оценивают рекрутеры, влияет ли «личный бренд» на зарплату и почему ее не пишут в вакансиях. Также дам несколько рекомендаций как подготовить резюме, чтобы вы зарабатывали чуть больше, как поймать вакансию раньше остальных, почему «справедливой» зарплаты не существует, а в конце опишу свое видение, как избавиться от токсичности на рынке найма в IT.
                        Читать дальше →
                      • Разбираемся с управлением памятью в современных языках программирования

                        Привет, Хабр! Представляю вашему вниманию перевод статьи «Demystifying memory management in modern programming languages» за авторством Deepu K Sasidharan.

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

                        Углублённое изучение концептов управления памятью позволяет писать более эффективное ПО, потому как стиль и практики кодирования оказывают большое влияние на принципы выделения памяти для нужд программы.
                        Читать дальше →
                      • Прямой эфир конференции Я ❤︎ Фронтенд 2020 — 29 февраля. Спикеры и программа

                          Яндекс во второй половине нулевых начал проводить встречи по фронтенду — тогда их аудиторию часто называли верстальщиками. Недавно мы отметили 10-летие Я.Субботника по фронтенду. Но Я.Субботник традиционно строится вокруг докладов о технологиях Яндекса. Сообществу и нам нужна была конференция по разработке интерфейсов, участники которой могли бы узнать об опыте разных компаний и standalone-разработчиков. Мы не раз устраивали такие события в регионах — но не в Москве. Год назад мы заполнили этот пробел, проведя конференцию «Я Фронтенд». Судя по отзывам, получилось неплохо — 29 февраля будет следующая серия.

                          Прямой эфир со второй конференции «Я Фронтенд» начнётся в 11:00. Он пройдёт в канале «Фронтенд» на YouTube, в группах «Яндекс для разработчиков» во ВКонтакте и Фейсбуке, а также на странице мероприятия — по ссылке можно оставить почту, если вы хотите получить напоминание о трансляции. Вот её программа:
                          Читать дальше →
                        • Фронтенд митап Facebook и AvitoTech

                            Привет! Меня зовут Александр Зубов, я отвечаю за фронтенд архитектуру Авито. Хочу пригласить вас на митап по фронтенду, который мы проводим в нашем офисе вместе с сообществом Facebook Developer Circle: Moscow.


                            Митап пройдёт 5 марта. Будем говорить о протоколе http/3, использовании Relay Modern и проблемах классического подхода управления состоянием приложения при разработке сложных интерфейсов. Выступят докладчики из Яндекса, Facebook и Авито. Под катом — тезисы, информация о спикерах и ссылка на регистрацию.


                            Читать дальше →
                          • «Веб — это самая сложная платформа в истории человечества» — интервью с Вадимом Макеевым из Opera



                              В этом выпуске «Без слайдов» гостем выступил Вадим Макеев aka pepelsbey, евангелист компании Opera Software, один из самых известных фронтенд-людей в стране, организатор многих мероприятий в индустрии.

                              Мы успели обсудить:
                              • эволюцию WebKit;
                              • путь Microsoft и новую модель браузера;
                              • архитектуру современных браузеров;
                              • как Opera выбирала между WebKit и Blink;
                              • стандартизацию в вебе;
                              • насколько трудна работа веб-разработчика;
                              • JavaScript и его «продолжения»;
                              • jQuery, и почему он все еще нужен;
                              • HTTP/2;
                              • ритм жизни евангелиста;
                              • мобильный веб и Opera Mini;


                              Интервью взято в феврале, но руки дошли до публикации только сейчас.

                              Видео-версия нашей беседы вот тут:


                              А для тех, кто предпочитает читать, — под катом расшифровка нашей беседы.

                              Читать дальше →
                            • Фамильный вики-движок Bonsai: итоги 2019 года

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



                                Под катом — подробности, планы на будущее и немного bounty.
                                Читать дальше →
                              • Страх и ненависть в IT

                                Всем привет. Я — обычный программист, носящий лычку сеньора в одной обычной продуктовой компании. Я занимаюсь коммерческой разработкой около 10 лет, начинал с разработки прошивок для небольших железок, а сейчас изготавливаю бекенды различной степени сложности преимущественно на модных нынче Java/Kotlin. Эту профессию я выбрал по призванию — будучи ещё школьником все время что-то паял, программировал на бумажке (компьютера не было) и всё такое. Дальше шли профильное образование, работа в различных компаниях — именитых и обычных, зарубежных и отечественных. Поэтому я могу сказать, что являюсь идейным программистом. И никогда не понимал людей, которые ждут пятницу — всегда с удовольствием ходил на работу, какой бы ад там не творился. Так было по-крайней мере до недавнего времени. С какого-то момента я “сломался” и с трудом мог заставить пойти себя на некогда любимую работу. Меня и раньше что-то смущало, но теперь, когда мысли до конца оформились в голове — я могу сказать, что же не так с моим некогда уютным IT-мирком.
                                Читать дальше →
                              • Привет, Хабр! Меня зовут Алексей Чеканов, я технический директор ЦИАН. Разработка определяет успехи нашего проекта, и чем дальше, тем заметнее. Чтобы расти, нам нужно больше IT-специалистов — и для решения нетривиальных задач, и для поддержки существующих сервисов. Ниже я расскажу, как устроен отдел разработки в ЦИАН, чем он занимается и что ждет того, кто к нам попадет.
                                Подробности – под катом
                              • Многопоточность в .NET: когда не хватает производительности



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

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

                                  Под катом — видео и расшифровка моего доклада с конференции DotNext, где я разбираю несколько примеров, когда использование средств из стандартной библиотеки .NET (Task.Delay, SemaphoreSlim, ConcurrentDictionary) привело к просадкам производительности, и предлагаю решения, заточенные под конкретные задачи и лишённые этих недостатков.
                                  Читать дальше →