• Прекратите проверять Email с помощью регулярных выражений!

    • Перевод
    Серьезно, прекратите. Это пустая трата времени и сил. Поищите регулярку для проверки Email в Google, взгляните на нее — и захочется отойти подышать свежим воздухом. Вспоминается одна очень известная цитата:

    Некоторые люди, сталкиваясь с проблемой, думают: «О, я воспользуюсь регулярными выражениями».
    Теперь у них две проблемы.

    Джэйми Завински, regex.info
    Читать дальше →
  • Типичные распределения вероятности: шпаргалка data scientist-а

    • Перевод

    У data scientist-ов сотни распределений вероятности на любой вкус. С чего начать?


    Data science, чем бы она там не была – та ещё штука. От какого-нибудь гуру на ваших сходках или хакатонах можно услышать:«Data scientist разбирается в статистике лучше, чем любой программист». Прикладные математики так мстят за то, что статистика уже не так на слуху, как в золотые 20е. У них даже по этому поводу есть своя несмешная диаграмма Венна. И вот, значит, внезапно вы, программист, оказываетесь совершенно не у дел в беседе о доверительных интервалах, вместо того, чтобы привычно ворчать на аналитиков, которые никогда не слышали о проекте Apache Bikeshed, чтобы распределённо форматировать комментарии. Для такой ситуации, чтобы быть в струе и снова стать душой компании – вам нужен экспресс-курс по статистике. Может, не достаточно глубокий, чтобы вы всё понимали, но вполне достаточный, чтобы так могло показаться на первый взгляд.
    Читать дальше →
  • Приемы взятия сложных интегралов

      Интeгpaлы, чтo мoжeт быть вeceлee? Hу, вoзмoжнo нe для вcex, нo вce жe, я ужe дaвнo ничeгo нe пocтил тaкoгo cугубo мaтeмaтичecкoгo, тaк чтo пoпpoбую. Этoт пocт – пpo тo кaк бpaть «cлoжныe» интeгpaлы. Этoт пocт пoдpaзумeвaeт чтo читaтeль училcя тaки в шкoлe и знaeт тpивиaльныe пoдxoды (нaпpимep, интегрирование по частям). B пocтe мы будeм oбcуждaть тoлькo интeгpaлы Pимaнa, a нe интeгpaлы Лeбeгa-Cтилтьeca, Итo, Cкopoxoдa и тaк дaлee (xoтя я бы c удoвoльcтвиeм, чeccлoвo).


      Becь этoт пocт — мaлeнькaя выбopкa peцeптoв или «пaттepнoв» кoтopыe мoжнo взять в кoпилку и пoтoм пpимeнять. Пocт peкoмeндуeтcя читaть нa high-DРI диcплee дaбы пpeдoтвpaтить глaзнoe кpoвoтeчeниe. Я пpeдупpeдил.


      Если интересно...
    • Представление движений в 3D моделировании: интерполяция, аппроксимация и алгебры Ли

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

        Сколько существует разных способов представить обыкновенный поворот в трехмерном пространстве? Большинство людей, когда-либо занимавшихся 3D-графикой или 3D-моделированием, сходу назовут три основных широко распространенных варианта:

        • Матрица поворота 3x3;
        • Задание поворота через углы Эйлера;
        • Кватернионы.

        Люди с богатым опытом добавят сюда почему-то не пользующийся популярностью четвертый пункт:
        • Ось поворота и угол.

        Мне бы хотелось рассказать о пятом способе представления вращений, который симпатичен тем, что удобен для параметризации, позволяет эффективно строить полиномиальные аппроксимации этих параметризаций, проводить сферическую интерполяцию, и главное, универсален — с минимальными изменениями он работает для любых видов движений. Если вам когда-либо был нужен метод, который позволял бы легко сделать «аналог slerp, но не для чистых вращений, а для произвольных движений, да еще и с масштабированием», то читайте эту статью.
        Читать дальше →
      • Распутывая историю Ады Лавлейс (первого программиста в истории)

        • Перевод
        • Tutorial

        Перевод поста Стивена Вольфрама "Untangling the Tale of Ada Lovelace".
        Выражаю огромную благодарность Кириллу Гузенко KirillGuzenko за помощь в переводе и подготовке публикации.

        Содержание


        Ранние годы Ады
        Чарльз Бэббидж
        Уровень развития этой области
        Возвращаемся к Аде
        Возвращаясь к Бэббиджу
        Статья Ады
        После статьи
        После смерти Ады
        Что стало с Бэббиджем?
        Повторное открытие
        О чем на самом деле писала Ада
        Вычисление чисел Бернулли
        Бэббидж vs. Ада?
        Секретный ингредиент Бэббиджа
        В большем масштабе
        А что, если...
        Какими они были?
        Заключение
        Ада Лавлейс родилась 200 лет назад. Для некоторых она является знаменательной фигурой в истории вычислительной техники; для других — изрядно переоцененной личностью. В течение долгого времени я пытался разобраться, как всё было на самом деле. И вот, к её двухсотлетию, я решил разобраться в том, что называл для себя "тайной Ады".

        Получилось намного сложнее, чем я ожидал. Историки расходятся во мнениях. Личности в истории сложно изучать. Технологии трудно понять. Вся история переплетается с обычаями 19-го века британского высшего общества. И есть удивительное количество ошибочных сведений и неверных трактовок.

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

        Это сложная история, и чтобы в ней разобраться, нужно будет о многом рассказать.
        Подробнее об Аде Лавлейс...
      • Как стать тестировщиком или каких знаний мы ждём от джуниора

        image


        Пара вводных слов
        Всем доброго времени суток, меня зовут Туманов Дима. Сейчас я работаю в компании Rambler&Co и отвечаю за тестирование на проектах Афиши. В рамках данной статьи я развею несколько мифов об IT и тестировании в частности. Кроме того, приведу примеры из жизни как “не зная ничего” стать Junior QA Engineer в крупной компании.


        Начало пути
        Проработав почти два года в одной “мирной” госкорпорации в должности “ненастоящего инженера”, я осознал, что развитие остановилось. Я мог сидеть на одном месте и почти ничего не делать. В конечном итоге мои знания бы совсем отстали от реальной действительности и я бы стал невостребованным на рынке. В этот момент я принял решение о смене места и сути своей работы.

        Читать дальше →
      • Как общаться с заказчиками и договариваться о проектной работе

          Я занимаюсь мобильной разработкой в статусе ИП вот уже полтора года. За это время пришлось поработать с разными людьми. После одного досадного случая, я решил, что мне необходимо усилить навыки общения с заказчиками и отстаивания своих интересов. Я попытался собрать свой опыт и опыт своих коллег. В результате получилось что-то вроде методических указаний для фрилансеров. Начинающих и не только.
          Читать дальше →
          • +13
          • 28,9k
          • 9
        • Шесть мифов разработки продукта

          • Перевод
          image

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

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

          Неспособность видеть эти различия приводит к ошибкам, мешающим планировать, исполнять и оценивать проекты по разработке программ. Авторы этого текста в сумме провели более 50 лет за изучением и консультированием компаний, занимающихся разработкой, и мы часто встречали подобные ошибки в совершенно разных областях — включая полупроводники, автомобили, потребительскую электронику, медицинские устройства, софт и финансы. В этой статье мы опишем эти заблуждения и способы обхода создаваемых ими проблем.
          Читать дальше →
          • +15
          • 17,4k
          • 4
        • Сервер приложений 1С на Linux

          • Tutorial
          Двигатель прогрессаВ последнее время, всё чаще и чаще меня начинает душить жаба.
          Большая, зелёная, она угнездилась где-то внутри и формирует категорическое нежелание платить за что либо, даже если это не мои личные деньги! Не платить вообще, или же по максимуму минимизировать затраты там, где это возможно.
          И если ко всему прочему, необходимо организовать работу с 1С в малой или средней компании, при ограниченном бюджете, то напрашивается желание собрать сервер из того что есть и накатить на него что-нибудь бесплатное.
          Это всё к тому, что совсем необязательно покупать для 1С-сервера, лицензии от MS Windows Server+Terminal Cals и MS SQL сервер. Также необязательно рассматривать различные утилиты бэкапа и прочего софта реализующего все фишки работы терминального сервера 1С.

          Сравнение платного и бесплатного софта (без учета железа) взято по большей части отсюда, по примеру данной статьи и на данный момент выглядит так:
          Наименование Стандартное лицензирование (руб.) Вариант Linux + Postgres SQL (руб.)
          Лицензии Windows
          Windows Server 2012 Std. 45012 0
          MS Windows Terminal Services Client Access License 2012 Single Language 1-device NoLevel OLP 102960 (20x78) 0
          Лицензии 1С
          1С: Предприятие 8.3.Лицензия на сервер (x86-64) 86400 86400
          1С: Предприятие 8.3 Клиентская лицензия на 20 рабочих мест 78000 78000
          Лицензии SQL
          Лицензия на сервер MS SQL Server Standard 2012 Runtime для пользователей 1С: Предприятие 8 13381 0
          Клиентский доступ на 20 рабочих мест к MS SQL Server 2012 Runtime для 1С: Предприятие 8 117748 0
          Итого 443501 164400
          Экономия 0 279101

          Читать дальше →
        • Как мы внедряли DevOps: управление релизами в Visual Studio Team Services

          • Перевод
          • Tutorial


          Всем привет! Очередной выпуск статьи из цикла «Как мы внедряли DevOps» от команды Vorlon.JS. Vorlon.JS — это основанный на node.js инструмент, который позволяет веб-разработчикам удобный способ удаленно тестировать, контролировать и отлаживать веб-приложение, особенно на мобильных и embedded системах. В своем блоге на MSDN, команда описывала поэтапное внедрение DevOps практик в организацию работы над Vorlon.JS и выбор инструментов для решения ежедневных задач. Vorlon.JS является проектом с открытым исходным кодом.

          Содержание цикла:

          В предыдущих статьях этой серии мы обсуждали использование непрерывной интеграции, которая позволяет выполнять сборку кода при каждом изменении кода в GitHub, с помощью системы сборки в Visual Studio Team Services. Кроме того, эта сборка генерирует ряд артефактов: код приложения с его зависимостями и скрипты (в папке DeploymentTools), позволяющие автоматически создать инфраструктуру (по принципу «инфраструктура-как-код») в Microsoft Azure и развернуть приложение.
          Читать дальше →
        • На что смотрит свёрточная нейросеть, когда видит наготу

          • Перевод


          На прошлой неделе в компании Clarifai мы формально анонсировали нашу модель распознавания непристойного контента (NSFW, Not Safe for Work).

          Предупреждение и отказ от ответственности. Эта статья содержит изображения обнажённых тел в научных целях. Мы просим не читать дальше тех, кому не исполнилось 18 лет или кого оскорбляет нагота.



          Автоматическое выявление обнажённых фотографий было центральной проблемой компьютерного зрения на протяжении более двух десятилетий, и из-за своей богатой истории и чётко поставленной задачи она стала отличным примером того, как развивалась технология. Я использую проблему детектирования непристойности для пояснения, как обучение современных свёрточных сетей отличается от исследований, проводившихся в прошлом.
          Читать дальше →
        • Задача про обезьян и бесконечность

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



            Потрясающий факт, но еще интереснее попытаться понять, сколько же времени ей понадобится для набора конкретного текста. Чтобы не водить лишний параметр — скорость набора обезьяной — будем искать ответ на вопрос: сколько нажатий на клавиши ей потребуется в среднем. А вам очевидно, что строку «abc» набирать гораздо легче чем «aaa»? Решению этой задачи и посвящен этот пост. Попутно объясняется префикс функция и ее свойства.

            Читать дальше →
          • Деплой ASP.NET приложений при помощи символических ссылок

              Всем привет.
              Все мы немного нервничаем при установке нового релиза на прод. Существует много различных технологий позволяющих нам облегчить этот процесс и сделать его чуть менее нервозным. Одна из таких технологий, которую уже довольно давно облюбовали UNIX-инженеры, это использование символических ссылок, позволяющая свести к минимуму время накатки релиза и откатки на предыдущий релиз если «что-то пошло не так»(с). Этот механизм так же присутствует и в Windows, однако почему-то активно не используется. А зря. Данная статья призвана поправить это недоразумение и сделать процесс накатки релиза более приятным.


              Кадр из х/ф «Джентльмены удачи»
              Читать дальше →
            • SQL Server 2014 Developer Edition теперь бесплатный

                Первого апреля принято начинать новость с очередной «правдивой» истории. Утром я уже читал обзор инженерного образца AMD Zen. Но в случае с SQL Server, все действительно является правдой.

                31 марта Tiffany Wissner (Senior Director of Data Platform Marketing) анонсировала, что теперь SQL Server 2014 Developer Edition является полностью бесплатным в рамках программы Visual Studio Dev Essentials. От всех желающих требуется только регистрация.

                К слову будет сказано, что раньше Developer Edition стоил 59.95$ на одного разработчика.

                Что дает бесплатность? Теперь не нужно мудрить с количеством лицензий, который выдаются на компанию в рамках программы партнёрства. Забыть про головную боль по переустановке Evaluation каждые 180 дней.
                Подробнее
              • Создание отчетов в PowerShell

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

                Секреты создания отчетов Глава 33


                Эта глава содержит
                1. Работа с HTML фрагментами
                2. Создание стильных HTML отчетов
                3. Отправка отчетов поэлектронной почте


                В этой главе мы рассмотрим приемы работы с PowerShell при создании отчетов. PowerShell не блещет если нужно работать со строками, старайтесь использовать для этого объекты. Чем больше вы будете использовать при создании отчетов объекты, тем лучше вы сможете сделать обработку.

                33.1 Что не нужно делать.
                Начнем главу с того что мы считаем примером плохой техники создания отчетов. Мы постоянно встречаем такой стиль. Большая часть IT профессионалов не задумываются об этом и увековечивают в коде стиль из других языков, таких как VBScript.
                Следующий код написан в стиле, который как мы надеемся вы не будете применять, и который вы увидите в коде менее информированных системных администраторов.
                Читать дальше →
                • +11
                • 24,9k
                • 1
              • Интерфейсы — важнейшая концепция в разработке ПО

                • Перевод
                image

                Интерфейс можно считать своеобразным договором между системой и внешним окружением. В рамках компьютерной программы «система» — рассматриваемая функция или модуль, а «окружение» — весь остальной проект. Интерфейс формально описывает, какие данные могут передаваться между системой и окружением. А «реализацию» можно охарактеризовать как «система минус интерфейс». В языках наподобие Haskell интерфейсы могут быть крайне специфическими. А в языках вроде Python они, напротив, очень обыденны. Выбранный тип интерфейса может повлиять на размер созданного технического долга и производительность программиста. О том, как это посчитать, написано ниже. Также будет предложен метод для оценки и сравнения разных интерфейсов. На основании этих сравнений вы сможете сами понаблюдать за способами использования языка или программного инструмента.
                Читать дальше →
                • +10
                • 20,1k
                • 1
              • Прекратите скручивать!

                • Tutorial
                Ну действительно, прекратите. Есть куча прикольных штук для соединения самых разнообразных проводов, а все равно технология «откусить зубами изоляцию, скрутить, замотать изолентой» жива до сих пор.

                Дальше много текста, фотографий, разборок. Ну все как обычно
              • RESTful API — большая ложь

                От переводчика:
                Я впервые попробовал перевести статью такого объёма и IT-тематики, с радостью прочту ваши комментарии и замечания. Что же касается самой статьи: я не согласен с автором как минимум потому, что, по сути, он заменяет REST на… REST (!!!), но немного в другом обрамлении. Однако, не смотря на то, что в статье преподносится много очевидных вещей, мне она показалась достойной обсуждения на Хабре.

                Почему Вам стоит похоронить эту популярную технологию

                image
                Читать дальше →
              • Как правильно критиковать сотрудников: Кейс Facebook

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


                  Читать дальше →
                  • +11
                  • 21,5k
                  • 3
                • Ваше проектирование – отстой

                  • Перевод
                  … но это нормально. Любое проектирование отстой. И всегда будет отстоем.

                  Если вы мне не верите, давайте объясню…

                  Ни один проект не переживает встречи с реализацией


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

                  Данные, которые вы ожидали как обязательные в ответе внешнего сервиса, могут отсутствовать (или быть невалидными). Ожидаемая уникальность может оказаться совсем не уникальной на практике (даже в sha1 когда-нибудь случаются коллизии). Процессы, которые предполагались надежными, будут падать гораздо чаще, чем вы ожидали.

                  Это нормально.

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

                  Недостающие данные могут быть сделаны опциональными или заменены умолчальными.

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

                  Ограничение уникальности можно
                  Читать дальше →