• Бесплатные сервисы для разработчиков — огромный список


      Бесплатное хранилище артефактов PackageCloud

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

      Недавно мы обсуждали эту тему в статье «Боль разработчика: “Никогда не давайте пользователям бесплатный тариф”». Речь шла о том, что на самом деле бесплатный план вовсе не бесплатен — приходится тратить массу времени и усилий на поддержку этих тарифов.

      Но для некоторых бесплатный тариф — единственный способ завлечь новых клиентов. Это просто замечательно с точки зрения самих пользователей. Ведь перед нами десятки бесплатных хостингов, API, CMS, CDN, сервисов обработки данных, поисковых движков, репозиториев, инструментов проверки кода и других. Бесплатный тариф идеален для опенсорс-разработчиков, любительских и некоммерческих проектов, маленьких стартапов. Ни за что не надо платить.
      Читать дальше →
    • У английского языка нет будущего (времени)

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

        Но погодите. А чем тогда является Future Tense, который изучают уже на уровне Elementary? 

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

        Читать далее
      • Тотальный JavaScript: изучаем JS с акцентом на практической составляющей



          Доброго времени суток, друзья!

          Когда речь заходит об изучении JavaScript, будь то первое знакомство с языком или углубление имеющихся знаний, найти в «интернетах» теоретические материалы не составляет особого труда. Мой топ-5:


          Однако, когда дело касается практических аспектов JavaScript, информацию приходится собирать буквально по крупицам. Собственно, этим я и занимался на протяжении последних 4-5 месяцев.

          Предлагаю вашему вниманию «Тотальный JavaScript».

          Вот что вы найдете в этом репозитории:
          Читать дальше →
          • +5
          • 6,9k
          • 3
        • Домашний DPI, или как бороться с провайдером его же методами

            Долгое время я терпел ограничения РосКомНадзора и соответствующие действия провайдеров по различным ограничениям доступа к сайтам - но с определённого момента устал, и начал думать как бы сделать так, чтобы было и удобно, и быстро, и при этом с минимумом заморочек после настройки... Хочу оговориться, что цель анонимизации не ставилась.

            Вообще, эта проблема имеет несколько решений... Но я решил бороться с провайдером их же методом.

            ...При помощи NGINX!
          • Тренируемся дома по программе Пола Уэйда. Часть Четвёртая: Мостик или Секрет Бронированного Позвоночника

            • Перевод

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

            Приступить к тренировке
          • Как превратиться в суперзвезду Zoom-звонков за 15 минут

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

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

              Читать далее
            • 20 лет VideоLAN Client Player: 8 неочевидных возможностей программы


                20 лет — большой срок, даже Windows не сильно старше. Многие удачные проекты, сохраняющие популярность годами, не выдерживали испытания временем и сдулись: помните Winamp, бесспорного фаворита среди аудио-плееров? Или foobar2000 — универсальный, удобный, имеющий огромное количество возможностей… Настоящий медиа-комбайн, только не снискал большой популярности. Или не менее культовый Media Player Classic, заброшенный много лет назад.

                VLC это универсальный медийный комбайн, который успешно пережил их всех. Но подавляющее большинство использует его на едва ли на 1% всех возможностей, исключительно как обычный плеер для видеофайлов. В этой статье я расскажу о интересных и неочевидных возможностях VLC: например, как использовать его с PornHub, торрентами, как рисовать ASCII-код и многое другое.
                Читать дальше →
              • Наушники для игр, записи стримов и подкастов — четверка доступных моделей со встроенными микрофонами

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

                  Читать далее
                • Как root-права и альтернативные прошивки делают ваш android смартфон уязвимым

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

                  Часто для этого рекомендуется получение прав суперпользователя в системе (root-права), удаление системных приложений от Google и от производителя устройства, или даже полная замена стандартной ОС на альтернативные сборки, чаще всего LineageOS (бывший CyanogenMod). При этом первым шагом в этом процессе всегда будет так называемая "разблокировка загрузчика". Во время её выполнения устройство несколько раз покажет нам страшные предупреждения о том, что теперь оно станет более уязвимо для злоумышленников, но мы смело нажимаем "подтвердить" и шьём root или самую свежую сборку кастомной прошивки, не задумываясь о том какие проблемы создаёт нам незаблокированный загрузчик. 

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

                  Интересующихся приглашаю под кат.

                  Читать далее
                • Свой сервер видеоконференций Jitsi. Часть 1

                  • Tutorial
                  Это первая статья, в которой я расскажу, как поднять свой собственный сервер видеоконференций Jitsi-meet. Я планирую выпустить три статьи на эту тему:

                  1. Свой сервер видеоконференций Jitsi.
                    Jitsi и все необходимые службы работают на одном сервере + сервис Jibri (для записи видеоконференций на отдельном сервере).
                  2. Свой высоконагруженный сервис видеоконференций Jitsi.
                    Jitsi и все необходимые зависимые службы работают на разных серверах для получения высокой производительности.
                  3. Свой мессенджер Matrix-synapse в связке с Jitsi-meet.
                    Настройка Matrix на своем сервере и объединение с Jitsi для видеозвонков.

                  В данной статье я расскажу, как поднять собственный сервер видеоконференций jitsi-meet. Для нормального функционирования мне пришлось собирать информацию по крупицам, общаться с разработчиками данной утилиты, перечитать всю документацию и облазить кучу форумов. Тут я собрал все в один мануал на русском.
                  Читать дальше →
                • FizzBuzz по-сениорски

                  - Добрый день, я на интервью на позицию старшего разработчика.

                  - Здравствуйте, давайте начнем с небольшого теста, пока я ваше CV смотрю. Напишите программу, которая выводила бы числа от 1 до, скажем, миллиарда, притом если число кратно трем, то вместо числа выводится Fizz, если кратно пяти, то Buzz, а если и трем, и пяти, то FizzBuzz.

                  Серьезно, FizzBuzz? Задачка для начальной школы, на сениорскую позицию? Ну ладно.

                  Читать далее
                • Основы Bash-скриптинга для непрограммистов. Часть 2

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

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

                    Читать далее
                  • Основы Bash-скриптинга для непрограммистов

                    Статья рассчитана на тех, кто не имеет или имеет мало опыта работы с командной строкой Unix/Linux, но желает научиться с ней эффективно взаимодействовать и разрабатывать скрипты для выполнения своих задач. Приведенные примеры справедливы для выполнения в командной оболочке bash операционной системы Ubuntu/Debian, но могут быть использованы и в других оболочках и ОС с учетом их специфики.

                    Читать далее
                    • +10
                    • 17,7k
                    • 8
                  • В 2020 году трафик пиратских сайтов резко упал из-за нового алгоритма Google

                      image

                      В прошедшем году трафик пиратских сайтов резко снизился, пишет TorrentFreak. Детальный анализ показывает, что количество переходов на эти сайты из поисковых систем сократилось примерно на треть. Самый большой ущерб трафику нанесло обновление алгоритмов Google.
                      Читать дальше →
                    • Интуитивное объяснение интеграла. Часть I — от умножения натуральных чисел до Ньютона и Лейбница

                      Если у Вас нет математического образования, если Вы хотите по-настоящему разобраться в том, что из себя представляет интеграл и интегрирование, зачем всё это надо, как математика пришла к идее интеграла, то в таком случае Вы пришли по адресу — добро пожаловать!

                      Читать далее
                    • Шифр Цезаря или как просто зашифровать текст

                      Шифр Цезаря

                      1.    Введение

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

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

                      Читать далее
                      • +6
                      • 10,9k
                      • 3
                    • Анализ безопасности хранения и хеширования паролей при помощи алгоритма MD5

                      Анализ безопасности хранения и хеширования паролей при помощи алгоритма MD5

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

                      Криптографические хеш-функции, чаще называемые просто хешем, — незаменимый и повсеместно распространенный инструмент, используемый для выполнения целого ряда задач, включая аутентификацию, проверку целостности данных, защиту файлов и даже обнаружение зловредного ПО. Это математический алгоритм, преобразовывающий произвольный массив данных в состоящую из букв и цифр строку фиксированной длины. Причем при условии использования того же типа хеша эта длина будет оставаться неизменной, вне зависимости от объема вводных данных [2]. Существует масса алгоритмов хеширования, отличающихся криптостойкостью, сложностью, разрядностью и другими свойствами. Считается, что идея хеширования принадлежит сотруднику IBM, появилась около 50 лет назад и с тех пор не претерпела принципиальных изменений. В наши дни хеширование обрело массу новых свойств и используется в очень многих областях информационных технологий.

                      Алгоритм хеширования сообщений MD5 - это 5-я версия алгоритма хеширования сообщений, разработанного Роном Ривестом в 1991 году для получения 128-битного выходного сообщения. Эта версия [5] была представлена как улучшенная c точки зрения надежности относительно предыдущего алгоритма MD4.

                      Читать далее
                    • Как работает память в Python

                        Ни одна компьютерная программа не может работать без данных. А данные, чтобы программа имела к ним доступ, должны располагаться в оперативной памяти вашего компьютера. Но что такое оперативная память на самом деле? Когда произносишь это словосочетание, многие сразу представляют «железную» плашку, вставленную в материнскую плату, на которой написано что-то типа 16Gb DDR4 2666MHz. И они, разумеется, правы — это действительно физический блок оперативной памяти, в котором, в итоге, все данные и оказываются. Но прежде, чем стать доступной внутри вашей программы, на память (как и на всё остальное аппаратное обеспечение) накладывается куча абстракций.

                        Читать далее
                      • Кунг-фу стиля Linux: великая сила make

                        • Перевод
                        Со временем Linux (точнее — операционная система, которую обычно называют «Linux», представляющая собой ядро Linux и GNU-инструменты) стала гораздо сложнее, чем Unix — ОС, стоящая у истоков Linux. Это, конечно, неизбежно. Но это означает, что тем, кто пользуется Linux уже давно, нужно было постепенно расширять свои знания и навыки, осваивая новые возможности. А вот на тех, кто начинает работу в Linux в наши дни, сваливается необходимость освоить систему, так сказать, за один присест. Эту ситуацию хорошо иллюстрирует пример того, как в Linux обычно осуществляется сборка программ. Практически во всех проектах используется make — утилита, которая, запуская процессы компиляции кода, пытается делать только то, что нужно. Это было особенно важно в те времена, когда компьютеру с процессором, работающим на частоте в 100 МГц, и с медленным жёстким диском, нужно было потратить целый день на то, чтобы собрать какой-нибудь серьёзный проект. Программа make, судя по всему, устроена очень просто. Но сегодня у того, кто почитает типичный файл Makefile, может закружиться голова. А во многих проектах используются дополнительные абстракции, которые ещё сильнее всё запутывают.



                        В этом материале я хочу продемонстрировать вам то, насколько простым может быть файл Makefile. Если вы способны создать простой Makefile, это значит, что вы сможете найти гораздо больше способов применения утилиты make, чем может показаться на первый взгляд. Примеры, которые я буду тут показывать, основаны на языке C, но дело тут не в самом языке, а в его распространённости и широкой известности. С помощью make можно, средствами командной строки Linux, собрать практически всё что угодно.
                        Читать дальше →