Рубрика «C» - 3

Доброго времени суток, господа и дамы! Иногда у некоторых людей возникает желание заняться откровенным непотребством в программировании — то, что не несет практической пользы напрямую, но помогает развлечься. И я — не исключение. В этой статье я хочу рассказать вам о лайфхаках, трюках (магических и не очень), алгоритмах на языке C!

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

Читать полностью »


AI Security Gold Rush

Сейчас каждый делает решения для безопасности AI.

Последний год я анализировал разные решения и вот к какому выводу я пришёл:

Они все поразительно похожи:

  • Написаны на Python

  • ML-классификаторы для детекции

  • REST API обёртка

  • 50-200мс задержка

  • Десятки зависимостей

  • Облачный деплой

И вот неудобная правда:

Они сами становятся векторами атак.


Ирония Python-решений для безопасности

Когда ваш слой безопасности:

  • Имеет 50+ зависимостей (каждая — потенциальная CVE)

  • Добавляет 50-200мс к каждому запросу (приглашение для DDoS)

  • Читать полностью »

Доброго времени суток, господа и дамы! Иногда у некоторых людей возникает желание заняться откровенным непотребством в программировании — то, что не несет практической пользы напрямую, но помогает развлечься. И я — не исключение. В этой статье я хочу рассказать вам о лайфхаках, трюках (магических и не очень), алгоритмах на языке C!

Доброго времени суток, господа и дамы! Иногда у некоторых людей возникает желание заняться откровенным непотребством в программировании — то, что не несет практической пользы напрямую, но помогает развлечься. И я — не исключение. В этой статье я хочу рассказать вам о лайфхаках, трюках (магических и не очень), алгоритмах на языке C!

  1. Алгоритмы псевдослучайной генерации: xorshift64, lehmer64, xoshiro256pp;

  2. Алгоритмы Фибоначчи и конвертеры из миль в километры через них;

  3. Алгоритмы быстрого обратного квадратного корня;

  4. Алгоритм бинарного возведения в степень.

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

❯ Быстрое вычисление приближенного значения степени

В прошлой статье мне предложили разобрать Читать полностью »

Всем привет, это Тимур. Сейчас в YADRO я разрабатываю сетевую операционную систему для коммутаторов KORNFELD. В ходе этого проекта летом я получил сложную задачу: реализовать установку опции PROTO_DOWN для Ethernet-интерфейсов в ядре Linux. «Из коробки» ядро поддерживает эту опцию только для vxlan и macvlan-интерфейсов, а для Ethernet поддержка определяется драйвером сетевого устройства.

Читать полностью »

Библиотеки на С слишком сложны. И в этой статье я хочу подробно описать что конкретно под этим имеется в виду и почему оно происходит

Нет, я не про сложность задач, которые они решают, не про количество кода или его качество, а про то, что они представляют собой для конечного пользователя.

Библиотеки не просто сложны, они выглядят намеренно переусложнёнными, как будто разработчики намеренно делали всё, чтобы то во что они вкладывали годами свой труд невозможно было использовать.

Читать полностью »

Всем привет!

Пишу этот пост, чтобы поделиться своим опытом и получить критику или советы от людей с большим опытом.

Мне 22 года, я из Латвии. По образованию я судовой механик, но уже около 4 лет увлекаюсь программированием. Долгое время это оставалось хобби: пробовал сайты, простые игры — но они не приносили настоящего удовольствия. Я считал, что в программировании нужно было разбираться ещё со школы, и долго не верил, что могу найти себя в этой сфере.

Читать полностью »

При работе с C или C++ необходимо в какой-то степени разбираться в неопределённом поведении (UB): что это такое, каковы его эффекты, и как о него не споткнуться. Для простоты картины я буду в этой статье рассказывать только о C, но всё изложенное здесь также применимо и к C++, если явно не указано иное.

Что такое неопределённое поведение?

Общеизвестно, что на С программировать сложнее, чем на таких языках, как Python.

В определённых отношениях дело в том, что язык C низкоуровневый, близкий к ассемблеру. Он просто выдаёт вам практически то же самое, что выдаёт машина, на которой выполняется код.

Читать полностью »

Язык C — это парадокс. Созданный полвека назад, он до сих пор лежит в основе операционных систем, баз данных и любого «железа», требующего максимальной производительности. Его называют сложным, устаревшим и недружелюбным. Но почему тогда лучшие системные программисты не спешат от него отказываться? Разбираемся в философии, плюсах и минусах C вместе с Максимом Орловым, программистом Postgres Professional с 22-летним стажем.

 

Читать полностью »

https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js