Pull to refresh
-1
0.1

Скрытые друзья в плюсах

Reading time 4 min
Views 8.5K

Как известно, ключевое слово friend в C++ используется для предоставления доступа к закрытым членам класса внешним функциям и классам. Помимо этого, friend наделена еще одной фишкой, о которой знают далеко не все. В этой статье речь пойдет о hidden friends. Желающих разобраться в сабже, прошу под кат.

Читать далее
Total votes 14: ↑13 and ↓1 +12
Comments 13

Что делать, если в твоем тексте или коде нашли ошибку?

Reading time 4 min
Views 6.9K

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

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

Читать далее
Total votes 21: ↑18 and ↓3 +15
Comments 23

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

Reading time 6 min
Views 50K

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

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

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

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

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

Читать далее
Total votes 18: ↑15 and ↓3 +12
Comments 69

Тренируемся дома по программе Пола Уэйда. Часть Четвёртая: Мостик или Секрет Бронированного Позвоночника

Reading time 23 min
Views 54K

Программа Тюремных Тренировок — это эффективные методы обучения по работе со своим весом. Многие из этих забытых, но действенных техник — находятся на грани исчезновения. Современный бодибилдинг поменял наше мышление, навязав ложные убеждения. Поэтому мы сняли этот фильм в Алькатрасе, вернувшись во времена, когда «Скала» была крупнейшей тюрьмой для особо опасных преступников. Пожалуй, это самое правильное место, чтобы показать методы тренировок заключённых.

Приступить к тренировке
Total votes 38: ↑33 and ↓5 +28
Comments 15

C++ в Практикуме. Как обучить студентов плюсам, не отпугивая

Reading time 8 min
Views 27K

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

Меня зовут Антон Полднев, я уже давно пишу в Яндексе на C++ и руковожу сервисом, написанным на этом языке. Параллельно я учу других людей навыкам разработки. С 2016 года я вёл курсы на Coursera, затем мы их прокачали и сделали на их основе курс для Практикума. В этом посте я расскажу, как мы учим людей C++, а также про основные особенности этого языка. 

Читать далее
Total votes 75: ↑58 and ↓17 +41
Comments 111

Абсурдный код или «как не стоит писать»

Reading time 5 min
Views 13K

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



Как и в предыдущий раз, вдохновился я на этот пост благодаря очень популярному вопросу на Quora, а именно: Какой самый абсурдный код вы когда-либо видели? (Ориг. What is the most absurd code you've ever seen?)


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

Читать дальше →
Total votes 26: ↑21 and ↓5 +16
Comments 33

С/С++ на Linux в Visual Studio Code для начинающих

Reading time 4 min
Views 176K
Давайте начистоту, мало кто использует отладчик GDB на Linux в консольном варианте. Но что, если добавить в него красивый интерфейс? Под катом вы найдёте пошаговую инструкцию отладки кода С/С++ на Linux в Visual Studio Code.


Читать дальше →
Total votes 25: ↑19 and ↓6 +13
Comments 60

Специализированные чипы не спасут нас от «тупика ускорителей»

Reading time 4 min
Views 6.6K


Усовершенствования в скорости работы ЦП замедляются, и мы наблюдаем, как полупроводниковая индустрия переходит на карточки ускорителей, чтобы результаты продолжали заметно улучшаться. Больше всего выгоды от этого перехода получила Nvidia, однако, это часть одной и той же тенденции, питающей исследования в области ускорителей нейросетей, FPGA, и таких продуктов, как TPU от Google. Эти ускорители невероятно увеличили быстродействие электроники в последние годы, и многие начали надеяться, что они представляют собой новый путь развития, в связи с подтормаживанием закона Мура. Но новая научная работа высказывает предположение, что на самом деле всё не так радужно, как хотелось бы некоторым.

Такие специальные архитектуры, как GPU, TPU, FPGA и ASIC если даже и работают совсем не так, как CPU общего назначения, то всё равно используют те же функциональные узлы, что и процессоры x86, ARM или POWER. А это значит, что увеличение быстродействия этих ускорителей тоже в какой-то мере зависит от улучшений, связанных с масштабированием транзисторов. Но какая доля этих улучшений зависела от улучшения технологий производства и увеличения плотности, связанной с законом Мура, а какая – от улучшений в целевых областях, для которых предназначены эти процессоры? Какая доля улучшений связана только с транзисторами?
Читать дальше →
Total votes 24: ↑20 and ↓4 +16
Comments 0

Идеальное резюме, которому будут рады рекрутер и работодатель

Reading time 12 min
Views 214K
Данная статья основана на материалах моего выступления перед студентами Южного Федерального Университета. Большинство примеров – из мира веб-разработки. Однако принципы, о которых я рассказываю, применимы к любой области деятельности.
Читать дальше →
Total votes 34: ↑18 and ↓16 +2
Comments 78

Топ 20 ошибок при работе с многопоточностью на С++ и способы избежать их

Reading time 21 min
Views 73K
Привет, Хабр! Предлагаю вашему вниманию перевод статьи «Top 20 C++ multithreading mistakes and how to avoid them» автора Deb Haldar.


Сцена из фильма «Петля времени» (2012)

Многопоточность— одна из наиболее сложных областей в программировании, особенно в C++. За годы разработки я совершил множество ошибок. К счастью, большинство из них были выявлены на код ревью и тестировании. Тем не менее, некоторые каким-то образом проскакивали на продуктив, и нам приходилось править эксплуатируемые системы, что всегда дорого.

В этой статье я попытался категоризировать все известные мне ошибки с возможными решениями. Если вам известны еще какие-то подводные камни, либо имеете предложения по решению описанных ошибок– пожалуйста, оставляйте свои комментарии под статьей.
Читать дальше →
Total votes 62: ↑60 and ↓2 +58
Comments 94

Подборка полезностей для программиста под Linux

Reading time 44 min
Views 17K

Думаю, у каждого программиста есть набор любимых утилит, трюков и знаний. Некоторые он даже использует в работе. Скорее всего, у разных программистов они различаются. Значит, пришло время поделиться. Сегодня я расскажу о своей подборке того, что, вероятно, известно не настолько широко, как оно того заслуживает. Речь пойдёт преимущественно про платформу GNU/Linux.

Читать дальше →
Total votes 33: ↑33 and ↓0 +33
Comments 6

В чем набрать и чем собрать C++ проект

Reading time 14 min
Views 71K
Задавшись этим вопросом я, в первую очередь, сформулировал требования: жесткие и опциональные (но желательные) для системы сборки и графической среды разработки.
Сразу хочу отметить что речь идет о написании C++ кода не под какую-то специфичную платформу типа Android или фреймворка, например Qt, — где все уже готово, как с построением так и с редактированием кода, а об generic коде не привязанному к конкретной платформе или фреймворку.
Читать дальше →
Total votes 57: ↑39 and ↓18 +21
Comments 111

OpenCL. Подробности технологии

Reading time 10 min
Views 36K


Здравствуй, уважаемое хабрасообщество.

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

читать дальше
Total votes 45: ↑43 and ↓2 +41
Comments 10

Оптимальные опции для x86 GCC

Reading time 4 min
Views 54K
      Распространено мнение, что GCC отстает по производительности от других компиляторов. В этой статье мы постараемся разобраться, какие базовые оптимизации GCC компилятора стоит применить для достижения приемлемой производительности.

Читать дальше →
Total votes 89: ↑85 and ↓4 +81
Comments 53

MPAA хочет, чтобы провайдеры отключали от интернета пиратов-рецидивистов

Reading time 2 min
Views 7.5K
imageВ эпохальном материале на 50 страниц с приложением на 20 страницах Американская ассоциация кинокомпаний (MPAA) доказывает, что пиратов никак нельзя будет победить без активного участия интернет-провайдеров. В частности, по мнению Ассоциации, в идеале провайдеры должны попросту насовсем отключать пиратов-рецидивистов (получивших несколько уведомлений о скачивании нелегального контента) от интернета.

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

Регистраторы доменов, естественно, должны по первому требованию правоперекупщиков разделегировать домены пиратских сайтов – таких, как The Pirate Bay.
Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Comments 31

Джули Рубикон. Признание бывшего сотрудника Facebook

Reading time 9 min
Views 66K


Примечание от Робина Слоана, который опубликовал запись в своём блоге 15 марта 2016 года: «Этот рассказ появился в моём защищённом ящике в конце прошлого месяца, вместе с просьбой опубликовать его на Facebook сегодня именно в таком формате. Я не могу поручиться за подлинность истории, но она показалась мне достаточно странной и интересной».

#


Записывать всё это — последнее, что мне хочется делать, но это необходимо. Частично ради людей, которые обязаны знать, что происходит с их публикациями на Facebook, но главным образом (99%) ради Джули Рубикон и того пика на графике.

Мои бывшие коллеги из Facebook Inc. в Менло-Парк, Калифорния — привет, Джейн, привет, Нил, привет… Марк? — немедленно поймут, кто это написал, и компания вероятно будет преследовать меня, но я думаю, они провернут всё тихо. Комиссия по ценным бумагам не ограничится тихим расследованием, если действительно нарушены соответствующие правила и нормы, но честно… вряд ли такие правила существуют.
Читать дальше →
Total votes 102: ↑68 and ↓34 +34
Comments 84

Парк куриного периода: учёные вырастили ногу динозавра у курицы

Reading time 2 min
Views 16K
image

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

У куриц в ногах сохранился рудимент под названием малоберцовой кости, напоминающей булавку. Её относительный размер меньше, чем у предков птиц, и она никак не связана с костями в ноге. Учёные выяснили, что подавление гена IHH (Indian hedgehog homolog), отвечающего за развитие костей, приводит к развитию полноценной малоберцовой кости, которая, к тому же, вырастает присоединённой к лодыжке. В результате анатомия ног птицы приблизилась к анатомии хищных динозавров.

У динозавров, предков птиц, большая берцовая и малоберцовая кости были сходного размера и соединялись вместе. В ходе эволюции последняя за ненадобностью уменьшилась и перестала быть соединённой с другими костями. Ещё в 19 веке учёные отметили, что ход эволюции сказывается на развитии эмбрионов птиц – у них обе кости сначала появляются одинаковыми, а затем одна отстаёт в развитии.
Читать дальше →
Total votes 27: ↑17 and ↓10 +7
Comments 27

До Марса за три дня?

Reading time 6 min
Views 39K
В конце февраля многие СМИ опубликовали новость о том, что НАСА придумало способ летать к Марсу и другим планетам с околосветовыми скоростями. Речь шла о работе профессора физического факультета Калифорнийского университета в Санта-Барбаре Филипа Любина (Philip Lubin). Смысл сообщений сводился к тому, что НАСА, в лице вышеупомянутого профессора, собирается запускать зонды к планетам Солнечной системы и за пределами её при помощи подсветки лазерным лучом с Земли. Обещалась доставка 100-килограмового аппарата к Марсу за три дня и другие фантастические возможности. Видимо, по причине явной желтушности заголовков, никто не рискнул перепубликовать подобную новость здесь и на подобных ресурсах. Мне стало интересно, что же все-таки стоит за громкими заголовками и вот, что я выяснил.
Читать дальше →
Total votes 39: ↑38 and ↓1 +37
Comments 155

Гексапод Б.У.Н.Т

Reading time 3 min
Views 81K
Насмотревшись на youtube видео про гексаподов (особенно впечатлил PhantomX), решил попробовать свои силы в роботостроении. Забегая вперёд — всё получилось и вот результат:



Всех интересующихся прошу под кат, там вкратце описана история создания и трудности с которыми пришлось столкнуться, а так же видео работы гексапода. Ни каких графиков, схем и кода, только лирика.
Читать дальше →
Total votes 77: ↑75 and ↓2 +73
Comments 35

Information

Rating
2,364-th
Location
Балашиха, Москва и Московская обл., Россия
Date of birth
Registered
Activity