Как стать автором
Обновить
2
0
Борис @lanvin07

Обработка информации

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

Установка универсальной прошивки OpenIPC на примере IP камеры с процессором HI3516DV100 и сенсором OV4689

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

Наш мир кишит камерами видеонаблюдения, и большинство из нас сами добровольно окружают себя этими устройствами. Камерами, которые имеют как случайные дыры в безопасности, так и намеренно внедренные компоненты которые отстукивают своему хозяину. Одни производители стараются по максимуму предвидеть и решить проблемы, другие же делают вид, что и проблем особо нет, если камера показывает изображение. Но если начать приглядываться, то лишь требование ActiveX и Internet Explorer для пользования камерой в XXI веке это нечто из пучин ада.

Решают проблемы производители каждый по своему. Как вариант, через облако, через своё приложение Android с приватными протоколами. Но через несколько лет после продажи облачной камеры, бесплатное облако вполне может стать платным, приложение обрастает рекламой до безобразия. А если проект производителя не зашел, то прописанные в ней сервера отключаются и ваша камера, возможно даже с отличным оборудованием внутри, становится бесполезным кирпичём, потому как способов использования больше нет.

В случае с зоопарком рутеров, ворох проблем заставил энтузиастов собраться с силами и создать открытую платформу OpenWRT на базе Linux. И ради тех, кто ждет решения для камер, сейчас кипит работа над аналогичным открытым проектом OpenIPC - универсальной встраиваемой платформы на базе Linux для IP камер. Проделан колоссальный труд, и есть уже ряд камер, на которые можно установить новую прошивку, получив базовый функционал.

Дальше рассказываю на какие камеры какими способами и зачем можно установить систему OpenIPC на примерах.

Читать далее
Всего голосов 42: ↑42 и ↓0+42
Комментарии14

Асинхронность в JS: как выполнять долгие сетевые запросы без блокирования основного потока

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров9.5K

Асинхронность – это способ координации поведения программы на протяжении какого-то временного отрезка. Разбираем, как в синхронном JavaScript вынести операции за рамки единого потока, чтобы не блокировать действие кода после тяжёлых операций. 

Читать далее
Всего голосов 1: ↑0 и ↓1-1
Комментарии8

Как развернуть свой собственный ChatGPT, только лучше

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров66K

Бесплатная версия ChatGPT не включает в себя доступ к языковой модели GPT-4 -  самой современной и продвинутой модели от OpenAI. Хотя платная версия снимает эти ограничения за $20 в месяц, однако оплатить её с помощью карты Российского банка тоже не получится

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

Читать далее
Всего голосов 30: ↑8 и ↓22-12
Комментарии40

Угрозы для беспроводной корпоративной сети WPA2-Enterprise и способы защиты

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



Не так давно совместно с Digital Security мы провели пентест своей корпоративной wi-fi-сети. Сегодня с коллегами расскажем, что может угрожать беспроводной сети, построенной на базе WPA2-Enterprise с аутентификацией по доменному аккаунту, и как от этого защититься.

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

Как правильно измерять скорость интернет-канала и перестать выглядеть дурачком в глазах своего провайдера

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

Прощу прощения, накипело. Мы – сочинский провайдер «Бизнес-Связь», с 2002 года снабжаем клиентов доступом в чудесный мир интернета. Наш неофициальный типа слоган – «Нормальный оператор связи». И мы отвечаем за свои слова – качество интернета у нас выше среднего по рынку, работу свою делаем хорошо, грамотно и честно, никого не наЭтуем. К примеру, у нас есть тарифы интернета со скоростью 200 и 300 мегабит в секунду. Мы отслеживаем параметры по всей сети, которая спроектирована и построена с необходимостью постоянного мониторинга каждого из сегментов. Перегрузок нет, каналы свободные, все проапгрейжено на несколько лет вперед. В общем, мы на 200% уверены, что клиенты эту скорость получают. Но на наши головы то и дело выливаются ведра смолы с перьями.
Всего голосов 102: ↑43 и ↓59-16
Комментарии151

Фича, а не баг. Или как Rambler позволяют подменять отправителя письма

Время на прочтение2 мин
Количество просмотров17K
image

Добрый день. Меня зовут Алексей. Я занимаюсь написанием ботов и реверсом Android приложений с поиском в них уязвимостей.

Мне попало в руки приложение Рамблер/почта для Android. Цель была автоматизировать отправку почты средствами API мобильного приложения. Был запущен эмулятор MEmu и Charles, однако SSL отказывался показать свои запросы. В ход пошел реверс. В файле smali_classes2\okhttp3\OkHttpClient.smali были сделаны изменения, дабы убрать шифрование.
Читать дальше →
Всего голосов 60: ↑33 и ↓27+6
Комментарии28

Строковые алгоритмы на практике. Часть 1 — Алгоритм Кнута — Морриса — Пратта

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

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


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

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

Эффект внутреннего JSON

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров14K
Джейк с энтузиазмом приступил к своей новой работе, ожидая нового опыта и новых сложных задач. Он жаждал изучать новые стеки технологий и узнать, чему его новая компания может научить его в мире ПО.

Ему сказали, что он будет работать над веб-сайтами и иметь дело с JavaScript, Node.js, JSON и тому подобным. Звучало вполне логично для веб-разработки; странным был только комментарий нетехнического собеседователя, что всё «построено на основе Subversion»; Джейк решил, что просто чего-то недопонял.


Его поставили на проект, в котором использовался собственный «JSON-based Domain Specific Language» компании, или JDSL. Его начальник посоветовал ему изучить копию проекта, на который его назначили, и дал неделю-две на освоение. «Если возникнут вопросы, просто спрашивай, кого угодно, но, судя по твоему опыту, проблем у тебя возникнуть не должно».
Читать дальше →
Всего голосов 38: ↑38 и ↓0+38
Комментарии20

Google Map API:CoderMap функции и возможности

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

Google Maps API — это набор интерфейсов прикладного программирования, который позволяет клиенту взаимодействовать с интегрированными сервисами. Это дает возможность создавать простые приложения для более сложных программных решений на основе местоположения для Интернета, iOS и Android.

Изначально задачей API было размещение карты на сайте компании, где бизнесмен может отмечать свое местоположение, чтобы клиенты могли быстро найти офис. Сегодня функционал приложения существенно расширился.

Читать далее
Всего голосов 8: ↑4 и ↓4+5
Комментарии1

Библиотеки в Apps Script

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

Как создать библиотеку в Google Apps Script. Короткий, но подробный гайд про создание, подключение и использование библиотеки в гугл скриптах.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии6

Множественный выбор кнопок в боте

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

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

 

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии6

Вот почему мы всегда пишем селекторы на XPath

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

Привет, Хабр! Сегодня хочется поговорить про XPath — мощный и гибкий инструмент для работы с веб-интерфейсами, который при этом почему-то остается не особенно популярным. Статей и мануалов по XPath очень много, и в этом посте я постараюсь рассказать, как мы применяем данный инструмент и почему считаем его более эффективным, чем другие подходы. Если вам знаком термин “селектор”, а тем более — если вы слышали про XPath, добро пожаловать под кат, там много полезного!

Читать далее
Всего голосов 17: ↑13 и ↓4+11
Комментарии21

Блокировка Роскомнадзора Гимном Российской Федерации

Время на прочтение8 мин
Количество просмотров82K
Опишу свой опыт общения с Роскомнадзором и прокуратурой по вопросу блокировки сайта, может кому пригодиться. Тут больше юридических аспектов, чем айтишных, но от сумы да Единого реестра не зарекайся.

По статистике Федеральной службой по надзору в сфере связи за всю ее историю было заблокировано порядка 500000 сайтов (указателей на страницы), и еще порядка 10 миллионов — неправомерно заблокированных из-за неосторожности быть на одном IP с нарушителем. Думаю, из этих сотен тысяч и миллионов есть люди, чьи права были нарушены по беспределу, и которые хотели бы их защитить. Небольшой ликбез ниже.
Читать дальше →
Всего голосов 291: ↑278 и ↓13+265
Комментарии362

5 малоизвестных возможностей JSON.stringify()

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


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

В этой небольшой заметке я хочу рассказать вам о некоторых редко используемых возможностях JSON.stringify(). Возможно, они окажутся вам полезными.

JSON.stringify() часто используется при отладке для преобразования объекта или обычной строки в строку в формате JSON. Но как данный метод используется, и можем ли мы обойтись toString()? Давайте попробуем это сделать.

// создаем объект user
const user = {
    name: 'Harry Heman',
    age: 29,
    job: 'developer'
}

// преобразуем объект в строку, используя стандартный метод toString(), и выводим результат в консоль
console.log(user.toString()) // [object Object]

[object Object] — это не совсем то, что мы хотели увидеть, не правда ли?

Не спрашивайте, зачем мы вообще используем toString(). Предположим, что нам жизненно необходимо перевести объект в строку.

Теперь попробуем использовать JSON.stringify():

console.log(JSON.stringify(user)) // {"name":"Harry Heman","age":29, "job": "developer"}

Мы сделали это, Карл!

Однако возможности JSON.stringify() этим не исчерпываются.
Читать дальше →
Всего голосов 48: ↑41 и ↓7+47
Комментарии5

Все финансовые рынки мира в API Яху Финанс

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров71K
В этой статье я расскажу об API агрегатора финансовых данных Yahoo! Finance. В рассказе есть один нюанс — официальное API Яху Финанс было закрыто три года назад, однако практически сразу же появилась его недокументированная работоспособная версия, которая жива до сих пор. Хочу в исследовательских целях рассказать об использовании этой работоспособной версии подробнее.
Тем более, что список рынков, данные с которых можно получать через Яху Финанс огромен. На текущий момент в нем 79 стран, включая и Россию.


Apple Inc. (AAPL) на сайте и в API Яху Финанс
Разбор API Yahoo! Finance
Всего голосов 15: ↑15 и ↓0+15
Комментарии40

Парсинг сайтов — а это вообще легально в России?

Время на прочтение11 мин
Количество просмотров20K
По одному из определений парсинг есть синтаксический анализ информации. Человеку, не вовлечённому в конкретные задачи сбора и обработки информации для Интернет-проектов, это не говорит ни о чём. Да и само определение лишь в общих чертах обозначает огромный объём работы, которую ежеминутно совершают сотни миллионов людей и десятки миллионов роботов (хоть и виртуальных, но от этого ничуть не менее настоящих) по всему миру. А ведь эта задачка обычное для человека дело — что в сравнении цен на билеты онлайн, что в выборе подходящей электроники на сайтах магазинов… Следя за ценами и акциями в удобном мобильном приложении ближайшего к дому гипермаркета, никто из нас и не подумает окрестить себя парсером.
image
Читать дальше →
Всего голосов 30: ↑23 и ↓7+16
Комментарии21

Правда про парсинг сайтов, или «все интернет-магазины делают это»

Время на прочтение11 мин
Количество просмотров117K
В этой статье я постараюсь наиболее просто рассказать о парсинге сайтов и его основных нюансах. Моя компания занимается парсингом сайтов уже более трёх лет и ежедневно мы парсим около 300 сайтов. Я обычно открыто пишу об этом в соц.сетях (плюс мы много чего из итогов парсинга крупнейших магазинов России выкладываем бесплатно — публично), что вызывает бурные обсуждения и неодобрение со стороны пользователей. Забавно после прочтения комментариев заглядывать к себе в личку и читать сообщения с предложениями о сотрудничестве от тех же людей, кто только что осуждал нас в комментариях под постом :) Вся статья будет в формате наиболее часто задаваемых вопросов и честных ответов (материал маркетинговый, не технический).
Читать дальше →
Всего голосов 126: ↑110 и ↓16+94
Комментарии411

История одного репорта в Google или как манипулировать данными в Google Maps

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


Предисловие


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


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

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

Домашнее видеонаблюдение. Схема ведения видеоархива без домашнего регистратора

Время на прочтение5 мин
Количество просмотров31K
Я уже довольно давно хотел написать статью о скрипте для работы с камерой через DVRIP протокол, но обсуждение к недавней новости о Xiaomi побудило меня сначала рассказать о том, как я устроил видеонаблюдение у себя, а потом уже перейти к скриптам и прочему.

У нас было 2 пакета... Так, стоп, это не та история.
У нас было 2 роутера фирмы TP-LINK, выход в интернет за провайдерским NAT, камера наблюдения Partizan уже не помню какой модели (сойдет любая IP-камера, поддерживающая RTSP over TCP или DVRIP) и дешевый VPS за 4 евро с характеристиками: 2 core CPU 2.4GHz, 4GB RAM, 300 GB HDD, 100 Mbit/s port. А еще нежелание докупать к этому ничего, что стоило бы дороже патчкорда.
Читать дальше →
Всего голосов 14: ↑9 и ↓5+7
Комментарии36

Prettier в крупных проектах: тратим 20 минут на настройку, забываем о форматировании навсегда

Время на прочтение3 мин
Количество просмотров40K
Разработчики часто не могут договориться о форматировании кода, и типичный рабочий день для многих начинает выглядеть так: кофе, кодинг, всё мирно и хорошо, — а потом, бац, и наступает код-ревью, на котором выясняется, что ты где-то поставил скобочки не так или не перенес что-то на новую строчку.



Год назад одна из команд в Skyeng сталкивалась с такими холиварами почти на каждом ревью. Но затем человек, у которого больше всех болело, сказал: «Теперь живем на Prettier'e, согласны?» За следующие месяцы ребята ни разу не поднимали вопрос о форматировании, а теперь эта штука стоит на всем монорепозитории фронтенда — и его использует каждая команда, которая туда заезжает.
Читать дальше →
Всего голосов 23: ↑18 и ↓5+16
Комментарии32
1

Информация

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

Специализация

Application Developer
JavaScript