Pull to refresh
0
0
Вадим @VadVergasov

Пользователь, любитель

Send message

Стандарт C++20: обзор новых возможностей C++. Часть 1 «Модули и краткая история C++»

Reading time10 min
Views71K


25 февраля автор курса «Разработчик C++» в Яндекс.Практикуме Георгий Осипов рассказал о новом этапе языка C++ — Стандарте C++20. В лекции сделан обзор всех основных нововведений Стандарта, рассказывается, как их применять уже сейчас и чем они могут быть полезны.

При подготовке вебинара стояла цель сделать обзор всех ключевых возможностей C++20. Поэтому вебинар получился насыщенным. Он растянулся на почти 2,5 часа. Для вашего удобства текст мы разбили на шесть частей:

  1. Модули и краткая история C++.
  2. Операция «космический корабль».
  3. Концепты.
  4. Ranges.
  5. Корутины.
  6. Другие фичи ядра и стандартной библиотеки. Заключение.

Это первая часть, рассказывающая о модулях в современном C++. Если вы предпочитаете снайдеркатам краткие изложения, то добро пожаловать в статью.

Update. К статье добавлены правки и комментарии Антона Полухина.
Читать дальше →
Total votes 38: ↑38 and ↓0+38
Comments74

18 отборных однострочных команд Linux

Reading time4 min
Views38K

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

Приступим!
Читать дальше →
Total votes 62: ↑42 and ↓20+37
Comments55

Мигрируем БД в продакшене без даунтайма

Reading time12 min
Views26K

В этой статье мы рассмотрим основные принципы миграции БД без даунтайма и дадим быстрые рецепты для наиболее распространенных случаев.

Читать далее
Total votes 49: ↑48 and ↓1+57
Comments51

Особенности реализации STL в Clang, GCC и Microsoft С++

Reading time21 min
Views20K

Любая программа состоит из данных и алгоритмов их обработки. Для написания программ на C++ в начале 90-х годов прошлого века Александр Степанов с коллегами разработал библиотеку STL. Я, Михаил Полукаров из команды разработки VK Teams, заглянул под капот этой библиотеки чтобы разобраться, как правильно ей пользоваться, в каких случаях лучше использовать другие библиотеки, а в каких стоит написать что-то своё. 

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

Читать далее
Total votes 57: ↑55 and ↓2+75
Comments12

Разработка 2-наносекундного излучателя лидара. Тестовое задание от Яндекс.Беспилотники

Reading time10 min
Views43K

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

Читать далее
Total votes 101: ↑100 and ↓1+120
Comments110

Основы Linux (обзор с практическим уклоном)

Reading time14 min
Views319K

Привет, Хабр!

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

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

Читать далее
Total votes 59: ↑55 and ↓4+68
Comments44

Искусство написания циклов на Python

Reading time4 min
Views87K


Цикл for — самый базовый инструмент потока управления большинства языков программирования. Например, простой цикл for на C выглядит так:

int i;
for (i=0;i<N;i++)
{
  //do something
}

Не существует более изящного способа написания цикла for на C. В сложных случаях обычно приходится писать уродливые вложенные циклы или задавать множество вспомогательных переменных (например, как i в показанном выше коде).

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

Эта статья познакомит вас с самыми полезными трюками по написанию циклов на Python. Надеюсь, она поможет вам ощутить красоту этого языка.
Читать дальше →
Total votes 47: ↑40 and ↓7+45
Comments41

Fiddler = удобный сниффер + прокси сервер

Reading time8 min
Views128K

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

Читать далее
Total votes 17: ↑16 and ↓1+17
Comments19

HDD для Mac или заурядный случай для лаборатории восстановления данных

Reading time14 min
Views14K
К нам на диагностику поступил накопитель Seagate ST4000DM000 семейства Lombard. Со слов клиента можно было понять, что накопитель использовался на компьютере Apple Macintosh и был на нем отформатирован, и не один раз, за все время эксплуатации. Вопросы касательно состояния накопителя или типа файловой системы остаются без ответа. Клиентом дается лишь сбивчивое пояснение, что необходимо восстановление файлов с оригинальной структурой каталогов. Также клиент уточняет, что в одном из сервисов были получены файлы без оригинальных имен с помощью какой-то программы восстановления данных, но его такой результат не устраивает.


Читать дальше →
Total votes 34: ↑34 and ↓0+34
Comments45

Хождение по рукам или грустные реалии рынка услуг восстановления данных

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

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

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

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

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


Рис. 1 Hitachi HTS547575A9E384 обычно выглядит так.
Читать дальше →
Total votes 64: ↑62 and ↓2+83
Comments141

Нейросети и глубокое обучение, глава 2: как работает алгоритм обратного распространения

Reading time23 min
Views30K

В прошлой главе мы видели, как нейросети могут самостоятельно обучаться весам и смещениям с использованием алгоритма градиентного спуска. Однако в нашем объяснении имелся пробел: мы не обсуждали подсчёт градиента функции стоимости. А это приличный пробел! В этой главе я расскажу быстрый алгоритм для вычисления подобных градиентов, известный, как обратное распространение.

Впервые алгоритм обратного распространения придумали в 1970-х, но его важность не была до конца осознана вплоть до знаменитой работы 1986 года, которую написали Дэвид Румельхарт, Джоффри Хинтон и Рональд Уильямс. В работе описано несколько нейросетей, в которых обратное распространение работает гораздо быстрее, чем в более ранних подходах к обучению, из-за чего с тех пор можно было использовать нейросеть для решения ранее неразрешимых проблем. Сегодня алгоритм обратного распространения – рабочая лошадка обучения нейросети.
Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments9

Нейросети и глубокое обучение, глава 1: использование нейросетей для распознавания рукописных цифр

Reading time56 min
Views135K

Примечание


Michael NielsenПеред вами – перевод свободной онлайн-книги Майкла Нильсена «Neural Networks and Deep Learning», распространяемой под лицензией Creative Commons Attribution-NonCommercial 3.0 Unported License. Мотивацией к его созданию послужил успешный опыт перевода учебника по программированию, "Выразительный JavaScript". Книга по нейросетям тоже достаточно популярна, на неё активно ссылаются авторы англоязычных статей. Её переводов я не нашёл, за исключением перевода начала первой главы с сокращениями.

Желающие отблагодарить автора книги могут сделать это на её официальной странице, переводом через PayPal или биткоин. Для поддержки переводчика на Хабре есть форма «поддержать автора».


Введение


Этот учебник подробно расскажет вам о таких понятиях, как:

  • Нейросети — прекрасная программная парадигма, созданная под влиянием биологии, и позволяющая компьютеру учиться на основе наблюдений.
  • Глубокое обучение – мощный набор техник обучения нейросетей.

Нейросети (НС) и глубокое обучение (ГО) на сегодня дают наилучшее решение многих задач из областей распознавания изображений, голоса и обработки естественного языка. Этот учебник научит вас многим ключевым концепциям, лежащим в основе НС и ГО.
Читать дальше →
Total votes 40: ↑38 and ↓2+36
Comments4

Telegram. Безлимитный сетевой диск. Бесплатный

Reading time3 min
Views187K
Привет, Хабр.

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

TgCloud:


  • Виртуальная файловая система с открытым исходным г****кодом.
  • На локальном диске — только метаданные: имена, размер, структура папок и т.д.
  • Данные хранятся в Telegram и загружаются только при работе с файлом
  • Размер и тип файлов не ограничен, можно использовать с любой ОС

Подробности реализации и ссылка на репозиторий под катом.
Читать дальше →
Total votes 211: ↑175 and ↓36+139
Comments232

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity

Specialization

Specialist
Intern