• Разработка под WebAssembly: реальные грабли и примеры



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

      На конференции HolyJS доклад об опыте использования WebAssembly получил высокие оценки зрителей, и теперь специально для Хабра подготовлена текстовая версия этого доклада (видеозапись также приложена).
      Читать дальше →
    • Почему я люблю IKEv2 больше других VPN



        Сейчас все вокруг настраивают VPN для удаленных сотрудников. Мне больно смотреть, как люди устанавливают монструозные глючные программы, настраивают какие-то сертификаты, устанавливают драйвера TUN/TAP и делают множество сложных операций, в то время как лучшее решение уже встроено в операционную систему.

        IKEv2 — это современный протокол VPN, разработанный Microsoft и Cisco. Он используется по умолчанию для новых VPN-подключений в Windows, macOS, iOS. Он быстрее и безопаснее большинства VPN-протоколов и может легко настраиваться на стороне клиента в два клика без использования сторонних программ.

        Я считаю, что IPsec IKEv2 отлично подходит не только для соединения серверов, но и для обычных VPN-подключений конечных пользователей. В этом посте я постараюсь убедить вас использовать IPsec IKEv2 для обычных домашних пользователей вместо OpenVPN.
        Читать дальше →
      • Как научиться разработке на Python: новый видеокурс Яндекса

        • Tutorial
        Осенью прошлого года в московском офисе Яндекса прошла первая Школа бэкенд-разработки. Мы сняли занятия на видео и сегодня рады поделиться на Хабре полным видеокурсом Школы. Он позволит вам научиться промышленной разработке на Python. Авторы лекций — опытные разработчики в Яндексе. К каждому видео приложены ссылки на примеры и полезные материалы.

        Для изучения курса нужно знать основы Python и понимать, как приложения развёртываются на серверах. Мы ждём, что вы умеете делать запросы к базам данных и знаете, как создаются веб‑приложения, — хотя бы на начальном уровне.
        Читать дальше →
      • Детальная настройка браузера Firefox

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


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

          Читать дальше →
        • Список здорового IT'шника, или как не угробить свою жизнь

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

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

            image

            Тема современного здоровья стоит как никогда остро. Мы калечим себя сидячей работой за компьютером.

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

            Эми Кадди провела двухминутный эксперимент — Оказалось, даже за это короткое время уровень тестостерона у тех, кто был в правильной позе, повысился на 20 %, а у тех, кто нет — снизился на 20 %. Уровень кортизола тоже существенно отличался: у первых упал на 25 %, а у вторых вырос на 15 %.

            Под катом я рассказываю и показываю и навожу ясности в этой теме. И главное вы сможете ответить себе на вопрос: «Что делать-то, конкретно?»
            Читать дальше →
          • Найдена формула безболезненного перехода на .Net Core

              На все про все достаточно 50 чашек кофе.


              Помимо обозначенного выше эмпирического правила мы публикуем краткую заметку о моментах, на которые нужно обратить пристальное внимание, чтобы на бою и в процессах ничего не сломалось. Заметку составили по горячим следам релиза мобильного сервиса, совсем мигрировавшего на .Net Сore (начало было положено тут). Нам удалось выполнить эту операцию незаметно для заказчика, почти не останавливая основной процесс разработки.


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


              Читать дальше →
            • Цветовая схема Xoria256 для Midnight Commander

              screenshot

              Спешу поделиться цветовой схемой Xoria256 для Midnight Commander, которую я сделал, взяв за основу одноимённую схему для редактора vim.

              Для тех, кто не знает что такое Midnight Commander — это популярный двухпанельный файловый менеджер для UNIX систем (в т.ч. Linux и Mac OS X). Он работает в текстовом режиме, что делает его незаменимым для визуализации файловой системы и операций с файлами на удалённой UNIX-системе не загружая SSH-соединение.

              Для использования схемы необходимо следующее:
              Читать дальше →
            • Руководство по установке и настройке Web Deploy в среде Windows Server 2008 R2

              • Tutorial
              В этом руководстве мы настроим Web Deploy в среде Windows Server 2008 R2 для простого развертывания приложений из Visual Studio 1 кликом мыши. Web Deploy позволяет настроить публикацию пользователем, не обладающим правами администратора.
              Читать дальше →
            • Решение проблем настроек web-сервера при публикации web-приложений

              При публикации веб-приложения из Visual Studio разработчик может столкнуться с некоторыми проблемами, и не всегда текст ошибки может помочь избавиться от проблем и правильно настроить сервер.
              Ниже я опишу наиболее распространенные из них.
              Надеюсь, что данная статья поможет сэкономить время, большое количество которого я потратил при изучении проблем.

              Давайте попробуем развернуть приложение на чистый сервер Windows 2008 R2, на котором установлена роль «Web Server (IIS)».
              Подробности
            • 10 инструментов, позволяющих парсить информацию с веб-сайтов, включая цены конкурентов + правовая оценка для России

                image

                Инструменты web scraping (парсинг) разработаны для извлечения, сбора любой открытой информации с веб-сайтов. Эти ресурсы нужны тогда, когда необходимо быстро получить и сохранить в структурированном виде любые данные из интернета. Парсинг сайтов – это новый метод ввода данных, который не требует повторного ввода или копипастинга.

                Такого рода программное обеспечение ищет информацию под контролем пользователя или автоматически, выбирая новые или обновленные данные и сохраняя их в таком виде, чтобы у пользователя был к ним быстрый доступ. Например, используя парсинг можно собрать информацию о продуктах и их стоимости на сайте Amazon. Ниже рассмотрим варианты использования веб-инструментов извлечения данных и десятку лучших сервисов, которые помогут собрать информацию, без необходимости написания специальных программных кодов. Инструменты парсинга могут применяться с разными целями и в различных сценариях, рассмотрим наиболее распространенные случаи использования, которые могут вам пригодиться. И дадим правовую оценку парсинга в России.
                Читать дальше →
              • Синдром хронической усталости: как разобраться со сном, если ты устал уставать

                  image

                  Проблема хронической усталости близка каждому. Сегодняшняя статья по книге «Вечно уставший» Джейкоба Тейтельбаума посвящена нарушениям сна и способам их исправления.

                  Почему сон важен


                  Ежедневные восемь часов ночного сна — один из самых эффективных способов повысить жизненный тонус.

                  Сегодня среднее время сна — 6 часов 45 минут, а ста годами ранее это были 9 часов. Наши предки ложились спать с заходом солнца и просыпались с рассветом, поэтому иногда их сон достигал 11 часов.

                  Сегодня проспать 8 часов это уже большая редкость — электричество, интернет и телевидение делают свое дело.
                  Читать дальше →
                • Azure понятным языком [Шпаргалка]

                  • Translation
                  Скажите, приходилось ли вам слышать о новых службах Azure: Elasticville, StorageWart и API Gatesian? Разумеется, нет, ведь эти названия были придуманы только что. В этой статье мы делимся с вами шпаргалкой, в которой понятным языком описана экосистема Microsoft Azure.


                  Читать дальше →
                • Подборка подкастов по программированию на русском и английском языках

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

                    Подкасты представляют собой звуковые файлы, которые можно слушать в любое время на вашем компьютере или другом устройстве (IPod, IPad, смартфон и т.д.). Это самый портативный способ потреблять контент и узнавать что-то новое. Популярность подкастов росла на протяжении многих лет и теперь они охватывают очень широкий круг вопросов.

                    И да, есть много интересных и популярных подкастов для разработчиков и программистов. Подкасты невероятно полезны, они будут держать вас в курсе всего что происходит в интересующей вас сфере, а также помогут вам развить более широкий взгляд на постоянно развивающуюся область информационных технологий.
                    Читать дальше →
                  • MassTransit. Сервисная шина для обмена сообщениями на основе сервера очередей RabbitMQ (MSMQ) для .Net

                    MassTransit
                    Впервые я услышал о библиотеке MassTransit (MT) около года назад от экс-коллеги, зашедшего в наш офис для обмена опытом. Компания, в которую он устроился, использовала MT для уменьшения связности между модулями разрабатываемого ими сервиса и, поскольку высокая связность начала превращаться в проблему и для нас, чужой опыт оказался нам очень кстати. Помимо уменьшения связности путем перехода на событийную модель взаимодействия между модулями, MT пригодился нам и для распределения ресурсоемких задач между несколькими процессами.

                    Читать дальше →
                    • +22
                    • 32.1k
                    • 9
                  • Лучшие инструменты для JavaScript-разработчика



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

                      Но прежде чем перейти к делу, хотим уточнить:

                      • Не нужно ломать копий, если в этот список не попали какие-то из ваших любимых фреймворков или библиотек.
                      • Следите за обновлениями используемых вами инструментов. В последнее время начала активно внедряться кроссбраузерная и кроссаппаратная (cross-device) поддержка. Например, можно воспользоваться сканером, который подскажет, совместимы ли более старые версии с большинством устройств.

                      Читать дальше →
                    • Создание архитектуры программы или как проектировать табуретку

                      Взявшись за написание небольшого, но реального и растущего проекта, мы «на собственной шкуре» убедились, насколько важно то, чтобы программа не только хорошо работала, но и была хорошо организована. Не верьте, что продуманная архитектура нужна только большим проектам (просто для больших проектов «смертельность» отсутствия архитектуры очевидна). Сложность, как правило, растет гораздо быстрее размеров программы. И если не позаботиться об этом заранее, то довольно быстро наступает момент, когда ты перестаешь ее контролировать. Правильная архитектура экономит очень много сил, времени и денег. А нередко вообще определяет то, выживет ваш проект или нет. И даже если речь идет всего лишь о «построении табуретки» все равно вначале очень полезно ее спроектировать.

                      К моему удивлению оказалось, что на вроде бы актуальный вопрос: «Как построить хорошую/красивую архитектуру ПО?» — не так легко найти ответ. Не смотря на то, что есть много книг и статей, посвященных и шаблонам проектирования и принципам проектирования, например, принципам SOLID (кратко описаны тут, подробно и с примерами можно посмотреть тут, тут и тут) и тому, как правильно оформлять код, все равно оставалось чувство, что чего-то важного не хватает. Это было похоже на то, как если бы вам дали множество замечательных и полезных инструментов, но забыли главное — объяснить, а как же «проектировать табуретку».

                      Хотелось разобраться, что вообще в себя включает процесс создания архитектуры программы, какие задачи при этом решаются, какие критерии используются (чтобы правила и принципы перестали быть всего лишь догмами, а стали бы понятны их логика и назначение). Тогда будет понятнее и какие инструменты лучше использовать в том или ином случае.

                      Данная статья является попыткой ответить на эти вопросы хотя бы в первом приближении.
                      Читать дальше →
                    • Visual Studio Online: непрерывная интеграция и тестирование

                      • Translation
                      • Tutorial


                      Visual Studio Online, как и Team Foundation Server 2015, обладает возможностями для реализации процесса непрерывной интеграции.
                       
                      В этой статье мы рассмотрим пример использования Visual Studio Online (VSO) с репозиторием Git, а также способы настройки процессов непрерывной интеграции, тестирования и автоматического развертывания.
                       
                      Настройка сервиса Visual Studio Online один из самых быстрых способов для организации и планирования процесса сборки и развертывания приложений для различных платформ. Сервис в течение нескольких минут развернется и запустится на нашей облачной инфраструктуре без необходимости установки или настройки на отдельном сервере.
                      Читать дальше →
                      • +16
                      • 19.1k
                      • 4
                    • Microsoft SQL Server Data Tools

                      • Tutorial
                      В данной статье хотел бы рассказать про набор полезных дополнений к Visual Studio, которые могут в значительной мере облегчить разработку баз данных на основе MS SQL Server.
                      Основными преимуществами использования SSDT я бы выделил следующее:
                      • возможность простого изменения (refactoring) схемы базы (можно переименовать колонку таблицы и все Views, Functions и Stored Procedures ссылающиеся на неё автоматически будут исправлены для отражения изменений)
                      • создание юнит тестов для базы данных
                      • хранение структуры базы данных в Source Control
                      • сравнение схемы/данных c возможностью генерации скрипта для приведения схемы/данных к требуемому состоянию

                      Безусловно на этом плюсы использования SSDT не заканчиваются, но остальное не так сильно впечатляет, как то, что упомянуто выше. Если вас интересует, как воспользоваться этими и другими преимуществами — прошу под кат.
                      Читать дальше →
                    • 20 самых популярных лекций TED Talks всех времён

                        Фонд TED с 1984 года проводит конференции, выбирая для них самые интересные темы и самые инновационные идеи. Например, на первой конференции 1984 года были представлены только что выпущенный Macintosh, инновационный компакт-диск от Sony, математик Бенуа Мандельброт продемонстрировал практическое применение своей теории фракталов, а специалист по искусственному интеллекту Марвин Минский разъяснил новую модель разума.

                        Каждое выступление (лекция) на конференции TED называется TED Talk и публикуется в онлайне, сейчас на сайте скопилось уже более 400 видеозаписей. Поскольку все они посвящены невообразимо интересным темам, даже сложно предположить, какие пользуются наибольшим интересом у зрителей. Официальный блог TED Blog опубликовал список Топ-20 лекций за все времена по количеству просмотров, собрав статистику с TED.com, Youtube, iTunes, Hulu, встроенных фреймов, количества скачиваний и т.д.
                        Читать дальше →
                      • Курсы этичного хакинга и тестирования на проникновение

                          Курсы этичного хакинга и тестирования на проникновение.


                          Если вы увлекаетесь информационной безопасностью и хотите усовершенствовать свои навыки в короткое время — предлагаем ознакомиться с обновленными программами обучения в области практической ИБ от Pentestit.

                          Разрабатывая уникальные по своему формату и методике обучения курсы этичного хакинга: «Zero Security: A» (начальная подготовка) и «Корпоративные лаборатории» (профессиональная подготовка), мы стараемся сделать обучение не только эффективными, но и удобными. Основное отличие программ обучения заключается в том, что первая рассчитана на базовую подготовку в области этичного хакинга, а вторая — на профессиональную подготовку не только этичного хакинга, но и построения эффективных систем ИБ. В любом случае, даже опытные специалисты, посетившие первую программу, открывают для себя что-то новое, не говоря уже о «Корпоративных лабораториях», включающих материал, по уровню сравнимый с докладами на профессиональных хакерских конференциях. Кроме этого, каждый набор пополняется новым материалом, что позволяет передать специалистам, проходящим обучения, наиболее актуальную на момент обучения информацию.

                          Уникальность программ обучения заключается в симбиозе формата обучения (полностью дистанционное, не требующее отрыва от работы и учебы), качества материала и специализированных ресурсов, на которых производится обучение.


                          Читать дальше →