• 5 советов для прокачки своих навыков в Angular

      Этим летом мы с Ромой запустили серию твитов с полезными советами и приемами по Angular. Сообщество тепло встретило эту инициативу, и я решил написать обобщающую статью.

      Вот мои 5 рекомендаций, которыми хочется поделиться с разработчиками. Эти советы будут подкреплены конкретными примерами из моего твиттера. Они помогут вам поднять свои навыки или как минимум дадут пару практических приемов.

      Читать далее
      • +26
      • 10.6k
      • 9
    • Все, что вам нужно знать об обнаружении изменений в Angular

      Наткнулся на хорошую статью об устройстве Angular'овского механизма обнаружения изменений (change detection). Т.к. тема достаточна важна, но при этом недостаточно глубоко раскрыта даже на англоязычных ресурсах, а найти русскоязычные материалы на эту тему, вообще, не представляется возможным, решил перевести данную статью.
      Перевод под катом
      • +19
      • 56.1k
      • 8
    • Полное руководство по стратегии обнаружения изменений Angular onPush

      • Translation

      image


      Default cтратегия обнаружения изменений


      По умолчанию Angular использует ChangeDetectionStrategy.Default стратегию обнаружения изменений.


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

      Читать дальше →
      • +19
      • 63.3k
      • 3
    • Веб-приложение на Kotlin + Spring Boot + Vue.js

      Добрый день, дорогие обитатели Хабра!

      Не так давно мне представилась возможность реализовать небольшой проект без особых требований по технической части. То есть, я был волен выбирать стек технологий на своё усмотрение. Потому не преминул возможностью как следует «пощупать» модные, молодёжные многообещающие, но малознакомые мне на практике Kotlin и Vue.js, добавив туда уже знакомый Spring Boot и примерив всё это на незамысловатое веб-приложение.
      Посмотреть, что из этого вышло
    • Сравнение производительности инструментов обхода блокировок\VPN

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

      Оставим тему эффективности, с точки зрения обхода DPI\вайтлистов\блеклистов для другого случая, и просто сравним производительность популярных инструментов обхода блокировок.

      Внимание: В статье под спойлерами будет много картинок.
      Читать дальше →
    • Теория программирования: Вариантность

      Здравствуйте, меня зовут Дмитрий Карловский и я… хочу поведать вам о фундаментальной особенности систем типов, которую зачастую или вообще не понимают или понимают не правильно через призму реализации конкретного языка, который ввиду эволюционного развития имеет много атавизмов. Поэтому, даже если вы думаете, что знаете, что такое "вариантность", постарайтесь взглянуть на проблематику свежим взглядом. Начнём мы с самых основ, так что даже новичок всё поймёт. А продолжим без воды, чтобы даже профи было полезно для структурирования своих знаний. Примеры кода будут на псевдоязыке похожем на TypeScript. Потом будут разобраны подходы уже нескольких реальных языков. А если же вы разрабатываете свой язык, то данная статья поможет вам не наступить на чужие грабли.


      а вдруг там лис?

      Читать дальше →
    • Конфигурация приложений на Angular. Лучшие практики

      Как управлять файлами конфигурации среды и целями


      Когда вы создали angular приложение с помощью Angular CLI или Nrwl Nx tools у вас всегда есть папка с фалами конфигурации окружения:


      <APP_FOLDER>/src/environments/
                             └──environment.ts
                             └──environment.prod.ts
      Читать дальше →
      • +12
      • 7.3k
      • 6
    • Как проходят секции по машинному обучению на собеседованиях в Яндекс

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


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


        image

        Читать дальше →
      • VPN в каждый дом или как приручить Дракона

        • Tutorial

        Ниже я расскажу о том, как заменить ваш VPN провайдер собственным сервером, развернутым на DigitalOcean с использованием WireGuard.


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


        Решение достаточно простое — развернуть свою VPN ноду.


        Я хочу сделать это просто

        Читать дальше →
      • Компоненты-агностики в Angular

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


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


          bruce lee

          Читать дальше →
          • +22
          • 11.8k
          • 6
        • Подготовка к Spring Professional Certification. Вопросы по Spring MVC

          • Translation

          Приветствую всех.


          Это уже 5 статья из цикла статей для подготовки с Spring Professional Certification.


          Оглавление
          1. Внедрение зависимостей, контейнер, IoC, бины
          2. AOP (аспектно-ориентированное программирование)
          3. JDBC, транзакции, JPA, Spring Data
          4. Spring Boot
          5. Spring MVC
          6. Spring Security
          7. REST
          8. Тестирование

          Напомню, что эти статьи — это ответы на вопросы из официального гида от Pivotal для подготовки к сертификации.




          Читать дальше →
        • Удаленная работа в режиме full-time: с чего начать, если ты не senior

          На сегодняшний день множество IT-компаний сталкиваются с проблемой поиска сотрудников в своем регионе. Все больше предложений на рынке труда связаны с возможностью работы вне офиса – удаленно.

          Работа в режиме full-time remote предполагает, что работодатель и работник связаны четкими трудовыми обязательствами: контрактом или трудовым договором; чаще всего, определенным нормированным графиком работы, стабильной зарплатой, отпусками и прочими особенностями, которые зачастую присущи тем, кто проводит свой рабочий день в офисе.
          Преимущества постоянной удаленной работы для каждого, кто решил оставить офис, свои. Возможность работать на крупные зарубежные компании без переезда в другой географический регион, стабильность, в сравнении с freelance – это, наверное, основное, что может привлечь нашего соотечественника. Высокий уровень конкуренции – вот основная сложность, с которой сталкивается соискатель, выходя на поиски работы на международном рынке труда.
          Читать дальше →
        • Шпаргалка по Gradle

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


            android {
                compileSdkVersion 28
                defaultConfig {
                    applicationId "com.habr.hello"
                    minSdkVersion 20
                    targetSdkVersion 28
                }
                buildTypes {
                    release {
                        minifyEnabled false
                    }
                }
            }

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


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

            Читать дальше →
            • +17
            • 39.6k
            • 3
          • HTTP-заголовки для ответственного разработчика

            • Translation

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

            Разработчики соединяют людей.
            Разработчики помогают людям.
            Разработчики дают людям возможности.

            Разработчики могут создать сеть для всех, но эту способность необходимо использовать ответственно. В конце концов, важно создавать вещи, которые помогают людям и расширяют их возможности. В этой статье я хочу рассказать о том, как HTTP-заголовки могут помочь вам создавать лучшие продукты для лучшей работы всех пользователей в интернете.
            Читать дальше →
          • Обзор свободного ПО для Android



            Привет Хабр.

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

            И так, можно ли пользоваться мобильным устройством без серьёзного ущерба для приватности?

            Ответ — да, можно, но для этого необходимо избавиться от ПО и сервисов, бесконтрольно собирающих данные. Для этого понадобится желание что-то изменить и любое устройство на которое можно установить кастомную систему Android (iOS по понятным причинам не рассматривается, а из альтернатив только SailfishOS и GNU/Linux, но эти системы можно установить на очень ограниченное число моделей). Всех кто заинтересовался я приглашаю под кат.
            Читать дальше →
          • Обзор AI & ML решений в 2018 году и прогнозы на 2019 год: Часть 1 — NLP, Computer Vision

            • Translation
            Всем привет! Представляю вам перевод статьи Analytics Vidhya с обзором событий в области AI / ML в 2018 году и трендов 2019 года. Материал довольно большой, поэтому разделен на 2 части. Надеюсь, что статья заинтересует не только профильных специалистов, но и интересующихся темой AI. Приятного чтения!


            Введение


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

            То же самое справедливо и для профессионалов в области data science. Еще пару лет назад вы могли комфортно себя чувствовать, зная пару инструментов и приёмов, но это время прошло. Количество событий, произошедших за последнее время в data science и объем знаний, который требуется, чтобы идти в ногу со временем в этой области, поражают воображение.

            Я решил сделать шаг назад и взглянуть на разработки в некоторых ключевых областях в сфере искусственного интеллекта с точки зрения специалистов по data science. Какие прорывы произошли? Что случилось в 2018 и чего ждать в 2019 году? Прочитайте эту статью, чтобы получить ответы!
            Читать дальше →
          • Сезон чемпионатов 2019 открыт! Стартует SNA Hackathon аля ML Boot Camp 8


              Привет!

              Многие из читателей уже знают, что мы стараемся постоянно проводить различные IT-чемпионаты по самым разным тематикам. Только в прошлом году провели более 10 разных крупных соревнований (Russian AI Cup, ML Boot Camp, Технокубок и другие). В них приняло участие не менее 25 000 человек, а с 2011 года — более 150 000.

              Если вы только сейчас узнали об этом, то поздравляем: именно с этой минуты вы стали частью большого сообщества людей, участвующих в наших соревнованиях и обменивающихся опытом друг с другом. Уже сейчас вы можете присоединиться к Telegram-группам сообществ по искусственному интеллекту, спортивному программированию, высоконагруженным проектам и администрированию, машинному обучению и анализу данных. Это поможет вам быстрее втянуться в серьёзную тусовку!



              Итак, перейдём к делу. Сегодня, 7 февраля, мы рады открыть новый сезон чемпионатов 2019 года. И начнём с уже восьмого соревнования по машинному обучению и анализу данных, проводимого на специализированной платформе ML Boot Camp (наш аналог Kaggle) — SNA Hackathon, или ML Boot Camp 8 (как вам удобнее).
              Читать дальше →
              • +30
              • 4.9k
              • 2
            • Особенности поиска работы в Европе

              Разработчик, с гуманитарным высшим, средним английским (сильный акцент и неправильное произношение), 15 годами опыта в десятке проектов, обремененный семьей – вдруг решил найти работу в Западной Европе.

              Потрачено полгода. Пройдено десятки собеседований. В процессе сбора информации выбор целевой страны менялся несколько раз. В данной статье я постарался описать личный опыт, дать советы, которые (надеюсь) будут полезны другим.
              Читать дальше →
            • Оптимизация Angular-приложений

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



              В материале, перевод которого мы публикуем сегодня, будут раскрыты шесть направлений оптимизации Angular-приложений.
              Читать дальше →
              • +22
              • 13.4k
              • 4