• Запускаем несколько терминалов Linux в одном окне

    • Translation
    Linux предлагает множество способов разбить окно терминала на несколько мини-экранов, что позволяет обеспечить в определенном смысле «многозадачный» режим работы. Это можно сделать как минимум пятью разными способами.


    Казалось бы, что может быть лучше тёплого мерцания терминала Linux? -)
    Оказывается, вот что: тёплое мерцание двух терминалов! На самом деле, чем больше, тем лучше.
    Читать дальше →
  • Повышаем надёжность HttpClient’а в .NET Core или как ошибиться в 3 строках кода 4 раза

      За несколько недель до 14 февраля системе Dodo IS немного поплохело под нагрузкой. Одной из причин стало то, что в backend’ах мобильного приложения и сайта не совсем корректно работали политики поверх HttpClient’а (Retry, Circuit Breaker, Timeout). В этой статье я хочу поделиться с вами потенциальными проблемами, которые могут возникнуть при неправильном использовании таких политик.


      Читать дальше →
    • Почему SQL Server не гарантирует сортировку результатов без ORDER BY

      • Translation
      И снова здравствуйте. В июне OTUS вновь запускает курс «MS SQL Server разработчик», традиционно в преддверии старта курса мы начинаем делиться с вами материалом по теме.




      Если в вашем запросе отсутствует ORDER BY, то вы не можете быть уверены в том, что сортировка результатов не изменится со временем.

      Конечно, поначалу все будет довольно предсказуемо, но по мере того, как происходят изменения (в индексах, таблицах, конфигурации сервера, объеме ваших данных), вы можете столкнуться с некоторыми неприятными сюрпризами.
      Читать дальше →
    • Эффект реалистичного перелистывания страниц на JS

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



        Демо и документация
        Github

        Подобный эффект я реализовывал данным давно, еще в университете и на Delphi. Получилось вполне достойно, правда времени я потратил тогда очень много. Сейчас — во время самоизоляции, стало интересно реализовать что-то подобное на JS, для PC и мобильных устройств.

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

        Написано все на Typescript. Не использовались ни какие сторонние библиотеки. Зависимостей нет.

        Ключевые особенности библиотеки


        • Работает как с простыми изображениями, с отрисовкой на canvas, так и с html блоками — используя css трансформации
        • Довольно гибкая система конфигурации и простое API
        • Поддерживает мобильные устройства
        • Автоматическая смена ориентации между портретным и ландшафтным режимом
        Читать дальше →
      • Как стать долларовым миллионером за 30 лет, лежа на диване



          На Хабре недавно вышел пост ״Новичкам фондового рынка: честные разговоры о трейдинге״. Этот пост, опубликованный в одном из самых читаемых блогов Хабра, вводит людей в заблуждение и создает у них ложное представление о том, что игра на бирже — хороший способ заработка. Это вынудило меня написать комментарий, постепенно переросший в целую статью, с детальным разбором того, почему трейдинг — это не способ разбогатеть, а способ потерять деньги, и о том, как на самом деле заработать на инвестициях.
          Поехали!
        • Ваш профессиональный спад придет (гораздо) раньше, чем вы думаете

          • Translation
          Вот как извлечь из него максимум.


          Изображение: Люси Гутьеррес

          «Неправда, что ты больше никому не нужен».

          Эти слова исходили от пожилой женщины, сидящей позади меня на позднем вечернем рейсе из Лос-Анджелеса в Вашингтон. В самолете было темно и тихо. Мужчина, которого я счел за ее мужа, почти беззвучно пробормотал в ответ что-то вроде «Лучше бы я был мертв».

          И снова женщина: «О, прекрати это говорить».

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

          Когда в конце рейса включился свет, я наконец-то увидел опустошенного человека. Я был в шоке. Я узнал его – он был и остается знаменитым на весь мир. Тогда, в возрасте восьмидесяти лет, он был любим как герой за мужество, патриотизм и достижения многих десятков лет назад.
          Читать дальше →
        • 450 бесплатных курсов от Лиги Плюща

          • Translation
          image


          Информационные технологии позволяют получить невероятно крутые образовательные ресурсы в один клик. Бесплатно.

          Я сейчас решаю задачу, как из огромной массы жизненно важного контента выбрать тот, который стоит попробовать в первую очередь, как «разметить данные», чтобы нейросеточка у подрастающего поколения обучилась более эффективно. (ontol.org, «Выгорание», «Удаленка», телеграм-канал).

          Предлагаю вашему вниманию полную подборку всех бесплатных курсов от Лиги Плюща.

          Лига плюща (The Ivy League) — ассоциация восьми частных американских университетов, расположенных в семи штатах на северо-востоке США. В состав лиги входят: Брауновский университет (Brown University), Гарвардский университет (Harvard University), Дартмутский колледж (Dartmouth College), Йельский университет (Yale University), Колумбийский университет (Columbia University), Корнеллский университет (Cornell University), Пенсильванский университет (University of Pennsylvania), Принстонский университет (Princeton University).

          Эти университеты выпустили около 500 онлайн-курсов, 450 из которых сейчас доступны.

          Оглавление


          Computer Science (37)
          Data Science (18)
          Программирование (8)
          Гуманитарные науки (80)
          Бизнес (72)
          Art & Design (20)
          Наука (32)
          Социальные науки (74)
          Здоровье и медицина (32)
          Инженерия (15)
          Образование и преподавание (21)
          Математика (14)
          Личностное развитие (7)

          Читать дальше →
          • +23
          • 23.4k
          • 5
        • Ускорение сборки проекта на CMake+GCC: предварительная компиляция заголовочных файлов

          Есть несколько причин, почему проект на С++ в среднем собирается дольше сравнимых по величине проектов на других языках, например на Java или C#. Соответственно, есть и несколько способов уменьшить время сборки. Одним из самых известных является использование предварительной компиляции заголовочных файлов (precompiled headers). Сегодня я расскажу, как использование этого способа позволило мне существенно уменьшить время сборки моего проекта.

          Читать дальше →
        • Хватит импортировать JavaScript-пакеты целиком

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

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



          Библиотека Lodash включает в себя более 200 функций. Это говорит о том, что она, и правда, способна помочь программисту в решении массы задач. Но может случиться так, что, импортировав всю библиотеку, вызовут лишь 4-5 функций. Это приводит нас к вопросу о целесообразности импорта всего пакета в ситуации, когда использовано будет лишь 2-3% его возможностей. Подумаем о том, как с этим справиться.
          Читать дальше →
        • Как самостоятельно изготовить электронную подпись

          Оговорюсь сразу — я почти дилетант в вопросах, связанных с электронной цифровой подписью (ЭЦП). Недавно, движимый естественным любопытством, я решил немного разобраться в этом и нашел в Интернете 100500 статей на тему получения сертификатов ЭЦП в различных удостоверяющих центрах, а также многочисленные инструкции по использованию различных готовых приложений для подписания документов. Кое-где при этом вскользь упоминалось, что неквалифицированную подпись можно изготовить самостоятельно, если воспользоваться услугами «опытного программиста».


          Мне тоже захотелось стать хоть немного «опытным» и разобраться в этой кухне изнутри. Для интереса я научился генерировать PGP-ключи, подписывать документы неквалифицированной подписью и проверять ее достоверность. Понимая, что никакой Америки не открыто, я, тем не менее, предлагаю этот краткий туториал для таких же, как и я, дилетантов в вопросах работы с ЭЦП. Я постарался особо не углубляться в теорию и в детали, а написать именно небольшое и краткое введение в вопрос. Тем, кто уже работает с ЭЦП, это вряд ли будет интересно, а вот новичкам, для первого знакомства — в самый раз.

          Читать дальше →
        • Коммитите в опенсорсе, работая разработчиком? Разбираемся с правами (привет, nginx)



            Ситуация с правами на код в Российской Федерации довольно интересная: по закону разработчик (физлицо) защищён очень и очень сильно. Нужно как-то весьма прилично косякнуть, чтобы оказаться неправым. А вот работодателю нужно довольно много и кропотливо бегать с бубном и бумагами, чтобы получить права на тот самый код, который пишется на его же зарплату.

            Давайте рассмотрим, что говорят законы о правах на код с обеих сторон:

            • Когда и какие права возникают у вас (как физлица) на код.
            • Как правильно устроена передача имущественных прав на код работодателю.
            • Тимлид, который делал ревью, — он соавтор или кто?
            • Можно ли коммитить в свой pet-project с рабочего компьютера в рабочее время?
            • Какой геморрой предстоит пройти, чтобы правильно использовать код, если вы его заказали?

            И так далее.

            Поехали!
            Читать дальше →
          • Стоимость денег, типы процентов, дисконтирование и форвардные ставки. Ликбез для гика, Ч.1

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

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



              Все ответы под катом. И добро пожаловать в мир, где время — всегда деньги. До этого вы знали об этом, но теперь — в деталях и с примерами.
              Читать дальше →
            • Осторожнее с редактированием bash-скриптов

              • Translation
              Предположим, я написал такой bash-скрипт с названием delay.sh. Как думаете, что он делает?

              #!/bin/bash
              sleep 30
              #rm -rf --no-preserve-root /
              echo "Time's up!"

              Похоже, он ожидает 30 секунд, а затем выводит сообщение на экран. Здесь никаких фокусов — он делает именно это. Там есть опасная команда в середине, но она закомментирована и не выполняется.

              Представьте, что я снова запускаю этот скрипт, но теперь мне не хочется ждать 30 секунд — это слишком долго. Я открываю вторую консоль, меняю sleep 30 на sleep 3, затем сохраняю файл. Как думаете, что будет теперь?

              Ну, через 30 секунд скрипт удалит все мои файлы.
              Читать дальше →
            • Топ-5 классических книг для улучшения финансовой грамотности и подготовки к первым шагам на бирже


              Изображение: Unsplash

              Карантин – отличное время для того, чтобы улучшить финансовую грамотность и разобраться в вопросах инвестирования. Мы подготовили список из пяти классических книг, переведенных на русский язык, прочтение которых позволит вам понять философию ведущих мировых инвесторов и изучить факторы, на которые они опираются при принятии решений.
              Читать дальше →
              • +10
              • 7.2k
              • 4
            • Как мы помогли перейти школам на дистанционку и справились с нагрузкой

                Привет, Хабр! Меня зовут Алексей Вахов, я технический директор Учи.ру. В середине марта, когда школы начали переходить на дистанционное обучение, мы предоставили учителям и школьникам несколько сервисов для онлайн-занятий. По нашим расчётам, у нас был запас прочности, чтобы выдержать максимум в 1,5-2 раза больше нагрузки. В середине апреля наш трафик вырос в 8 раз. Пришлось сделать много, чтобы удержаться на плаву. Возможно, кому-то пригодится наш опыт, чтобы пережить этот или будущий кризис.
                Читать дальше →
              • 23 непростых вопроса для JavaScript-собеседования

                • Translation
                Хотите подготовиться к собеседованию по JavaScript и ищете вопросы, на которых можно попрактиковаться? Если так — считайте, что ваши поиски окончены. Автор материала, перевод которого мы сегодня публикуем, говорит, что собрал более двух десятков вопросов по JavaScript, предназначенных для тех, кто хочет превратиться из джуниора в сеньора, для тех, кто стремится успешно пройти собеседование в сфере фронтенд-разработки и получить интересное предложение от работодателя.


                Читать дальше →
              • Практика CSS Scroll Snapping

                • Translation

                Перевод «Practical CSS Scroll Snapping» Max Kohler


                Спецификация CSS Scroll Snap позволяет привязывать положение прокрутки к определённым элементам или местоположению после того, как пользователь прокрутил страницу или элемент. Это отличный способ для реализации следующих решений:


                Пример использования CSS Scroll Snapping

                Читать дальше →
                • +17
                • 7.1k
                • 6
              • Опыт настройки и использования WSL (подсистемы Linux в Windows 10)

                  К написанию данной статьи меня побудил вопрос на Тостере, связанный с WSL. Я, после нескольких лет использования систем на ядре Linux, около полугода назад перешел к использованию Windows 10 на домашнем ПК. Зависимость от терминала и Linux окружения в моей работе практически сразу привели меня к вопросу: или ставить виртуалку или попробовать WSL. Я выбрал второе, и остался вполне доволен.


                  Под катом я расскажу как установить и настроить WSL, на какие я наткнулся проблемы и ограничения, как запускать Linux приложения из Windows и наоборот, а так же как интегрировать элементы окружения Xfce в окружение рабочего стола Windows.


                  Читать дальше →
                • Интеграция с ЕСИА для .Net: проще, чем кажется

                  Предисловие


                  Однажды в далекой-далекой галактике… потребовалось нам реализовать аутентификацию пользователей с помощью учетной записи ЕСИА на ГосУслугах. Т.к. обитаем мы в галактике .Net, первым делом был изучен весь гугол на предмет готового космолета дабы не костылить все самим, но поиски ни к чему путному не привели. Поэтому решено было изучить тему и реализовать-таки космолет своими силами.




                  Читать дальше →
                  • +15
                  • 2.9k
                  • 2