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

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

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

Спасибо за HTML5 File API или читаем ID3-тег и заполняем форму не загружая MP3-файл

Время на прочтение 6 мин
Количество просмотров 13K
HTML5 Powered with Offline & Storage
С появлением HTML5 у нас появляется много новых и интересных возможностей. Позволяющих создавать еще более качественные приложения.

Например, File API. Доступ к файлам клиента довольно удобная штука. Мы можем к примеру заполнить форму используя информацию из выбранного пользователем файла:
  • Заполнить форму об аудио-файле из тегов
  • Заполнить форму о фото из EXIF
Читать дальше →
Всего голосов 65: ↑64 и ↓1 +63
Комментарии 12

Пишем презентации в LaTeX

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

В процессе подготовки доклада на GolangConf'2019 я использовал LaTeX. Несмотря на некоторые устаревшие вещи, немного необычное поведение, скудную или сложную документацию, я внезапно получил удовольствие. Я не стал "гуру" LaTeX, но я смог делать весьма неплохие слайды. И я хочу описать основные точки создания современной презентации на LaTeХ. Особенно это должно "зайти" айтишникам, которые по роду занятий программируют. Программировать свою презентацию — это увлекательно.


Читать дальше →
Всего голосов 62: ↑59 и ↓3 +56
Комментарии 116

Когда клавиатуры были столами

Время на прочтение 3 мин
Количество просмотров 11K
Когда-то компьютеры были настолько большими, что для естественной работы с клавиатурами их приходилось монтировать прямо в столах:



Очень много фотографий
Всего голосов 48: ↑45 и ↓3 +42
Комментарии 44

Введение в Screen Capture API — Сканируем QR коды в браузере

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

Введение


В этой статье мы, как вы уже догадались, поговорим про Screen Capture API. Этот API появился на свет в 2014 году, и новым его назвать сложно, однако поддержка браузерами все еще достаточно слабая. Тем не менее его вполне можно использовать для персональных проектов или там, где эта поддержка не так важна.


Немного ссылок для начала:



На случай если ссылка с демо отвалится (или если вам лень туда перейти) — вот так выглядит готовое демо:



Приступим.

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

Категории вместо директорий, или Семантическая файловая система для Linux

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

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

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

О простых вещах-сложно. «Cпящая сталь». Чем смазать заржавевшие болты или Не WD-40 единым…

Время на прочтение 22 мин
Количество просмотров 122K
Посвящается всем отчаявшимся и потерявшим надежду… открутить заржавевшую гайку!

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

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

Ну и, традиционно — не забудь закинуть в закладки, %USERNAME%, пригодится! :)


Читать дальше →
Всего голосов 196: ↑195 и ↓1 +194
Комментарии 297

Детали перехода от парных (относительных) валютных курсов к абсолютным. Работа над ошибками

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

image


Введение


Настоящая статья описывает результаты эксперимента проведенного в рамках проекта “Абсолютный курс валют”. Протокол эксперимента можно увидеть перейдя по ссылке.


Проект “Абсолютный курс валют” занимается анализом парных валютных курсов, выделением из них абсолютных валютных курсов и их анализом. В рамках проекта получена методика преобразования от парных курсов к абсолютным валютным курсам. Для этого определена абсолютная валюта ABS. Курсы всех имеющихся валют выражаются в отношении к ABS.

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

Шпаргалки по безопасности: Docker

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


Docker контейнеры — самая популярная технология для контейнеризации. Изначально она использовалась в основном для dev и test окружений, со временем перешла и в production. Docker контейнеры начали плодиться в production среде, как грибы после дождя, однако мало из тех, кто использует данную технологию, задумывался о том, как же безопасно публиковать Docker контейнеры.

Основываясь на OWASP, мы подготовили список правил, выполнение которых позволит значительно обезопасить ваше окружение, построенное на Docker контейнерах.
Читать дальше →
Всего голосов 33: ↑31 и ↓2 +29
Комментарии 5

Информационная безопасность аппаратных решений USB over IP

Время на прочтение 3 мин
Количество просмотров 8.6K
Недавно поделился опытом при поиске решения для организации централизованного доступа к ключам электронной защиты в нашей организации. В комментариях были поднят серьезный вопрос информационной безопасности аппаратных решений USB over IP, который и нас весьма беспокоит.

Итак, сначала все же определимся с исходными условиями.

  • Большое количество ключей электронной защиты.
  • Доступ к ним необходим из различных географических мест.
  • Рассматриваем только аппаратные решения USB over IP и пытаемся обезопасить это решение принятием дополнительных организационных и технических мер (вопрос альтернатив пока не рассматриваем).
  • В рамках статьи не буду полностью расписывать рассматриваемые нами модели угрозы (многое можно посмотреть в публикации), но тезисно остановлюсь на двух моментах. Исключаем из модели социальную инженерию и противоправные действия самих пользователей. Рассматриваем возможности несанкционированного доступа к USB устройствам из любой из сетей не имея штатных учетных данных.

image
Читать дальше →
Всего голосов 16: ↑15 и ↓1 +14
Комментарии 10

Вы не сможете решить эту задачу на собеседовании

Время на прочтение 5 мин
Количество просмотров 130K
Привет, Habr. Хочу поделиться с вами одной интересной задачей, которую многие из нас получали на собеседовании, но, вероятно, даже и не догадывались о том, что решаем ее неправильно.

Прежде всего — немного истории. Работая на должностях тимлида и техлида мне порой приходилось проводить собеседования, соответственно нужно подготовить несколько теоретических вопросов, ну и пару несложных задач, на решение которых не должно было бы уйти больше 2х-3х минут. Если с теорией все просто — мой любимый вопрос это: «чему равен typeof null?», по ответу сразу можно понять, кто сидит перед тобой, джун — просто правильно ответит, а претендент на сеньера, еще и объяснит почему. То с практикой — сложнее. Я долго не мог придумать нормальное задание, не изъезженное, типа fizz-buzz, а что-нибудь свое. Поэтому я на собеседованиях давал задания, которые сам проходил, устраиваясь на текущую работу. О первом из них и пойдет речь.
Читать дальше →
Всего голосов 164: ↑126 и ↓38 +88
Комментарии 419

Операционная система выходного дня

Время на прочтение 10 мин
Количество просмотров 17K
Дисклеймер. Автор не является сторонником использования многозадачных операционных систем для микроконтроллеров.

image
Читать дальше →
Всего голосов 23: ↑22 и ↓1 +21
Комментарии 18

Разработка электроники. О микроконтроллерах на пальцах

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


Задумывая технологический стартап, вы совсем не обязаны быть асом в электронике, гораздо больше шансов на хорошую идею имеет узкий специалист со знанием основ маркетинга, но, даже заказывая кому-то разработку, ориентироваться в возможностях современной элементной базы и представлять цену решения необходимо обязательно. Иначе можно потребовать невозможного, либо получить устройство с завышенной себестоимостью на устаревшей элементной базе.
Под катом попытка кратко и просто рассказать о возможностях современных микроконтроллеров людям от них далёким. Для тех, у кого есть идея нового электронного устройства, но отсутствует представление о том, что такое микроконтроллер. Те, кто хочет сделать первый шаг от занимательных экспериментов с платформой ардуино к проектированию собственных устройств, также могут найти в ней простые, но полезные советы. Я старался, не останавливаясь на технических подробностях, для этого и книги не достаточно изложить суть и дать несколько простейших, но полезных советов по схемотехнике, чтобы предостеречь от элементарных ошибок начинающих.
Микроконтроллеры - это просто!
Всего голосов 72: ↑65 и ↓7 +58
Комментарии 218

Другой Github 2: машинное обучение, датасеты и Jupyter Notebooks

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


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

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

JS со всех сторон: топ-10 докладов HolyJS 2018 Moscow

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


В декабре мы провели очередную HolyJS, и поначалу видеозаписи её докладов были доступны только для зрителей, а теперь открыты для всех. Для Хабра мы традиционно сделали подборку из 10 докладов, получивших от зрителей самые высокие оценки. Они идут по возрастанию рейтинга, так что чем дальше, тем интереснее.

Под катом — и сами видеозаписи докладов, и их короткие описания с сайта конференции, и ссылки на слайды.
Всего голосов 26: ↑26 и ↓0 +26
Комментарии 0

Кластерное хранилище для небольших web-кластеров на базе drbd+ocfs2

Время на прочтение 4 мин
Количество просмотров 14K
О чем мы расскажем:
Как быстро развернуть общее хранилище для двух серверов на базе решений drbd+ocfs2.

Для кого это будет полезно:
Туториал станет полезен системным администраторам и всем, кто выбирает способ реализации хранилища или хотят попробовать решение.

От каких решений мы отказались и почему


Часто мы сталкиваемся с ситуацией, когда нам нужно реализовать на небольшом web-кластере общее хранилище с хорошей производительностью на чтение — запись. Мы пробовали различные варианты реализации общего хранилища для наших проектов, но мало что было способно удовлетворить нас сразу по нескольким показателям. Сейчас расскажем, почему.

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

  • Ceph не понравился избыточной сложностью, которая может быть вредна на проектах с 2-4 серверами, особенно, если проект впоследствии обслуживают. Опять же, имеются серьезные ограничения по производительности, вынуждающие строить отдельные storage кластеры, как и с glusterfs.

  • Использование одного nfs сервера для реализации общего хранилища вызывает вопросы в плане отказоустойчивости.

  • s3 — отличное популярное решение для некоторого круга задач, но это и не файловая система, что сужает область применения.
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 6

Raspberry Pi Zero внутри брайлевского дисплея Handy Tech Active Star 40

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


Автор поместил Raspberry Pi Zero, Bluetooth-«свисток» и кабель внутрь своего нового брайлевского дисплея Handy Tech Active Star 40. Встроенный USB-порт обеспечивает питание. Получился самодостаточный безмониторный компьютер на ARM с операционной системой Linux, оборудованный клавиатурой и брайлевским дисплеем. Можно заряжать/питать его через USB, в т.ч. от пауэрбанка или солнечного зарядного устройства. Поэтому он может обходиться без электросети не несколько часов, а несколько дней.
Читать дальше →
Всего голосов 34: ↑34 и ↓0 +34
Комментарии 11

Как я пишу конспекты по математике на LaTeX в Vim

Время на прочтение 9 мин
Количество просмотров 123K
Некоторое время назад на Quora я отвечал на вопрос: как успевать записывать за лектором конспект по математике на LaTeX. Там я объяснил свой рабочий процесс по конспектированию в LaTeX с помощью Vim и Inkscape (для рисунков). Но с тех пор многое изменилось, так что я хочу опубликовать несколько постов в блоге с описанием нового процесса. Это первая из статей.

Я начал использовать LaTeX для конспектирования во втором семестре курса математики, и с тех пор написал более 1700 страниц. Вот несколько примеров, как выглядит конспект:


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

Preload, prefetch и другие теги

Время на прочтение 9 мин
Количество просмотров 132K
Есть много способов повышения веб-производительности. Один из них — предзагрузка контента, который понадобится позже. Префетчинг CSS, предварительный рендеринг полной страницы или резолвинг доменного имени. Делаем всё заранее, а потом мгновенно отображаем результат! Звучит круто.

Ещё круче, что это очень просто реализовано. Пять тегов <link rel> дают браузеру команду на предварительные действия:

<link rel="prefetch" href="/style.css" as="style" />
<link rel="preload" href="/style.css" as="style" />

<link rel="preconnect" href="https://example.com" />
<link rel="dns-prefetch" href="https://example.com" />

<link rel="prerender" href="https://example.com/about.html" />
Читать дальше →
Всего голосов 33: ↑33 и ↓0 +33
Комментарии 1

Ни минуты оффлайн — Выбираем промышленный LTE-роутер

Время на прочтение 22 мин
Количество просмотров 68K
промышленный LTE роутер Termit CR41P, с антеннами Триада MA-2697

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

Мне надоело самостоятельно изобретать failover на USB модемах, и захотелось делегировать это отдельной умной железке. Я решил сравнить несколько промышленных роутеров, чтобы выяснить, оправдывают ли они свое название, и насколько они лучше моих костылей. В статье будут сравниваться роутеры производителей iRZ, Termit, Robustel.

Основные требования к роутерам:

  • 2 SIM-карты и автоматическое переключение между операторами — роутер должен автоматически определять потерю связи на одном операторе и переключаться на резервного. Это особенно важно для подвижных систем, когда покрытие сотовой сети не идеально.
  • Подключение по Ethernet — основная система должна видеть только шлюз по умолчанию, и не должна знать о модемной подсистеме на стороне роутера и переключениях каналов, поэтому никаких USB.
  • Поддержка современных протоколов VPN: IKEv2 и OpenVPN — для удобства администрирования, и чтобы не зависеть от реальных IP-адресов, роутеры должны уметь VPN. При этом поддерживать не только устаревшие PPTP и L2TP, но и современные протоколы.
  • (Опционально) поддержка GPS, наличие GPIO, serial интерфейсов RS-232/485 — эти функции не обязательны для наших задач, но мы рассмотрим их тоже, как бонус, который, возможно, будет кому-то полезен.
Читать дальше →
Всего голосов 38: ↑37 и ↓1 +36
Комментарии 114

“Я намереваюсь купить” или самый простой способ оценить качество продуктового поиска

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


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

Информация

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