В статьях про PVS-Studio всё чаще говорят об уязвимостях и дефектах безопасности, которые можно найти с помощью статического анализа. Авторов этих статей критикуют (и я в том числе), что не каждая ошибка является дефектом безопасности. Возникает однако интересный вопрос, можно ли пройти весь путь от сообщения статического анализатора до эксплуатации найденной проблемы и получения какой-то выгоды. В моём случае выгода всё же осталась теоретической, но эксплуатировать ошибку удалось, не особо вникая в код проекта.
Николай @nik_o
QA
Icinga2 простой вариант
9 мин
42KПро icinga2 пишут почему-то на удивление мало и то, что пишут как-то не создаёт общего концепта. В одном месте пишут как написать скрипт, в другом как установить всё это дело, а что с этим делать потом не ясно.
Я сам использую icinga где-то с начала 2013 года, тогда ещё была только первая версия и сильно далеко от Nagios'a она не ушла.С выходом второй версии поменялось очень много и для меня выбор очевиден.
Дальше я хочу рассказать, как это всё быстро установить и, что более интересно, что дальше с этим делать.
+12
Пиши на C как джентльмен
16 мин
85K«Code Monkey like Fritos
Code Monkey like Tab and Mountain Dew
Code Monkey very simple man
With big warm fuzzy secret heart:
Code Monkey like you
Code Monkey like you»
— Jonathan Coulton — Code Monkey
Я думаю, многим знакома эта шикарная песня Jonathan Coulton'а, и эта жизненная ситуация, когда «Rob say Code Monkey very diligent», но «his output stink» и «his code not 'functional' or 'elegant'».
Язык Си, подаривший нам столько полезного софта, потихоньку был вытеснен из десктопа и энтерпрайза такими высокоуровневыми гигантами как Java и C# и занял нишу системного программирования. И все бы хорошо, но системщики — очень
Сегодня мы поговорим о некоторых полезных практиках, которые я вынес из глубин системного программирования на Си. Поехали.
+40
Об опасностях беспроводных клавиатур и мышей
4 мин
92KИзображение: home thods, Flickr
Компьютерные мыши и клавиатуры с радиоинтерфейсом и USB-трансивером стоят немногим дороже обычных проводных моделей и пользуются популярностью. Но такие устройства не защищены от взлома: собрать набор для проведения атаки можно всего за 300 рублей, а вестись она может с расстояния до 1 км.
Мы протестировали безопасность устройств Logitech, A4Tech и Microsoft. В ходе тестов нам удалось перехватить данные, передаваемые клавиатурами и мышами, дешифровать трафик и осуществить ряд других атак. Обнаруженные уязвимости могут привести к утечке паролей, платежных реквизитов, персональных данных и другой важной информации.
+54
Самые полезные приёмы работы в командной строке Linux
5 мин
157KПеревод
Каждый, кто пользуется командной строкой Linux, встречался со списками полезных советов. Каждый знает, что повседневные дела вполне можно выполнять эффективнее, да только вот одно лишь это знание, не подкреплённое практикой, никому не приносит пользы.
Как выглядят типичные трудовые будни системного администратора, который сидит на Linux? Если абстрагироваться от всего, кроме набираемых на клавиатуре команд, то окажется, что команды эти постоянно повторяются. Всё выходит на уровень автоматизма. И, если даже в работе есть что улучшать, привычка противится новому. Как результат, немало времени уходит на то, чтобы делать так, как привычнее, а не так, как быстрее, и, после небольшого периода привыкания – удобнее. Помнить об этом, сознательно вводить в собственную практику новые полезные мелочи – значит профессионально расти и развиваться, значит – экономить время, которое можно много на что потратить.
Перед вами – небольшой список полезных приёмов работы с командной строкой Linux. С некоторыми из них вы, возможно, уже знакомы, но успели их позабыть. А кое-что вполне может оказаться приятной находкой даже для знатоков. Хочется надеяться, что некоторые из них будут вам полезны и превратятся из «списка» в живые команды, которыми вы будете пользоваться каждый день.
Как выглядят типичные трудовые будни системного администратора, который сидит на Linux? Если абстрагироваться от всего, кроме набираемых на клавиатуре команд, то окажется, что команды эти постоянно повторяются. Всё выходит на уровень автоматизма. И, если даже в работе есть что улучшать, привычка противится новому. Как результат, немало времени уходит на то, чтобы делать так, как привычнее, а не так, как быстрее, и, после небольшого периода привыкания – удобнее. Помнить об этом, сознательно вводить в собственную практику новые полезные мелочи – значит профессионально расти и развиваться, значит – экономить время, которое можно много на что потратить.
Перед вами – небольшой список полезных приёмов работы с командной строкой Linux. С некоторыми из них вы, возможно, уже знакомы, но успели их позабыть. А кое-что вполне может оказаться приятной находкой даже для знатоков. Хочется надеяться, что некоторые из них будут вам полезны и превратятся из «списка» в живые команды, которыми вы будете пользоваться каждый день.
+114
Пишем изящный парсер на Питоне
11 мин
204KТуториал
В C++17 (нет-нет, Питон скоро будет, вы правильно зашли!) появляется новый синтаксис для оператора
довольно общеупотребительны. Код выше лёгким движением руки программиста (и тяжёлым движением руки комитета по стандартизации) превращается в:
Стало чуть-чуть лучше, хотя всё ещё не выглядит идеально. В Python нет и такого, но если вы ненавидите
if
, позволяющий объявлять переменные прямо в заголовке блока. Это довольно удобно, поскольку конструкции видаFoo foo = make_foo();
if(foo.is_nice()) {
// do work with foo
}
// never use foo again
// foo gets deleted
довольно общеупотребительны. Код выше лёгким движением руки программиста (и тяжёлым движением руки комитета по стандартизации) превращается в:
if(Foo foo = make_foo(); foo.is_nice()) {
// do work with foo
} // foo gets deleted
// never use foo again (well, you can't anyway)
Стало чуть-чуть лучше, хотя всё ещё не выглядит идеально. В Python нет и такого, но если вы ненавидите
if
в Python-коде так же сильно, как я, и хотите научиться быстро писать простые парсеры, то добро пожаловать под кат. В этой статье мы попытаемся написать короткий и изящный парсер для JSON на Python 2 (без каких-либо дополнительных модулей, конечно же). +51
Лоукостеры-производители печатных плат с социальным уклоном
5 мин
23KВ США и Южной Америке уже много лет работают целые технопарки-лоукостеры с элементами социальности. В СНГ такое тоже встречается, но чаще это закрытые сообщества, как, например, Сколково. В этой мини-статье я расскажу, что это за явление на примере производителя печатных плат OSH Park, расположенном в штате Орегон. Это не единственный производитель такого типа, они есть и в Китае, и в Европе, что для российского заказчика может быть выгодней. Но во-первых я давно с ними работаю, во-вторых я не работал с другими, в-третьих они шлют заказы по всему миру бесплатно (ага, Free Shipping!).
+34
Маленький секрет художника Алексея Леонова
22 мин
24KПолуправда – это правда для непосвященных. Ю.М. Нагибин
К чему это я и о чем речь? Я люблю читать мемуары, в последние годы, чаще всего, на космическую тему. После некоторого количества прочтенных книг, накапливается достаточно информации, чтобы увидеть одни и те же события глазами разных людей. И тутвдруг обнаруживаются не только интересные дополнительные детали, но и факты из одних мемуаров противоречащие фактам в других мемуарах, и часто официальным публикациям в советских СМИ. Либо факты, которые сильно искажены современными СМИ. Например в известной книге Бориса Чертока «Ракеты и люди», также встречается такой текст, который вызывает вопросы при сравнении с другими мемуарами. Читая недавно книгу американского писателя «Infinity Beckoned: Adventuring Through the Inner Solar System, 1969–1989» я обнаружил ряд «неточностей», которые никак не отражались на качестве книги, и были курьезами с точки зрения русского человека, т.к. оказались ошибками перевода с русского на английский, а одну яркую мне удалось проследить до книги другого американского автора, который сделал ошибочный перевод с русского.
К чему это я и о чем речь? Я люблю читать мемуары, в последние годы, чаще всего, на космическую тему. После некоторого количества прочтенных книг, накапливается достаточно информации, чтобы увидеть одни и те же события глазами разных людей. И тут
/**
Это только кат. Здесь не заканчивается длинное вступление, которое-не-планировалось.
Осторожно - много букв.
*/
+50
Рекурсия. Занимательные задачки
14 мин
399KЗдравствуй Хабрахабр!
В этой статье речь пойдет о задачах на рекурсию и о том как их решать.
Рекурсия достаточно распространённое явление, которое встречается не только в областях науки, но и в повседневной жизни. Например, эффект Дросте, треугольник Серпинского и т. д. Один из вариантов увидеть рекурсию – это навести Web-камеру на экран монитора компьютера, естественно, предварительно её включив. Таким образом, камера будет записывать изображение экрана компьютера, и выводить его же на этот экран, получится что-то вроде замкнутого цикла. В итоге мы будем наблюдать нечто похожее на тоннель.
В программировании рекурсия тесно связана с функциями, точнее именно благодаря функциям в программировании существует такое понятие как рекурсия или рекурсивная функция. Простыми словами, рекурсия – определение части функции (метода) через саму себя, то есть это функция, которая вызывает саму себя, непосредственно (в своём теле) или косвенно (через другую функцию).
О рекурсии сказано много. Вот несколько хороших ресурсов:
В этой статье речь пойдет о задачах на рекурсию и о том как их решать.
Кратко о рекурсии
Рекурсия достаточно распространённое явление, которое встречается не только в областях науки, но и в повседневной жизни. Например, эффект Дросте, треугольник Серпинского и т. д. Один из вариантов увидеть рекурсию – это навести Web-камеру на экран монитора компьютера, естественно, предварительно её включив. Таким образом, камера будет записывать изображение экрана компьютера, и выводить его же на этот экран, получится что-то вроде замкнутого цикла. В итоге мы будем наблюдать нечто похожее на тоннель.
В программировании рекурсия тесно связана с функциями, точнее именно благодаря функциям в программировании существует такое понятие как рекурсия или рекурсивная функция. Простыми словами, рекурсия – определение части функции (метода) через саму себя, то есть это функция, которая вызывает саму себя, непосредственно (в своём теле) или косвенно (через другую функцию).
О рекурсии сказано много. Вот несколько хороших ресурсов:
+9
Мелкосерийное производство корпусов 3D-печатью: придаем «заводской» внешний вид
4 мин
36KТуториал
Вы полны решимости выпустить свою разработку на массовый рынок.
Первый камень преткновения, с которым сталкиваются многие — как делать качественный корпус устройства мелкими сериями?
Как сделать из 3D-печатной модели «конфетку», которую и продавать будет не стыдно?
Один из вариантов — обработка и покраска. О тонкостях окраски полиамида — под катом. Много фото!
+49
Прецизионное литьё мягким силиконом в домашних условиях, с помощью 3D-печати
14 мин
40KОдни люди страдают от фетишизма, но другие им наслаждаются, как православные фермеры на пасху — похмельем. А почему нет? «С утра выпил — день свободен», — гласит известная поговорка. Вот и автор относится ко второму типу, наслаждаясь инженерным фетишизмом по полной программе. Но во всём нужны мера и здравый смысл.
Данная статья про то, каких успехов можно добиться при использовании «непечатных» материалов, на старенькой «Пруше», без всяких выкрутасов и специальных экструдеров. В качестве use case автор задвинулся на многодисковой системе и решил максимально увеличить плотность установки «шпинделей» с одновременным уменьшением вибраций. В борьбе за миллиметры понадобилась пара дюжин абсолютно одинаковых мелких деталей с допусками 100мкм из очень мягкого и «тянучего» материала. Впрочем, если уважаемый читатель уже забыл про HDD, как про страшный сон, вообще абстрагируйтесь от use case и обратите внимание на нюансы литья, там тоже бывает нескучно.
По мнению автора, потребительские виброгасящие решения имеют скорее психологический эффект, чем метрологический. Почему? Наверное, из-за тугой резины, передающей большую часть энергии пульсаций на корпус. Поэтому для автора было очень важно измерить результаты описанного здесь технологического процесса хоть и любительскими, но объективными средствами. Чудес не произошло, но где-то треть отыграть удалось.
Что касается силикона, его часто ассоциируют с материалом самих форм для отливки, а не отливаемым изделием. Литьё в формы вообще — дело довольнонудное занимательное, но автор в любом случае разбавляет историю инженерным трэшем для развлечения публики.
Данная статья про то, каких успехов можно добиться при использовании «непечатных» материалов, на старенькой «Пруше», без всяких выкрутасов и специальных экструдеров. В качестве use case автор задвинулся на многодисковой системе и решил максимально увеличить плотность установки «шпинделей» с одновременным уменьшением вибраций. В борьбе за миллиметры понадобилась пара дюжин абсолютно одинаковых мелких деталей с допусками 100мкм из очень мягкого и «тянучего» материала. Впрочем, если уважаемый читатель уже забыл про HDD, как про страшный сон, вообще абстрагируйтесь от use case и обратите внимание на нюансы литья, там тоже бывает нескучно.
По мнению автора, потребительские виброгасящие решения имеют скорее психологический эффект, чем метрологический. Почему? Наверное, из-за тугой резины, передающей большую часть энергии пульсаций на корпус. Поэтому для автора было очень важно измерить результаты описанного здесь технологического процесса хоть и любительскими, но объективными средствами. Чудес не произошло, но где-то треть отыграть удалось.
Что касается силикона, его часто ассоциируют с материалом самих форм для отливки, а не отливаемым изделием. Литьё в формы вообще — дело довольно
+39
Apache Maven — основы
6 мин
548KПосле публикации топика о Maven в комментариях возникли вопросы о том, как начать с ним работать, с чего начать, как составлять файлы pom.xml, откуда брать плагины и т.п. Данный топик будет своего рода getting started или f.a.q.
+37
От велосипеда к Maven
13 мин
72KТак уж сложилось, что до недавнего времени все проекты, написанные мною на Java я собирал, кхм, за меня собирал NetBeans. И меня такой расклад вещей вполне устраивал: после сборки всего проекта всё аккуратно складывалось в директорию dist со всеми подвязанными библиотеками, оставалось накидать туда пользовательской документации, необходимых native-библиотек (например от Firebird) и в путь, т.е. всё в архив. Когда то я делал это вручную, потом велосипедом, а потом уже Maven'ом. Под катом находится история о том, как же я пришел в стан maven и что из этого получилось.
+40
Многозадачность. Как справиться с призраками посторонних дел
7 мин
35K Автор иллюстрации: John Kenn
Многозадачность мешает сосредоточиться, довести начатое дело до конца, вызывает беспокойство и усталость, постоянное ощущение спешки, чувство неудовлетворенности, при этом эффективность работы падает.
О многозадачности, а точнее о том как с ней справиться, в статье и пойдет речь.
Многозадачность мешает сосредоточиться, довести начатое дело до конца, вызывает беспокойство и усталость, постоянное ощущение спешки, чувство неудовлетворенности, при этом эффективность работы падает.
О многозадачности, а точнее о том как с ней справиться, в статье и пойдет речь.
+25
От идеи до гаджета. История одного стартапа
5 мин
34K Многие из вас задумывались хоть раз о создании своего продукта, который порвет весь мир и принесет вам миллионы и беспечную жизнь под пальмами до конца дней…
В двух постах я хочу рассказать свою историю. Как студент разрабатывал и продвигал свой продукт. На какие грабли наступал, какие выводы сделал.
Сейчас быть предпринимателем становится модным. Постараюсь снять с вас розовые очки и поделиться своим опытом успехов и, что самое главное — опытом неудач.
В двух постах я хочу рассказать свою историю. Как студент разрабатывал и продвигал свой продукт. На какие грабли наступал, какие выводы сделал.
Сейчас быть предпринимателем становится модным. Постараюсь снять с вас розовые очки и поделиться своим опытом успехов и, что самое главное — опытом неудач.
+55
Мошенничество при покупке б/у MacBook: «А номер то, говорят, не настоящий!»
6 мин
113KВсе компьютеры Apple имеют похожий дизайн. Многие модели одной серии невозможно отличить по внешним признакам. Этим пользуются мошенники, которые завышают год выпуска или технические характеристики, с целью продать дороже Мак. Я много лет работаю мастером по ремонту компьютеров Apple, встречал и случаи такого мошенничества. Всех кому интересно, как не дать себя обмануть при покупке б/у Мака, приглашаю под кат.
+85
Кто ищет, тот всегда найдет. Если ему помочь
7 мин
13KВы сделали отличное приложение, выложили его в магазин, но там оно немедленно затерялось в тысячах аналогичных продуктов. Вы не планировали заработать на нем кучу денег, у вас нет рекламного бюджета, но вам обидно, что о вашем творении вообще никто не знает. В этой статье, ориентированной на небольшие компании и разработчиков-одиночек, мы расскажем, как простыми и бесплатными средствами помочь вашему приложению быть найденным целевой аудиторией.
+26
Самодельный велокомпьютер, или как Arduino на улицу попал
10 мин
90KЗдравствуй, Хабр! Мне хотелось бы поделиться историей о создании велокопомпьютера своими руками. После покупки велосипеда я решил как-то фиксировать свой прогресс, но мобильные трекеры оказались не самым удобным решением, а из Китая ко мне уже летел заранее заказанный там BOGEER 823, что делало покупку на месте бессмысленной. Поэтому я решил попытаться сделать велокомп своими руками, заодно заложив в него основу для расширения: управление обвесом велосипеда (передний и задний свет, звонок).
+30
Выводим прогноз погоды на дисплей
2 мин
20KДобрый день всем!
Раньше, чтобы посмотреть прогноз погоды, я обычно заходил на разные метеорологические сайты, потом с приходом разнообразных виджетов я мог узнать погоду, просто посмотрев на рабочий стол. В данный момент я решил изготовить небольшой девайс с экраном, на который может выводиться прогноз погоды с какого либо сайта. Думаю, сейчас наиболее актуально быть в курсе изменений погоды. Потому я решил опубликовать описание устройства на хабре, может кто-то захочет повторить эту конструкцию.
+121
Подборка цветовых схем подсветки синтаксиса для Sublime, TextMate и Vim
1 мин
63KДейл Риз — один из разработчиков PHP-фреймворка Laravel — выложил на Гитхаб весьма приятную подборку цветовых схем, совместимую с Sublime Text 2, Vim и TextMate. В неё входят преимущественно тёмные темы (21 из 25), и, что бывает не так уж часто, практически все они выглядят очень прилично — есть из чего выбрать. Инструкции по установке и скриншоты каждой темы — в репозитории.
Под катом — скриншоты всех 25 схем.
Под катом — скриншоты всех 25 схем.
+31
Информация
- В рейтинге
- Не участвует
- Откуда
- Одесса, Одесская обл., Украина
- Зарегистрирован
- Активность