Как стать автором
Обновить
2
0
Отправить сообщение

Просто о сложном — move в языке C++

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

Здравствуйте уважаемые читатели. Данная публикация адресована начинающим разработчикам С++ которые только становятся на путь высокой производительности и "отстрелянных конечностей". Опытные разработчики найдут здесь скорее повторение тех вещей, которые сами мучительно осваивали в те далекие времена, когда в языке С++ появилась возможность удобного перемещения объектов.

Многие из вас уже слышали и надеюсь использовали функцию move() в своих проектах. Если нет, то пришло время с ней познакомиться.

Вопрос: Опять этот move, сколько уже можно? Есть же множество опубликованного материала по этой теме?

Ответ: Да, есть много статей. В свое время учился по ним, в том числе и тут, на Хабре [1, 2]. Но мне все равно было не понятно, значит, учитывая статистику, непонятно также и некоторому количеству читателей.

Как обычно начинаются туториалы по move? Рассмотрим lvalue объект, ему соответствует rvalue объект, между ними есть оператор присваивания (=). Тут появляются ссылки, да не просто, а ссылки на lvalue, на rvalue и пошло-поехало. Мозг перегружается, статья пролистывается до конца. Поэтому попробую рассказать о move c другой стороны - в стиле "от практики к теории" - так, как хотел бы чтобы мне рассказали.

Читать далее
Всего голосов 18: ↑15 и ↓3+12
Комментарии69

Как украсть Macbook

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


У меня несколько раз воровали макбуки, и ни разу антикражные средства Apple вроде Find My Mac не помогли мне вернуть компьютер. Действительно ли они бесполезны? Можно ли доверять встроенному шифрованию FileVault? Как повысить шансы вернуть компьютер? Эта статья результат моих страданий в безрезультатных попытках вернуть украденные компьютеры.

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

Внимание!
Материалы в статье представлены исключительно в ознакомительных целях. Все описания мошеннических действий инсценированы и выполнены с согласия владельцев ноутбуков. Автор не призывает к мошенническим действиям, и единственная цель статьи — показать, как лучше настраивать систему, чтобы защитить свои данные.
Всего голосов 188: ↑186 и ↓2+184
Комментарии184

VPN без VPN или рассказ об нетрадиционном использовании SSH

Время на прочтение10 мин
Количество просмотров52K
По данным ssh.com и Wikipedia, первая версия и реализация протокола SSH увидела свет в 1995 году. Задачей автора было разработать безопасную альтернативу использовавшимся тогда для удалённого администрирования rlogin, telnet и rsh. Любопытно, что появлению протокола SSH поспособствовал инцидент информационной безопасности, в результате которого злоумышленник собрал внушительную базу логинов/паролей от серверов, просто прослушивая университетскую сеть и выделяя пакеты аутентификации (пары логин/пароль в них передавались в незашифрованном виде).

Протокол быстро завоевал популярность и после длительного периода доработок и улучшений был стандартизован IETF в 2006 году. С тех пор он успел стать де-факто стандартом для удалённого управления системами с текстовой консолью. Помимо собственно текстовой консоли в протоколе предусмотрена масса других полезных функций, таких как передача файлов и переадресация портов. Именно о переадресации портов (port forwarding) и её не слишком очевидном применении пойдёт речь в этой статье.
Читать дальше →
Всего голосов 65: ↑61 и ↓4+57
Комментарии94

Исследование защищенности карты Тройка

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

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

Цель данного исследования — выяснить защищенность системы электронного кошелька от подделки баланса, оценить безопасность инфраструктуры, работающей с картой. Вся работа была выполнена без использования специальных технических средств. Использовался дешевый смартфон на платформе Android и персональный компьютер. Общее время, затраченное на исследование, составило 15 дней.

В ходе работы был успешно проведен реверс­-инжиниринг мобильного приложения «Мой проездной», что позволило получить доступ к памяти карты и изучить структуру хранения данных. Были найдены уязвимости, позволяющие выполнить подделку баланса, записанного на электронном кошельке карты Тройка. В результате чего стало возможным использование систем, поддерживающих карту, без оплаты.

Итогом исследования стала разработка приложения TroikaDumper, позволяющего эксплуатировать уязвимости системы электронного кошелька.

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

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

90 рекомендаций по стилю написания программ на C++

Время на прочтение20 мин
Количество просмотров408K
От переводчика. Искал в интернете простой и легко применимый гайдлайн по написанию программ на C++. Мне понравился один из вариантов, и я решил его перевести и опубликовать. Если хабрапользователи хорошо встретят этот топик, могу перевести и другие связанные документы, а также гайдлайны по написанию кода от других компаний.

1 Введение


Настоящий документ содержит рекомендации по написанию программ на языке C++.

Рекомендации основаны на установившихся стандартах, собранных из различных источников, личного опыта, частных требований и потребностей определённых проектов, а также почерпнутых из источников (см. ниже).

Но для появления ещё одного списка рекомендаций, помимо указанных источников, есть несколько причин. Основная причина — их излишняя обобщённость, поскольку зачастую требуется задать частные правила (в особенности правила именования). Данный документ содержит комментарии, что делает его более удобным в использовании при проведении ревизий кода, чем другие уже существующие документы. К тому же, рекомендации по программированию обычно вперемешку содержат описания проблем стиля и технических проблем, что не совсем удобно. Этот документ не содержит каких-либо технических рекомендаций по C++, делая упор на вопросах стиля.
Читать дальше →
Всего голосов 181: ↑137 и ↓44+93
Комментарии213

Простые опыты с ребенком дома

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

Пример очень неудачного опыта, пояснение в разделе “о технике безопасности”

К моему предыдущему посту было множество комментариев по части экспериментов с детьми. Тогда я пообещал написать отдельный пост о простых увлекательных опытах. Сейчас я это обещание выполняю. Данная статья будет вводной, в ней я расскажу только о самых популярных и известных экспериментах которые легко выполнить дома с ребенком.
Читать дальше →
Всего голосов 69: ↑66 и ↓3+63
Комментарии164

Shazam: алгоритмы распознавания музыки, сигнатуры, обработка данных

Время на прочтение13 мин
Количество просмотров157K
В ресторане заиграла почти забытая песня. Вы слушали её в далёком прошлом. Сколько трогательных воспоминаний способны вызвать аккорды и слова… Вы отчаянно хотите послушать эту песню снова, но вот её название напрочь вылетело из головы! Как быть? К счастью, в нашем фантастическом высокотехнологичном мире есть ответ на этот вопрос.

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


Мобильные технологии и невероятный прогресс в области обработки звука дают разработчикам алгоритмов возможность создавать приложения для распознавания музыкальных произведений. Одно из самых популярных решений такого рода называется Shazam. Если дать ему 20 секунд звучания, неважно, будет ли это кусок вступления, припева или часть основного мотива, Shazam создаст сигнатурный код, сверится с базой данных и воспользуется собственным алгоритмом распознавания музыки для того, чтобы выдать название произведения.

Как же всё это работает?
Читать дальше →
Всего голосов 64: ↑58 и ↓6+52
Комментарии22

3d принтер на рельсах за «25 тысяч рублей» своими руками.Основные комплектующие

Время на прочтение2 мин
Количество просмотров34K
После публикации поста меня попросили написать о комплектующих, что-же, пожалуйста :)
В кавычках, потому что курс рубля слабо поддается прогнозу, но я уложился в такую сумму с курсом доллара 55-60 рублей.
Все запчасти относятся только к данному корпусу, который можно заказать написав этому человеку или если вы решите собирать в другой корпус, то могут быть незначительные изменения, но в целом комплектующие совпадают.
Читать дальше →
Всего голосов 17: ↑13 и ↓4+9
Комментарии22

Беспилотник на базе Raspberry Pi. Часть 1

Время на прочтение2 мин
Количество просмотров112K
Привет, %хабраюзер%. Хочу поделиться историей о своем беспилотнике (БЛА) на малинке.

Перед тем, как начать делать беспилотник, стоял выбор, какую летательную модель брать за основу: квадракоптер или самолет? Так как с коптерами я в свое время наигрался, знаю их основной минус: чаще всего время полета составляет 10-20 минут. Лично для меня это очень мало, поэтому было решено взять за основу самолет.

Читать дальше →
Всего голосов 51: ↑47 и ↓4+43
Комментарии62

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

Время на прочтение28 мин
Количество просмотров186K
Сегодня мы представляем вашему вниманию адаптированную подборку инструментов (в том числе облачных) для разработчиков, которые позволяют создавать по-настоящему качественные проекты. Здесь представлены исключительно SaaS, PaaS и IaaS сервисы, предоставляющие бесплатные пакеты для разработчиков инфраструктурного ПО.

Читать дальше →
Всего голосов 96: ↑89 и ↓7+82
Комментарии38

Грандиозное тестирование аккумуляторов AA/AAA

Время на прочтение6 мин
Количество просмотров295K
После моего грандиозного тестирования батареек многие просили провести такие же основательные тесты NiMh-аккумуляторов. За четыре месяца я протестировал 198 аккумуляторов (44 модели AA и 35 моделей AAA).



Читать дальше →
Всего голосов 217: ↑215 и ↓2+213
Комментарии71

Почему писать скрипты для борьбы с «браузером Амиго» — зло?

Время на прочтение9 мин
Количество просмотров80K
Прочитав пост про удаление ненужного софта мне в который раз стало очень грустно. Автор предлагает «эффективное решение» по избавлению от всякого нежелательного софта, вроде упомянутого «амиго». И если некоторые части скрипта еще можно назвать, ну хотя бы безвредными, то удаление и запрет на запись "%username%\AppData\Local\Apps" выглядит как откровенный саботаж. Плохо еще и то, что такой или аналогичный по механике «полезный скрипт» некоторые всерьез считают действенной мерой. Это далеко не первая статья, от которой у меня сводит скулы, вижу что многие не понимают с чего вообще нужно начинать настройку безопасности в Windows-среде.

Представляю читателям мое видение списка минимально необходимых настроек и действий (в первую очередь для Windows-домена), чтобы никогда не видеть непонятных браузеров и свести риск вредоносного ПО к абсолютному минимуму. Некоторые описанные решения могут показаться спорными, и мало того, они таковыми и являются. Но заранее прошу, увидев первое предложение какого-то пункта, не спешите писать комментарий, прочитайте мысль до конца, возможно у вас отпадут вопросы.
Почему я не знаю как выглядит браузер Амиго?
Всего голосов 90: ↑77 и ↓13+64
Комментарии203

Глупые часы

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

В современном мире все чаще встречается приставка «умный» к, казалось бы, обычным вещам. Все что-то замеряют, передают, принимают, обрабатывают, оповещают и подсказывают. Скоро Bluetooth, Wi-Fi и маленький контроллер, а также камера будет в каждом предмете.

Я же хочу рассказать о том, как я сделал часы, к которым были предъявлены жесткие требования – они должны показывать время и… нет, все, они должны показывать время. Хотя все же еще одно требование, цифры должны быть достаточно большими и легко читаться.
Читать дальше →
Всего голосов 106: ↑105 и ↓1+104
Комментарии67

Microsoft добавил средство сбора телеметрии в Windows 7/8/8.1

Время на прочтение1 мин
Количество просмотров300K
Сегодня на MS Windows 7 и 8.1 прилетели обновления KB3080149 и KB3075249. Телеметрическая информация передаётся на следующие сервера:
vortex-win.data.microsoft.com
settings-win.data.microsoft.com

Передача осуществляется через TCP по порту 443 с использованием SSL.
Для параноиков людей, беспокоящихся о несанкционированной передаче информации Microsoft (далее возможно и третьим лицам), предлагаю добавить сервера в список исключений маршрутизатора, а следующие строчки в файл hosts (%windir%\System32\drivers\etc\hosts):
127.0.0.1 vortex-win.data.microsoft.com
127.0.0.1 settings-win.data.microsoft.com
Всего голосов 86: ↑76 и ↓10+66
Комментарии279

Еще один способ отключения сбора телеметрии в OC Windows 10

Время на прочтение10 мин
Количество просмотров350K
Микрософт с помощью пасьянса и косынки учила пользователей пользоваться мышью,
теперь с помощью windows 10 учит читать лицензионное соглашение.

После выхода windows 10 сразу появились сообщения о сборе информации о действиях пользователей и много обсуждений, что делать. Достаточно быстро пользователи составили список основных серверов, собирающих информацию и попытались их заблокировать через файл hosts. Но скептики сразу выдвинули здравое предположение, что MS мог предусмотреть этот метод и некоторые адреса прописать в коде. Тем более, что MS всегда может актуализировать адреса серверов через windows update.

В нашей компании начали появляться первые пользователи windows 10, и мы решили опробовать блокировку передачи телеметрии через встроенный windows firewall.
Читать дальше →
Всего голосов 97: ↑89 и ↓8+81
Комментарии245

5 практических способов ускорения обучения

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

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

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

Ответом на эту проблему могут быть следующие советы по интенсификации, позволяющие ускорить обучение. Предлагаемые методы позволят вам освоить любой навык значительно тверже и быстрее.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии5

Советы — как понимать больше, запоминать дольше

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

Владея несколькими хитрыми принципами мы сможем этого достичь. Для этого нам вовсе не нужно иметь феноменальную память с рождения.

Пост решил писать кратко и по делу, без пространных объяснений и примеров. Зачем они вам? Хитрость легко попробовать на практике. Не помогла? Забудьте. Помогла? Используйте всегда.

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

Прокрастинация, или как перестать быть ленивой задницей и начать жить

Время на прочтение8 мин
Количество просмотров62K
Тема прокрастинации в последнее время особенно горячо обсуждается на мегамозге и ГТ, а также множестве других околоайтишных ресурсов. Везде было выказано множество мнений, зачастую противоположных. Чтож, попробуем немного проанализировать и структурировать прочитанное, порассуждать на тему и попытаться найти решение



Автор не является ни медиком, ни психологом, а является просто лентяем, который пытается учиться на своем опыте, а также делать выводы на основе чужого. Кому интересно — прошу под кат.
Читать дальше →
Всего голосов 26: ↑24 и ↓2+22
Комментарии16

О юридическом значении нажатия пользователем на кнопку «Купить», «Принять условия лицензионного соглашения» и т.п

Время на прочтение6 мин
Количество просмотров19K
В современном мире с помощью Интернета заключаются различные сделки и продаются самые разные товары (в экономическом смысле), как материальные, так и нематериальные (ПО, музыка, фильмы и другая интеллектуальная собственность). Процесс их покупки для конечного пользователя выглядит, как нажатие на кнопку на экране компьютера или смартфона на которой написано «Купить», принять, подтвердить и тому подобное. Иногда для покупки необходимо ввести специальный код, полученный по SMS.

В посте дана попытка изложить эту информацию понятным языком.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии28

10 советов и небольших хитростей на eBay

Время на прочтение7 мин
Количество просмотров322K
В наше время все более популярными становятся сервисы Интернет-торговли. И, наверно, самый популярный из таких сервисов — Ebay. Если пару лет назад многие ни разу не слышали этого слова, то теперь о Ebay можно услышать даже в новостях.

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

Сейчас в сети легко можно найти много гайдов по процессу регистрации и покупки на Интернет-аукционах. Но даже при наличии такого количества самых разнообразных гайдов после регистрации и даже после некоторого числа покупок у многих остаются вопросы, ответы на которые не так просто найти. В данном Мини-FAQ, на примере Интернет-аукциона Ebay, я бы хотел дать ответы и советы по 10 ситуациям, с которыми чаще всего обращаются за помощью и которые чаще всего возникают после начала пользования сервисом. Сразу скажу, что именно эти вопросы выбраны на примере личного опыта и по мере просмотра вопросов на профильных форумах.
Читать дальше →
Всего голосов 108: ↑94 и ↓14+80
Комментарии96

Информация

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