• Favicons, Touch Icons, Tile Icons и т. д. Что выбрать?

    • Translation
    От переводчика.
    Это перевод статьи Филипа Бернарда с сайта css-tricks.com. Часть статьи, содержащую описание работы с созданным им сервисом, я позволил себе опустить. Если вы найдете ошибки, просьба сообщить о них в личном сообщении.

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


    Фавикон был представлен в 1999 году, в Internet Explorer 5 (источник) и стандартизирован W3C несколько месяцев спустя. Это была маленькая иконка, представляющая сайт.



    С тех пор большинство настольных браузеров следуют тенденции и используют фавикон тем или иным способом. Это очень просто, не так ли? Создать маленькую картинку и добавить в любой интернет-проект, чтобы сделать его «завершённым». Ничего сложного.
    Или нет?
  • Отзывчивый размер шрифта

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


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


    Но потом появились они — vw, vh, vmin, vmax — единицы измерения, которые базируются на viewport. У нас появился шанс на отзывчивую типографику.


    Читать дальше →
  • Webpack + React. Как уменьшить бандл в 15 раз

      image

      Ясной инструкции по сборке webpack для продакшена я не нашел. Поэтому решил написать эту статью. Надеюсь, пригодится.
      Существует множество сборщиков скриптов. Я выбрал для себя Webpack по таким критериям:

      • Гибкость настройки
      • Большое количество плагинов и лоадеров
      • Lazy loading
      • Использование es6 и es7 синтаксиса с помощью babel-loader

      Читать дальше →
    • Трёхпозиционный checkbox (aka tristate) без скриптов и смс

      • Tutorial
      Понадобилось мне недавно реализовать трёхпозиционный переключатель. Ну это такой, у которого вместо двух состояний «включено/выключено», есть ещё промежуточное состояние. Это часто используется, например, в чекбоксе «выбрать всё», для того чтобы показать, что выбраны не все элементы, а только часть. В общем, захотелось такое реализовать, да чтобы без скриптов.
      Читать дальше →
    • Краткая шпаргалка по tmux (менеджеру терминалов)

        tmux — это менеджер терминалов, к которому удобно подключаться и отключаться, не теряя при этом процессы и историю. Как screen, только лучше (в первую очередь потому, что использует модель клиент—сервер).

        image

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

        Читать дальше →
      • Мультиплеер в быстрых играх (Часть III: появление врага)

        • Translation


        1. Части I, II (синглплеер с авторитарным сервером)
        2. Часть III (Появление врага)
        3. Часть IV (Хэдшот!)

        Введение


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

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

          Сколько человек запоминает после пройденного им обучения? Обучаемый в среднем запоминает 10% прочитанного, 20% услышанного, 30% увиденного … 90% того, что сделал сам. Многие сталкивались c этими цифрами. Они приводятся отдельно или часто совмещаются с так называемой пирамидой обучения или конусом опыта. И все было бы хорошо и замечательно, если бы этими цифрами не был заполнен весь интернет, а сами они не являлись обманом и мистификацией.


          Читать дальше →
        • Иммутабельность в JavaScript

          • Tutorial

          habracut


          Что такое иммутабельность


          Неизменяемым (англ. immutable) называется объект, состояние которого не может быть изменено после создания. Результатом любой модификации такого объекта всегда будет новый объект, при этом старый объект не изменится.

          Читать дальше →
        • Программист ли я, или просто хорошо гуглю?

            Письмо Скотту Хансельману


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

            От переводчика


            Всем привет, с вами Максим Иванов, и сегодня мы поговорим об одном из постов Скотта Хансельмана (Scott Hanselman), который он написал по причине довольно серьезного и хорошо сформулированного письма к нему. В общем-то, меня вдохновила одна из статей на нашем ресурсе под названием Google-oriented programming. Больше всего мне понравилось то, что в программистах порой может появиться синдром самозванца. Конечно, труды Хансельмана не единственны в этом мире с точки зрения психологии, но он дает четко нам понять, что это нормально. Как он пишет: «Но вот в чем дело. Мы все иногда чувствуем себя обманщиками. Мы все обманщики. Это часть роста. Мы попадаем в ситуации, которые немного сложнее того, с чем мы можем справиться. Но мы справляемся с ними, мы не обманщики, и мы двигаемся к следующему испытанию.» Так давайте же разберемся, какие решения и выводы Скотт предлагает нам в своем посте. Приступим.
            Читать дальше →
          • Сосчитать незримое: достоверно определяем словарный запаc


              В школе Skyeng мы редко обучаем английскому с нуля. Обычно к нам приходят люди, уже обладающие каким-то набором знаний, причем этот набор бывает самым разным. Для того, чтобы обучение было полезным, нам нужно как-то определить границу этих знаний. Если в случае грамматики это относительно просто (выясняется на первых занятиях с методистом), то уточнение границ словарного запаса – задача не самая тривиальная. Для ее решения мы разработали и запустили инструмент WordMash.

              Читать дальше →
            • 5 достойных изучения проектов с открытым исходным кодом на React Native

              • Translation
              Изучение открытого исходного кода – это лучший способ научиться писать качественный код, особенно если речь идет о новом инструменте с не полностью сформировавшимися стандартами. Одним из таких инструментов является React Native. Он постоянно дорабатывается, функциональность его API расширяется с каждым релизом, а количество библиотек растет. В то же время большинство обучающих ресурсов по работе с React Native очень поверхностны и не идут дальше вступительных рекомендаций. Но даже несмотря на это, изучение исходного кода должно быть нормой для каждого разработчика.

              Я хочу представить 5 проектов с открытым исходным кодом, которые я изучаю сам и советую остальным.

              Читать дальше →
              • +21
              • 35.9k
              • 7
            • Каково это — быть разработчиком, когда тебе сорок

              • Translation
              Примечание от переводчика:

              Этот пост был написан и опубликован на Medium разработчиком приложений Адрианом Космачевским из Швейцарии. Кроме подготовки перевода его публикации, я также пригласил и самого автора, Адриана ( akosma ), на Хабр, для того, чтобы он смог лично ответить на любые вопросы участников сообщества, если таковые возникнут. Думаю, для общего удобства при общении в комментариях с ним стоит использовать английский (и, при желании, дублировать на русском).



              Привет всем, я — сорокадвухлетний программист-самоучка, а это моя история.

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

              image

              Эти размышления привели меня туда, откуда все начиналось.

              Я дебютировал в роли разработчика программного обеспечения в 10 часов утра 6 октября 1997 года, в городе Оливос, к северу от Буэнос-Айреса, в Аргентине. Был понедельник. Не так давно я праздновал свой 24-й день рождения.

              Мир в 1997 году


              Тогда он был немного другим. На веб-сайтах не было предупреждений об использовании cookie. Новаторскими в сети были сайты вида Excite.com, а моим любимым поисковиком был AltaVista.

              Мой электронный ящик имел вид kosmacze@sc2a.unige.ch и был расположен на личном веб-сайте, который размещался по адресу http://sc2a.unige.ch/~kosmacze. Тогда мы еще оплакивали принцессу Диану, а Стив Джобс только-только вернулся на роль CEO и убедил Microsoft «вбросить» в Apple Computer 150 миллионов долларов. Digital Equipment Corporation подала в суд на Dell, останки Че Гевары вернули на Кубу, только начался четвертый (!) сезон «Друзей». Был убит Джанни Версаче, скончались Мать Тереза, Рой Лихтенштейн и Жанна Кальман. Люди зависали за Final Fantasy 7 на PlayStation, будто бы были наркоманами, Би-Би-2 начал вещание телепузиков, а Кэмерон только собирался показать миру свой «Титаник».
              Читать дальше →
            • Основы Elasticsearch

                Elasticsearch — поисковый движок с json rest api, использующий Lucene и написанный на Java. Описание всех преимуществ этого движка доступно на официальном сайте. Далее по тексту будем называть Elasticsearch как ES.


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


                В этой статье я расскажу про основы ES на примере индексации постов блога. Покажу как фильтровать, сортировать и искать документы.

                Читать дальше →
              • Английский для работы: советы из собственного опыта

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


                  Читать дальше →
                • Как закончить Театральный институт и стать руководителем в Yandex – лекция Григория Бакунова в Университете Иннополис



                    В неформальной беседе директор по распространению технологий компании Yandex рассказал студентам Университета Иннополис о нейронных сетях, технологиях будущего и объяснил, почему создание Self-Driving Car — уже скучная задача. Содержательная беседа о мире ИТ, современных знаниях и фантастах прошлого столетия. Всё это в одной лекции, которую обязательно нужно посмотреть!
                    Смотреть видео
                  • [ В закладки ] Алгоритмы и структуры данных в ядре Linux, Chromium и не только

                    • Translation
                    Многие студенты, впервые сталкиваясь с описанием какой-нибудь хитроумной штуки, вроде алгоритма Кнута – Морриса – Пратта или красно-чёрных деревьев, тут же задаются вопросами: «К чему такие сложности? И это, кроме авторов учебников, кому-нибудь нужно?». Лучший способ доказать пользу алгоритмов – это примеры из жизни. Причём, в идеале – конкретные примеры применения широко известных алгоритмов в современных, повсеместно используемых, программных продуктах.



                    Посмотрим, что можно обнаружить в коде ядра Linux, браузера Chromium и ещё в некоторых проектах.
                    Читать дальше →
                    • +140
                    • 80.7k
                    • 15
                  • Предотвращаем рак: способы избежать половины опухолей на примере отдельно взятой канадской провинции

                      Исследование канадских учёных в одной отдельно взятой провинции с населением 3,8 миллиона человек показало, что около 45% случаев рака связаны с факторами, которые можно предотвратить. Курение, отсутствие физических нагрузок, нездоровое питание, лишний вес и алкоголь повышают шанс образования опухолей.

                      image
                      Читать дальше →
                    • Полный перевод Unix-коанов на русский язык



                        Представляю на ваш суд ещё один перевод коанов о Мастере Фу на русский язык. В данный сборник вошли все коаны, на данный момент опубликованные на сайте Эрика Реймонда. Надо сказать, что сам Эрик личность весьма неординарная, но упоминания в данной статье стоящая. Помимо холиваров в списках рассылки всевозможных проектов за его авторством также несколько серьёзных трудов о Unix — в том числе и о сообществе, без которого экосистема современных открытых проектов не была бы возможной (полный список книг). Идея перевести коаны в очередной раз пришла мне в голову во время чтения одного из таких трудов, а именно «The Art of Unix Programming», поскольку многое из скрытого смысла коанов становится ясно только после прочтения очередной главы оттуда.

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

                        Итак
                      • Как работает реляционная БД

                        • Translation
                        • Tutorial
                        Реляционные базы данных (РБД) используются повсюду. Они бывают самых разных видов, от маленьких и полезных SQLite до мощных Teradata. Но в то же время существует очень немного статей, объясняющих принцип действия и устройство реляционных баз данных. Да и те, что есть — довольно поверхностные, без особых подробностей. Зато по более «модным» направлениям (большие данные, NoSQL или JS) написано гораздо больше статей, причём куда более глубоких. Вероятно, такая ситуация сложилась из-за того, что реляционные БД — вещь «старая» и слишком скучная, чтобы разбирать её вне университетских программ, исследовательских работ и книг.

                        На самом деле, мало кто действительно понимает, как работают реляционные БД. А многие разработчики очень не любят, когда они чего-то не понимают. Если реляционные БД используют порядка 40 лет, значит тому есть причина. РБД — штука очень интересная, поскольку в ее основе лежат полезные и широко используемые понятия. Если вы хотели бы разобраться в том, как работают РБД, то эта статья для вас.
                        Читать дальше →
                      • Анализ изображений и видео. Обнаружение текста на изображениях

                          Сегодня мы публикуем последнюю лекцию курса «Анализ изображений и видео», прочитанного Натальей Васильевой — старшим научным сотрудником HP Labs и руководителем HP Labs Russia. Наталья Сергеевна читала курс, посвящённый анализу изображений, в петербургском Computer Science Center, который создан по совместной инициативе Школы анализа данных Яндекса, JetBrains и CS клуба.



                          Всего в программе девять лекций, из которых уже были опубликованы:
                          1. Введение в курс «Анализ изображений и видео»;
                          2. Основы пространственной и частотной обработки изображений;
                          3. Морфологическая обработка изображений;
                          4. Построение признаков и сравнение изображений: глобальные признаки;
                          5. Построение признаков и сравнение изображений: локальные признаки;
                          6. Поиск по подобию. Поиск нечетких дубликатов;
                          7. Классификация изображений и распознавание объектов;
                          8. Анализ изображений и видео. Сегментация изображений.

                          Под катом вы найдете план новой лекции и слайды.
                          Читать дальше →
                          • +35
                          • 24.6k
                          • 1