• Анатомия тысячи шрифтов

    • Перевод


    Перевод статьи The anatomy of a thousand typefaces.

    Даже годы спустя после выхода фильма Avatar остаётся кое-что, с чем не может справиться даже Райан Гослинг — использование шрифта Papyrus в логотипе фильма. В пародии, снятой Saturday Night Live, дизайнер шрифтов открывает меню, перебирает шрифты и случайным образом выбирает Papyrus.


    Главная проблема выбора шрифтов — одновременно слишком много и слишком мало вариантов.

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

    С другой стороны, библиотеки веб-шрифтов с сотнями и тысячами наименований поражают изобилием, что иногда приводит к парадоксальным выборам шрифтов.
    Читать дальше →
    • +31
    • 11k
    • 7
  • Как создать свой первый безопасный веб-сервер, готовый к продуктиву

    • Перевод
    • Tutorial
    В этом руководстве мы рассмотрим некоторые из лучших методик создания своего первого безопасного сервера. Мы пошагово разберём весь процесс, и в результате получим сервер, полностью готовый к использованию в продуктиве для вашего приложения. Конечно, это не исчерпывающее руководство. Безопасный сервер — это постоянный поиск новых ресурсов и бесконечные улучшения. Но с этим материалом вы можете начать создавать собственную инфраструктуру.

    Для прогона тестов мы будем использовать Amazon EC2, но можно взять и Amazon LightSail, Digital Ocean, Vultr или другой сервис. Все они конфигурируются одинаково, так что выбирайте тот, который вам по душе.


    Читать дальше →
  • Присвоение имён: руководство для программиста

    • Перевод
    • Tutorial
    Перевод Naming 101: Programmer’s Guide on How to Name Things.

    Присвоение имён — одна из главных трудностей в разработке. Невозможно подсчитать, сколько времени мы тратим на обдумывание имён и на попытки разобраться в коде с плохими именами. И не важно, объекты это, методы, классы или что-то другое. Считается доказанным фактом, что мы тратим больше времени на чтение кода, а не на его написание, поэтому хорошие правила присвоения имён в будущем облегчат вам жизнь.

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

    Ниже объясним важность хороших правил присвоения имён и поделимся полезными советами.
    Читать дальше →
    • +11
    • 11,4k
    • 5
  • Структура и модель выполнения .NET Core приложений

      В этой статье я рассмотрю компоненты платформы .NET Core 2.0, необходимые для загрузки и выполнения .NET Core-приложений, а также артефакты для двух возможных типов развертывания.

      Текст объемный и рассчитан на:

      • начинающих разработчиков, которые только знакомятся с платформой .NET Core;
      • опытных разработчиков, выполняющих роль DevOps-инженеров в produсtion-окружении.

      В статье не упоминается процесс создания приложений при помощи SDK (dotnet CLI), однако эта информация будет полезной для понимания, как работает SDK, а именно её основной компонент (ядро) — «драйвер» dotnet.dll, поскольку эта библиотека является управляемой сборкой и выполняется на .NET Core.

      Примеры процессов выполнения описаны для ОС Windows, но работают по тому же принципу и на других ОС (с учетом различных расширений исполняемых файлов и нативных библиотек).
      Читать дальше →
    • Анонс встречи WordPress Meetup #4 в Харькове


        Приглашаем на четвертую встречу WordPress Meetup! В программе 2 интересных доклада, блок вопросов и ответов с нашими докладчиками, возможность поделиться опытом и научиться чему-то новому, а также с уютом и пользой провести пятницу в компании единомышленников.
        Читать дальше →
      • Анонс митапа Sync.NET #5 в Харькове



          Приглашаем на пятую встречу Sync.NET-комьюнити! В программе крутые доклады, вкусные кофе-брейки, общение с нашими докладчиками — всё, чтобы провести первую пятницу зимы с пользой и хорошим настроением.
          Читать дальше →
        • Чем отличаются JavaScript и ECMAScript?

          • Перевод
          Перевод What’s the difference between JavaScript and ECMAScript?

          Как-то мы попробовали гуглить «различие между JavaScript и ECMAScript».

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

          «ECMAScript — это стандарт».
          «JavaScript — это стандарт».
          «ECMAScript — это спецификация».
          «JavaScript — это реализация стандарта ECMAScript».
          «ECMAScript — стандартизованный JavaScript».
          «ECMAScript — это язык».
          «JavaScript — это диалект ECMAScript».
          «ECMAScript — это JavaScript».


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

          В этой статье представлено наше понимание различий между JavaScript и ECMAScript. Статья написана для тех, кто знаком с JavaScript, но хочет получить более четкое представление о его взаимоотношениях с ECMAScript, веб-браузерами, Babel и так далее. Вы также узнаете о скриптовых языках, движках JavaScript и средах выполнения JavaScript.

          Ну что, погнали.
          Читать дальше →
        • Раскрашиваем чёрно-белую фотографию с помощью нейросети из 100 строк кода

          • Перевод

          Перевод статьи Colorizing B&W Photos with Neural Networks.

          Не так давно Амир Авни с помощью нейросетей затроллил на Reddit ветку /r/Colorization, где собираются люди, увлекающиеся раскрашиванием вручную в Photoshop исторических чёрно-белых изображений. Все были изумлены качеством работы нейросети. То, на что уходит до месяца работы вручную, можно сделать за несколько секунд.

          Давайте воспроизведем и задокументируем процесс обработки изображений Амира. Для начала посмотрите на некоторые достижения и неудачи (в самом низу — последняя версия).
          Читать дальше →
        • Анонс митапа ThinkJava #6, Харьков

            Приглашаем всех Java-разработчиков на шестую встречу ThinkJava-комьюнити! Будем говорить о разработке реактивных приложений, а перерывах — общаться на кофе-брейках и делиться впечатлениями об услышанном и собственным опытом.
            Читать дальше →
          • Проектируем микросервисную архитектуру с учётом сбоев

            • Перевод
            Перевод статьи Designing a Microservices Architecture for Failure.

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

            В этой статье представлены самые распространённые методики и архитектурные шаблоны для построения и оперирования высокодоступной микросервисной системой.
            Читать дальше →
          Самое читаемое