Заметки на техдирском
4.39K subscribers
416 photos
62 videos
46 files
1.02K links
Канал о профессиональном мышлении техдиров в эпоху роста сложности. Пределы роста в IT, работа с противоречиями и ответственностью.

Техдирский открытый чатик - @ctorecordschat;

По всем вопросам обращаться к @ctodsimonov
Download Telegram
Коллеги! Подскажите, а кто как считает улучшение продукта с точки зрения ценности для рынка и для бизнеса? Как считается себестоимость/затраты этих улучшение и выхлоп?

П.С. а сопряжённые метрики? например время выката гипотезы от продактов технарями?
This media is not supported in your browser
VIEW IN TELEGRAM
Небольшой ликбез про CI/CD в 1С: первый шаг

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

Обычно основным заказчиком у отдела программистов 1С является не только финотдел, но и продажи, склад, производство и тп. Если упрощенно на пальцах, то у них все строится на сопоставлении план-факт: финансовое планирование и бухгалтерская отчётно-учётная деятельность. Всё крутится вокруг трёх мастер-бюджетов:

— бюджет запланированных доходов и расходов (P&L),
— бюджет фактического движения средств (Cash Flow),
— бюджет балансов (прогноз активов и пассивов) или прогнозный баланс (Balance).

Все операционные бюджеты/планы (продажи, производство, IT и т.д.) обычно «кормят» мастер-бюджеты.

Сложность растёт с каждым годом, и разработка под 1С всё больше приобретает знакомые нам черты. В том числе понемногу внедряется стандартная цепочка dev test stage production. Для ребят из 1С-разработки полноценное внедрение такой цепочки — настоящий подвиг.

Начинается всё с GitSync, который синкает код в 1С с гитовым хранилищем:
https://infostart.ru/1c/articles/1791661/
https://infostart.ru/1c/articles/1157400/
https://open-budget.ru/public/1157400/

В связке с Git всё крутится вокруг автоматизации. Здесь используется OneScript с библиотекой gitsync: они выгружают изменения из хранилища 1С в текстовый исходник и коммитят в Git. Это превращает монолитное хранилище в нормальный git-репозиторий и делает возможным следующий шаг — полноценный CI/CD.
👍8🔥1
Панико! ФСБ атакует!

Рома Ивлиев только что прислал ссылку: https://huntedlabs.com/popping-fast-globs-hood/ — знатно подгорело у буржуинов от NodeJS библиотеки fast-glob для поиска файлов по маске.

Fast-glob скачивают более 79 млн раз в неделю, он встроен в >5000 проектов (Prettier и т.п.), включая софт Минобороны США. Поддерживает его один Денис Малиночкин (aka mrmInc) инженер из Яндекса (живёт в Одинцово).

Товарищи тут же обосрались от страха: Bus factor = 1. Если аккаунт взломают или на него надавят, в тысячи проектов может попасть вредонос. Эксперты перечисляют атаки, которые теоретически возможны: доступ к файловой системе (SSH-ключи, переменные окружения), DoS-атаки при обходе больших директорий, glob-инъекции для обхода или кражи файлов, kill-switch для отключения зависимых проектов и внедрение малвари.

При этом ни одной CVE у fast-glob нет.

Hunted Labs увидели в этом риск «иностранного влияния»: один русский мейнтейнер без дополнительного контроля, работающий в компании, которая сотрудничает с ФСБ.

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

П.С. Паша Велихов подсказывает, что искалка файлов на js точно фсб-шная поделка, наверняка уже украла кучу ценной информации из Пентагона
😁26🔥5👍1👎1🤩1
Коллеги! Подскажите, а кто как выстраивает предикшн и обсчёты по гипотезам изменения бизнес-модели?
Личные облачные хранилища: у кого какой опыт?

Коллеги, выбираю где теперь хранить свои файлики в облаке.

Вот насобирал варианты:
— Яндекс Диск
— Google Диск
— Облако Mail-ru
— iCloud
— СберДиск
— OneDrive
— МТС «Вторая память»
— Облако Билайн
— Теле2 Диск
— Dropbox
— pCloud
— TeraBox
— MediaFire
— Box
— Telegram (как хранилище файлов)

Напишите по возможности по вашему варианту:
📱 Есть ли мобильное приложение?
💻 Есть ли десктопная версия?
🎁 Сколько бесплатного места дают?
🔍 Поиск по содержимому файлов (текст, фото)?
🔗 Можно ли шарить ссылки с паролем или ограничением по времени?
📂 Интеграция с файловой системой компьютера (как «сетевой диск»)?
🚇 Офлайн-доступ к файлам?
💳 Оплата российской картой?
🌍 Сервера в РФ или всё у буржуев?
🔒 Есть ли клиентское (end-to-end) шифрование или только серверное?
👥 Возможна ли совместная работа, как в Google Docs?
⏱️ Скорость загрузки/выгрузки
🧩 Интеграции: мессенджеры, почта, офисные пакеты, API
📈 Ограничения: максимальный размер одного файла, лимиты на общий трафик

Нарыл также полностью бесплатные варианты:
— NextCloud — ставим на свой сервер или VPS и получаем облако «под себя».
— Syncthing — полностью бесплатная p2p-синхронизация между всеми устройствами (ПК, ноут, смартфон, сервер). Без центрального сервера, в отличие от NextCloud.
— NAS + NextCloud — покупаем домашний NAS, ставим диски и поднимаем личное облако, независимое от всех.

Кто чем пользуется? Почему? Какие плюсы и минусы?
3
Excel в мире разработки — это SQLite

Как известно, нет ни одной компании, где под слоями сложных enterprise-решений всё не держится на обычной Excel-таблице, заведённой ещё позапрошлым сотрудником с какими-нибудь монструозными формулами. В мире разработки тоже немало решений с использованием SQLite.

SQLite — на самом деле очень распространённая БД, активно используемая в современной разработке. Её широко применяют в мобильных приложениях, автомобильных мультимедийных системах, smart-TV, бытовой технике и т. д.

Например, Chrome хранит куки, историю и многое другое именно в файлах SQLite. Путь к файлу History (профиль Default):

Windows: %LOCALAPPDATA%\Google\Chrome\User Data\Default\History
macOS: ~/Library/Application Support/Google/Chrome/Default/History
Linux: ~/.config/google-chrome/Default/History

Сделайте копию файла History (браузер нужно закрыть, чтобы снять блокировку) и подключитесь к нему как к БД. Пример SQL-запроса, чтобы получить самые посещаемые домены без регулярных выражений (парсинг хоста через instr/substr):
WITH parsed AS (
SELECT
u.visit_count,
LOWER(
CASE
WHEN u.url LIKE 'http%' THEN
substr(
u.url,
instr(u.url,'//')+2,
CASE
WHEN instr(substr(u.url,instr(u.url,'//')+2),'/')=0
THEN length(u.url)
ELSE instr(substr(u.url,instr(u.url,'//')+2),'/')-1
END
)
ELSE u.url
END
) AS host
FROM urls u
)
SELECT host AS domain, SUM(visit_count) AS total_visits
FROM parsed
WHERE host != ''
GROUP BY host
ORDER BY total_visits DESC
LIMIT 50;


Безопасность
Если вы беспокоитесь о безопасности, посмотрите на Zoom — там данные уже зашифрованы SQLCipher. Ключ для пользовательской БД выводится из master-ключа и серверного KWK (генерируется при логине/обновлении сессии). Ключи не хранятся в открытом виде на диске и доступны приложению во время сессии, а не пользователю. Без них БД не открыть.

Обмен данных с мобильными приложениями
Интересно, что удобно использовать связку между такими локальными БД и серверной БД MySQL/PostgreSQL через частичную репликацию: в серверной БД хранятся все данные, а в локальной SQLite — только данные по данному устройству. Для этого есть готовые решения: SymmetricDS и PowerSync. Есть ещё ElectricSQL, но он только для PostgreSQL.

Для тех, кто пилит React Native-приложение, рекомендую PowerSync — там есть готовый комплект библиотек «из коробки».

Обращаю внимание, что при выборе решения важны двунаправленная репликация и конфликт-резолвинг.

Двунаправленная репликация (bi-dir)
И сервер (MySQL/PostgreSQL), и клиент (локальный SQLite на устройстве) могут изменять данные. Движок синхронизации:
— фиксирует локальные изменения (CDC/журнал),
— передаёт их на другую сторону,
— принимает входящие изменения,
— обеспечивает идемпотентность/порядок/повторы без дублей.


Конфликт-резолвинг
Это правила обнаружения и разрешения конфликтов, когда одно и то же логическое сущностное состояние меняли параллельно на разных узлах (или «обновление vs удаление», «два insert с одним ключом» и т.д.).


Bi-dir и конфликт-резолвинг есть «из коробки» в SymmetricDS, PowerSync, ElectricSQL.

Видите, как мы быстро добежали до практически готового, устойчивого архитектурного решения, которое облегчает разработку в разы?
😁5🔥31
Deep-Learning-with-PyTorch-Step-by-Step-A-Beginners-Guide.pdf
33.6 MB
PyTorch

Может кто еще не видел эту книгу. Она учит мыслить от простого к сложному: сначала вручную реализовать обучение, а затем уже использовать высокоуровневые возможности PyTorch.

Вот еще целый набор курсов на pytorch: https://github.com/FUlyankin/deep_learning_pytorch. Автор честно пишет:
Большая часть материалов курса нагло украдена из других курсов. В README к каждой неделе я пытался описывать что и где я спёр
2
Какой среднесрочный бизнес-эффект от применения автоматических анализаторов кода? Сколько бизнес готов в него инвестировать?
Final Results
46%
💩 Уменьшение скорости нарастания говно-кода и легаси
40%
👨‍🏫 Выравнивание провалов в качестве работы команд разработки
54%
🥷 Снижение рисков ИБ
1
Пятничное :)
😁32🔥6👍3👏1🤯1🤩1
MITTR_Deloitte.pdf
4.1 MB
MIT опубликовал отчет по использованию AI в банкинге. Там занятная диаграмма с ожиданиями и реалиями ROI от внедрения AI по функциям в организации.

https://www.technologyreview.com/2025/09/11/1123508/partnering-with-generative-ai-in-the-finance-function
Codereview

Программист проходит code review, а ревьюверы ему «насыпают» на его три файла: модуль, крон-скрипт к модулю и тест. Программист смотрит на это все и удаляет крон-скрипт: «нет крона, нет проблемы! Запускайте тест в ci/cd!»

Пожарный инспектор проверяет предприятие. Доходит до пожарного щита, смотрит на лопату и говорит:
- Черенок тонкий, может обломиться - нарушение, штраф 100 рублей. Саморез не до конца закручен, пожарный может пораниться - нарушение, штраф 100 рублей. На лопате ржавчина - нарушение, штраф 100 рублей. Лопата не окрашена в красный цвет - нарушение, штраф 100 рублей. Итого - 400 рублей.
Директор предприятия берёт лопату, выбрасывает её за забор:
- Пиши: на щите отсутствует пожарная лопата, штраф 100 рублей.
😁35
Ииии??? Как мне получить код?

Коллеги! ЧЯДН?
😁22😱1
Дивный новый мир :)
😢14😁7😱4👎2
Media is too big
VIEW IN TELEGRAM
Решение сложного комплексного кейса на авторском курсе CTO Дмитрия Симонова.

XIV поток тренируется на тестовом экзаменационном задании уже известного кейса:
https://docs.google.com/document/d/13asbnBdHj5m7YrptuRSXavdGpIBYn1wJUG_7E4ePQlw/edit?usp=sharing

Запишитесь к Дмитрию на собеседование, чтобы понять, нужно ли вам на курс: @ctodsimonov
@dumtest прислал в закрытом чате прекрасное:
https://openssf.org/blog/2025/09/23/open-infrastructure-is-not-free-a-joint-statement-on-sustainable-stewardship/

@Zmey_14 саммаризовал:
Ребята вы тут бизнесы делаете а мы как лошадь из колхоза должны нести за вас ответственность. Лошадь надо кормить поэтому дайте денег. Иначе приколы с AI вам покажутся мелкой шалостью. У вас просто все полностью рухнет. Мы предупредили.
5
Технологии.

Набор технологий подобен набору изменений в базе данных или улучшениям спринта: при внедрении требуется аккуратность и организованность такая же как при подготовки "миграции" БД или выкату релиза.

Новые технологии разбалансируют устоявшееся состояние технологического решения и команде необходимо тратить время и усилия на восстановление баланса. Технологическая компания успешна тогда и только тогда, когда опирается на относительно небольшой набор стандартизированных технологий. Сочетание высокой эффективности и низкого риска, обеспечиваемое стандартизированными технологиями уникально для каждой компании.
👍72
Ящик Пандоры

Написали мне тут в личку:
Привет! Что думаешь по поводу: https://xn--r1a.website/ctobtch/596
Интересен взгляд с обоих сторон баррикад, очень много знакомых, которые только-только заканчивают универ так вкатиться пытаются, насколько это адекватно с точки зрения работника и бизнеса?


Мой ответ очень прост: мы все открыли ящик Пандоры. В ближайшие несколько лет бизнес просто откажется от фикс-зарплат и всех переведет на почасовку. Сколько выработал, столько и получишь! А уж где Ты там еще работаешь, - это Твое личное дело.

Наши дети будут это все хлебать полной ложкой и никогда им не будет уже так спокойно работаться, как нам. Благодаря кому? Благодаря нам хитрожопым блять.

Сами себе теперь говорите спасибо. И этим… Как их? Волкам!
👍11👎5🔥5😁3🤔1