Как стать автором
Обновить
6
0

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

Отправить сообщение

Митигация уязвимостей: операционная система в помощь?

Время на прочтение7 мин
Количество просмотров3.5K

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

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

Читать далее
Всего голосов 12: ↑11 и ↓1+10
Комментарии2

DevTerm — портативный open-source компьютер с модульным дизайном в стиле ретро и с кучей возможностей

Время на прочтение3 мин
Количество просмотров19K

Нашей команде очень нравятся как ретро-устройства, так и современные производительные гаджеты, которые можно использовать на работе и в быту. А если эти два направления можно совместить — вообще идеально.

На днях попалось на глаза именно такое устройство, которое называется DevTerm. У него модульный дизайн (о модульных устройствах мы писали, кстати), ретро-стиль и открытое для всех «железо» и ПО. Под катом — описание девайса и его возможностей. Пока вы читаете, мы размышляем над заказом этого девайса…
Читать дальше →
Всего голосов 35: ↑34 и ↓1+33
Комментарии77

Как книга «Электроника шаг за шагом» обрела новую жизнь

Время на прочтение7 мин
Количество просмотров92K


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

Хорошие новости для тех, кто следил за историей переиздания книги Рудольфа Свореня «Электроника шаг за шагом» — книга вот-вот, на днях, покинет типографию и попадёт в руки читателей. Почему так долго пришлось ждать новое издание книги? Что изменилось в тексте? А иллюстрации всё те же? Что со схемами  — по-прежнему, на МП39, с плюсовой «землей»? Будет ли электронная версия книги? На эти и другие вопросы, я попытаюсь ответить ниже.
Читать дальше →
Всего голосов 146: ↑145 и ↓1+144
Комментарии156

Легко и непринужденно деплоим приложения на Tarantool Cartridge (часть 2)

Время на прочтение12 мин
Количество просмотров3.3K


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


Любознательных прошу под кат!

Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии2

Как сэкономить 15 000 рублей при регистрации ПО

Время на прочтение6 мин
Количество просмотров18K


Прошёлся недавно по поисковой выдаче гугла и выяснил, что регистрация прав на программу для ЭВМ стоит около 15 тыс. рублей. 15 тыс. рублей! И это ещё без пошлины.


Я удивился, потому что подготовка документов занимает минут тридцать. Чёрт с ним, пускай даже один час, но 15 тыс. рублей за час — это более чем достойное вознаграждение.


Зашёл на сайт Роспатента: инструкции там есть, но четкой картины не дают. На месте руководителя маленького IT-проекта я бы не стал подавать заявление сам — вдруг что-то сделаю не так.


Но я же юрист, и процедуру эту проходил не раз. Так почему бы мне не помочь стартаперам? Подумал-подумал, и не нашёл аргументов против. Так что давайте вместе попробуем подготовить документы и направить их в Роспатент, сэкономив при этом в среднем 15 тыс. рублей.

Читать дальше →
Всего голосов 58: ↑58 и ↓0+58
Комментарии30

Высокоуровневая репликация в СУБД Tarantool

Время на прочтение14 мин
Количество просмотров5.7K
Привет, я занимаюсь созданием приложений для СУБД Tarantool — это разработанная в Mail.ru Group платформа, совмещающая в себе высокопроизводительную СУБД и сервер приложений на языке Lua. Высокая скорость работы решений, основанных на Tarantool, достигается в частности за счет поддержки in-memory режима СУБД и возможности выполнения бизнес-логики приложения в едином адресном пространстве с данными. При этом обеспечивается персистентность данных с использованием ACID-транзакций (на диске ведется WAL-журнал). В Tarantool имеется встроенная поддержка репликации и шардирования. Начиная с версии 2.1, поддерживаются запросы на языке SQL. Tarantool имеет открытый исходный код и распространяется под лицензией Simplified BSD. Также имеется коммерческая Enterprise-версия.


Feel the power! (...aka enjoy the performance)

Все перечисленное делает Tarantool привлекательной платформой для создания высоконагруженных приложений, работающих с БД. В таких приложениях часто возникает необходимость репликации данных.
Читать дальше →
Всего голосов 47: ↑45 и ↓2+43
Комментарии6

Nextcloud внутри, а снаружи OpenLiteSpeed: настраиваем обратное проксирование

Время на прочтение5 мин
Количество просмотров7.4K

Как настроить OpenLiteSpeed на обратное проксирование в Nextcloud, находящийся во внутренней сети?


Удивительно, но поиск на Хабре по запросу OpenLiteSpeed не даёт ничего! Спешу исправить эту несправедливость, ведь LSWS – достойный веб-сервер. Я люблю его за скорость и модный веб-интерфейс администрирования:


image


Несмотря на то, что OpenLiteSpeed наиболее знаменит как «ускоритель» вордпреса, в сегодняшней статье я покажу довольно специфичное его применение. А именно обратное проксирование запросов (reverse proxy). Вы скажете, что для этого привычнее использовать nginx? Я соглашусь. Но больно уж нам полюбился LSWS!


Проксирование ок, но куда? В не менее замечательный сервис – Nextcloud. Мы используем Nextcloud для создания частных «файлообменных облаков». Для каждого клиента мы выделяем отдельную VM с Nextcloud, и не хотим выставлять их «наружу». Вместо этого мы проксируем запросы через общий reverse proxy. Это решение позволяет:


  1. убрать сервер, на котором хранятся данные клиента, из интернета и
  2. сэкономить ip-адреса.

Схема выглядит так:


image


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


Также в данной статье я опущу установку и базовую настройку некстклауда, тем более что на Хабре есть посвящённые этой теме материалы. Но обязательно покажу настройки, без которых Nextcloud не будет работать за прокси.

Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии2

SMS-мониторинг веса трех ульев за 35$

Время на прочтение12 мин
Количество просмотров24K

NewBee


Прошло совсем немного времени с предыдущей публикации о системе за 30$.


Что-же изменилось за прошедший лунный месяц?


  1. Добавлена солнечная батарейка — время работы практически неограниченно.
  2. Добавлена отправка информации по звонку.
  3. Возможность работы со всеми видами модулей связи, попавших в поле моего зрения — AiThinker, Goouu tech, SIM800/900, Neoway M590 *

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


И все это благодаря конструктивной критике хабровчан и пчеловодов, подключившихся к обсуждению системы.


Остальные ТТХ остались прежними — максимальный вес ульев — 200кг, после заката выполняется измерение, и отправка показателей.


Предвосхищая критику по поводу неиспользования режимов сна и дополнительных сигнальных линий GSM-модулей скажу следующее:


У каждого модуля связи есть своя специфика — кто засыпает по низкому уровню сигнала, кто по высокому, некоторые — по двойному нажатию.


Специфика "сделай сам" подразумевает некую творческую часть вот как раз в тут ее и стоит проявить.


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


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


Данная-же статья — о весах, а под катом — мое персональное видение и исполнение системы.


Одним словом — WELCOME! ПОЕХАЛИ!

Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии24

Категории выражений в C++

Время на прочтение7 мин
Количество просмотров46K

Категории выражений, такие как lvalue и rvalue, относятся, скорее, к фундаментальным теоретическим понятиям языка C++, чем к практическим аспектам его использования. По этой причине многие даже опытные программисты достаточно смутно представляют себе, что они означают. В этой статье я постараюсь максимально просто объяснить значение этих терминов, разбавляя теорию практическими примерами. Сразу оговорюсь: статья не претендует на максимально полное и строгое описание категорий выражений, за подробностями я рекомендую обращаться непосредственно в первоисточник: Стандарт языка C++.

Читать дальше →
Всего голосов 38: ↑37 и ↓1+36
Комментарии14

io_submit: альтернатива epoll, о которой вы никогда не слышали

Время на прочтение8 мин
Количество просмотров13K


Недавно внимание автора привлекла статья на LWN о новом интерфейсе ядра для опроса (polling). В ней обсуждается новый механизм опроса в Linux AIO API (интерфейс для асинхронной работы с файлами), который добавили в ядро версии 4.18. Идея довольно интересная: автор патча предлагает использовать Linux AIO API для работы с сетью.

Но постойте! Ведь Linux AIO был создан для работы с асинхронным вводом-выводом с диска / на диск! Файлы на диске — это не то же самое, что сетевые соединения. Возможно ли вообще использовать Linux AIO API для работы с сетью?

Оказывается, да, возможно! В этой статье объясняется, как использовать сильные стороны Linux AIO API для создания более быстрых и лучших сетевых серверов.

Но давайте начнём с разъяснения, что представляет собой Linux AIO.
Читать дальше →
Всего голосов 77: ↑77 и ↓0+77
Комментарии36

Борьба за ресурсы, часть 6: cpuset или Делиться не всегда правильно

Время на прочтение6 мин
Количество просмотров11K
Во время разговоров о cgroups пользователи Red Hat довольно часто задают один и тот же вопрос: «У меня есть одно приложение, очень чувствительное в смысле задержек. Можно ли с помощью cgroups изолировать это приложение от остальных, привязав его к определенным процессорным ядрам?»



Разумеется, можно. Иначе мы бы не выбрали этот вопрос в качестве темы сегодняшней статьи.
Читать дальше: cpuset или Делиться не всегда правильно
Всего голосов 14: ↑14 и ↓0+14
Комментарии0

Программисты своими руками лишают себя работы

Время на прочтение9 мин
Количество просмотров96K

Когда работникам удаётся автоматизировать свои обязанности, кто должен пожинать плоды?




В 2016 году на Reddit появилось анонимное признание: «Уже где-то лет шесть я ничего не делаю на работе». Вроде бы ничего особенного, если дело касается офисной работы. Но этот программист, скрывавшийся под ником FiletOFish1066, сказал, что он работал на известную технокомпанию, и он реально совсем ничего не делал. Он написал, что после того, как восемь месяцев проработал в отделе обеспечения качества, сумел полностью автоматизировать всю свою работу. «Я не шучу. 40 часов в неделю я хожу на работу, играю в League of Legends, читаю Reddit, занимаюсь, чем хочу. За последние шесть лет я проработал часов 50». Когда его боссы поняли, что за половину десятилетия он проработал меньше, чем большая часть программистов Кремниевой долины за неделю, они его уволили.

Эта история быстро распространилась по технологическим уголкам веба, из-за чего её герою в итоге пришлось удалить и сам пост, и даже учётную запись.
Читать дальше →
Всего голосов 77: ↑70 и ↓7+63
Комментарии382

Моё разочарование в софте

Время на прочтение11 мин
Количество просмотров388K

Суть разработки программного обеспечения
— Нужно проделать 500 отверстий в стене, так что я сконструировал автоматическую дрель. В ней используются элегантные точные шестерни для непрерывной регулировки скорости и крутящего момента по мере необходимости.
— Отлично, у неё идеальный вес. Загрузим 500 таких дрелей в пушку, которые мы сделали, и выстрелим в стену.


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

Для примера, современные автомобили работают, скажем, на 98% от того, что физически позволяет нынешняя конструкция двигателя. Современная архитектура использует точно рассчитанное количество материала, чтобы выполнять свою функцию и оставаться в безопасности в данных условиях. Все самолёты сошлись к оптимальному размеру/форме/нагрузке и в основном выглядят одинаково.

Только в программном обеспечении считается нормальным, если программа работает на уровне 1% или даже 0,01% от возможной производительности. Ни у кого вроде нет возражений.
Всего голосов 505: ↑474 и ↓31+443
Комментарии2474

OutOfLine – паттерн размещения в памяти для высокопроизводительных приложений на C++

Время на прочтение5 мин
Количество просмотров8.8K

Во время работы в Headlands Technologies мне посчастливилось написать несколько утилит для упрощения создания высокопроизводительного кода на C++. Эта статья предлагает обобщенный обзор одной из этих утилит — OutOfLine.

Читать дальше →
Всего голосов 39: ↑38 и ↓1+37
Комментарии33

Реализация паттерна “Наблюдатель-Подписчик” используя JNI callbacks в Android (NDK)

Время на прочтение6 мин
Количество просмотров2.5K

Реализация в Android (NDK) JNI callbacks, паттерн "Наблюдатель-Подписчик" с NDK и callback, самописный EventBus или Rx

Читать дальше →
Всего голосов 4: ↑3 и ↓1+2
Комментарии2

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

Время на прочтение8 мин
Количество просмотров32K
Думаю, вы хотя бы раз задумывались о том, чтобы получить патент на свою идею или изделие.
Возможно, даже наводили справки о том, как это лучше сделать, но поняв, что процедура сложная и дорогая, решили отложить ее до лучших времен.

Как самостоятельно провести патентный поиск

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

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

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

Итак, для начала нужно понять, что можно и чего нельзя «запатентовать», в принципе. В России выдают патенты на изобретение, полезную модель и промышленный образец, который защищает только внешний вид изделия.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии36

3D лазерный сканер на Android телефоне

Время на прочтение6 мин
Количество просмотров44K

Представляю вниманию DIY сканер на базе Android смартфона.

При проектировании и создании сканера, в первую очередь, интересовало сканирование крупных объектов. Минимум – фигура человека в полный рост с точность – хотя бы 1-2 мм.

Данные критерии успешно достигнуты. Успешно сканируются объекты при естественном освещении (без прямого солнечного света). Поле сканирования определяется углом захвата камеры смартфона и расстоянием, на котором лазерный луч сохраняет достаточную для детектирования яркость (днем в помещении). Это фигура человека в полный рост (1.8 метров) с шириной захвата в 1.2 метров.

Сканер был сделан из соображений «а не сделать ли что ни будь более или менее полезное и интересное, когда заняться нечем». Все иллюстрации – на примере «тестового» объекта (выкладывать сканы людей не корректно).

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

Цель статьи – рассказать о тупиковых ветках и проблемах, собранных на пути к созданию окончательной рабочей версии.
Всего голосов 79: ↑78 и ↓1+77
Комментарии55

Гигиена электропитания: выбираем сетевые фильтры и стабилизаторы

Время на прочтение15 мин
Количество просмотров127K
Причины, по которым старое доброе электричество в домашней розетке выходит за пределы допустимых отклонений, бывают разные. Порой это временные скачки напряжений и всплески помех, иногда это систематические отклонения за пределы ГОСТов. В конечном итоге за это расплачивается домашняя техника, мгновенно или медленно умирая от «электрической интоксикации».

В этом посте мы расскажем о простых и недорогих способах «электрической гигиены» в зависимости от типа проблем в вашей электросети.


Читать дальше →
Всего голосов 42: ↑26 и ↓16+10
Комментарии74

Конференция DEFCON 21. “Секретная жизнь SIM карт”. Эрик Батлер, Карл Кошер

Время на прочтение13 мин
Количество просмотров12K
Меня зовут Эрик Батлер, а это Карл Кошер, и мы хотим поговорить с Вами о чтении, создании, загрузке и использовании кода на SIM-картах. Этот проект стартовал в прошлом году, когда я узнал о мероприятии Tourcamp 2012, лагере хакеров на побережье штата Вашингтон, таком выездном DEFCON'е. Никаких отелей, жизнь в палатках на открытом воздухе, это был уже второй лагерь, первый мне очень понравился, я пригласил друзей и мы решили туда отправиться. Это мероприятие посвящалось запуску сети GSM в нескольких районах США, и моей задачей было добыть для этого несколько SIM-карт.



Я ничего не знал о том, что из себя представляют SIM-карты, поэтому мне пришлось изучить вопрос и выяснить следующее:

  • SIM, или Subscriber Identification Module – это модуль идентификации абонента мобильной связи;
  • на SIM-карте есть ключ идентификации IMSI и симметричный ключ Ki;
  • в неё встроен модуль безопасности, который не позволяет ни извлечь, ни клонировать ключи;
  • они используются операторами связи GSM, а в настоящее время и LTE (сеть Verizon стандарта 4G);
  • могут также запускать приложения.

Последний пункт меня удивил, потому что никогда раньше не слышал, что сим-карты могут работать с приложениями. Оказывается, давным-давно, когда не было ни «айфонов», ни «андроидов», приложения располагались на сим-карте. Телефон был простой звонилкой – Вы могли вытащить из него «симку» и переставить в другой телефон вместе со всеми своими контактами, программами и так далее. Некоторые операторы, например, Telcom, являлись собственниками сим-карт, контролируя установленные на них приложения.
Всего голосов 28: ↑25 и ↓3+22
Комментарии3

Десять стартапов из 1298: история первого глобального IKEA Bootcamp

Время на прочтение5 мин
Количество просмотров5.2K
В IKEA постоянно проходят различные активности, направленные на обмен идеями и опытом с «внешним миром». Большое внимание уделяется фидбэку от покупателей, ведутся партнерские программы с университетами, а с недавнего времени началось взаимодействие со стартапами. В России, например, в этом году прошел уже второй МЕГА Accelerator. Почему бы не попробовать выйти на мировой уровень? Представляем IKEA Bootcamp.    

Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии6
1
23 ...

Информация

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