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

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

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

Как безопасно программировать в bash

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

Почему bash?


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

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

Предисловие


Данное руководство сопровождает ShellHarden, но автор также рекомендует ShellCheck, чтобы правила ShellHarden не расходились с ShellCheck.

Bash — не тот язык, где самый правильный способ решить проблему одновременно является самым простым. Если принимать экзамен по безопасному программированию в bash, то первое правило BashPitfalls звучало бы так: всегда используй кавычки.

Главное, что нужно знать о программировании в bash


Маниакально ставить кавычки! Незакавыченная переменная должна расцениваться как взведённая бомба: она взрывается при контакте с пробелом. Да, «взрывается» в смысле разделения строки на массив. В частности, расширения переменных вроде $var и подстановки команд вроде $(cmd) подвергаются расщеплению слов, когда внутренняя строка расширяется в массив из-за расщепления в специальной переменной $IFS с пробелом по умолчанию. Это обычно незаметно, потому что чаще всего результатом становится массив из 1 элемента, неотличимый от ожидаемой строки.
Читать дальше →
Всего голосов 74: ↑73 и ↓1+72
Комментарии39

Побеждаем Android Camera2 API с помощью RxJava2 (часть 2)

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

Это вторая часть статьи, в которой я показываю, как использование RxJava2 помогает строить логику поверх асинхронного API. В качестве такого интерфейса я выбрал Android Camera2 API (и не пожалел!). Этот API не только асинхронен, но и таит в себе неочевидные особенности реализации, которые нигде толком не описаны. Так что статья нанесет читателю двойную пользу.

Для кого этот пост? Я рассчитываю, что читатель — умудрённый опытом, но всё ещё любознательный Android-разработчик. Очень желательны базовые знания о реактивном программировании (хорошее введение — здесь) и понимание Marble Diagrams. Пост будет полезен тем, кто хочет проникнуться реактивным подходом, а также тем, кто планирует использовать Camera2 API в своих проектах.  

Исходники проекта можно найти на GitHub.

Чтение первой части обязательно!
Читать дальше →
Всего голосов 48: ↑47 и ↓1+46
Комментарии5

Видео с камеры наблюдения на сайте бесплатно и без смс

Время на прочтение4 мин
Количество просмотров26K
Появилась необходимость показывать видео с камеры на сайте в режиме онлайн. Виделось несколько вариантов (дополню вариантами из комментов, если будут):

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

Этот вариант рассмотрим ниже. Т.к. "flash умер" или "flash вот-вот умрет", вариант с размещением flash плейера на сайте не рассматривался. Тернистый путь поисков решений в интернетах не привел к готовому решению. Пришлось изобрести велосипед.

Подробнее изобретения под катом.
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии29

Обзор: карманный дозиметр нового поколения Atom Fast

Время на прочтение4 мин
Количество просмотров51K
Привет geektimes. Как человек, увлекающийся всякими гаджетами, я разумеется, имею дома дозиметр. Не из соображений радиофобии, а исключительно как интересный физический прибор, которым можно что-нибудь измерить. Давно была мысль попробовать новые дозиметры — сцинтиляционные, однако главное что останавливало, это цена. Наконец, под Новый год удачно совпали время, наличие денег и свободного времени, и в итоге Санта Клаус в лице сотрудника почты, принес мне небольшой сувенир и дозиметр Atom Fast.



Как это работает, подробности под катом.
Читать дальше →
Всего голосов 43: ↑41 и ↓2+39
Комментарии226

Как в первый раз запустить i2pd: инструкция под Debian/Ubuntu

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


I2p — это сеть со специализацией на анонимности внутрисетевых ресурсов, этим она отличается от сети tor, основной задачей которой являются не внутренние ресурсы, а построение безопасного доступа к интернету. Зная об этих двух особенностях, люди могут гораздо эффективнее работать в обеих сетях.

В i2p ты можешь заниматься множеством вещей: посещать и создавать сайты, форумы и торговые площадки, принимать почту, чатиться и скачивать торренты, и многое многое другое. Программа i2pd способна работать с большим числом программ и сервисов.
Читать дальше →
Всего голосов 45: ↑35 и ↓10+25
Комментарии78

OAuth 2.0 простым и понятным языком

Время на прочтение7 мин
Количество просмотров832K
Логотип OAuth 2.0

На хабре уже писали про OAuth 1.0, но понятного объяснения того, что такое OAuth 2.0 не было. Ниже я расскажу, в чем отличия и преимущества OAuth 2.0 и, как его лучше использовать на сайтах, в мобильных и desktop-приложениях.

Что такое OAuth 2.0


OAuth 2.0 — протокол авторизации, позволяющий выдать одному сервису (приложению) права на доступ к ресурсам пользователя на другом сервисе. Протокол избавляет от необходимости доверять приложению логин и пароль, а также позволяет выдавать ограниченный набор прав, а не все сразу.

Читать дальше →
Всего голосов 168: ↑153 и ↓15+138
Комментарии44

Домашнее видеонаблюдение

Время на прочтение8 мин
Количество просмотров128K
Причина, по которой я сделал систему видеонаблюдения дома, простая. Ребенок подрос, жене невероятно хотелось выйти на работу, пусть ненадолго. Но отдавать ребенка в садик еще рано. Так что мы наняли няню, а одним из инструментов контроля стала система видеонаблюдения.
Начал я с такого отступления, чтобы были понятны задачи, которые система должна решать:
  1. Наблюдение за людьми внутри помещения;
  2. Выделенное рабочее место оператора отсутствует;
  3. Удаленный доступ;
  4. Архивирование видео на срок не менее 7 дней;
  5. Максимальная экономия бюджета.



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

Как красиво оформить публикацию на Хабре

Время на прочтение7 мин
Количество просмотров45K
Публикация – основная единица связи автора с читателем. Практика показывает, что на Хабре можно разместить почти любой формат: небольшой анонс и лонгрид-обзор, интервью, фотоотчёт, трансляцию события, урок и многое-многое другое. Нередко успех публикации зависит и от её оформления – приятно оформленный материал читать одно удовольствие. В этой статье мы постараемся предоставить вам много полезных советов по хорошему оформлению материала.

И первый лайфхак – кликабельная картинка до ката, которая ведёт сразу внутрь публикации:


Читать дальше →
Всего голосов 140: ↑121 и ↓19+102
Комментарии112

40+ полезных инструментов для разработчика приложений под Android

Время на прочтение6 мин
Количество просмотров55K
Для выхода на мобильный рынок не нужно тратить тысячи долларов и месяцы работы. Для создания приложения для собственного бизнеса, продукта или услуги вам нужно лишь знать Java и найти подходящие инструменты. Сейчас таких инструментов уже тысячи. Мы попытались составить из них набор, необходимый для разработки, тестирования, монетизации, анализа и улучшения приложений.

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

41. JSONView
jsonview.com

image

Расширение для Firefox, которое позволяет просматривать JSON в браузере. Документ выглядит отформатированным, есть подсветка и можно сворачивать и раскрывать объекты и массивы.

40. Android GUI Set
www.bypeople.com/free-photoshop-android-interface-gui

image

Набор интерфейсов, в который входят и файлы для фотошопа. Главное меню, клавиатура, панель статуса, браузер, слайдер, список контактов, и т.д. и т.п.
Читать дальше →
Всего голосов 33: ↑22 и ↓11+11
Комментарии16

Какие впечатления может дать вам картонка от Google

Время на прочтение3 мин
Количество просмотров18K
Многие наверняка знают о проекте Google Cardboard. Это, пожалуй, самое дешевое решение для виртуальной реальности из ныне существующих. Как и все гениальное — это простейшее устройство. Оно представляет собой картонную коробочку для смартфона с двумя линзами, что позволяет вам смотреть на дисплей вашего телефона, как на два огромных экрана, показывающих картинку, сводимую мозгом в одну целую. Смартфон отлично справляется с задачей обработки вращений головы, и поэтому создается эффект виртуальной реальности.

В этом году Google на своей ежегодной конференции разработчиков уделял много внимания погружению в виртуальный мир на 360 градусов:
— был представлен Jump — массив из 16 GoPro для съемки сферического стерео видео
— объявлена поддержка школ в осуществлении виртуальных экскурсий при помощи CardBoard
— сам зал конференции имел экран, показывающий видео со всех сторон помещения, что не двусмысленно намекало о важности VR-направления для Google
— ну и, конечно, на конференции обновили представленный в том году CardBoard.



На прошлой неделе ко мне в руки прямиком из Сан-Франциско попала как раз такая картонка.
Спешу поделиться впечатлениями.
Всего голосов 31: ↑21 и ↓10+11
Комментарии14

Нью-Йорк — самый мусорный город на планете, а в Москве — одна из самых эффективных систем отопления

Время на прочтение2 мин
Количество просмотров32K
В Москве — одна из крупнейших и эффективных в мире систем отопления, Нью-Йорк — самый мусорный город в мире и потребляет энергию «как свинья», а Токио великолепно экономит воду. Таковы результаты исследования «Метаболизм мегаполисов», показывающие потребление ресурсов 27 крупнейшими мегаполисами планеты.

image
Читать дальше →
Всего голосов 59: ↑44 и ↓15+29
Комментарии490

Как теряют бизнес. Реальные истории от бизнес-консультанта

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

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

Так происходит и в бизнесе. Если в период подъема экономики какие-то недостатки конкретного бизнеса сглаживаются, остаются незамеченными и даже не слишком мешают работать, то в периоды экономического спада они становятся теми самыми «тонкими местами», которые приводят к снижению прибыли, к определенным проблемам, а иногда даже к полному краху всего бизнеса.
Читать дальше →
Всего голосов 46: ↑44 и ↓2+42
Комментарии22

Бюджетные FPV квадрокоптеры

Время на прочтение6 мин
Количество просмотров34K
В этом году я успел уже рассказать о том, как выбирал мини-квадрокоптер за 20$ и о том, как нашёл для себя мини-квадрокоптер с камерой за 40$ и даже рассказал о том, как устроил мини-соревнования на коптерах в парке-музее «Коломенское». Но после каждой публикации ко мне поступало много вопросов именно о выборе бюджетного квадрокоптера, который умеет транслировать видео на пульт. Понятно, что многих людей интересует именно бюджетный вариант первого квадрокоптера, так как после моей статьи «Купить квадрокоптер и попрощаться с ним» многие стали свидетелями того, как за несколько минут я попрощался квадрокоптером за 500$, подвесом за 300$ и камерой за 600$, что в современной России очень не бюджетно.

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


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

Выразительный JavaScript: Проект: Веб-сайт по обмену опытом

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

Содержание




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

Такие встречи – отличный способ расширить свой кругозор, узнать о новинках области, или просто пообщаться с людьми со схожими интересами. Во многих городах есть встречи любителей JavaScript. Обычно их посещение бесплатное, и я нашёл те, которые посещал, дружелюбными и гостеприимными.


Встречи моноциклистов

В последней главе-проекте мы устроим веб-сайт по обслуживанию выступлений, которые делаются на таких встречах. Представьте себе группу людей, которые регулярно встречаются в офисе одного из участников, чтобы поговорить о моноциклах. Проблема в том, что когда предыдущий организатор встреч переехал в другой город, никто не занял его место. Нам нужна система, которая позволит участникам предлагать и обсуждать темы друг с другом, без участия организатора.
Читать дальше →
Всего голосов 36: ↑36 и ↓0+36
Комментарии9

Новая плата для разработчиков OptimusBoard на базе восьмиядерного big.LITTLE SoC AllWinner A80

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

Первая отладочная плата Cubieboard версии 1, на процессоре AllWinner A10 была выпущена в октябре 2012 г..Потом последовали выпуски Cubieboard версии 2, процессор AllWinner A20. И Cubieboard 3, или Cubietruck. В отличие от предыдущих версий, на плате Cubietruck дополнительно были размещены беспроводные модули Wi-Fi+BT со встроенной антенной.

В начале 2014 г. компания NanoXion запустила первый хостинг colocation(колокейшн) на базе платы CubieBoard(Cubiebox).
На выставке CES 2014 компания Allwinner Tech представила публике будущую отладочную плату Optimus Board на базе SoC AllWinner A80.
Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии25

Что делать, если «кина не будет» или как обойти блокировку сайта провайдером

Время на прочтение6 мин
Количество просмотров1.5M
Настал мой законный выходной и, выбрав время для просмотра фильма (люблю я старую классику), я занялся его поиском. Зайшел на один из привычных для меня сайтов, и наткнулся на такую вот блокировку данного ресурса.

блокировка

«Вот те раз!» — подумал я. Ни в одном реестре запрещенных сайтов данный ресурс не присутствовал и, с чего билайн его заблокировал — непонятно. Естественно после таких вот «заявочек» в голову полезли страшные мысли: «а что если завтра любимого „кина“ не будет!». Данные мысли тут же подвигли меня начать искать способы борьбы с данной ситуацией, и написать, для тех кому будет интересно, маленький обзор нескольких решений по обходу блокировки сайтов. (под катом скрины)
Читать дальше →
Всего голосов 120: ↑96 и ↓24+72
Комментарии87

Айтишник на отдыхе: а как насчет телескопа?

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


Вы прочитали пост о том, что наблюдать на небе, посмотрели сами, показали друзьям и заинтересовались темой. Логичное следующее желание — купить телескоп и смотреть на те же красоты уже хорошо вооруженным глазом. Но эта задача не такая простая, как может показаться, выбор зависит от различных параметров. Поэтому пост с описанием различных оптических схем телескопов, монтировок, думаю, окажется полезным.
Читать дальше →
Всего голосов 147: ↑144 и ↓3+141
Комментарии138

Об искусственном интеллекте в покере

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


Покер давно привлекает исследователей самых различных мастей от любителей до серьезных ученых. И, не секрет, что столь пристальное внимание к покеру коррелирует с ростом популярности онлайн гэмблинга, который бурно развивался в 00-х годах. На сегодняшний день человек уже уступил лимитный хедс-ап Техасский Холдем машине, в то время как в безлимитных и многоместных покерных дисциплинах человек все еще берет верх. Наибольший вклад в проблему построения сильного компьютерного покерного интеллекта, вне всякого сомнения, внесла исследовательская группа из университета Альберты, а предложенное ими семейство алгоритмов поиска равновесных стратегий является на сегодняшний день самым модным и часто используемым средством при построении покерных агентов. Но обо всем по порядку.
Читать дальше →
Всего голосов 73: ↑68 и ↓5+63
Комментарии28

Nokia 105 за 15 евро с фонариком и аккумулятором 800 мА·ч

Время на прочтение1 мин
Количество просмотров269K
На выставке MWC 2013 Nokia представила два новых телефона: Nokia 301 и Nokia 105


Nokia 301 (слева), Nokia 105 (справа)

Nokia 301


  • Цена ~65 евро
  • 2,4” дисплей
  • Камера 3,2-Мп
  • Два слота для SIM-карт
  • Поддержка сетей 3,5G


Nokia 105


  • Цена ~15 евро
  • Цветной экран
  • FM–радио
  • Фонарик
  • Повышенная устойчивость к воздействию влаги и пыли
  • Цвет корпуса: черный, голубой
  • Продолжительность автономной работы в режиме ожидания составляет около 35 дней


Подробнее можно прочитать на 3dnews

Я считаю это то, чего ждал мир :) Лично я — точно.
Читать дальше →
Всего голосов 176: ↑166 и ↓10+156
Комментарии240

За счета за границей — штраф до 100%

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

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

C 13 февраля деньги на зарубежные счета граждан должны будут поступать только из отечественных банков; нарушители рискуют отдать в казну всю сумму операции.

Все переводы на зарубежные счета должны будут вестись транзитом через российские банки, штраф за нарушение — от 75% до 100% от суммы перевода. И даже проценты по депозитам с зарубежных счетов должны сначала пройти через российские банки, прежде чем вернуться на зарубежные счета.
Читать дальше →
Всего голосов 139: ↑124 и ↓15+109
Комментарии345

Информация

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