Современные тенденции в области аппаратного обеспечения ведут к тому, что использование исключений на C++ всё труднее и труднее оправдать. В представленной работе эта проблема иллюстрируется наглядно, даётся её количественная оценка и обсуждаются потенциальные будущие направления исправления исключений. Материалом делимся к старту курса по разработке на С++.
Новости
Умный malloc для С
Экспериментировал на С и повторил операторы new и delete средствами языка. В этой статье расскажу как я к этому пришёл, зачем это нужно, и как оно работает.
Wanna more? No, TinyML
TinyML, ИИ && Микроконтроллеры
На фото изображен микроконтроллер нового поколения с аппаратным обеспечением для ИИ, Eta Compute.
Что в нем есть хорошего? А плохого? Ответ на оба вопроса - читайте далее, и сможете узнать и понять как применять новое поколение микроконтроллеров, и причем тут еще какое-то TinyML.
Как обойти блокировку TikTok в России
6 марта 2022 TikTok запретил вести прямые трансляции и загружать новый контент пользователям из России. В этой статье мы рассмотрим способы обойти запрет на загрузку нового контента в ТикТок пользователей РФ.
Для того, чтобы иметь возможность снова загружать контент в социальную сеть TikTok необходимо исключить любые факторы, которые могут позволить идентифицировать местоположение пользователя. Ниже мы рассмотрим инструкции для обхода блокировки на разных платформах.
Интерфейсы/протоколы для начинающих
Сублимация попыток объяснить друзьям чем отличаются классы от протоколов и почему без организации целого концерта здесь никак не обойтись.
Вариант стратегии быстрого и надежного резервного копирования/восстановления VLDB по сети
По материалам технической статьи Майкрософт: A Case Study: Fast and Reliable Backup and Restore of a VLDB over the Network
Статья была опубликована рание на SQL.RU Публикуется повторно ввиду недоступности сайта.
Автор: Томас Грохсер (Thomas H. Grohser)
При содействии: Линдсей Аллен (Lindsey Allen)
Техническая экспертиза статьи: Sanjay Mishra, Lubor Kollar, Stuart Ozer, Thomas Kejser, Juergen Thomas, James Podgorski, Burzin Patel
Перевод: Александр Гладченко, Ирина Наумова
Дата издания: июнь 2009г.
Тематика статьи: SQL Server 2008
Резюме: Размер базы данных непрерывно растёт, темп этого роста, а также её доступность и готовность фиксируется в соглашение о качестве сервиса - SLA. Одновременно с ростом повышается важность быстрого и надежного резервного копирования и планового восстановления в текущем окружении. Этот документ посвящён проблемам проектирования устойчивого резервного копирования и решений по восстановлению очень больших баз данных (VLDB). На реальном примере, в этой статье демонстрируется, как лучше всего использовать резервное копирование и возможности по восстановлению, которыми обладает SQL Server 2008, что должно помочь при создании планов резервного копирования и восстановления VLDB по сети.
Анонимизация базы данных или как быть уверенным, что ты не нарушаешь закон “О персональных данных”
В настоящее время практически все ИТ-продукты работают с персональной информацией пользователя: ФИО, телефон, e-mail, паспортные и другие идентифицирующие данные. Для обеспечения защиты прав и свобод, человека и гражданина при обработке его персональных данных в Российской Федерации существует Федеральный закон от 27.07.2006 N 152-ФЗ “О персональных данных”.
Согласно пункту 2 статьи 5 обработка персональных данных должна ограничиваться достижением конкретных, заранее определенных и законных целей, а в статье 6 установлено, что обработка персональных данных осуществляется с согласия субъекта персональных данных. Все это накладывает определенные ограничения на разработку программных продуктов и заставляет разработчиков думать о возможных последствиях несоблюдения норм законодательства.
Хочется заметить, что во многих случаях для непосредственной разработки личные данные пользователя не важны, необходима сама структура данных, их полнота и количество. По этой причине, а также в рамках соблюдения закона, персональные данные пользователя можно анонимизировать, чем и пришлось заниматься в рамках своей профессиональной деятельности.
Под анонимизацией в рамках статьи стоит понимать процесс изменения данных введенных пользователем и сохраненных в БД на программно сгенерированные данные, которые по виду и типу совпадают с реальными, но не имеют отношения к конкретному пользователю. О том, как была организована работа по этому вопросу и какой в итоге получился результат и будет эта статья.
Планковские единицы: существует ли фундаментальный предел пространства и времени?
По поводу планковского масштаба в научно-популярных материалах творится большая путаница. Здесь сказывается основная проблема поп-физики: гуляя от дилетанта к дилетанту, суть вопроса деградирует с каждой итерацией. Выглядит это примерно так:
- Учёный в интервью оговаривается, что «длина Планка — это минимальное значимое расстояние», что является сильным упрощением.
- Журналисты и популисты передают фразу дальше, пока она не деформируется в «длина Планка — это как размер пикселя для Вселенной», что неверно.
- Учёные замечают ошибку и начинают поправлять, чтобы устранить недоразумение: «Планковская длина не похожа на размер пикселя для Вселенной. Это как раз тот масштаб, где квантовая гравитация становится актуальной». Что, безусловно, правильно, но…
- Научпоп пережёвывает это, пока понятие не трансформируется в «планковская длина никогда не была минимальным расстоянием, это заблуждение. Это просто масштаб, на котором наши нынешние теории разрушаются, и ничто не указывает на то, что мы не можем достичь меньших масштабов». Это звучит разумно, но неверно.
Так что будет полезным разобраться, откуда все-таки следуют эти единицы и, собственно, для чего они задают предел.
Женская доля: топ-5 крутых взлетов девушек в ИБ
Традиционно считалось, что инфобез – чисто мужская территория, но ситуация стала меняться. Сегодня уже четверть специалистов в отрасли – женщины, и среди них есть настоящие звезды. Не без труда (глаза разбегаются!) отобрали 5 историй про героинь от кибербезопасности – праздника ради и вдохновения для.
Цифровой вытрезвитель
Обычно я продумываю свои статьи годами. Сегодня я собираюсь поделиться идеями, крайне далёкими от завершённости. Многие из них требуют доработки напильником размером с самолёт, а некоторые не взлетят вообще. Но я полагаю, что если не поделиться ими сейчас, то другой возможности может не наступить никогда.
Я верю в "частичные идеи". Бывает, человек крутит в голове половину чего-то важного. А у кого-то есть вторая половина. Чтобы мысли встретились и "клацнули", кто-то должен свою половину опубликовать. Сегодня это делаю я. Считайте это скорее приглашением к обсуждению, нежели готовым рецептом.
В России создадут собственные литографы, поможет ли это отечественной микроэлектронике?
Удивительно, но новость из заголовка сообщество почему-то обошло стороной, либо вокруг неё не было особого обсуждения, что достаточно странно, учитывая традиционную заинтересованность аудитории микроэлектроникой. Что ж, давайте восполним этот пробел. Если вам просто интересен вопрос, иле же вы специалист и вам есть что сказать - так или иначе добро пожаловать под кат.
Ведь где иначе искать истины в этом вопросе, как не на Хабре...
Аутсорсинг как быстрый способ усилить компанию
Сегодня все чаще малый и средний бизнес отдает некоторые работы на аутсорсинг, это может быть клининг, бухгалтерия, поиск и найм необходимого кандидата или реализация работ для заказчика, которые компании выгоднее отдать на аутсорсинг чем выполнять самостоятельно. Причин в общем то много, порой на аутсорсинг отдают целые бизнес-процессы - например продажи.
Чаще всего в таких случаях мы говорим о достаточно простых и понятных процессах, в которых не нужны высококвалифицированные специалисты. Это действительно снижает затраты и дает возможность компаниям нарастить свои обороты. Тем не менее, такой тип работы с аутсорсингом больше похож на “крутить педали сильнее и быстрее” или “купить 2 велосипеда вместо одного” вместо того, чтобы пересесть в автомобиль и двигаться вперед в совершенно ином темпе.
Отношения с IT. Часть первая
Все персонажи являются вымышленными. Любое совпадение с реально живущими или когда-либо жившими людьми случайно.
- Понимаешь, наши заказчики жалуются на нас. Платят нам ежегодно миллионы и мечтают уйти, потому что мы задерживаем сроки и не успеваем сделать все, что обещали. На растущем рынке…
- Сашуля, не учи меня делать бизнес. Это я, не ты заработал миллионы и сделал эту компанию. Писюн у меня, а не у тебя. – говорит мой сюзерен/СЕО перспективной it-компании. Этого непростого человека я люблю дважды в месяц со звуком пуш-уведомления от Альфа-банка, в остальное время просто не понимаю.
Выйдя из кабинета, я смотрю в экран ноутбука и думаю, что с одной стороны прав он, чертяка, когда меряется со мной писюном счетом в банке и тычет в лицо прошлыми достижениями, как доказательством своей правоты и высшей степени экспертности. Только забывает к своим миллионам и успеху признать проблемы, которые тоже его: плохой сервис, неслаженная работа команды, пассивность, инфантильный топ-менеджмент, замалчивание проблем, выгорание у сотрудников, высокая текучка, низкая рентабельность бизнеса, непрофессионализм директоров-друзей-приятелей.
Удача и успех в бизнесе окрыляет. Воодушевляет. Если к этому добавить бабки, то ощущение похоже на множественный оргазм, но своими могучими руками.
В последнее десятилетие одним из самых быстрорастущих и емких рынков в РФ стал рынок it. Огромный спрос, высокие входные барьеры и отсутствие сильной конкуренции дают собственникам почти безграничное ощущение власти. Такой рынок прощает управленцам отсутствие опыта и ошибки: стратегические, управленческие, тактические. Бизнес в этом случае все равно растет (при прочих равных условиях), но не благодаря менеджерским навыкам, а ввиду сложившихся уникальных факторов.
Ruby-Дайджест за неделю (1 мар — 7 мар)
Обновленный формат руби-дайджеста. Открытие чата. И другой контент...
Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 3
Продолжим изучение компьютерного зрения. Начало здесь. Напомню краткое содержание предыдущих уроков. Мы изучили этапы анализ и обработки изображений, установку OpenCV, простейшие действия над изображением, такие как преобразование в черно-белый формат, изменение размеров, накладывание фильтра размытия.
Сегодня продолжим тему обработки изображений. На прошлом уроке мы пытались при помощи размытия удалить из изображения такие дефекты, как гауссовский шум и царапины. С первым что-то более-менее получилось, а вот с царапинами ничего не вышло. Да, кстати, в комментах мне был задан вопрос: «Откуда берется гауссовкий шум?»
Отвечаю:
Гауссовский шум может возникнуть, например, от помех. Или, если у нас было плохое освещение, картинка получилась темная, и мы попытались как-то исправить это, например, увеличить контрастность. Шумы при этом тоже усилятся.
Ладно. Идем дальше. Как же нам быть с царапинами? А для их удаления можно воспользоваться медианным фильтром:
Как я Sberfight 2022 проходил на Swift
В 2021 году на просторах интернета случайно увидел Sber на geecko.com, тогда компания Sber проводила fight типа "староверы" против "новокодеров". (Простите за неточности, вспоминаю по памяти.)
И когда запустили конкурс Sberfight я уже автоматически попал в рассылку.
Я относительно молод в Swift и тренировка умений или же проверка навыков на скорость очень привлекла. А формат в стиле "Денди" поднимает давно забытое чувство детства. (Моей любимой игрой были "танчики", "контра" и "червяк Джим"- правда у друзей на "Сеге".)
Однако, первый неприятный сюрприз ждал в условиях конкурса - подсчет баллов. Оказывается подсчет баллов теперь осуществляется - 100 баллов за задание(при учете, что все тест кейсы положительные) и + за скорость(по формуле где Swift имеет коэффициент примерно 1.29, как и JS, а вот максимальный С# - 2). Всего 8 заданий - значит минимум 800 баллов без надбавок. А вот сколько за скорость? Ответ был найден быстро - только взглянув на турнирную таблицу (Топ-1 - примерно - 3400 баллов). То есть 2400 надбавка за скорость (предположим C# - значит в общем за Swift при таком же идеальном выполнении я получу - 2477 баллов). Тут-то интерес начал угасать.
А, эскиз победителей уже нарисовался.
Пройдя два задания и поняв, что быстрее отведенного времени я не успеваю, а значит надбавки за скорость нет. Я взглянул на обновленный топ и увидев (Топ-1 - 5500 баллов) моей грусти не было предела.
Так и закрыл я Sberfight до конца февраля, пока мне на почту не упало письмо от рекрутера Sber. (Что это была массовая рассылка - это понятно, но зачем за два задания из 8 для меня осталось вопросом.) Но такая напоминалка заинтриговала меня глянуть на лидеров и каким же было мое удивление, когда Топ 1 - стоял 3400 баллов. Понятно, кто-то нашел баг, накрутил себе баллов, а теперь все пофиксили. Вот тут интерес и разогрелся, увы, оставалось два дня.
Frontend-разработка: какие концепции остаются актуальными в 2022 году
Когда вы разрабатываете сайт, то либо решаете проблему пользователя, либо нет. Будет это эффективный инструмент для бизнеса, приносящий прибыль, или это будет еще один сайт в сети Интернет? Это зависит от множества факторов…
Что такое MLOps и различные MLOps-инструменты (часть 2)
По сравнению с прикладным программированием общего назначения машинное обучение (ML) является относительно недавней областью исследования. Крупные инициативы в области ML сегодня поддерживаются как аппаратным, так и программным обеспечением, позволяя предприятиям принимать более разумные решения, а инструменты и решения ML повсеместно распространились по технологическому ландшафту. MLOps — это новая область, которая возникла в результате этого.
В первой части этой статьи мы обсудили, что такое MLOps, а теперь поговорим о различных MLOps-инструментах .
Оптимизация использования памяти в Python-приложениях
Прим. Wunder Fund: мы занимаемся высокочастотной торговлей и это заставляет нас часто думать об оптимизации кода, но в основном, конечно, плюсового. В этой короткой статье описаны несколько подходов к оптимизации Python-программ по памяти. И хотя много проблем можно решить, просто докупив ещё памяти, но не все.
Когда заходит разговор об оптимизации производительности приложений, обычно основное внимание уделяют лишь скорости процессора и уровню его использования. Редко кого заботят соображения, касающиеся потребления памяти. Ну — до тех пор, пока программа не исчерпает доступную ей RAM. Обычно, оптимизируя работу с памятью, программы защищают от сбоев, вызываемых ошибками, связанными с нехваткой памяти. Но существует и множество других причин для того, чтобы попытаться ограничить потребление памяти приложением.
В этом материале я исследую подходы, используемые для выяснения того, какие именно части Python-приложений потребляют слишком много памяти. Я проанализирую причины этого и, в итоге, расскажу о том, как снизить уровень потребления памяти, как сделать так, чтобы приложение занимало бы в памяти меньше места. В частности, речь пойдёт о некоторых несложных приёмах и о применении структур данных, позволяющих эффективно использовать память.
Стратегия управления глубиной очереди ввода-вывода для достижения пиковой производительности
По материалам статьи Джо Чанг (Joe Chang): I/O Queue Depth Strategy for Peak Performance (IO Queue Depth Strategy)
Статья была опубликована рание на SQL.RU Публикуется повторно ввиду недоступности сайта.
В большинстве случаев для SQL Server применяются незамысловатые модели управления глубиной очередей ввода-вывода. Ниже представлены основанные на практике рекомендации по оптимизации очереди ввода-вывода, при использовании более развитых моделей дисковых подсистем, SSD - дисков и высокопроизводительных систем хранения.
Автор, наконец, нашёл время для тестирования массива твердотельных дисков (SSD), собирая в массивы от нескольких до 20 устройств, управляемых двумя контроллерами с 4x4 портами Serial Attached SCSI (SAS). Во время предварительных тестов, когда глубина очереди обращения к дискам была очень высокой, он наблюдал большую задержку обращения к дискам, которая во время проведения ряда операций для чтения превышала 100ms и достигала более 400ms для операций записи.
Таким образом, возникают следующие вопросы: