В Академии Selectel есть небольшой тест на владение синтаксисом Python. Он позволит оценить свои знания и отыскать пробелы. Вопросы подобраны для тех, кто уже не пугается None, но продолжает разбираться, что происходит «под капотом». Бонусом — подборка полезных материалов для изучения Python!
Парадигмы программирования заложенные в протоколы с обязательным исполнением.
Как в нашей народной, старой и доброй — эталонной сетевой модели OSI.
Все что нам надо по сути для успешного успеха, просто взять и заложить парадигмы программирования в обязательное условие к исполнению.
Закладывается экспертный орган, который разрабатывает обязательное внедрение Парадигмы. Закладывается стандарт. Пример — протокол IPv6. Плавный переход.
Мал по малу стандарт получает настоящий знак качества, и через десять лет, — те кто не пишут код в рамках модели, не получают «значок», и в итоге не попадают в магазин андройд или яблока. Точка. Ваше ПО мертво само сабой. И рынок цел и хомяки довольны.
Пример: Возвращаясь к модели OSI, где чисто гипотетически — создаем надстройку для производителей ПО, Операционных Систем и Железа.
Чисто иллюзорно представим:
на восьмой уровень прописываем достаточные и необходимые правила(Парадигмы) и способы взаимодействия конечного кода — для слоя ОС;
а на девятый уровень например выделяем основу для протоколов взаимодействия конечного пользовательского ПО в самом широком смысле. То есть Парадигмы для конечного слоя ПО, который общается с юзером и ОС.
В итоге с определенной долей вероятности, со временем, ваше ПО, ваша ОС или ваша Железка, — просто не попадет ни на рынок связи, не на военный рынок и не на потребительский рынок с рынком бизнесса. Ибо не будет соотвествовать стандартам качества. Simple.
Над CMS Joomla постоянно ведётся работа: создаётся новый функционал, исправляются ошибки, делаются мелкие правки. Разработка ведётся на GitHub. Изменения оформляются в виде Pull Request (PR). Для того, чтобы изменения могли войти в ядро - их обязательно должны успешно протестировать минимум 2 человека КРОМЕ автора изменений. А помочь с большинством PR можно очень и очень быстро, это не занимает много времени, чему подтверждением служит это видео.
DCAP как необходимый компонент комплексной защиты: как бизнесу сохранить данные и не повестись на маркетинговые уловки
После ухода крупных западных вендоров ПО для ИБ с российского рынка многие отечественные разработчики начали воспроизводить их архитектуру и пытаться копировать функциональность. Но на практике многие решения теряют заявленную ценность — ведь они разработаны под другую логику работы бизнеса, с учетом других процессов и связанных с ними рисков.
В статье для ICT Online руководитель направления DCAP ГК InfoWatch Олег Митичкин рассказывает, как сейчас в России развиваются DCAP-системы и удается ли им учесть российскую специфику и требования регуляторов.
Как легко потерять смысл разработки, добавляя “полезности”
Сделаем ещё кнопку, она “точно нужна”
Добавим фильтр, и сортировку, и модалку, ну мало ли
Вот бы выгрузку в Excel, и график, и пуши!
…Проект набирает скорость. Только куда?
В чём проблема? Когда цель — просто сделать больше фичей, а не решить конкретную задачу, продукт начинает разваливаться: интерфейс пухнет, команда тонет в «хотелках», релизы идут в спешке, а люди - даже не замечают большинство этих «удобств»
Парадокс: чем больше фич, тем хуже продукт
Потому что он уже не про ценность, а про “галочки” и “давайте сделаем ещё”.
У фичи должен быть KPI, надо ставить вопрос «а что изменится от нее?». Также их надо подчищать, если старые не используются: «больше ≠ лучше»
Хороший пример: есть множество платных плагинов для Notion, в которых тонна функций. Но пользователям часто нужна была именно интеграция с Гугл таблицами, они не хотели переплачивать за другие возможности плагина.
Один парень заметил это, и сделал элементарный плагин для интеграции Notion с Google Sheets, на чем начал зарабатывать хорошие деньги. Людям не нужно «все и сразу», им нужна качественная точечная фича
Я пишу о таких штуках в Telegram-канале Техдир на пальцах — без кода и заумных слов. Только реальные кейсы, честные мысли и решения, которые работают.
Бесплатные курсы Route 256 от Ozon Tech для Go-инженеров уровня middle
Route 256 — это эффективная прокачка знаний и навыков работы с микросервисами. Программа курса составлена ведущими экспертами Ozon Tech — командой, которая разрабатывает сервисы, выдерживающие экстремальные нагрузки до 382 000 RPS.
Программа состоит из вебинаров, воркшопов, домашних заданий и их детальных разборов. Причём каждый из этих элементов основан на реальных задачах Ozon. Никаких заданий ради заданий — только действительно актуальные знания и проекты.
Как минимум, они бустанут ваше портфолио. Как максимум, вы получите оффер в команду. Заходите на сайт Route 256, изучайте требования и подавайте заявку.
Аркадный автомат на RISC-V: сбиваем астероиды с микроконтроллером MIK32 АМУР
Вадим Новиков решил реализовать игровую физику в условиях bare metal, используя свой предыдущий опыт на C++/SFML. В проекте использовалась плата Elbear Ace-Uno на базе микроконтроллера MIK32 АМУР, SPI OLED-дисплей SSD1306 разрешением 128×64 и джойстик HW-504 (KY-023), а также модули SPI (цифровой интерфейс передачи данных), аналого-цифровой преобразователь для калибровки и чтения положения джойстика и GPIO для вывода настройки и ввода состояния кнопки.
Код на C включал непрозрачные типы, которые позволяют реализовать подобие инкапсуляции из ООП. С ними можно объявить в заголовочном файле указатель на некую структуру, но не определять ее. А в единственной трансляции определить структуру и статические функции для взаимодействия с внутренними полями, которые недоступны извне. И поместить туда, соответственно, реализацию открытого интерфейса. Вместо использования регистров напрямую Вадим подключил библиотеку hardware abstraction layer (HAL), чтобы впоследствии было проще портировать проект на STM32 и другие микроконтроллеры.
Результатом работы стала Asteroids — реинкарнация классической игры эпохи аркадных автоматов. Корабль игрока непрерывно выпускает снаряды. После столкновений снаряда с астероидом исчезают оба объекта, при столкновении с кораблем — только астероид. Астероиды, вышедшие за нижнюю границу, возвращаются сверху экрана. Корабль же выйти за границы экрана не может.
Это лишь один из интереснейших проектов, реализованных студентами по итогам последнего потока курса YADRO по программированию микроконтроллеров на RISC-V. Интересно узнать о других проектах? Мы уже рассказали о них в статье.
В Go нет недостатка хеш-таблиц. Вы всегда можете использовать встроенную map[Key]Val, с ошеломительной скоростью обладающую непревзойденным удобством! А изобилие типов Key, разрешенных к использованию, способно довести до изумления!
Вот только ни указатель, ни слайс не подходят... Невозможно подсунуть свои операции (равенства и хеширования). Но хоть со скоростью все хорошо! (извините, не удержался)
Итого, мне пришлось написать HashMap[K, V any], закрывающую проблемы.
------------------8<------------------
В это трудно поверить, но:
Без резервирования памяти (конфигурация R0), map[uint64]uint64 работает в 1.93 раза медленнее UintMap! И производит в 5.64 раза больше мусора!!
А с полным резервированием (R1), в 1.72 раза медленнее! И аж в 16.5 раз больше мусора!!!
Вдумайтесь! На коленке написанная хеш-таблица для целых чисел UintMap почти в два раза обгоняет ЖУТКО оптимизированную нативную map[uint64]uint64!! И существенно менее мусорит!!!
Но раз трудно поверить, то давайте проверим:
func MyUintMap() {
const N = umN
//R0| um := lib.NewUintMap(0)
um := lib.NewUintMap(N) //R1|
for i := uint64(0); i < N; i++ {
um.Findsert(i, i+N)
}
lib.Assert(um.Size() == N)
cnt := 0
for i := uint64(0); i < N; i++ {
if *um.Val(um.Find(i)) == i+N {
cnt++
}
if um.Find(i+N) == -1 {
cnt++
}
}
lib.Assert(cnt == N*2)
for i := uint64(0); i < N; i++ {
um.Delete(i)
}
lib.Assert(um.Size() == 0)
}
func GoUintMap() {
const N = umN
//R0| m := make(map[uint64]uint64)
m := make(map[uint64]uint64, N) //R1|
for i := uint64(0); i < N; i++ {
m[i] = i + N
}
lib.Assert(len(m) == N)
cnt := 0
for i := uint64(0); i < N; i++ {
if m[i] == i+N {
cnt++
}
if _, ok := m[i+N]; !ok {
cnt++
}
}
lib.Assert(cnt == N*2)
for i := uint64(0); i < N; i++ {
delete(m, i)
}
lib.Assert(len(m) == 0)
}
Здесь всего-то лишь вставка, два поиска и удаление. Запустите go test -bench=UintMap -benchmem и увидите сами. Вот только можно ли ругать Google за неэффективный map[uint64]uint64?
------------------8<------------------
Итоги?
Смело берите HashMap[K, V any] для слайсов и указателей!
Немного оптимизированная BytesMap -- лучший выбор для []byte.
Интересно оптимизированная UintMap -- это выбор для целых чисел. Разберитесь, что там "не так", и используйте за основу.
Примерно месяц назад я запустил эксперимент - настроил в качестве поисковика по умолчанию ИИ-сервис Perplexity. А сейчас буду возвращаться обратно на традиционную поисковую систему. И дело не в том, что Perplexity плохо работает, а в том, что с моими сценариями она не особо дружит.
Вообще, как помог понять эксперимент, большая часть моих запросов идёт по одному из 3 путей:
Быстрый поиск очень базовой информации: как расшифровывается аббревиатура, кто написал книгу, в каком году было событие. В поисковик достаточно просто бросить одно-два слова - и на странице поиска нужное точно найдётся прямо в сниппетах, без перехода по ссылкам.
Справка от ИИ дольше формируется, в ней ту самую очень базовую информацию надо всё-таки выцеплять. А если запрос неоднозначен, как с теми же аббревиатурами, ИИ может дать отличную справку, но - по другому значению)
Это частично устраняется более подробным формулированием запроса ("что значит ABC в контексте X"), но... зачем писать больше?
Наоборот, поиск подробной информации по какому-то вопросу. Поиск тут нужен только для того, чтобы выйти на статью, где будут расписаны все детали. Короткая выжимка от ИИ обычно неплоха, но закрывает только 60-70% тех самых интересных мне деталей, так что всё равно приходится нырять в первоисточники.
Сюда же, кстати, можно отнести поиск изображений чего-то. Тот же Perplexity выдаёт и картинки, но 3-4 штук не всегда достаточно.
И, наконец, просто использование поисковика для ленивого перехода на нужный сайт. Ну да, это как в Гугле писать "Яндекс", но иногда это... проще?
И вот эти три сценария - это примерно 90% запросов в омнибоксе браузера. Моего, your mileage may vary. Так что пока я всё же предпочту оставить поиск поиском, а нейросетям выделю постоянное место в боковой панели браузера и закреплённые вкладки.
Сильно ждем того, кто готов быть активным участником всего процесса разработки: начиная от проектирования и заканчивая запуском и поддержкой. Того, кто не боится участвовать в обсуждении идей и заниматься исследовательской деятельностью. Того, кто может продвигать свои и чужие идеи и добиваться их реализации. Кто понимает, что важно не только писать новый код, но и поддерживать старый.
Зарплатную вилку, требования и обязанности оставили на странице вакансии — откликайтесь, если хотите попасть в команду, или отправляйте вакансию друзьям, которые ищут работу.
Подключайтесь к вебинару по сетевой безопасности в ЦОД
В 12:00 (мск) в прямом эфире расскажем, как повысить безопасность инфраструктуры и приложений. Рассмотрим тонкости построения доступа к системе и сетевую архитектуру при использовании IaaS. Особенно полезно будет пользователям выделенных серверов и облачных сервисов Selectel.
Программа вебинара
Роль NGFW в эшелонированной защите приложений и данных компании, обзор решений сетевой безопасности Selectel.
Ключевые сценарии применения NGFW для задач бизнеса.
Демонстрация кейсов.
Вопросы и ответы.
Ждем всех, кто управляет инфраструктурой или отвечает за ее безопасность.
Компания xAI вместе с Илоном Маском представила новую нейросеть Grok 4. В ней сделан упор на рассуждениях и академических способностях. Маск заявляет, что это «самый умный ИИ в истории человечества».
Среди достоинств Grok 4 разработчики проекта выделили:
в тесте Humanity’s Last Exam нейросеть набрала 44,4% при использовании многоагентной архитектуры. С этим тестом почти никто не справляется; без многоагентного режима — 25%, что все ещё больше других моделей;
Grok 4 способен сам вести бизнес — он делает это в шесть раз эффективнее, чем если бы человек занимался этим сам;
превзошла PhD-уровень во всех предметных тестах, включая математику, программирование и физику;
может симулировать столкновение двух чёрных дыр прямо в браузере;
способна открывать новые законы физики, и эту особенность Маск будет использовать для колонизации Марса;
большой вероятностью предсказывает различные спортивные события, например, исход чемпионата по баскетболу, просто сканируя Polymarket;
в 10 раз мощнее, чем Grok 3;
создаёт готовые игры всего по одному промпту, ИИ способен собирать шутеры за пару часов, налету подтягивать 3D-модели из сети и даже натягивать на них текстуры;
в голосовом режиме Grok 4 научилась шептать, петь, менять интонации и отвечать быстрее ChatGPT.
Новая модель Grok 4 станет доступна подписчикам Supergrok за $30 в месяц. Также будет прокачанная версия Grok 4 Heavy за $300 в месяц. xAI готовит отдельную модель Grok 4 для кодинга — построенную специально для программистов.
Nvidia стала первой в истории компанией с капитализацией в $4 трлн (больше крипторынка, который весь составляет $3,6 трлн). Это происходит на фоне бума нейросетей.
Evolution free tier — ежемесячный объем облачных ресурсов, за которые не нужно платить 🙌
❓ Что за инструмент?Evolution free tier позволяет бесплатно использовать ресурсы платформы Cloud.ru Evolution. С free tier доступны виртуальные машины, объектное хранилище S3 и ресурсы для запуска контейнеров.
🖥 Особенности и преимущества. Во free tier вам доступны три сервиса:
Evolution Compute — виртуальная машина в следующей конфигурации: 2 vCPU (Intel Gold 6248R, 3 ГГц), 4 ГБ RAM (DDR4), 30 ГБ дискового пространства (SSD NVMe) и безлимитный исходящий трафик.
Evolution Object Storage — объектное хранилище S3 с ежемесячным объемом бесплатных ресурсов: 15 ГБ хранилища, 100 000 операций PUT, POST, LIST, миллион операций GET, HEAD и 10 ТБ исходящего трафика.
Evolution Container Apps — сервис для разработки и запуска контейнеров. В месяц доступны: 120 vCPU × час и 480 ГБ RAM × час.
Чтобы начать работу, достаточно выбрать готовый образ и приобрести публичный IP.
✍️ Где, как и для чего использовать. Evolution free tier подойдет для тестирования облачных сервисов и разработки небольших проектов: менеджера паролей, telegram-бота, сайта для личного блога или портфолио. Еще можно развернуть облачное хранилище для фото, видео и документов. Или развернуть собственный игровой сервер в Minecraft ⛏️
А чтобы быстрее запустить проект, используйте нашего нового AI-помощника Клаудию. Он подберет конфигурацию виртуальной машины, развернет ее, создаст SSH и виджеты мониторинга, настроит алертинг за вас.
Чтобы погрузиться в детали, читайте статью про сценарии использования Evolution free tier. В ней мы рассказали об опыте тех, кто уже запустил свой сайт, сделал учебный проект, начал тестировать гипотезы с бесплатными ресурсами облака.
Почему зависимость от одного специалиста может утопить всю команду. Выглядит как супергерой. На деле — одиночка, от которого зависит всё.
Это «человек-комбайн». Его любят, на него надеются, он незаменим. До тех пор, пока всё не рухнет.
Первый этап
Команда обращается за всем именно к нему: помощь, проверка, советы. Он — живая документация и мозг проекта.
Для бизнеса всё выглядит отлично: «три в одном, да ещё и без лишних затрат».
Второй этап
Постепенно «комбайн» устаёт: таски неинтересные, общения слишком много, помощи просят постоянно.
Он начинает раздражаться, отказывать, “зависимые” замыкаются. Процессы начинают проседать — но пока это незаметно сверху.
Третий этап
Бизнес не замечает проблему, а специалист уже морально ушёл. Проходит немного времени, и вот он увольняется. И…
Судный день
Без него — никто не знает, как деплоить, где что лежит, как починить баг.
Документации нет, у разработчиков паника.
Прод падает. Клиенты жалуются. Команда — в ступоре.
Восстановление занимает недели. А иногда — проект просто не поднимается.
Как не угодить в ловушку?
Раздавайте ответственность. Не сливайте всё на одного “самого умного”. Растите дублирующих специалистов. Пишите документацию. Один супермен — это риск, а не преимущество.
Коромысло с одним ведром — всегда перевесит в одну сторону.
Я пишу о таких штуках в Telegram-канале Техдир на пальцах — без кода и заумных слов. Только реальные кейсы, честные мысли и решения, которые работают.
Закончилась моя вахта в экспедиции по мониторингу морских млекопитающих у Кольского полуострова.
В этих водах наблюдения никогда не проводились на постоянной основе. У ученых нет понимания, сколько животных там появляется и как они мигрируют. Яркое напоминание о том, как мало мы о них знаем. Всю поездку я читал переведенную с помощью Gemini книгу How To Speak Whale, вышедшую в 2022 году. Она не дает четкого ответа на вопрос «как говорить с китами», скорее объясняет, почему стоит попробовать. Однако, за три года, прошедшие с печати, этой задачей занимались в Google в партнерстве с The Wild Dolphin Project и Технологическим институтом Джорджии. В апреле они представили проект DolphinGemma.
DolphinGemma — нейросеть, вдохновленная архитектурой больших языковых моделей, но работающая со звуком. Ее обучили на записях одной группы дельфинов с Багам. С 1985 года команда WDP документирует их жизнь, взаимодействия и вокализации.
DolphinGemma работает как аудиопроцессор: анализирует последовательности естественных звуков дельфинов, выявляет закономерности и структуры, а затем прогнозирует вероятные следующие звуки в последовательности. Примерно так же большие языковые модели предсказывают следующее слово в предложении.
В медиа ее сразу окрестили «переводчиком с дельфиньего». Однако большинство серьезных исследователей морских млекопитающих, включая Куницу, относятся к этой идее скептически: полноценного языка у морских млекопитающих может и не быть. DolphinGemma — не переводчик, а аналитический инструмент.
Как это работает
Модель прослушивает, какие звуки дельфины издают один за другим, и выявляет устойчивые паттерны. Например, если после звуков A и B чаще всего следует звук C — это может быть отдельный сигнал A-B-C. Тогда исследователи возвращаются к видео и смотрят, что в такие моменты делали дельфины. Допустим, в 80% случаев они играли — значит, можно предположить, что это типичная игровая вокализация.
Главная фишка в том, что модель находит такие закономерности в терабайтах данных намного быстрее, чем это сделал бы человек, годами прослушивая записи. С ее помощью можно обнаруживать неизвестные звуковые паттерны, которые могли ускользнуть от человеческого внимания, а затем попытаться найти их связь с действиями дельфинов.
Эксперимент с двусторонней коммуникацией
В то же время у DolphinGemma есть и другая функция — генерация звуков. Она может создавать сигналы, похожие на дельфиньи — а значит, животным будет проще их воспроизвести. Исследователи планируют применить их в экспериментах.
Логика такая: люди создают искусственные свисты для конкретных предметов — шарфов, водорослей, игрушек. Они ныряют, воспроизводят синтетические звуки и демонстративно обмениваются предметами между собой — так, чтобы дельфины это видели и поняли правила игры: звук = предмет.
Надежда на то, что любопытные дельфины начнут имитировать эти звуки, когда захотят получить конкретный предмет. Специальный носимый компьютер на базе смартфона Pixel в реальном времени распознает, какой именно звук имитирует дельфин, и через подводные наушники сообщит исследователю: «Дельфин просит шарф». Исследователь даст ему шарф, закрепляя связь звук-предмет.
Это не язык, скорее простая сигнальная система, как у людей и собак, но если животные научатся ею пользоваться — это скажет многое об их разуме.
Представлен бесплатный сервис для транскрибации аудио и видосов в текст — TranscribeAI. Система вытащит текст из любого медиа, даже если там много помех. Внутри — Whisper от OpenAI. Поддерживает больше 100 языков и знает русский. Принимает файлы до 4 ГБ во всех популярных форматах — MP3, WAV, MP4, AVI, MOV, MKV. Перегоняет всё в текстовый файл, расставляет таймкоды и маркеры. Может создать субтитры в формате SRT.
Itch.io перестал работать на территории России (потеряло актуальность)
UPT: Работа восстановлена и в России
itch.io - сайт для распространения инди-игр, сегодня утром подвергся ботнет атаке. Спустя несколько часов сайт восстановил свою работу везде... Кроме России.