• Двойное затмение! Или почему Карбондейл, штат Иллинойс, является особенным

    • Перевод
    • Tutorial


    Перевод блога Double Eclipse! Or Why Carbondale, Illinois, Is Special Джеффри Брайанта, исследователя-программиста, Wolfram|Alpha Scientific Content.
    ________________________________________________________________________________

    Предстоящее 21 августа 2017 года полное солнечное затмение — само по себе захватывающее событие. Но также интересно отметить, что 8 апреля 2024 года произойдет еще одно полное солнечное затмение, путь которого пройдет почти перпендикулярно затмению происходящему в этом году.



    Используя несколько команд для обработки внешнего вида и масштаба карты, вы можете увидеть, что город Карбондейл, штат Иллинойс, находится очень близко к месту пересечения траекторий. Если вы там живете, вы сможете увидеть полное солнечное затмение дважды всего за семь лет.
    Читать дальше →
  • Готовьтесь к полному солнечному затмению 2017 года

    • Перевод
    • Tutorial


    Перевод поста Get Ready for the Total Solar Eclipse of 2017 Джеффри Брайанта, исследователя-программиста, Wolfram|Alpha Scientific Content.
    ________________________________________________________________________________

    21 августа 2017 года в некоторых частях западного полушария произойдет событие, которое раньше не наблюдало большинство людей на протяжении всей их жизни. Полное затмение Солнца покроет поверхность Соединенных Штатов и близлежащих океанов. Несмотря на то, что затмения такого типа не являются редкостью по всему миру, вероятность того, что это произойдет рядом с вами, довольно мала — и зачастую случается лишь один раз в жизни, если, конечно, вы не путешествуете по миру регулярно. В этом году полное затмение будет находиться в приемлемой для поездки на машине дистанции для большинства людей в 48 континентальных штатах.

    Полное затмение Солнца является результатом движения Луны перед Солнцем, с точки зрения наблюдателя на Земле. Тень Луны довольно мала и только соприкасается с земной поверхностью в небольшой области, как показано на следующей иллюстрации.
    Читать дальше →
  • Новые функции в Laravel 5.5

    • Перевод

    Laravel 5.5
    Новый релиз Laravel 5.5 станет релизом долгосрочной поддержки (Long Term Support, LTS). Это значит, что он будет получать правки багов в течение 2х лет, а обновления безопасности — в течение 3х. Таким же был релиз Laravel 5.1, но его двухгодичный срок правок подходит к концу в этом году. Давайте посмотрим без лишней суеты, что нас ждет в новой версии.

    Читать дальше →
  • Security Week 33: Flash, давай до свидания, расширения Chrome крадут трафик, выложен ключ от прошивки Apple SEP

      Нет, вы только вдумайтесь в эту цифру: 1033 (тысяча тридцать три) уязвимости в Flash Player законопачено с 2005 года! Это больше, чем в Internet Explorer, больше, чем в Windows XP — в общем, через него «теперь хорошо вермишель отбрасывать», поскольку тема закрыта.

      В свое время Flash Player стал настоящей революцией для веба – благодаря ему на сайтах буйно заколосилась анимация, поперли видосики, свистелки, игры для секретарей на ресепшене, ну и, конечно, убойные баннеры (хотел повесить тут пару примеров, но от воспоминаний глаз задергался). Были даже сайты, полностью сделанные на флеше.

      Больше всех любили Flash «черные шляпы». Благо, его уязвимости – ходовой товар, и недостатка в них никогда не наблюдалось. Особенно урожайным выдался 2015 год, когда в «решете» насчитали еще 329 новеньких дыр. А ведь еще в 2010 году Джобс предупреждал, что Flash пора вынести на помойку. Причем главным аргументом была его закрытость. Ну да, глава Apple признал, что у его компании полно собственных проприетарных стандартов, но не для веба же! При этом, кстати, Adobe всячески препятствует появлению и развитию альтернативных проигрывателей Flash. В результате имеем свободный выгул для эксплойтов, раздолье для крупного и мелкого рогатого зловреда.
      Читать дальше →
    • Реализация и альтернатива основных JQuery функций на чистом JavaScript

      Когда я начинал учить веб-программирование, встретил лучший из всех, по моему мнению, фреймворков — JQuery. В то далёкое время нельзя было представить нормальное программирование без него, так как он мог делать одной строкой то, что делал JavaScript за 95.

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

      Так вот, в этой статье я хочу рассказать о реализациях некоторых функций из JQuery на чистом JavaScript.
      Читать дальше →
    • Описание алгоритмов сортировки и сравнение их производительности

      Вступление


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

      Во многом статья посвящена тому, как написать все алгоритмы и протестировать их. Если говорить о самом программировании, то иногда могут возникнуть совершенно неожиданные трудности (во многом благодаря оптимизатору C++). Однако не менее трудно решить, какие именно тесты и в каких количествах нужно сделать. Коды всех алгоритмов, которые выложены в данной статье, написаны мной. Доступны и результаты запусков на всех тестах. Единственное, что я не могу показать — это сами тесты, поскольку они весят почти 140 ГБ. При малейшем подозрении я проверял и код, соответствующий тесту, и сам тест. Надеюсь, что статья Вам понравится.
      Читать дальше →
    • Импровизированный считыватель штрих кодов для 1С через Telegram на Go

      Всем привет! Хочу поделиться тем, что возможно кому-то пригодится.

      Захотелось, для разнообразия, что-нибудь несложное реализовать на Go, и тут параллельно были прочтены статьи на хабре про Telegram-ботов, а на работе проект по интеграции штрих-кодирования и 1С, ну вот и было решено совместить приятное с полезным и реализовать импровизированный считыватель штрих-кодов для тестирования и на пощупать как в 1С это работает.
      Читать дальше →
    • «Один из ежедневных процессов ускоряется с 3 часов до 15 минут»: Андрей Богословских о in-memory computing в СберТехе



        Слова «in-memory computing» звучат заманчиво и футуристично. Кому бы не хотелось устранить «бутылочное горлышко» скорости жёсткого диска, храня и обрабатывая данные в памяти? Но на практике возникают нюансы: например, из-за энергозависимости оперативной памяти данные всё равно надо дублировать в постоянной, и выигрыш получается при чтении, но не при записи. Каково реально работать с этим?

        Большим соответствующим опытом обладают «Сбербанк-Технологии», где сейчас активно работают с Apache Ignite и даже инвестировали в создавшую его компанию GridGain. Поэтому мы решили задать несколько вопросов об этом опыте: разумеется, его нельзя слепо переносить на любую другую компанию, но он всё равно ценен. На них ответил Андрей Богословских, директор Центра Компетенции платформы поддержки развития бизнеса.
        Читать дальше →
        • +17
        • 4,3k
        • 1
      • Mountebank: гибкое мокирование web API

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

        Даже если вам повезло и ваш продукт имеет минимум зависимостей от внешних сервисов, скорее всего внутри он разбит на компоненты (классика жанра — backend/frontend), которые можно и нужно тестировать по отдельности. Это значит, что внешней зависимостью уже является api соседнего компонента, команда разработки которого совсем не горит желанием предоставлять вам инструменты для управления его состоянием.

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

        Решить эту проблему может мокирование API внешних систем.

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

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

        Возможности mountebank'а:

        • мокирование API на протоколах tcp, http, https, smtp;
        • мокирование неограниченного количества API одновременно;
        • гибкое переопределение логики mock-API прямо во время тестов используя конфигурационный API mountebank'a;

        Читать дальше →
      • История Linux (1993–2003): испытание дистрибутивов

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

        Как это было? Как воспринимаются сегодня древние дистрибутивы Linux? Что изменилось за годы развития? Выясним это. Первым пунктом нашего путешествия станет ОС Slackware 1.01, оправленная в группу новостей comp.os.linux.announce 20 лет назад.
        Читать дальше →
      Самое читаемое