Как стать автором
Обновить
116
Карма
0
Рейтинг
Сергей Дегтярев @degs

Пользователь

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

Блог компании Маклауд Разработка веб-сайтов *Open source *Управление разработкой *Софт

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

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

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

Но для некоторых бесплатный тариф — единственный способ завлечь новых клиентов. Это просто замечательно с точки зрения самих пользователей. Ведь перед нами десятки бесплатных хостингов, API, CMS, CDN, сервисов обработки данных, поисковых движков, репозиториев, инструментов проверки кода и других. Бесплатный тариф идеален для опенсорс-разработчиков, любительских и некоммерческих проектов, маленьких стартапов. Ни за что не надо платить.
Читать дальше →
Всего голосов 83: ↑77 и ↓6 +71
Просмотры 41K
Комментарии 15

Домашний DPI, или как бороться с провайдером его же методами

Настройка Linux *Nginx *Lua *
✏️ Технотекст 2021

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

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

...При помощи NGINX!
Всего голосов 246: ↑245 и ↓1 +244
Просмотры 212K
Комментарии 187

Доступ к элементам std::tuple во время исполнения программы

Блог компании Auriga Программирование *C++ *

При тестировании разрабатываемой библиотеки математических алгоритмов для автономного вождения нашей команде приходилось достаточно много манипулировать с кортежами (std::tuple): итерироваться по каждому элементу кортежа или в произвольном порядке, выбирать элементы, чьи индексы и/или значения удовлетворяют определенному условию, и т.д. Написание для каждого случая отдельной рекурсивной функции прохода по кортежу, во-первых, требует знания основ метапрограммирования и шаблонной магии, а во-вторых, отнимает существенное количество времени разработчика.

Мне в голову пришла идея: а что если получать доступ к элементам по индексу, не известному на этапе компиляции?

Читать далее
Всего голосов 32: ↑32 и ↓0 +32
Просмотры 3.7K
Комментарии 5

Свободное API для поиска в интернете

Поисковые технологии *API *
Из песочницы

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

На замену закрытым API приходит Searx.

Читать далее
Всего голосов 31: ↑31 и ↓0 +31
Просмотры 11K
Комментарии 18

Кунг-фу стиля Linux: разбираемся с последовательными портами

Блог компании RUVDS.com Настройка Linux *Системное администрирование *Разработка под Linux *
Перевод
Раньше последовательные порты были буквально повсюду. И они, в каком-то смысле, никуда и не делись, так как многое, что подключается к компьютеру по USB, на самом деле, выглядит для системы как последовательный порт. Проблема тут заключается в том, что в наши дни всё в мире завязано на компьютерные сети. Конечно, можно купить терминальный сервер, который преобразует последовательный порт в интерфейс Ethernet. Но это совсем не интересно. Здесь я хочу рассказать о том, как пробрасывать последовательные порты по сети с использованием существующих Linux-инструментов. Решение это не идеальное, оно оказывается работоспособным далеко не всегда, но если оно работает, то работает оно хорошо.


Читать дальше →
Всего голосов 24: ↑24 и ↓0 +24
Просмотры 14K
Комментарии 21

Как мы раскрыли 24-летний баг в ядре Linux

Блог компании RUVDS.com Настройка Linux *Разработка под Linux *
Перевод

Захватывающий детективный рассказ о поиске и исправлении трудноуловимого и при этом весьма странного бага, который неведомым образом ускользал от обнаружения на протяжении долгих лет взросления системы Linux. В начале описывается предыстория и технологическая база компании, в которой этот баг постигло разоблачение, после чего автор подробно демонстрирует все предпринятые для его раскрытия шаги.
Читать дальше →
Всего голосов 163: ↑156 и ↓7 +149
Просмотры 42K
Комментарии 38

Что почитать (НаучПоп / Научная Фантастика)

Читальный зал Научно-популярное Физика Научная фантастика Мозг

Некоторые время назад сильно увлёкся потреблением информации с научно-популярным уклоном. Но как не заблудиться в миллионах книг? Ресурс то ограничен. А значит придётся выбирать.

Удалось собрать библиотеку по 4 разделам:


Раздел 1. Законы науки и мышление
(Математика, Рациональность, Научный метод, Когнитивные искажения, Нейрофизиология, Ошибки мышления, Доказательная медицина)

Раздел 2. Законы природы
(Физика, Математика, Теория относительности, Квантовая механика, Астрофизика, Астрономия, Изобретения и открытия)

Раздел 3. Законы жизни
(Абиогенез, Теория эволюции, Молекулярная биология, Биоинформатика, Биология клетки, Антропогенез)

Раздел 4. Художественный научпоп / Научная фантастика

Обменяться рекомендациями
Всего голосов 44: ↑41 и ↓3 +38
Просмотры 47K
Комментарии 253

Неравенства Белла — физика и математика

Научно-популярное Физика

Эта статья - очередная попытка популярно изложить суть неравенства Белла и парадокса Эйнштейна-Подольского-Розена. Статьи, которые мне попадались ранее, либо сходу начинали с физических формул. и содержали кучу бра-кетов, тензорных произведений и прочих эрмитовых операторов. Что не способствовало пониманию среди широкой аудитории (вроде меня). Либо содержали довольно простые математические рассуждения, но непонятно как соотносящиеся с реальными физическими экспериментами. Либо были недостаточно подробными (в стиле «видите 2 линии на графике? Что и требовалось доказать»). Либо вообще неверными! Когда автор берет три независимых квантовых параметра и из-за ошибки в рассуждениях приходит к выводу, что это будет чем-то принципиально отличаться от трёх самых обычных случайных величин-«монеток».

Последнюю статью я сам считал неплохой иллюстрацией ЭПР-парадокса, пока до меня не дошло что в ней ошибка. После чего я решил наконец разобраться с «парадоксом» раз и навсегда.

Разбираться будем вместе под катом
Всего голосов 25: ↑24 и ↓1 +23
Просмотры 10K
Комментарии 39

Как удалить «неудаляемые» приложения со смартфона

Блог компании VDSina.ru Разработка под Android *Смартфоны Софт


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

Оказывается, некоторые программы невозможно удалить. Например, на отдельных моделях Samsung невозможно удалить Facebook (есть только опция 'disable'). Говорят, на Samsung S9 вдобавок предустановлены «неудаляемые» приложения Microsoft.

Эти смартфоны приведены для примера. Такая же проблема и на других моделях. На многих есть неудаляемые программы от самого производителя.

Всё это надо зачистить.
Читать дальше →
Всего голосов 190: ↑179 и ↓11 +168
Просмотры 176K
Комментарии 202

Подборка: 7 Chrome-расширений для обхода блокировок

Google Chrome Расширения для браузеров


В последние годы вопрос обхода различных блокировок сайтов стоит достаточно остро. Проще всего решить ее можно с помощью прокси-расширений для браузера. А поскольку самым популярным браузером сейчас является Chrome, то я решил собрать в одном материале все самые адекватные варианты прокси и VPN-расширений для него.
Читать дальше →
Всего голосов 33: ↑31 и ↓2 +29
Просмотры 777K
Комментарии 28

Linux в режиме реального времени

Блог компании RUVDS.com Настройка Linux *Системное администрирование **nix *Разработка под Linux *
✏️ Технотекст 2021


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

При этом разные события имеют различные временные требования. Например, требование к задержке для антиблокировочной тормозной системы может составлять от 3-5 миллисекунд. То есть с момента, когда колесо впервые обнаруживает, что оно скользит, у системы, управляющей антиблокировочными тормозами, есть от 3-5 миллисекунд, чтобы отреагировать и исправить ситуацию.

Возможности ядра в реальном времени существует уже более десяти лет в экосистеме программ с открытым исходным кодом. Столько же времени доступна поддержка Red Hat Enterprise Linux (RHEL) для ядра реального времени. Тем не менее многие системные администраторы неверно истолковывают его основные концепции и фактическое рабочее поведение. В этой статье я опишу некоторые из его основных функций, отличия от стандартного ядра и шаги по установке.
Читать дальше →
Всего голосов 51: ↑51 и ↓0 +51
Просмотры 29K
Комментарии 80

Листовые материалы в корпусостроении — обзор и технологии

DIY или Сделай сам
В очередной раз наткнувшись на картинку прекрасного электронного поделия в адском корпусе из соплеметного клея и картона я понял что держаться нету больше сил: надо пилить статью про корпуса, доступные всем. И немедленно выпил начал. Но быстро устал, ибо нельзя объять необъятное, особенно разом в одной статье. Так мгновенный импульс преобразовался в замысел цикла статей по домашним и околодомашним корпусам, доступным если не всем, то многим. И начать я решил с листовых материалов — как с ними работать, какие они бывают, что с ними можно и чего нельзя, ну и немножко — как из полученного добра сложить корпус.


Источник

Кого заинтересовало, прошу под кат.
Читать дальше →
Всего голосов 83: ↑83 и ↓0 +83
Просмотры 20K
Комментарии 77

Open Book: проект по сборке свободного eReader с паяльником в руках

Блог компании Selectel Open source *Производство и разработка электроники *Гаджеты Компьютерное железо

Разработчик Джои Кастильо (Joey Castillo), автор проекта Open Book, представил набор элементов, включая железо и ПО, из которых можно собрать электронную книгу под себя. Все эти элементы, как софт, так и компоненты, разрешено модифицировать с любой целью, поскольку они распространяются под свободной лицензией.

Разработчик собрал средства, которых ему хватило на заказ 100 печатных плат. За производство этих плат взялась команда Adafruit, а продавать их после готовности начали в Digi-Key. Стоимость платы составляет около $15, к ней прилагаются инструкции по сборке электронной книги — обойтись лишь отверткой не получится, нужен паяльник и хотя бы минимальный навык пайки.
Всего голосов 43: ↑42 и ↓1 +41
Просмотры 16K
Комментарии 54

H1N1 — от испанки до наших дней: «нулевой мальчик» и пандемии

Научно-популярное Здоровье

О, испанка… эта всемогущая, всеизвестная и всеописанная эпидемия гриппа. Формально все началось с неё: каждый третий человек на планете заболел и каждый шестой из заболевших умер от инфекции, перешедшей в легкие. Полмиллиарда больных быстро напомнили нам об убожестве собственного прогресса перед лицом нескольких изменений в геноме единственного вируса. Но кто из вас, любопытные вы мои, вообще знает о том, что такое грипп? Откуда взялась испанка до того, как попала к нам? Чем мы болеем сейчас? С чего мы взяли, что она была первой? Что обозначают эти “птичьи” и “свиные” штаммы? Куда испанка исчезла (если исчезала) и что оставила после себя? Какой сопливый и кашляющий путь лежит от H1N1 до H18 и N11 - сколько миллионов жертв? Эпидемии или пандемии? Как мы болеем? И что вообще, чёрт его подери, с этими вирусами происходит?

Читать далее
Всего голосов 68: ↑66 и ↓2 +64
Просмотры 33K
Комментарии 24

Можно ли генерировать случайные числа, если мы не доверяем друг другу? Часть 1

Блог компании Near Децентрализованные сети Криптография *Распределённые системы *Криптовалюты

Привет, Хабр!

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

Зачем вообще нужно генерировать случайные числа участникам, не доверяющим друг другу? Одна из областей применения -- это децентрализованные приложения. Например, рассмотрим децентрализованное приложение, которое принимает ставку от участника и либо удваивает сумму с вероятностью 49%, либо забирает с 51%. Приложение будет работать только если алгоритм может непредвзято получить случайное число. Если злоумышленник сможет повлиять на результат или предсказать случайное число, и даже незначительно увеличить свой шанс получить выплату в приложении, он получит возможность опустошить его.

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

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

Он должен быть непредсказуемым. Другими словами, ни один участник не должен иметь возможность предугадать, какое число будет сгенерировано (или вывести какие-либо его свойства) до того, как оно будет сгенерировано.

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

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

Читать далее
Всего голосов 30: ↑30 и ↓0 +30
Просмотры 4.4K
Комментарии 7

Кунг-фу стиля Linux: удобная работа с файлами по SSH

Блог компании RUVDS.com Настройка Linux *Системное администрирование *
Перевод
Если у вас имеется больше одного Linux-компьютера, то вы, вероятно, постоянно пользуетесь ssh. Это — отличный инструмент, но мне всегда казалась в нём странной одна деталь. Несмотря на то, что ssh-соединения позволяют передавать файлы с применением scp и sftp, у нас нет возможности перемещать файлы между локальной и удалённой системой, не запуская программу на локальном хосте, или не подключаясь к локальной машине с удалённой.



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

Я, на самом деле, не вполне достиг этой цели, но подобрался к её достижению очень близко. В этом материале я расскажу вам о скрипте, который позволяет монтировать удалённые директории на локальном компьютере. На локальной машине надо будет установить sshfs, но на удалённой, на которую вы, возможно, не можете устанавливать программы, ничего менять не придётся. Если же потратить на настройку систем некоторое время, и если на клиентском компьютере имеется работающий ssh-сервер, то можно будет ещё и монтировать локальные директории на удалённых системах. При этом не придётся беспокоиться о блокировке IP-адресов или портов. Фактически, если вы способны подключиться к удалённой машине, это означает, что вам удастся и то, о чём я хочу рассказать.

В результате, если это всё скомбинировать, оказывается, что я очень близок к цели. Я могу работать с командной оболочкой на клиенте или на сервере и имею возможность удобно читать и записывать файлы на обеих сторонах соединения. Для этого нужно лишь всё правильно настроить.
Читать дальше →
Всего голосов 43: ↑37 и ↓6 +31
Просмотры 35K
Комментарии 37

C++20. Coroutines

Программирование *C++ *
🔥 Технотекст 2020
Tutorial

В этой статье мы подробно разберем понятие сопрограмм (coroutines), их классификацию, детально рассмотрим реализацию, допущения и компромиссы, предлагаемые новым стандартом C++20.


image

Читать дальше →
Всего голосов 48: ↑45 и ↓3 +42
Просмотры 36K
Комментарии 27

Gnuplot и с чем его едят

Блог компании RUVDS.com Визуализация данных Лайфхаки для гиков
Tutorial

Наверняка многие из вас листая западные научные издания видели красивые и простые графики. Возможно некоторые из вас задумывались в чём же эти учёные мужи визуализируют свою данные. И вот есть шикарный и очень простой инструмент для построения графиков, который есть практически везде: Windows, linux, android, и прочих, уверен даже есть под ДОС. Он надёжен, прост и позволяет представить в виде красивых графиков любые текстовые-табличные данные.
Всего голосов 53: ↑52 и ↓1 +51
Просмотры 31K
Комментарии 26

Ядерный шелл поверх ICMP

Блог компании RUVDS.com *nix *Сетевые технологии *Разработка под Linux *


TL;DR: пишу модуль ядра, который будет читать команды из пейлоада ICMP и выполнять их на сервере даже в том случае, если у вас упал SSH. Для самых нетерпеливых весь код на github.

Осторожно! Опытные программисты на C рискуют разрыдаться кровавыми слезами! Я могу ошибаться даже в терминологии, но любая критика приветствуется. Пост рассчитан на тех, кто имеет самое приблизительное представление о программировании на C и хочет заглянуть во внутренности Linux.

В комментариях к моей первой статье упомянули SoftEther VPN, который умеет мимикрировать под некоторые «обычные» протоколы, в частности, HTTPS, ICMP и даже DNS. Я представляю себе работу только первого из них, так как хорошо знаком с HTTP(S), а туннелирование поверх ICMP и DNS пришлось изучать.
Читать дальше →
Всего голосов 72: ↑71 и ↓1 +70
Просмотры 15K
Комментарии 57

Git subtree в деталях

Git *Системы управления версиями *GitHub

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


Целью настоящей работы является практическое изучение средства управления поддеревьями Git.



Начиная с ревизии 1.7.11 upstream-репозиторий Git, в каталоге contrib/subtree, содержит средство автоматизации работы с поддеревьями.


Сервис git-subtree(1) фактически является полезной надстройкой, использующей функции git-read-tree(1) и git-write-tree(1). Поэтому ссылки в командах git-subtree(1) add/pull/push:

  git subtree add --prefix=<subdir> <remote> <ref>

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


Кроме того, если заранее добавить удаленный репозиторий в конфигурационный файл локального репозитория .git/config, с помошью команды:


bash-4.4$ git remote add build-system ../../remote/build-system.git

где build-system является именем удаленного репозитория ../../remote/build-system.git, то в дальнейшем, при использовании команд git-subtree(1) add/pull/push, мы сможем ссылаться на upstream-репозиторий remote/build-system.git по имени.


На данный момент git-subtree(1) практически не развивается, а лишь поддерживается в актуальном состоянии для текущей степени развития проекта Git.


Однако git-subtree(1) является наиболее популярным и мощным средством работы с поддеревьями.


Читать дальше →
Всего голосов 21: ↑19 и ↓2 +17
Просмотры 25K
Комментарии 3

Информация

В рейтинге
Не участвует
Откуда
Новосибирск, Новосибирская обл., Россия
Зарегистрирован
Активность