SILLYFEED

Программирование — страница 18

Лента темы

Локализация игр
Сегодня поговорим об интересной роли в нашей отрасли: инженер по локализации.Лет 5 назад в задачи такого сотрудника (в студии локализации или на стороне заказчика) могла входить подготовка файлов на перевод, работа с рег.вырами, написание скриптов для автоматизации рутины, настройка процессов непрерывной локализации, и т.п. Из описания подобной вакансии в Smartcat: «Own localization automation needs of our clients… writing and maintaining custom plugins, parsers, synchronization scripts…»Позднее у инженеров по локализации появились задачи, связанные с внедрением и контролем ИИ. Например, настройка и интеграция ИИ в лок.процессы, или, если конкретнее, обучение моделей, внедрение метрик ИИшного качества, корректировка выдачи ИИ, и т.д. Т.е., если до широкого внедрения LLM в переводческую отрасль такой специалист работал в основном с файловой инженерией и пайплайнами на уровне CMS/TMS, то теперь у этой роли остался фокус на автоматизацию, но добавились разные ИИ-задачки. Тем не менее, как и раньше, нередко роль инженера приходится совмещать с другой: менеджера или руководителя — например, как делал Александр Бухонов, про труды которого в области шрифтов мы рассказывали тут.Интересное интервью на эту тему также выходило на канале Елены Худенко.А вот в этом ролике инженер по локализации из компании Acolad делится своим опытом на темы:🕹будущего концепции памяти переводов; 🕹когда использовать машинный перевод (NMT), а когда LLM; 🕹как лингвисты становятся кураторами систем искусственного интеллекта, и др.Беседа у коллег получилась компактная (на 37 минут) и содержательная. А если вы больше любите читать, чем слушать, транскрипция этого интервью доступна в LinkedIn.
Профита нет. А если найду?
Айтишники. Будет ли на их улице праздник?Сравнить с предыдущими результатами можете тут. Было так себе, особо лучше не стало. Это вкратце😁📲Диасофт. Отчет за 9 мес. 2025 г.- Выручка: 8.2 млрд.руб(8.1 млрд.руб годом ранее)- EBITDA: 2.6 млрд.руб(3.1 млрд.руб годом ранее), рентабельность по EBITDA - 17.6%- Чистая прибыль: 2 млрд.руб(2.8 млрд.руб годом ранее)- Затраты на разработку ПО - 1 млрд.рубВыручка почти не выросла, а по всем признакам Диасофт дешево не выглядит, т.е. на айпио выкатились по оверпрайсу и далее все встало на свои места.Кроме микроодивидендов ловить нечего, да и их я бы ловить не стал. Идеи нет, не держу.в 2027 году. Ну и на общем снижении ставок ЦБ акции могут немного подрасти🖥Аренадата. Предварительные операционные итоги 2025 г.- Выручка превысила верхнюю границу гайденса, озвученного в августе и ноябре 2025 г. (рост на 20–30%). Отсюда и радость.- Компания ориентируется, что по МСФО увеличение доходов будет соответствовать изначальному прогнозу 2025 г. - рост не менее 40% г/г- На конец 2025 года клиентская база превышает 190 организаций B2B и B2G сектора (+30% г/г)По сути результаты оказались вне фокуса, всех возбудил тот факт, что компания выполнила гайденс. Первые 3 кв. слабые, а четвертый нарисовался фантастическим. Забавно, что инсайд по выручке 12.01 еще в цену ворвался, кому надо все знали.Дивиденд за 2025 год ждем около 5,54 руб., а еще ждем в марте нормальный отчет. Сразу скажу, что в 2026 рост бизнеса не жду. Прохожу мимо.📱Позитив. Данные по отгрузкам за 2025 г.- Объем отгрузок: 35 млрд.руб (т.е середина планируемого диапазона)- Ожидаемый менеджментом объем оплаченных отгрузок 2025 г., признаваемых в итоговой финансовой отчетности, составит от 32 до 34 млрд.руб- Объем инвестиций в R&D не снизился, составил ~9 млрд.рубКомпания планирует снизить уровень долговой нагрузки по итогам 1 кв. 2026 г. Ждем итоговую отчетность - 7 апреля. По отгрузкам вроде как вошли в прогнозируемый диапазон.💻Астра. Результаты по отгрузкам за 2025 г.—Отгрузки: 21.8 млрд.руб (+9% г/г)— По итогам 2024 г. писали, что планируют удвоить чистую прибыль по итогам 2026 г.(относительно 2024 г.). Раньше писали утроить прибыль с 2023 к 2025 гг.(ставка виновата)Оценивая темпы снижения ставки в этом году, в секторе все будет грустно. Но подождем отчеты...🔸Что в итоге?- Аренадата без роста дальше не выглядит интересно. Все случилось. - Диасофт слаб и тоже идеи нет. - Астра кажется дешевле коллег, но я бы пока не лез. Цифр мало.- Позитив, увы, дешевым не кажется. Тоже мимо. - Т.е. интересные по-прежнему НН, Яндекс, Базис (+25% сделал) и возможно ЦИАН. - Подробнее разбираю отчеты и делюсь идеями в закрытом канале, напоминаю. Цифр мало, но будто бы все и так ясно. Если кто-то вдруг удивит отчетами - сообщу. Надеюсь, что разбор полезен👍
Войти в IT на ощупь
Запустил Android 15 Automotive в LXC на Orange Pi 5 PlusКороткая версия: взял одноплатник, засунул в него автомобильный Android и делаю из этого мультирум ТВ-систему. Один компьютер — N телевизоров — N независимых пользователей. Параллельно.Зачем Automotive, а не обычный Android или Android TVВ AOSP-репозитории Google лежит несколько вариантов Android: обычный (для телефонов), Android TV (для приставок), Wear OS (часы) и Android Automotive (автомобили).Android TV казался бы логичным выбором — он же для телевизоров. Но нет. У него один пользователь и один дисплей. Точка. Хочешь мультирум — городи кучу отдельных приставок и мучайся с синхронизацией.Android Automotive — совсем другая история. Его проектировали для машин, где одновременно работают: дисплей водителя, пассажира, два экрана для задних сидений и приборная панель. У каждого — свой пользователь, своя зона (OccupantZone), свой набор приложений. Ровно то, что нужно для мультирума.Вместо «водитель / пассажир / задний ряд» — просто комнаты с телевизорами.ЖелезоOrange Pi 5 Plus:— SoC: RK3588 (4×A76 + 4×A55, 8 ядер)— RAM: 16 ГБ— GPU: Mali-G610 MP4— VPU: аппаратный энкодер до 8K@30 / 4K@120— Сеть: Wi-Fi 6 + 2×2.5GbEAndroid Automotive крутится в LXC-контейнере поверх Ubuntu. Виртуальные дисплеи через Weston/Wayland, каждый дисплей — отдельный пользователь.Самое весёлое: графический HALAndroid 15 Automotive. Orange Pi 5 Plus с ядром от производителя и проприетарными драйверами Mali — от Android 13. Между 13 и 15 — два поколения изменений в графическом HAL. API не совпадают.Неделя ушла на то, чтобы написать прослойку-адаптер между HAL, который ожидает Android 15, и драйверами, которые умеют только Android 13.Тестировать графику, когда ты незрячий инженер — это отдельный вид спорта. Logcat, дампы, скриншоты через ADB, голосовой фидбек от людей рядом и бесконечный цикл «пересобрал — залил — спросил, что на экране».Когда после недели этого цикла мне сказали «там лаунчер, всё отрисовалось» — я, в шутку, но яПлакал. LeanbackOnFire на экране. Система грузится. Пользователи переключаются. Работает.Что работает сейчас— Android 15 Automotive грузится в LXC— Мультипользовательский режим, несколько виртуальных дисплеев— Графика через адаптированный Mali HAL— Лаунчер LeanbackOnFire— Отпилен автомобильный шлак, который в комнате не нуженЧто впереди— Звук: мультизонный аудио-роутинг— Управление: пульты, input injection по user/display— Нормальный системный сервис внутри Android вместо ADB-костылей— Работы ещё валомВсё open source железо, никаких облаков, никаких подписок. Если интересно следить за процессом — оставайтесь, буду писать по мере продвижения.#android #automotive #orangepi #rk3588 #smarthome #diy #мультирум
My Ego Things (Askar)
harness engineeringOpenAI провела эксперимент, построив полноценный продукт с нуля с 0 lines of manually-written code - все компоненты, от бизнес-логики до тестов, CI/CD и документации, были сгенерированы агентами Codex. За ~5 месяцев команда в несколько человек создала репозиторий из ~1 млн строк кодаГлавная идея harness engineering - изменить роль инженера: вместо написания кода люди проектируют системы, задают намерения и строят механизмы обратной связи, чтобы агенты могли надёжно выполнять сложные задачи. Человеческий вклад смещается в сторону настройки среды, создания инструментов и спецификаций, а не ручного кодированияМне понравился принцип legibility (читабельности и доступности контекста) для Codex: весь контекст, правила, архитектурные решения и документация хранятся внутри репозитория в структурированной форме (When everything is “important,” nothing is)Harness-подход также подразумевает автоматизацию циклов проверки, тестирования и исправления через агентов-ревьюверов, минимизируя человеческое вмешательство там, где это возможно.Друг сегодня поделился в чате статьей - поделюсь и с вами. Интересный шифт в парадигме разработки, где мы проектируем среду и управляем агентами, а не традиционно пишем код рукой. @myegothings
topdatalab
Я думаю только мертвый не слышал про MoltBot/ClawBotТут оказывается вышел подскаст с ним https://newsletter.pragmaticengineer.com/p/the-creator-of-clawd-i-ship-codeЯ пишу 100% кода на AI, и поддерживаю около двух больших проектов.Как я это делаю писал тут https://t.me/topdatalab/521И я как сооснователь Retail Rocket, где очень небольшая команда инженеров работала над продуктом и сделала его без всякого AI.Попробую написать про мой взгляд. 1 Managing a dev team teaches you to let go of perfectionism: a skill important when working with AI agents. Running PSPDFKit with 70+ people forced Peter to accept that code wouldn't always match his exact preferences. This makes him more efficient when working with agents today.И да, и нет. Все зависит от ответственности. Писать Corpsignals да, писать автопилот, отчетность для FCA, "водитель" сердца, космический корабль - нет! Не думаю, что Питер не стал бы писать автопилот для своего авто или контролер сердечного ритма для своей матери.С другой стороны 80% проектов или внутренних инструментов можно собрать из г и палок.PS: иногда команды разработки занимаются излишним перфекионизмом, но для бизнеса это не всегда нужно 2 Close the loop: AI agents must be able to verify their own work. Peter designs systems so agents can compile, lint, execute, and validate output themselves.Согласен 3 Pull requests are dead, long live “promot requests.” Peter now views PRs as “prompt requests” and is more interested in seeing the prompts that generated code than the code itself. Interestingly, this is exactly what my brother, Balint Orosz said when he explained that they reject almost all external pull requests from Craft Agents, but take the core idea and use them as prompts later.Только для проектов "и так сойдет". Мне BugBot от Курсора находит много неприятных мелких багов в PR 4 Code reviews are dead for this workflow—architecture discussions replace them. Even in Discord, he doesn’t talk code with his core team: they only talk about architecture and big decisions.Опять зависит от уровня ответсвенности. 5 Runs 5-10 agents and stays in the “flow” state. Peter queues up multiple agents working on different features simultaneously. Иногда так делаю, но очень устаю 6 Spend a lot of time planning out the work the agent will do, and prefers using Codex. Peter spent a surprisingly long time going back-and-forth with an agent to come up with a solid plan. He challenges the agent, tweaks it, pushed back. When he is satisfied with the plan, he kicks it off, and moves on to the next one. He likes using Codex because Codex goes off and does long-running tasks: Claude Code comes back for clarifications, which he finds distracting — given he fleshed out a plan already.Абсолютно согласен, но я делаю первый план всегда в Cursor, так как он индексирует всю кодовую базу, а Codex нет 7 Under-prompt intentionally to discover unexpected solutions. Peter sometimes gives vague prompts to let the AI explore directions he hadn't considered. Это хорошая штука 8 Local CI beats remote CI for agent-driven development. Peter runs tests locally through his agents rather than waiting for remote CI pipelines. He does this because he doesn’t want to wait an extra 10-ish minutes for a remote CI to run, when his agents can run tests locally.Согласен, но тесты LLM пишут хреново, может у меня такой опыт 9 Most code is boring data transformation—focus energy on system design instead. Peter argues that the majority of application code is just “massaging data in different forms” and doesn’t warrant obsessive attention.Согласен 10 Engineers who thrive with AI care about outcomes over implementation details. Peter observes engineers who love to solve algorithmic puzzles to struggling going “AI-native” like he has. People who love shipping products, on the other hand, excel.СогласенДобавлю еще про ведение документации! Это важно для долгоиграющих проектов. Они держат контекст, который невозможно выразить кодом
RAZB0RKA
ДИАСОФТ результаты МСФО 3кв'25🐬Разработчик софта для банков на японский манер считает концом финансового года 31 Марта3кв закончился у компании 31 ДекабряВместо отчёта, опять невнятный пресс-релиз👈🏻Показатели 3кв🐬Выручка 4.3 млрд (+7%)🐬EBITDA 2.2 млрд (+1%)🐬EBITDAC 1.8 млрд (+0%) 🐬EBITDAC/акция 174 рубВ самом сильном квартале 0 динамика прибылиПоказатели 9м🐬Выручка 8.2 млрд (+1%)🐬EBITDA 2.6 млрд (-31%)🐬EBITDAC 1.6 млрд (-28%) 🐬EBITDAC/акция 149 рубВ Ноябре была принята новая дивидендная политика с выплатой 80% EBITDAC (ранее была EBITDA) 2 раза в годНесмотря на снижение EBITDAC, за 3кв рекомендовали выплатить 102 руб дивидендовНапомню, что по итогам 2кв понизили прогноз на 2025:🐬Выручка 12-12.5 —> 11-11.2 млрд🐬EBITDA 4.5-5 —> 3.5-3.7 млрдАкции с момента IPO подешевели в 2.5 раза и стоят 1816 рубПро отчёт 2кв и перспективы компании писал ранее в разборке👈🏻#ДИАСОФТ
Грязный ноукодер
Советы по n8n - день 1Пока разрабатываю продукт, собираю разные полезные практики, которые накопились за годы.Именно они помогают делать системы, которые легко масштабировать и не стыдно открывать через полгода.В ближайшие дни буду делиться такими короткими советами, заодно покажу немного изнутри, как устроен наш продукт.Сегодня - про одну тонкую, но важную вещь:как отслеживать успешные срабатывания сценариев, которые запускаются по расписанию.Я проектирую систему модульно - каждый сценарий отвечает за одну функцию и передаёт результат дальше. Многие из них запускаются по крону и просто проверяют, есть ли нужные условия.В итоге, 95% запусков ничего не делают - просто проходят проверку и останавливаются. А если мне нужно найти, когда реально что-то произошло - приходится пролистывать кучу логов и ориентироваться только на время исполнения.Решается это очень просто:достаточно в конец сценария добавить ноду Execution Data с любым параметром, который будет срабатывать только если был результат.Теперь можно в интерфейсе фильтровать executions по этому параметру и сразу находить только «позитивные» срабатывания.Просто, удобно и сразу видно, когда система реально что-то сделала.
Артём Агафонов. Заметки футуроконсерватора
К ситуации вокруг замедления телеграма в России я отношусь с пониманием. Это – часть общемирового процесса деления Сети на несколько локальных экосистем. Китай создал такую экосистему уже давно. Евросоюз, вступая в противостояние не только с Россией, но уже и с США, широкой поступью идет в том же направлении. Это – долгосрочный тренд и предпосылок для его разворота я не вижу. Интернет-вольницы нулевых уже не будет. 20-30 лет назад правительства могли не придавать значения интернету и считать его несерьезным пространством, где молодежь обменивается мемасиками. Еще в 2008 году люди массово сидели в ЖЖ, где можно было писать все и обо всех, но блогеры с аудиторией более 1000 «френдов» считались там элитой, а сверху нависал потолок – набрать больше 5000 подписчиков запрещали программные ограничения. Сейчас времена принципиально иные. Массовость соцсетей выросла в сотни раз. Еще в 2020 году у нас много бед наделала двухмиллионная Нехта, а с тех пор мир на месте не стоял и технологии манипулирования и социального инжиниринга развивались. До того, что в той же России появилось понятие «биодрон» - человек, делающий под влиянием манипулятора из мессенджера безумные вещи. Такова реальность. И таковы тренды. Правительства на них реагируют и будут реагировать. И правительство России, ведущей тяжелую войну, тоже. Война идет не только на линии соприкосновения, но и в виртуальном пространстве. Поэтому я совершенно спокойно перехожу в MAX. Телега останется, но основная активность будет там. Нытье про товарища майора, контролирующего там каждый чих, пропускаю мимо ушей. Если этот товарищ и есть, то ссориться с ним я все равно не собираюсь и российскому государству я точно не враг. Бонусом будет отсутствие в мессенджере токсичных белорусских системных канальчиков, занимающихся травлей пророссийских активистов. Сомневаюсь, что они там долго просуществуют, если сунутся, да и проблемы с российским законом могут получить. Добро пожаловать в мой новый канал. https://max.ru/join/ZvOFvUuaDG8aTIHHbBZOmG_RzZzYGsp4hfVph40ErMk
PPC для сверхразумов | Александр Хитро
Сортировка — смерть производительности. Часть 1.Предыдущие посты серии:1. Документация по промптам.2. Выбор нейронок.3. Подготовка к разработке.4. Оптимизация кода.5. Если код не "летает".6. Минимизируем вычисления.7. Фатальный пример вычислений.8. Порядок обработки данных.В Power Query функции сортировки Table.Sort, List.Sort — одни из самых "дорогих" операций.❌ Имеют вычислительную сложность O(n log n).❌ Прерывают потоковую обработку данных.❌ Ломают ленивые вычисления.❌ Заставляют систему загружать все данные в оперативную память. ❌ При использовании в циклах быстро превращаются в вычислительную сложность O(n²) и хуже.❌ Часто ломают Query Folding (свертывание запросов) — относится только к SQL запросам, а не к лежащим на ПК файлам.Эксперты BI индустрии сортировку используют только в крайних случаях.————Категоризация альтернатив сортировке.Ниже перечислены функции, которые выполняют задачи поиска и отбора данных быстрее, чем сортировка.1️⃣ Функции поиска экстремумов (максимума/минимума) для таблиц — сложность O(n).Вместо упорядочивания всего списка ради одного значения используются агрегатные функции.⚫️ Table.Max — поиск строки с максимальным значением по столбцу.Сложность: O(n).Применение: Вместо Table.Sort + Table.First. Например, чтобы не оставлять только одну строку с максимальным расходом для каждой рекламной кампании, где сложность — O(n²) или O(n log n).⚫️ Table.Min — поиск строки с минимальным значением по столбцу.Сложность: O(n).Применение: Вместо Table.Sort + Table.First————2️⃣ Получение элементов списка по позиции — сложность O(1).Если данные уже имеют структуру, сортировка не нужна.⚫️ List.First — первый элемент списка.Сложность: O(1). Мгновенное взятие первого элемента.Применение: Быстрый доступ к началу списка.⚫️ List.Last — последний элемент списка.Сложность: O(1).Применение: Быстрый доступ к концу списка.————3️⃣ Топ-N без полной сортировки списка⚫️ List.MaxN — N максимальных элементов из списка.Сложность: O(n × k).Применение: Частичная сортировка для топ-элементов.⚫️ List.MinN — N минимальных элементов из списка.Сложность: O(n × k).Применение: Поиск топ-элементов.⚫️ List.FirstN — первые N элементов.Сложность: O(n).Применение: Срез данных с начала.⚫️ List.LastN — последние N элементов.Сложность: O(n).Применение: Срез данных с конца.————4️⃣ Получение элементов таблицы по позиции.Если данные уже имеют структуру, сортировка не нужна.⚫️ Table.First — первая строка таблицы.Сложность: O(1).Применение: Получение первой строки без сортировки.⚫️ Table.Last — последняя строка таблицы.Сложность: O(1).Применение: Последняя строка без сортировки.⚫️ Table.FirstN — первые N строк таблицы.Сложность: O(n).Применение: Выборка строк с начала.⚫️ Table.LastN — последние N строк таблицы.Сложность: O(n).Применение: Выборка строк с конца.————5️⃣ Топ-N без полной сортировки таблицы⚫️ Table.MaxN — поиск N строк с наибольшими значениями.Сложность: O(n × k), где k — количество элементов (обычно k << n). На практике близко к O(n).Применение: Топ-N элементов без полной сортировки.⚫️ Table.MinN — поиск N строк с наименьшими значениями.Сложность: O(n × k).Применение: Поиск нижних N элементов.Используется вместо: Sort + FirstN.————6️⃣ Группировка и агрегация — O(n) или O(n + g).⚫️ Table.Group с вложенными функциями агрегации List.Max, List.Sum, List.Average, List.Count в группируемых полях.Сложность: O(n) для группировки + O(g) для агрегации, где g — количество групп.Применение:— За один проход группирует данные с агрегацией.— Самый мощный инструмент для замены сортировки.— Cокращает объем данных при работе с группами.— Ищет "лучшую" строку в группе без внутренней сортировки. — Не замедляет обработку папки с файлами до сложности O(n²).⚫️ List.Accumulate — пользовательская агрегация.Сложность: O(n) при O(1) операции в функции.Применение: Сложные агрегации без сортировки.В следующем посте — больше альтернатив сортировке: агрегация, фильтрация и поиск, индексация и lookup, join.via @ppc_bigbrain
Я не договорила
Вставлю свои пять копеек про Макс - ибо меня все эти перипетии непосредственно коснулись.Года три как у меня работает телеграм-бот для детских садов. Там всё: коммуникация родителей с воспитателями; отметка отсутствий и пересчёты за пропуски соответственно. Основное - у родителей нет контактов воспитателей. А у воспитателей - контактов родителей. Я приняла такое решение ещё тогда - и по сей день им довольна.А год назад я приняла ещё одно решение - что мне нужна автоматизация и для комбината питания. Несколько исполнителей (три, если быть точнее) так и не сделали того, что я хотела. Пришлось с нуля разбираться и делать самой.10 января бот был полностью готов. И до 10 февраля я уже просто из интереса и удовольствия копалась в нём и допиливала новые и новые функции, доводя до совершенства. Получилась пушка.10 февраля, наконец, выдохнула и закончила разработку. И аккурат в этот же день вышла новость о блокировке тг. Да, он пока работает. Но, конечно, забывчивые клиенты, которые забыли вовремя отправить заказ, теперь при каждом удобном случае говорят «ой, я так старалась, но не получилось, сами же знаете, телеграм плохо работает». Вот только у меня на сервере хранятся все логи, если что - и я всегда могу увидеть все команды всех пользователей, и к чему они привели. И были ли они вообще. Но это - лирика, конечно же, в дискуссии на эту тему мои сотрудники с клиентами вступать не будут.На сегодняшний день тг без впн работает, но трудности с медиа. Мне в ботах медиа не нужны - там только текст, он вполне себе ходит, ну с задержкой в несколько секунд - приемлемо, в общем. Но если дальше пойдёт в том же темпе - современные проблемы требуют современных решений, как говорится.Я не буду комментировать моё личное отношение к политической составляющей данного действа, к праву на личную жизнь и тайне переписке, к здоровой и нездоровой конкуренциях, и прочему. Это бессмысленное сотрясание воздуха - вопросы «кто виноват» не имеют смысла, здесь про «что делать».В ночь с 10 на 11 февраля я читала документацию Макса для разработчиков. В прошлый раз я заходила в неё в ноябре: там было совсем плохо.За вчерашний день я полностью сделала бота на Максе. Был вариант написать отдельного, сделать дубль существующего ТГ - это было бы проще. Но мне хотелось попробовать сделать универсальную структуру, которая будет работать отовсюду. Чтобы часть клиентов/сотрудников могли работать через ТГ, часть - через Макс, а часть вообще через браузер/мини-приложение.Что такое бот. Он состоит из двух частей: база данных (где хранятся все данные) и сам бот (то бишь правила, ответы, логика его поведения). Телеграм подрубается по токену (API), «пересылает» команды от пользователя боту, тот смотрит инфу в базе данных и говорит телеграму, что ответить. Это если совсем простыми словами.Обычно делают бота под конкретную систему. То есть бот для ТГ, бот для Макс. А база данных, допустим, общая. Но здесь проблема - когда нужны доработки, их нужно вносить в два бота по отдельности. И каждый тестировать по отдельности.За вчерашний день мне удалось провернуть вообще хитрую штуку: разделить бот на саму его сущность (логика, правила ответов, сценарии) и телеграм-адаптер. То есть получилось три части: база данных, универсальный бот без синтаксиса, и надстройка для телеграм. Собственно ловкость рук - и на это дело навесила адаптер-надстройку для Макса. За вчерашний день справилась. Работает теперь и там, и там.Я не знаю, придумал ли это кто-то до меня, да и не важно. Мысль пришла в голову из серии «а что если», и вот за сутки получилось реализовать. Теперь у меня есть собственная машина, не завязанная ни на одном мессенджере, и при желании её можно подрубить к любому сервису.Конечно, дальше уже вопрос интереса - села сама переписывать бот для садиков, созданный сторонними исполнителями года три назад. Работающий с косяками - но я не хотела лезть, работает и ладно. Но сейчас уже не остановиться. Переношу туда даже расчет зарплат и автоматическое премирование, напоминание о днях рождениях и модерирование рабочих чатов, публикацию фотографий для родителей.
Иван Ярославцев из Alto
Как проверить работу от подрядчикаГотовил для выступления чек-лист по тому как принимать разработку от подрядчика. Собирал его таким, чтобы без технических скиллов можно было проверить работу: все артефакты, доступы, лицензии, смоук-тесты. И всё что неочевидно при приёмке.Делюсь с вами: https://docs.google.com/spreadsheets/d/1WYJ2ZZrUKB-w9D2-YNtSwm-DMxzp92oM/edit?gid=193555132#gid=193555132
IT АНАЛитика | Вильд Виктор
Прибейте меня, я делаю интеграцию. Часть 2 🍑В прошлой части мы разобрались, что такое интеграция и с чем её едят.И казалось бы всё, тимлид, давай задачку, ща спроектируем-нах*евертим 💃Но тут важно понимать одну вещь:Интеграции бывают разные.И если выбрать не ту модель, могут быть проблемы.Начнем с того, что мы их можем разделить по двум направлениям:1. С кем мы интегрируемся.2. Как мы это делаем.1. С кем: внутренние и внешние🏠Внутренняя интеграция (Internal)Когда мы связываем наш сервис с другим сервисом внутри компании.Пример:Сервис «Оформление заказа» стучится в сервис «Склад», чтобы проверить, есть ли нужная модель телефона в наличии.Зачастую это более простой вариант:🤗 Все свои. Можно дойти до соседней команды или написать в личку;🤗 Быстрее договориться о доработках;😳 Более быстрый разбор ошибок.Из минусов:😒 Знания часто живут в головах и может быть плохо описанная документация;💬 У другой команды свой бэклог и задачу могут взять в работу не так быстро, как хотелось бы;🤓 Могут выкатить правки без предупреждения и молча сломать вам прод.🌐 Внешняя (External)Когда мы интегрируемся с системой вне нашей компании.Пример:У нас есть сервис авторизации и мы хотим, чтобы пользователь мог войти через Госуслуги или Google (внешние сервисы).Из плюсов:😋 Обычно есть подробная документация, которую можно изучить самому;🔺 Есть чёткие правила и форматы данных, которые меняются не так часто.Из минусов:💀 Вы не влияете на процесс. Если они решили что-то поменять, вы просто подстраиваетесь, иначе всё сломается;💀 Если внешний сервис упал, то разрабу в личку уже не напишите, придется писать в саппорт и ждать ответа.2. Как: синхрон или асинхрон📞 Синхронная интеграция (Request–Response)Самый популярный вариант - REST, gRPC, SOAP.Логика простая:Запрос → Ожидание → Ответ. Пока мы не получим результат от другой системы, дальше не идем.Пример:Создали клиента → отправили запрос в систему проверок → ждем 5 секунд → получили статус «Одобрено» → создали личный кабинет.Плюсы:🎉 Всё просто: отправил - получил. Легко проектировать.😊 Сразу понятно, на каком этапе возникла ошибка.😌 Дернул метод через Postman и сразу увидел результат.Минусы:😅 Если вторая система упала, то процесс встал;🤨 Любая задержка бьёт по пользователю.Когда использовать:👉 Ответ нужен здесь и сейчас (например, проверка баланса или авторизация);👉 Пользователь смотрит в экран и не может продолжать работу без этих данных.📨 Асинхронная интеграция (Event-Driven / MQ)Kafka, RabbitMQ и другие брокеры сообщений.Логика простая:Отправили → Забыли. Нам не важно, когда именно другая система обработает данные. Главное, что мы зафиксировали событие и пошли дальше.Пример:Клиент нажал «Оформить заказ» → мы кинули событие в очередь → Склад начал сборку, а программа лояльности начислила баллы. Клиент сразу видит экран «Заказ принят», а не ждёт, пока отработают все внутренние сервисы.Плюсы:😏 Система не «тупит» в ожидании ответа, пользователь доволен скоростью.😋 Если сервис почты упал, заказ всё равно оформится. Сообщение полежит в очереди и долетит позже, когда сервис поднимется.👍 Можно легко добавить ещё пять систем-потребителей, и основной процесс от этого не замедлится.Минусы:🥲 Сложнее тестировать: приходится прыгать по логам разных систем, чтобы понять, где и почему застряло сообщение.😉 Аналитику нужно продумать кучу нюансов: что делать с дублями сообщений (идемпотентность) и как не перепутать их порядок.Самое простое объяснение:Синхрон - вы звоните в ресторан.Пока вам не подтвердят бронь, вы держите трубку.Асинхрон - вы оставили заявку.Администратор подтвердил её через 2 часа.Вы не ждали у телефона.Какой тип интеграций в ваших задачах встречается чаще всего? И что из этого больше всего бесит? 👇IT АНАЛитика | Подписаться
Что делать сначала?
25 лет Agile ManifestoУвидел пост про 25-летие Agile-манифеста и выделение любимого принципа в канале Александра Апазиди. Перечитал сегодня манифест и сразу подумал о том, как сильно за последние два года AI усилил каждый из принципов.Не буду комментировать свой любимый (он тоже про максимизацию количества несделанной работы, по крайней мере стараюсь ему следовать), но хочу выделить тот, который сегодня особенно актуален:На протяжении всего проекта разработчики и представители бизнеса должны ежедневно работать вместе.Мемы про пропасть между чайка-менеджментом и разработкой, надеюсь, вскоре вообще пропадут, потому что в мире не должно остаться представителей бизнеса, которые не понимают в разработке. И в обратную сторону тоже: я уже давно в вайбкодинге перешёл с промптов на язык jtbd при постановке задач. Собрать прототип, mvp, пайплайн без разработчика уже сегодня посильная задача практически каждому - мы просто ещё не успели этого понять. Обычно я даю простой совет менеджерам, которые только начинают погружаться в AI: как только вы поставили задачу разработчику/аналитику/исследователю/маркетологу/ассистенту/специалисту, удаляйте и несите её в LLM. Смотрите что получится. AI уже сейчас радикально снизил стоимость доработок и изменений. И тут актуализируется принцип “Изменение требований приветствуется, даже на поздних стадиях разработки”. Если раньше любое изменение требований означало страдания, неделю доработок, большие косты, то с AI стоимость правок стремится к нулю. Особенно в типичных бизнес-задачах, которых в любой компании 90%. И, конечно, остаётся не забывать, что “Постоянное внимание к техническому совершенству и качеству проектирования повышает гибкость проекта.” Ну и главное - не воспроизводить карго-культ, принципы работают, когда мы примеряем их на нашу реальность, которая, к слову, за 25 лет неплохо так изменилась.
Пресидский залив
"I am no longer needed for the actual technical work of my job"Недавно мы с @mnk_stories обсуждали что AI забирает вертикальные профессии - то есть те кем мы были до того как начали делать стартап. Я была deep learning engineer, Андрей iOS с большим уклоном в full-stack. Обе эти роли сейчас становятся все менее нужными, не потому что люди стали хуже, а потому что AI делает эту работу быстрее и часто лучше.Matt Shumer написал статью "Something Big Is Happening" и говорит ровно то же самое но жестче. Он описывает задачу на английском, уходит на 4 часа, возвращается, все готово - AI сам написал код, сам открыл приложение, сам потыкал кнопки, сам нашел баги, сам пофиксил. В какое же интересное время мы живемGPT-5.3 Codex стала первой моделью которая помогала создавать саму себя, что openai сами же подтвердили в документации, и так можно итерироваться дальшеГлавное отличие от прошлых волн автоматизации в том, что раньше можно было переучиться. Условно сто лет назад фабрики автоматизировали, люди ушли в офисы. Интернет убивает ритейл, люди уходят в логистику. Но AI улучшается во всем одновременно - переучиваешься на новую профессию, а AI уже и в ней лучше 👋Я думаю что будущее за горизонтальными и более предпринимательскими ролями. Не я-программист-и-пишу-код или я-дизайнер-делаю-дизайн, а 'я строю продукт и использую AI как инструмент для всего'. Профессии станут более творческими, более широкими, в то время как узкие вертикальные специализации AI заберет первымиИ если год назад стартапам нужна была команда маркетинга, дизайнер, контент-менеджер. Сейчас достаточно пары человек, AI генерит креативы, чем меньше звеньев в конвейере, тем быстрее итерации 😘2025 - vibe coding2026 - vibe marketing2027 - ??? ваши ставки?Кстати вот совет Matt Shumer из статьи который мне оч зашел - 1 час в день экспериментировать с AI, не читать про AI, не проходить курсы по вайбкодингу, а именно практиковаться. Каждый день пробовать что-то новое, 6 месяцев такого режима и ты понимаешь что происходит лучше 99% людей вокруг. От себя добавлю - обсуждать что нового с друзьями/коллегами/рандомными людьми в твиттереСтатья длинная но стоит прочитать целиком или разложить в вашей любимой ллмке@neural_prosecco
Научпопик
Известный российский химик Артем Оганов пишет, что блокировка телеграма ошибка. Ему говорят: как же так, тг же нарушает закон. РДК там всякие в нем водятся и так далее, вторят в других местах.Я слегка добавлю иллюстраций к этому, процитировав мысли людей с фронта. Все сказанное ниже взято только из открытого доступа:"Первоочередная проблема — потеря взаимодействия между подразделениями: налаженные каналы связи рухнут. На фоне отсутствия интернета на позициях замедлится передача разведывательной информации, а отсутствие Telegram усугубит эту ситуацию, так как добавится задержка информации на уровне управления.Как пример: расчёт «мавиков» в 10:00 вскрывает противника в движении, передаёт эту информацию своим оперативным в течение минуты, далее (без Telegram) — по внутренней связи командиру части, затем — на пункт управления разведки, далее — с пункта управления разведки информация спустится в остальные части для огневого поражения и в обратном порядке вернётся до расчёта. В лучшем случае информация будет идти несколько часов, вместо 1–2 минут по Telegram. Актуальность разведданных будет потеряна через 10–15 минут, и огневое поражение будет нецелесообразно, что скажется на эффективности войск.В Telegram взаимодействие между оперативными офицерами идёт напрямую, и реагирование на цель происходит в течение нескольких секунд. Дрон появляется в воздухе через минуту после обнаружения цели, что позволяет «ловить» противника в движении.По большому счёту это откатит нас на пару лет назад, примерно к самому началу войны. Однако альтернативные способы уже придумываются, и восстановление будет в долгие сроки. Нынешняя война очень динамичная, и основой этой динамики является оперативное реагирование на изменение обстановки, поэтому любые задержки будут негативно влиять на ведение боевых действий.Также пострадают сборы, ведь у нас весь фронт держится на них: сборы на «мавики», которые приносят победу на поле боя, уйдут в ноль. Информационная война тоже пострадает очень сильно, потому что её долго наращивали, а тут просто всё бросят, и всё перейдёт противнику".Это просто пример. Таких цитат можно набрать много. А если попросить личных знакомых — то где-то на небольшую книжку.Можно, конечно,спросить, а чем вам Макс для этого не угодил. Ответ от тех, что готовы его дать (а вслух это мало кто хочет говорить) банален: в Максе не было и нет нормального шифрования. Почему так понятно: создававший его ВК вообще напрягаться не любит. Да и зачем, если потом ключи шифрования он же лично товарищу майору и отдаст?Поэтому никто на фронте не знает, сколько времени понадобится рэндомному дурачку из АНБ, чтобы вскрыть их Макс-канал для обмена данными с мавиков — 15 минут, или только 15 секунд. И, самое главное, никто не хочет это проверять на своей шкуре. С тг ситуация понятнее: АНБ отдыхает, у них уровень компетентности пониже дуровского.В то же время, нельзя не признать, что особо волноваться из-за проблем на фронте от отключения тг не стоит. Цитата из того же канала:«Если сейчас Телеграм заблочат, прям жестко-жестко, даже чтобы через VPN нельзя это все было делать, будем искать пути, что делать. Опять же это время, это головная боль.»Понимаете? У людей на фронте уже есть ВПН. Поэтому им блокировка тг — как собаке здрасьте. Их волнует только чтобы ВПН не прижали.Конечно, можно начать задавать риторические вопросы: а почему мы решили вопрос по связи через «Азарты», но не сделали такой же функциональный мессенджер для военных, как тг?Но это вопрос из серии «почему мы обеспечили армию перед СВО танками, а не БПЛА». Никто до войны понятия не имел, что текстовый мессенджер окажется проще рации для быстрой передачи данных БЛА о целях. Никто в верхних штабах вообще не представлял себе, как будет выглядеть эта война. Так что то, что никто кроме Паши Дурова не подсуетился с мессенджером, без которого несколько сложнее воевать — понятно. Это (как и сами БЛА) типичный случай, когда глубоко гражданская технология приносит заметную пользу в военном деле. Причем случай далеко не первый и не двадцать первый.Начало. Окончание здесь.
Жиза ИТ руководителя
Жиза №947Самый большой обман для меня в нашей сфере и профессии — это фраза «мы как раз планируем рефакторинг».Обычно это происходит так: ты приходишь в проект, заглядываешь под капот и понимаешь, что вся эта махина держится на костылях, синей изоленте и молитвах одного лида, который уволился три месяца назад. Ты, как порядочный спец, начинаешь бить в колокола: «Ребята, это нельзя поддерживать, тут все надо переписывать, оно упадет от любого чиха!».Тебе понимающе кивают. Говорят: «Да-да, мы все понимаем, техдолг огромный. Только давай вот сейчас быстро эту фичу доделаем и сразу же сядем за рефакторинг! Прямо в следующем спринте выделим 30… нет, даже 40% времени!».Проходит полгода. Ты все так же накидываешь новые костыли поверх старых, потому что бизнесу сейчас критично выпустить этот костыль именно сегодня/завтра/срочно. А тот самый рефакторинг превращается в легенду, которую рассказывают новичкам на онбординге: «Скоро мы приведем все в порядок! В ближайшее время планируем рефакторинг!».В конце концов, ты принимаешь правила игры и становишься мастером по скоростному забиванию костылей. Ну либо уходишь с дергающимся глазом. Интересно, что самые стабильно работающие продукты, которые я видел, внутри выглядели как свалка ядерных отходов. А те, что писались «по феншую», часто закрывались, так и не дождавшись своего идеального релиза.______________Поделиться своей историей — @zhizaIT_bot
Homo Politicus. Мария Сергеева
Я все понимаю про желание дрессировать Павла Дурова и загонять его в российскую юрисдикцию. Но я никогда не пойму отношения к людям, когда вы по факту начали замедлять телегу пару дней назад, а официально объявили об этом только вчера. Ладно я, деловая москвичка, пропустила одну встречу и одно совещание, потому что просьба от шефа быть в офисе в 15:00 пришла мне в 15:30. Но у нас вообще-то люди на фронте, у которых телега, несмотря ни на что - единственное средство связи. И их близкие в тылу, для которых сутки без ответа - очень страшные сутки. Помимо такого субъекта как Дуров и такого субъекта, как РКН, есть ещё те самые люди, ради которых всё вроде как делается.
Знаменатель - Олимпиадная математика
10 интересных фактов про решёточку #Символ # у нас обычно называют "решёткой", хотя в мире он успел пожить под разными именами. В США это может быть "number sign" или "pound sign", в Британии чаще скажут "hash", а ещё есть легендарное инженерное слово "octothorpe", которое звучит так, будто его придумали в лаборатории.1️⃣ Решёточка старше соцсетей примерно на целую вечность. Её история тянется из записей про вес: знак связывают с сокращением для фунта, которое со временем превратилось в знакомую нам форму. То есть ваш хэштег когда-то был про то, сколько весит мешок муки. Романтика.2️⃣ В телефонах # живёт своей жизнью: это служебная клавиша для подтверждений и команд. Когда робот-голос просит "нажмите решётку", он не издевается, он просто разговаривает на языке телефонных систем.3️⃣ В англоязычной реальности # часто используют как "номер": #5 это "номер пять". На постсоветском пространстве для этого привычнее знак №, но в интернете решётка всё равно иногда пролезает, потому что ей везде рады.4️⃣ Хэштеги сделали # знаменитостью. Эта штука стала универсальным ярлыком: одним символом можно собрать в одну кучу посты по теме. В Telegram хэштеги особенно удобно работают внутри канала: хочешь быстро найти все #Листочки или #0класс — пожалуйста, вот тебе внутренняя навигация без лишних страданий.5️⃣ В программировании решётка не украшение, а рабочая лошадь. В Python это комментарии, в C/C++ и других языках это директивы препроцессора. Один значок, а ощущение, что у него две ставки и ипотека.6️⃣ В Unix и Linux решётка на подсознательном уровне означает "внимание, опасный режим": часто именно # стоит в приглашении командной строки у суперпользователя. Перевод: ты сейчас можешь сломать всё, пожалуйста, держи себя в руках.7️⃣ В ссылках # тоже не просто так. Это фрагмент: он указывает, куда именно прыгнуть внутри страницы. Именно поэтому иногда ссылка ведёт не на начало текста, а сразу на нужный абзац, где автор наконец перестаёт размазывать мысль.8️⃣ В музыке есть диез ♯, и он выглядит почти как решётка, но это не одно и то же. И да, язык C# назван как "C sharp", но пишется решёткой, потому что клавиатуры, типографика и суровая реальность победили идеальную красоту.9️⃣ В математике # тоже встречается. Самый понятный вариант: #A как количество элементов множества A, то есть сколько штук в этом наборе. Очень честная роль для символа: считать он умеет.1️⃣0️⃣ И бонус-факт из жизни: решёточка это тот редкий знак, который одинаково органично смотрится и в коде, и в школьной задаче, и в посте с мемом, и в инструкции "введите добавочный номер, потом нажмите #". Универсальность уровня "я и бухгалтер, и программист, и администратор, и немножко инфлюенсер".
Мила, копай!
Pro Max Вчера посты про блокировку ТГ и переезд в Макс были самыми комментируемыми. Мне тоже есть, что сказать по этому поводу.Во-первых. Первый раз что ли?? Люди как не в России живут. За последние четыре года лично я только и делаю, что придумываю новые стратегии продвижения в условиях постоянно возникающих запретов и дополнительных расходов. Это уже рутина. Я даже не представляю, каково это - строить бизнес, когда вокруг все стабильно и предсказуемо, а государство помогает бизнесу, а не ставит палки в колеса. Блокировка телеграм? Не вижу повода для паники. Во-вторых, вы что, до сих пор сервисом из трех букв не имеете пользоваться? Кажется, даже беззубые младенцы и однорукие старики умеют смотреть ютюб через впн, у меня он чаще включен, чем выключен. Ну будет еще одна соцсеть с доп. кликом..В третьих. Мы уже видели как заблокировали инсту и ютюб, три раза ха-ха. Я лично знаю людей, которые до сих пор продвигаются только там, и даже тех, кто только заходит на эти площадки. Да я сама канал на ютюбе начала развивать неделю назад! Что-то мне подсказывает, что телеграм так же останется с нами. Ну и последнее: все так сильно не любят Макс! Да посрать вообще. Любим, не любим - где аудитория, там и продвигаемся. Кто-то переживает за тотальный контроль со стороны государства. Я вас умоляю, вы до сих пор думаете, что государство ничего о вас не знает?? Да Яндекс мне рекламу товаров начинает показывать, когда я еще только подумала о том, чтобы купить. Чего такого секретного в ваших переписках, за что вас может схватить КГБ?В общем. Для своего агентства я канал в Макс завела еще несколько недель назад. Было странно, но я справилась))
Падшая листва
Пустóта в ПустотéХотел вчера что-то написать про блокировку Телеги, но все очень быстро всё написали — ни добавить, ни убавить. Пока думал, начались съемки и я на три часа отвлекся на просмотр и обсуждение роликов «Супербоула» с прекрасными Виталиком Быковым, Ваней Сиденко, Димой Моисеевым и Родионом Ткачевым. Выпуск скоро выйдет — обязательно поделюсь.Помню, как пару раз Телега падала, когда я работал в агентстве и мы вели штук 15 разных аккаунтов. Ощущение было такое, что кислород резко закончился.Я сейчас опущу все рыночные последствия исчезновения ТГ из набора коммуникационных инструментов, скажу только, что впервые за много месяцев я прям загрустил. По-человечески.Вспомнил вот, как году в 2006-м я потерял телефон, а вместе с ним и всю записную книжку. Минут пять мне было таааак плохо. А потом я понял, что найду тех, кто мне нужен, и те, кому нужен я, меня тоже найдут. Так что бренды все равно встретятся со своей аудиторией, микробизнесы найдут себе новый инвентарь, а самые продвинутые инфлюенсеры, как Камила Валиева, кайфанут в Максе)Все. Будет. Хорошо.
Ruby on Rails | rubyhub
Встроенное отслеживание версии (revision) в RailsТеперь Rails предоставляет встроенный способ отслеживать развернутую версию вашего приложения через Rails.app.revision. Это решает распространённую задачу, которую многие разработчики Rails годами реализовывали вручную — например, считывая файл REVISION, создаваемый инструментами деплоя вроде Capistrano.Как это работаетВерсия (revision) определяется в следующем порядке приоритета:Значение, заданное через config.revision (строка или proc)Содержимое файла REVISION в корне Rails-приложенияnil, если ни один из вариантов недоступенПример типичной конфигурации:# config/application.rbconfig.revision = ENV["GIT_SHA"]# или с использованием proc для ленивого вычисленияconfig.revision = -> { File.read("BUILD_ID").strip }
BrainAid AI News
С утра у нас был пинг-понг: источники РБК уверенно заявляли о начале замедления "телеги".Но к обеду интрига умерла. Роскомнадзор официально подтвердил ограничения.Ведомство заявило прямо: мессенджеры игнорируют законы РФ, поэтому меры по замедлению продолжаются. При этом добавили дипломатическую ноту: готовы сотрудничать, но только при условии «уважения к России и её гражданам».И вот тут случился главный плот-твист вечера.Пока крутили вентили, чтобы придушить Телеграм, рикошетом задело «импортозамещенное».🔴 Госмессенджер MAX тоже УМЕР 😁Россияне массово сообщают, что сервис просто перестал работать. Жалоб за сегодняшний день уже больше ТЫСЯЧИ.РКН, огонь по своим! 🙊Хер пойми, что творится, честное слово. Мы тут пытаемся строить будущее с нейросетями, а в итоге наблюдаем, как в попытке починить одно, ломают вообще всё.P.s Скриншоты с комментами с сайта РКН дают понять, что НАРОД в стране явно возмущён)))
Админим с Буквой
TIL как превратить top в htopсегодня мне один хороший человек рассказал как с помощью "всего 6 команд" превратить внешний вид топ'а в привычный htop'a:shift+m отсортировать по потреблению памятиc показывать полный путь до команд, а не их названиеz включить красный цветt показать сверху загрузку процаm показать сверху нагрузку памяти1 поменять сверху панель с процами, как пресетполучается почти тоже самое. и почему сразу так сделать нельзя было...
Гусь Василий под тополем
У сторонников чебурнета (они вполне реальны) есть простой аргумент: Китай, живущий за своим файерволом со своими WeChat, Weibo, Youku и Bilibi. Почему нельзя так же? Талантливых прогеров в России хватает, IT-индустрия уже имеет множество крутых историй успеха…
Прыщавая Кейта
Роскомнадзор официально подтвердил замедление телеги, но предлагаю отставить панику, потому что вот я веду телеграм каналы и активно пользуюсь мессенджером еще со времен, когда телеграм вообще был заблокирован на территории рф Просто теперь у всех на телефонах будет включен прокси 24 часа в сутки. Тот же ютуб замедлен, но его продолжают смотреть, тикток тоже по идее не работает, но все листают и постят видосикиЕще ору, что это все сделано для перегона людей в макс, но при этом национальный месенджер, ловящий даже на парковках, тоже лег и у людей там ничего не отправляется и не грузится 🚬Если что, то свои бьюти посты с инфой о прыщах на письке буду отправлять вам в имейл рассылках, по факсу или голубями
Экспертный блог без манипуляций 🌿
Мое непопулярное мнение по поводу блокировки телеграм в РоссииНа днях стали замедлять телеграм. Не грузит не сторис, не фото, не файлы не грузит нормально.Спасибо, что текст прогружается всегда и везде (хехе).Моя позиция: сидеть и никуда не уходить.У меня до сих пор не скачан Макс, я верю, что это ненадежно для моих персональных данных. В общем, я не доверяю и не вижу пока нужды переходить куда-то, когда есть где сидеть.Я не паникую, когда что-то блокируется или затормаживается, потому что обычно решаю проблемы по мере поступления (вот станет реально невозможным зайти в тг, тогда присмотрюсь к другим соцсетям) и всегда ищу решение, чтобы все заработало.Я просто делаю все возможное, чтобы остаться там, где мне хорошо и работает.По поводу перехода из ТГ в Макс:Я выбираю тактику наблюдения за моей аудиторией. Упадут ли конверсии? Будет меньше просмотров, сообщений со сторис, заявок? Кто-то из клиентов не сможет мне написать?И если да, то я не пойду в Макс, ведь есть другие рабочие способы связаться. Не пойму, почему никто не говорит про ВКОНТАКТЕ, который тоже российский, разрешен, функционирует и имеет много полезных возможностей уже 16 лет!Вконтакте уж точно не заблокируют. И реклама там есть, и сообщения, и боты, рассылки... все возможности для маркетинга там давным-давно развиты.И когда весь мир перейдет в Макс, и даже СМС до них не будет доходить, то тогда я тоже его установлю...
Семейка продактов
как я вайбкодила ботаначало тутНикто не так и не угадал, что именно было не так, но это вы без подсказки не угадали. Потому что, ну что может быть не так, если вайбкодящий слепо следует советам нейронки, а ошибку находит сам? Ну?Через 2 дня, зайдя в GPT вечерком, я зацепилась глазом за диалог, и вы не поверите, сразу, с лёту ошибку нашла. Когда в сааамом начале я отправляла чату свой 17-буквенный домен, в одной буковке опечаталась. Тут не было ни одного приличного слова. Помолчим.😂 Самое забавное, что в Digital Ocean я всё ручками ввела верно, а вот все настройки, которые я делала в Caddy file, были слепой копипастой. Ещё полчаса в Powershell, редактируя что попало, и вот он, экран n8n, показался по адресу поддомена.Радости моей предела не было. Ибо вот, и с SSH справилась, и опечатку починила, и бота в телеге вместе с ключом уже создала, и бесплатную n8n лицензию прикрепила. Но не так страшны первые 95% задачи, как вторые 95%... (принимаются ставки, на то, что было дальше)..to be continuedТаня, [B2B 👩‍💻] Семейка продактов | Резервные локации -> Сетка | Вк
Катерина | Про Frontend
Почему бизнес-логику не стоит писать в UI-компонентах 🧐Часто вижу один и тот же паттерн: небольшой компонент, пара условий — и через несколько фич он превращается в монстра, который и отображает, и решает, и общается с API, и ещё немного «магии» делает. 🤯 В итоге вместо чистого UI у нас — куча скрытой логики, которую потом тяжело поддерживать.🧩 Как же так получается?Сначала всё выглядит логично: дедлайн, фича маленькая — проще вставить обработку прямо в компонент. Потом «потом вынесем» не наступает, и компонент растёт:➖ вызывает API и трансформирует ответы;➖решает, какие шаги процесса выполнять;➖содержит ветвления бизнес-правил;➖становится источником копипаста при переиспользовании.🧩 А в чём же здесь проблема?☑️ Роли смешиваются. Компонент должен показывать интерфейс, а не управлять процессом. Когда UI начинает «думать», система становится довольно хрупкой;☑️ Переиспользование погибает. Нужна та же логика в другом месте — копипаст, рассинхронизация, баги;☑️ Изменения рискованны. Поправил отображение — сломал процесс; поменял правило — неожиданно упало UI;☑️ Тестирование усложняется.🧩 Почему же пишут логику в компонентах?⏺️ Быстрее на старте;⏺️ "Кажется" избыточным выносить «для одной фичи»;⏺️ Команда устала/нет архитектурного стандарта.Но чаще бывает так, что «маленькая фича» обычно вырастает, и технический долг накапливается. 😥🧩 Как же лучше стараться организовать код?Разделение обязанностей простое и эффективное:✔️ UI-компоненты — отвечают за отображение и реагирование на пользовательские действия;✔️ Бизнес-логика — в сервисах, сторе илимодулях;✔️ Интеграция — компоненты вызывают сервисы/экшены и получают уже готовые данные/состояния.Примерный поток: компонент → action/use-case → сервис → репозиторий/API → сервис → use-case → компонент (обновлённый state).🧩 Как же можно себя проверить?Если из компонента убрать шаблон, и оставшийся код всё ещё имеет смысл сам по себе — значит в компонент протекла бизнес-логика. Это сигнал, чтобы задуматься о рефакторинге.Как итог, UI — это слой отображения, бизнес-логика — слой принятых решений. Смешивать их удобно только на старте, но в долгой перспективе это почти всегда приводит к росту сложности, хрупкости системы и технического долга. 🙈
Вася Швалев ⚡️ qgishack
Ареалы точек В Кугисе есть возможность показать ареалы точек с помощью Генератора Геометрии. Давайте посмотрим, как визуализировать археологические памятники.Код ГГ для отрисовки ареалов:buffer(concave_hull(collect($geometry,filter:= "Область " = 'Лесостепное Приуралье' ),0.5),0.2)
Organizatrix
Ситуация, знакомая многим: сейчас 14:40. Автобус в 16:15. Мозг считывает “14” и “16” и трактует это как “еще два часа в запасе”. Внезапно через час оказывается, что надо срочно всё бросить и бежать. Так вот, на этот счет нашлось прекрасное бесплатное приложение для Mac, iOS и Apple-часов: How Long Left. Оно смотрит в календарь и показывает, сколько времени осталось до следующего события. Не "почти", а точно, причем это время стремительно уменьшается. В особенности полезно для СДВГ-шников и людей с time blindness.Недостатков два: 1) нет виджетов, а было бы классно видеть это на экране всегда, 2) мобильная версия не обновлялась 6 лет, и, наверное, скоро умрет. Так что если вы девелопер и не знаете, что бы такого полезного сделать для человечества, – вот вам идея.