• Методики и инструменты для разработки стилей веб-страниц

    • Translation
    Не будем ходить вокруг да около, скажем прямо: процесс написания хорошего CSS-кода может быть очень и очень тяжёлым. Многие разработчики не хотят связываться со стилями. Они готовы заниматься всем, чем угодно, но только не CSS.



    Автор материала, перевод которого мы предлагаем сегодня вашему вниманию, говорит, что он и сам не любил ту часть веб-разработки, которая имеет отношение к CSS. Но от этого никуда не деться. В наши дни огромное внимание уделяется дизайну, и тому, что называют «пользовательским опытом», а без CSS тут никак не обойтись. Цель этого материала — помочь всем желающим улучшить свои навыки в разработке и применении стилей веб-страниц.
    Читать дальше →
  • Как мы масштабировали Nginx и ежедневно экономим миру 54 года ожидания

    • Translation
    «Команда @Cloudflare только что внесла изменения, которые значительно улучшили производительность нашей сети, особенно для самых медленных запросов. Насколько стало быстрее? Мы оцениваем, что экономим интернету примерно 54 года времени в день, которое иначе было бы потрачено на ожидание загрузки сайтов». — твит Мэтью Принса, 28 июня 2018 года

    10 миллионов сайтов, приложений и API используют Cloudflare, чтобы ускорить загрузку контента для пользователей. В пике мы обрабатываем более 10 миллионов запросов в секунду в 151 дата-центре. За годы мы внесли много изменений в нашу версию Nginx, чтобы справиться с ростом. Эта статья об одном из таких изменений.
    Читать дальше →
    • +29
    • 10.3k
    • 4
  • PWA — это просто

      image
      Понятие Progressive Web Applications (PWA) на слуху давно, с весны 2018 года приложения этого класса поддерживаются всеми основными браузерами, однако распространенность технологий PWA несмотря на очевидные их «плюсы» пока очень низка.

      Специалисты Google (в том числе и на Хабре) очень информативно и компетентно пишут о PWA, но их рекомендации полезны больше тем, кто уже знаком с предметом. Данная статья призвана показать, что Progressive Web Apps — это не сложно, и использовать эти технологии можно и нужно уже сейчас разработчикам любых сайтов.
      Читать дальше →
    • JS-код, римские цифры, геометрические загадки: как мы шифруем свой возраст



        Каждый год ко дню рождения DataArt мы дарим коллегам фирменные футболки. В год нашего двадцатиления традиции исполнилось 10 лет. Мы отыскали и сфотографировали футболки, с которых все начиналось, и модели последних лет. В некоторых зашифрованы загадки, о которых успели забыть даже их авторы.
        Читать дальше →
        • +17
        • 5.1k
        • 9
      • Сортировка… хэш-таблицей (ещё подсчётом-деревом и HashMap'ом)

        Три дня назад я задумался об объединении сортировки подсчётом и деревом. Обсудив её с коллегой, пришли к следующему решению: вместо TreeSet использовать HashMap (при чём здесь вообще TreeSet, можно посмотреть ниже). Но и этого мне показалось мало, так что я решил реализовать собственную хэш-таблицу и посмотреть, что из этого выйдет. Результаты показались мне довольно интересными.
        Читать дальше →
      • Полезные сниппеты для Nginx конфигов



          Доброго времени суток, уважаемые хабравчане! В Elasticweb мы негласно ратуем за Nginx и, наверное, мы одни из немногих хостингов, которые не поддерживают Apache и .htaccess соответственно. В связи с этим, большое количество обращений в тех. поддержку связано с оказанием помощи в написании конфигурационного файла для Nginx. Поэтому мы решили собрать коллекцию полезных сниппетов и коллекцию готовых Nging конфигов для наиболее популярных CMS/CMF/Фреймворков на PHP.

          Читать дальше →
        • Лучшие бесплатные коллекции векторных иконок

            Привет, Хабр! Сегодня я хочу представить вам огромную коллекцию из 51 набора бесплатных векторных иконок. Да, есть потрясающие ресурсы Flaticon или Iconfinder, но бывают случаи, когда необходима именно группа иконок в едином стилистическом оформлении. Определиться с выбором, вам поможет эта подборка. Я старался собрать не как можно больше, а действительно самое лучшее.

            Среди веб-разработчиков существует много споров о том, что лучше: иконочный шрифт или SVG спрайты? Четкого ответа на этот вопрос нет. Каждый выбирает свое. Данные наборы иконок вас неограничиывают в выборе, поскольку представлены в различных форматах: @font-face, SVG, EPS, AI, PSD, Sketch.

            В целом данная подборка содержит более 10 000 иконок, охватывающих множество категорий: интерфейсы, технологии, наука, спорт, маркетинг, среда, транспорт и тд. Полые, заполненные, цветные, во Flat, Material, Elegant, Cartoon, Hand drawing стилях.

            Responsive Icons (100 иконок, PSD, AI, EPS, SVG)


            Responsive Icons

            Читать дальше →
          • Пионер омоложения Обри де Грей: «У людей среднего возраста появился хороший шанс»

            • Translation


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

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

            Но хорошая новость для Обри де Грея и тех, кто его поддерживает, – это то, что в наши дни его взгляды не кажутся уже настолько радикальными. Академические круги и частный бизнес участвуют в борьбе со старением; его SENS Research Foundation, например, основал пять различных компаний. «Преодоление старения, – говорит он, – не просто вопрос будущего; теперь это индустрия, которая будет одновременно и выгодна и очень полезна вашему здоровью».

            Де Грей поделился с главным редактором LeapsMag Кирой Пейкофф на Всемирном Саммите Стволовых Клеток в Майами новостями о своей работе.
            Читать дальше →
          • Мои шаги, успехи и ошибки в мире геймдева на примере игрового бота в Telegram

            Всем привет! Меня зовут Максим и я хочу рассказать вам историю создания проекта Wasteland Wars. Надеюсь, вам будет интересно, и, возможно, что-нибудь из этого сможет помочь вам избежать моих ошибок.
            Читать дальше →
          • C DevTools на Эльбрус: яркие доклады HolyJS 2018 Piter



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

              Поэтому рассказать вам о прошедшей конференции мы решили так: описать несколько полюбившихся зрителям докладов (приведя для примера цитаты из них), а в тех случаях, когда доклад попал в открытую трансляцию, сразу давать ссылку с таймкодом. Можно и получить общее впечатление о мероприятии, и лично приобщиться к рассказанному там.
              Читать дальше →
              • +43
              • 7.3k
              • 1
            • graphql — оптимизация запросов к базе данных

              • Tutorial
              При работе с базами данных существует проблема которую принято называть «SELECT N + 1» — это когда приложение вместо одного запроса к базе данных, который выбирает все необходимые данные из нескольких связанных таблиц, коллекций, — делает дополнительный подзапрос для каждой строки результата первого запроса, чтобы получить связанные данные. Например, сначала мы получаем список студентов университета, в котором его специальность обозначена идентификатором, а потом для каждого из студентов делаем дополнительный подзапрос в таблицу или коллекцию специальностей, чтобы по идентификатору специальности получить наименование специальности. Поскольку каждый из подзапросов может потребовать еще один подзапрос, и еще один подзапрос — колчество запросов к базе данных начинает расти в геометрической прогрессии.

              При работе с graphql очень просто породить проблему «SELECT N + 1», если в resolver-функции сделать подзапрос к связанной таблице. Первое что приходит в голову — сделать запрос сразу с учетом всех связанных данных, но это, согласитесь, нерационально, если связанные данные не запрашиваются клиентом.

              Один из вариантов решения проблемы «SELECT N + 1» для graphql будет рассмотрен в этом сообщении.
              Читать дальше →
            • Неудовольствие обнуляет уровень счастья: почему невозможно постоянно быть счастливым

              • Translation


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

              Многие повседневные функции работы мозга кажутся настолько естественными, что мы с трудом можем дистанцироваться от них, чтобы посмотреть на них со стороны. Мозг занимается тем, что замечает разные вещи. Очевидно, что основная работа мозга заключается в восприятии; на базе воспринятого он может делать оценки, а на основе их – действовать. Эту работу выполняют нейроны нервной системы. Они находят и представляют входные данные внешнего (и внутреннего) мира, анализируют данные, и реагируют на этот анализ соответствующим действием. Под действием обычно понимается движение: нейроны отправляют сигналы, заставляющие мускулы сокращаться, что позволяет вам выполнять какие-то действия. Входные данные поступают с органов чувств, анализ часто называют ассоциативным, а выход – моторикой. Троица чувства/ассоциативный анализ/моторика – это нейронный аналог восприятия/оценки/действия.
              Читать дальше →
            • Изучаем многопоточное программирование в Go по картинкам

              • Translation
              • Tutorial

              Скорее всего, вы уже слышали о языке программирования Go, популярность его постоянно растет, что вполне обоснованно. Этот язык простой, быстрый и опирается на прекрасное сообщество. Один из самых любопытных аспектов языка — это модель многопоточного программирования. Примитивы, положенные в ее основу, позволяют создавать многопоточные программы легко и просто. Эта статья предназначена для тех, кто хочет изучить эти примитивы: горутины и каналы. И, через иллюстрации, я покажу, как с ними работать. Надеюсь, это будет для вас хорошим подспорьем в дальнейшем изучении.
              Читать дальше →
            • Практика применения прокси-объектов в JavaScript

              • Translation
              Возможно, вы слышали о том, что в JavaScript ES6 появились новые объекты — так называемые прокси. Тем, кто знает о том, что такое прокси-объекты, и умеет с ними работать, они могут принести немалую пользу. Сегодня мы публикуем перевод материала, который направлен на то, чтобы объяснить всем желающим особенности работы с прокси-объектами JS на множестве примеров.

              image

              Также откройте в новой вкладке наш предыдущий пост: JavaScript-прокси: и красиво, и полезно
              Читать дальше →
            • Новшества Node.js 10 в области разработки и безопасности

              • Translation
              Недавно был выпущен Node.js 10.0.0. Это — седьмой основной релиз платформы. Он, в октябре 2018, получит статус LTS на три года. Обычно основные релизы Node выпускают два раза в год. Один — в апреле, а второй — в октябре. В материале, перевод которого мы сегодня публикуем, дан обзор основных новшеств Node.js 10.0.0 с точки зрения разработки серверных приложений и безопасности.

              image
              Читать дальше →
            • Обновления Material Design: как жить дальше

              • Tutorial
              Могут ли кнопки быть шестиугольными?
              image

              Google I/O 2018 оставила огромное количество материала для осмысления. Что нового? Как жить дальше? Устарело ли моё приложение? Могут ли кнопки быть шестиугольными? Дизайнеры снова больше не нужны? Осмысливать приятней не спеша и маленькими порциями. Эта порция — про дизайн.
              Читать дальше →
            • Чем Figma лучше Photoshop для разработки веб-интерфейсов



                Огромное количество дизайнеров во всем мире в качестве инструмента для разработки веб-интерфейсов использует Adobe Photoshop. В этом нет ничего удивительного — Photoshop способен справиться практически с любой задачей, которая имеет отношение к графике.

                Но как и все комбайны, инструмент от Adobe в некоторых случаях уж слишком неповоротлив и сложен. При решении специфических задач, включая разработку веб-интерфейсов, можно попробовать и другие инструменты. Среди прочих можно назвать Sketch, Adobe XD и Figma. Сейчас предлагаем поговорить как раз о последнем, остальные обсудим в следующих публикациях.
                Читать дальше →
              • Как программисту переехать на Кипр



                  Disclaimer: Эту статью я начал писать достаточно давно и закончил только сейчас, так как не было времени. За это время было опубликовано еще 2 аналогичные статьи: вот эта и вот эта. Часть информации в статье повторяет информацию из этих двух статей. Однако, так как всё описанное в статье я рассматриваю через призму собственного опыта, я решил оставить ее без изменений.

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