Search
Write a publication
Pull to refresh
10
0.3

JavaScript-разработчик

Send message

Аппаратный ключ шифрования за 3$ — возможно ли это?

Reading time10 min
Views71K

Итоговый результат — ключ размером с флешку

Повсеместное шифрование и, как следствие, обилие ключей заставляет задуматься об их надежном хранении. Хранение ключей на внешних устройствах, откуда они не могут быть скопированы, уже давно считается хорошей практикой. Я расскажу о том, как за 3$ и 2 часа сделать такой девайс.
Читать дальше →

Собираем переносной магнитометр

Reading time5 min
Views37K
Перевод статьи с сайта обучающих материалов Instructables



Магнитометр, который иногда ещё называют гауссометром, измеряет силу магнитного поля [в данном случае магнитную индукцию / прим. перев.]. Это прибор, необходимый при измерении силы постоянных магнитов и электромагнитов, а также для установления формы поля нетривиальных комбинаций из магнитов. Он достаточно чувствительный для того, чтобы определить намагниченность металлических предметов. В случае, если зонд будет работать достаточно быстро, он сможет определять изменяющиеся во времени поля от моторов и трансформаторов.

В мобильных телефонах обычно есть трёхосевой магнитометр, однако он оптимизирован для слабого магнитного поля Земли силой в 1 Гаусс = 0,1 мТл [миллитесла] и насыщается в полях с индукцией в несколько мТл. Где именно в телефоне расположен этот датчик, обычно непонятно, и расположить его внутри узкого места типа разреза магнита часто невозможно. Более того, лучше вообще не подносить смартфон к сильным магнитам.
Читать дальше →

Мощный недорогой электровелосипед своими руками

Reading time6 min
Views129K


Привет, Гиктаймс!

Однажды, еще будучи обычным деревенским школьником, в автомобильном журнале я увидел небольшую заметку о электровелосипеде, построенным каким-то иностранным энтузиастом, и который умел разгоняться до 40 км/ч и имел запас хода в 70 километров. После этой небольшой заметки я бросил безуспешные попытки завести старый двигатель от бензопилы Дружба и понял, что будущее наступило. На дворе было начало двухтысячных.
Читать дальше →

Слёрм DevOps. Три дня погружения в DevOps. И лекция Анатолия Вассермана «Вычислительная проблема социализма»

Reading time19 min
Views6.2K

Кто мы? Разработчики.
Что мы хотим? Деплоить не раз в месяц, а раз в час. Выкатывать код, не спотыкаясь об администраторов, тестировщиков, безопасников.
Что хотят от нас? Быстрее и дешевле выкатывать новые фичи и одним мизинцем править баги.
Что от нас не хотят? Даунтайма.
Где мы? На Слёрме DevOps, который проходил с 30 января по 1 февраля 2020 в Москве, в гостинице «Севастополь».


У нас было 5 опытных спикеров, 80 участников в зале, опытная техподдержка, сервера Selectel для практики, прекрасная зимняя московская погода, чтобы и мысли не было выйти из уютного конференц-зала. А ещё Анатолий Вассерман с лекцией «Вычислительная проблема социализма» во второй день интенсива — чуть дальше в статье расшифровка его выступления.



Путь робота к ледяному спутнику другой планеты начинается в глубинах Антарктики

Reading time4 min
Views5.8K

Учёные НАСА в ноябре 2019 закончили полевые испытания плавучего вездехода, который, как они надеются, однажды сможет отправиться на Европу – спутник Юпитера с замёрзшим океаном



Прототип плавучего вездехода НАСА на испытаниях в озере близ Уткиагвика, Аляска

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

Однако нырнув в неё, пингвины увидели бы не тюленя, а робота.
Читать дальше →

Веб-компоненты и открытые стандарты

Reading time5 min
Views18K

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


  • Это веб-стандарт, сделанный открытым сообществом, а не какой-то частной компанией
  • Веб-стандарты не ломают обратную совместимость, не придется переживать за свой код в будущем
  • Все современные браузеры придерживаются стандарта в своем поведении, меньше сюрпризов на кросс-браузерном тестировании

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

Читать дальше →

Как же, черт возьми, отсортировать этот список?

Reading time17 min
Views6.5K
Пусть у нас есть список — содержимое каталога, в котором элементами являются экземпляры классов File и Folder. Задача — отсортировать этот список. Есть два широко известных варианта сортировки структуры каталога — когда сначала идут каталоги, а потом файлы, и когда файлы и каталоги сортируются вперемешку. Нам нужно дать пользователю возможность выбирать любой из этих вариантов.

Впервые на похожую задачу я наткнулся на прошлой работе. К слову, решена эта задача была методом 3 из данной статьи. «Как неэстетично», — подумал я. — «Дали бы мне эту задачу, я бы точно решил ее в 128 раз лучше. Но… как?»

С той поры минуло уже 5 лет, а я, время от времени мысленно возвращаясь к данной задаче, так и не придумал к ней идеального решения. Тем не менее, за это время у меня успело накопиться несколько идей, которыми я хочу с вами поделиться.
Читать дальше →

Делаем универсальный RFID-ключ для домофонов

Reading time6 min
Views224K
Приветствую всех, кого интересует тема электронных ключей-вездеходов. Сам я, по правде сказать, давно не слежу за новостями в этой области. Но свою разработку трёхлетней давности хочу опубликовать, так как она проста в повторении и может быть кому-то интересна. Суть: вместо десятка ключей с кодами-вездеходами и просто кодами, все ключи можно носить в одном небольшом устройстве.


Читать дальше →

Web scraping при помощи Node.js

Reading time10 min
Views146K

Это первая статья в цикле про создание и использование скриптов для веб-скрейпинга при помощи Node.js.


  1. Web scraping при помощи Node.js
  2. Web scraping на Node.js и проблемные сайты
  3. Web scraping на Node.js и защита от ботов
  4. Web scraping обновляющихся данных при помощи Node.js

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


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


Цель этой статьи – показать весь процесс создания и использования такого скрипта от постановки задачи и до получения конечного результата. В качестве примера я рассмотрю реальную задачу вроде тех, какие часто можно найти, например, на биржах фриланса, ну, а в качестве инструмента для веб-скрейпинга будем использовать Node.js.

Читать дальше →

Как выглядит zip-архив и что мы с этим можем сделать. Часть 4 — Чтение архива

Reading time8 min
Views4K
Продолжение цикла о Zip-архивах и PHP. Предыдущие статьи: Часть 1, Часть 2, Часть 3

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

В этой статье я покажу как прочесть уже существующий архив и для примера мы возьмем photos.zip из прошлой статьи. Чтоб не повторять все процедуры воспользуемся готовым — https://github.com/userqq/images/raw/master/photos.zip.

А теперь давайте на минутку отвлечемся и вспомним, из чего состоит наш архив: сначала идет набор данных упакованных файлов, где каждый упакованный файл предварён структурой Local File Header (LFH), после всех данных у нас идет набор структур Central Directory File Header (CDFH) — это такое оглавление по нашему архиву, в котором перечислены все элементы и позиции их смещения относительно начала файла. А завершает архив End Of Central Directory Record (EOCD) — тут указана позиция начала структур CDFH, их количество и общая длина в байтах. Поэтому архив следует читать с конца, чтоб сначала найти EOCD, потом прочесть структуры CDFH и таким образом получить список файлов в архиве.

FYI: А некоторые форматы, например JPEG, читаются с начала. Поэтому мы можем склеить картинку с архивом, даже банально через cat image.jpeg archive.zip > imagearchive.jpeg, не потеряв функционала. Браузеры и приложения для просмотра картинок будут без каких-либо проблем показывать нам картинку. В то время как любое приложение для чтения zip-архивов, будь то 7z или unzip, сможет преспокойно работать с файлом как с архивом. Например, вот — https://github.com/userqq/images/blob/master/jpegarchive.jpg (Осторожно, эта штука весит около 20мб, поэтому не советую открывать с телефонов или если вам дорог трафик). Таким образом, если вы знаете хостинг картинок, на котором изображения не перекодируются и не обрезаются, вы можете заливать туда не только картинки:) Хотя, мне кажется, сейчас таких уже не найти.
Читать дальше →

Как выглядит zip-архив и что мы с этим можем сделать. Часть 2 — Data Descriptor и сжатие

Reading time12 min
Views5.4K

Продолжение статьи Как выглядит zip-архив и что мы с этим можем сделать.


Предисловие


Доброго времени суток.
И снова в эфире у нас нетрадиционное программирование на PHP.


В прошлой статье уважаемых читателей заинтересовала тема сжатия в ZIP и сохранение потоков в zip. Попробуем сегодня хоть немного раскрыть эту тему.

Читать дальше →

Как выглядит zip-архив и что мы с этим можем сделать

Reading time6 min
Views23K
Доброго времени суток, уважаемый Хабр!

За последние пол года кривая дорожка моих пет-проектов завела меня в такие дебри, откуда до сих пор выбраться не представляется возможным. И начиналось-то все безобидно — сайт с картинками, но чувство перфекционизма, погоня за халявой, а также некоторые особенности моего склада ума превратили эту, как изначально планировалось, маленькую прогулку, в настоящее длинное путешествие. Ну и ладно, как говорил один довольно картавый революционер: «Учиться, учиться и еще раз учиться», а мне, волей-неволей, приходится этому напутствию следовать.

Ой, что-то мы отвлеклись от основной темы. Не буду больше вас утомлять пространными речами, а перейду к делу.
Читать дальше →

FAQ.Net — бесплатная программа для заметок под Windows с обновленным дизайном

Reading time3 min
Views8.9K

Введение


За 3 месяца приложение FAQ.Net скачали более 800 раз. Все кто пользуется блокнотами и ищет готовое решение для хранения важной информации, заметок или документов (в виде текста, изображений, таблиц) в единой БД скачивайте FAQ.Net. Приложение портативное, бесплатное, без рекламы и не нужен доступ в Интернет. Исходный код выложен на github.

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





Возможности приложения FAQ.Net


  • Все заметки (RTF-документы) хранятся в единой БД SQLite
  • Имеется «Словарь подсказок» (см. подробности) — это всплывающие подсказки, которые создаются пользователем и их можно использовать:
    • для навигации по другим заметкам внутри приложения
    • в качестве переводчика, что очень помогает при изучении новых иностранных слов
    • для хранения ссылок Интернета в одном месте
    • для хранения описания предмета, события, слова и др.
  • Автодополнение слов по «Словарю подсказок» (IntelliSense) сочетанием клавиш «Ctrl+Space»
  • Гибкая настройка интерфейса (шрифты, цвета, иконки)
  • Добавление картинок. Если картинка вставлена из редактора Paint через буфер (т.е. комбинацией клавиш Ctrl+C — Ctrl+V), то такие картинки можно редактировать двойным нажатием мышки
  • Создание таблиц
  • Создание резервной копии БД
  • Предварительный просмотр и печать документов
  • Быстрый поиск по всем заметкам
  • На вкладке «Избранное» содержится список заметок, помеченных пользователем
  • На вкладке «Журнал» отображается 50 последних измененных заметок
Читать дальше →

Практика в работе с нестандартными шинами комплекса Redd

Reading time15 min
Views1.9K
В прошлой статье мы рассмотрели теорию по управлению тысячей мелочей в комплексе Redd, но чтобы не раздувать объём, отложили практику на следующий раз. Пришла пора провести практические опыты. Те же, кто не пользуется комплексом Redd, тоже смогут найти в этой статье полезные знания, а именно — методику подачи Vendor команд в USB накопители из ОС Linux, ведь как уже говорилось, контроллер STM32 в комплексе выполняет функцию SD-ридера, то есть — накопителя.


Читать дальше →

Про геометрический смысл кодов Грея

Reading time3 min
Views14K

Коды Грея имеют близкую родственную связь с кривой Гильберта.

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

В результате под катом — «скандалы, интриги, расследования».
Читать дальше →

Самый великий физик

Reading time27 min
Views34K
******************* Ну и кто из нас читал «Начала» Ньютона? *****************

Беру в руки журнал “Наука и жизнь” №1 2020. На обложке бросается в глаза вопрос “Почему Эйнштейн самый великий физик?”. Действительно, почему? Открываю статью Евгения Берковича “Трагедия Эйнштейна, или счастливый Сизиф”. Начинается она так: “Кто самый великий физик? Спросите об этом кого угодно, любой вам скажет: Альберт Эйнштейн. Не зря строгий академик Лев Ландау поставил его первым в иерархии физиков”.

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

“Спросите об этом кого угодно…”. Господин Беркович берет на себя смелость отвечать за всех. Ну, кого угодно, так кого угодно — мне угодно взять себя. Беру себя. И отвечаю: самый великий физик это Исаак Ньютон.
Читать дальше →

Краткая история космических микропроцессоров, часть вторая

Reading time27 min
Views40K
Это вторая часть статьи про историю микропроцессоров для космического применения. Первая часть – вот здесь. В ней на примерах американских и европейских микросхем мы посмотрели на историю развития радстойких чипов от первых однокристалльных процессоров до конца двухтысячных, когда проектные нормы космических разработок плотную подобрались к рубежу 100 нм.

Следующий большой шаг в обеспечении радиационной стойкости наступил с переходом на суб-100 нм, где практически каждое следующее поколение технологии приносит новые вопросы: меняются материалы, меняются требования к топологии, растет статическая мощность (утечки безо всякой радиации, которые под дозой становятся еще хуже), продолжает расти значимость одиночных эффектов, которые превращаются во множественные. Эти задачи потребовали разработки новых подходов и, что удивительно, частичного возврата к старым, потому что часть вещей, отлично себя зарекомендовавших на нормах 1-0.18 мкм, на более тонких нормах не работает. Например, в таких технологиях для повышения выхода годных запрещено делать любимые дизайнерами радстойких чипов кольцевые транзисторы. О том, как дизайнеры справляются с новыми вызовами, я расскажу на примере России – и заодно сравню достижения наших соотечественников с успехами иностранных коллег и покажу, чего стоит ожидать в обозримом будущем.
Читать дальше →

Three.js и геометрия

Reading time4 min
Views8.3K

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

Но иногда требуется создать трехмерный объект для отображения в браузере полностью с нуля – только используя аналитическую геометрию. В данной статье рассматривается именно такой подход к построению интерактивно настраиваемых моделей и последующего их отображения в браузере.

Читать дальше →

Великая теория снежинок

Reading time8 min
Views28K

Снега в центральной части России этой зимой маловато. Кое-где он выпал, конечно, но в январе месяце можно было ждать какой-то более морозной и снежной погоды. Унылая серость и неприятная слякоть мешают ощутить радость от привычных зимних забав. Поэтому Cloud4Y предлагает добавить немного снега в нашу жизнь, поговорив о… снежинках.
Читать дальше →

Information

Rating
3,604-th
Location
Москва, Москва и Московская обл., Россия
Registered
Activity