В короткой траве
счастлив французский собак.
Видно ему путь.
🥷
счастлив французский собак.
Видно ему путь.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
А вот вам большая техническая статья с разбором, как правильно попробовать в Test Driven Development.
Внутри примеры кода, рассуждения, апологетика.
Если примеры и код читать не хочется, можно перейти сразу к апологетике (с заголовка "Полезные побочные эффекты")
https://graker.ru/news/2025/08/04/test-driven-development-tryout-for-newbies
Внутри примеры кода, рассуждения, апологетика.
Если примеры и код читать не хочется, можно перейти сразу к апологетике (с заголовка "Полезные побочные эффекты")
https://graker.ru/news/2025/08/04/test-driven-development-tryout-for-newbies
Graker.Ru
Как новичку попробовать в Test Driven Development
Сегодня поговорим о Test Driven Development, то есть о разработке, движимой тестами. О том, с чего вообще она начинается, как начать писать код, и как продолжить. Для примеров будем использовать Laravel, в этом фреймворке многое заточено под тесты, примеры…
👏4🏆1
У vc.ru какие-то совсем злые алгоритмы стали, второй раз за месяц статус "коммерческого аккаунта" прилетает. Уж за что не думал его получить так это за статью про TDD 😫
В первый раз сняли быстро правда, может и сейчас снимут.
В первый раз сняли быстро правда, может и сейчас снимут.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔3
Завёл я себе в общем Сетку, на всякий случай. Если тоже пользуетесь, добавляйтесь https://set.ki/kUL3pGc
На взаимной, конечно, основе.
Опутаемся сетями!
На взаимной, конечно, основе.
Опутаемся сетями!
Сетка
Роман Грачев
Подпишись в Сетке
👍2
Разработка кода и здоровый шмептицизм
У vc.ru какие-то совсем злые алгоритмы стали, второй раз за месяц статус "коммерческого аккаунта" прилетает. Уж за что не думал его получить так это за статью про TDD 😫 В первый раз сняли быстро правда, может и сейчас снимут.
Статус сегодня сняли. В результате сутки новая статья, которая могла висеть в ленте наверху и собирать охваты, была выключена из показов. Чудесный сервис.
🌚3
Все персонажи вымышлены, все совпадения случайны
Вел тут переговоры по разработке СДО (системы дистанционного обучения), она же LMS (learning management system). Поднял показать один из старых проектов, что мы под ключ делали на Drupal 8, скрыл айдентику заказчика. Хороший проект был, приятно заглянуть в него еще раз.
Но оказалось, что смотреть потенциальному заказчику было не особо интересно, потому что:
1. Нужна СДО, чтоб не хуже iSpring🤔
2. И чтобы был встроенный! редактор курсов с функционалом не хуже сторилайна и выгружал всё в SCORM.😱
3. Чтобы была встроенная! виртуальная доска с возможностью коллективной работы. Не очень сложная, типа Miro.🤯
4. Ну и по мелочи всякое: пара-тройка онлайн-игр, настраиваемые групповые чатики, редактор видео и прочее. 🚀
В общем, швейцарский нож со встроенным ядерным реактором.
Грешным делом подумал, что ожидания несколько преувеличены и за разумное время и деньги все-таки можно что-то полезное и вменяемое тут собрать. Если адекватно подойти к ожиданиям, делать постепенно и все такое. Выставил предложение...
Читать дальше
(Извините, в лимиты не укладывается, опять написал длинное письмо, потому что не было времени написать короткое)
Вел тут переговоры по разработке СДО (системы дистанционного обучения), она же LMS (learning management system). Поднял показать один из старых проектов, что мы под ключ делали на Drupal 8, скрыл айдентику заказчика. Хороший проект был, приятно заглянуть в него еще раз.
Но оказалось, что смотреть потенциальному заказчику было не особо интересно, потому что:
1. Нужна СДО, чтоб не хуже iSpring
2. И чтобы был встроенный! редактор курсов с функционалом не хуже сторилайна и выгружал всё в SCORM.
3. Чтобы была встроенная! виртуальная доска с возможностью коллективной работы. Не очень сложная, типа Miro.
4. Ну и по мелочи всякое: пара-тройка онлайн-игр, настраиваемые групповые чатики, редактор видео и прочее. 🚀
В общем, швейцарский нож со встроенным ядерным реактором.
Грешным делом подумал, что ожидания несколько преувеличены и за разумное время и деньги все-таки можно что-то полезное и вменяемое тут собрать. Если адекватно подойти к ожиданиям, делать постепенно и все такое. Выставил предложение...
Читать дальше
(Извините, в лимиты не укладывается, опять написал длинное письмо, потому что не было времени написать короткое)
Please open Telegram to view this post
VIEW IN TELEGRAM
Graker.Ru
Куда «почему-то» пропадают разработчики
Все персонажи вымышлены, все совпадения случайны Вел тут переговоры по разработке СДО (системы дистанционного обучения), она же LMS (learning management system). Поднял показать один из старых проектов, что мы под ключ делали на Drupal 8, скрыл айдентику…
👍3❤1🔥1
Разработка кода и здоровый шмептицизм
У vc.ru какие-то совсем злые алгоритмы стали, второй раз за месяц статус "коммерческого аккаунта" прилетает. Уж за что не думал его получить так это за статью про TDD 😫 В первый раз сняли быстро правда, может и сейчас снимут.
Ахаха 😂
Один день прошел и снова "коммерческий аккаунт" прилепили. За статью выше^^
Что я в ней рекламирую? Drupal? iSpring? Miro? Разработчиков, которые бросают заказчиков? Заказчиков с завышенными ожиданиями?🤔
Вероятно, правильным выходом будет не бороться с этим чудесным сервисом, а перестать им пользоваться.
Один день прошел и снова "коммерческий аккаунт" прилепили. За статью выше^^
Что я в ней рекламирую? Drupal? iSpring? Miro? Разработчиков, которые бросают заказчиков? Заказчиков с завышенными ожиданиями?
Вероятно, правильным выходом будет не бороться с этим чудесным сервисом, а перестать им пользоваться.
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥2🤔2
Слово «кошмар» — произошло от французского Cauchemar, которое означает то же самое (страшные/плохие сны). Собственно, это не секрет, что слово заимствованное.
Что интересно, французское cauche означает «давить», тогда как mar — это из германо-славянского фольклора. Это мара, злобный демон или дух, который садится спящему на грудь и его душит. Но не до смерти, а чтобы снились плохие сны, то есть кошмары.
В английском языке кошмар это Nightmare, а в немецком — Nachtmahr, и в обоих случаях mare/mahr — это тот же дух, мара.
Еще, как известно, по-английски mare — это кобыла (то есть самка лошади), поэтому nightmare во всяких там видеоигрушках любят изображать как злую чёрную кобылицу (не коня!). Но это чисто народное творчество, подмечающее игру слов. Кобыла-mare никак не связана с ночными кошмарами, просто так совпало. В немецком и французском mahr и mar вообще никакого отношения к лошадям не имеют.
#TIL
Что интересно, французское cauche означает «давить», тогда как mar — это из германо-славянского фольклора. Это мара, злобный демон или дух, который садится спящему на грудь и его душит. Но не до смерти, а чтобы снились плохие сны, то есть кошмары.
В английском языке кошмар это Nightmare, а в немецком — Nachtmahr, и в обоих случаях mare/mahr — это тот же дух, мара.
Еще, как известно, по-английски mare — это кобыла (то есть самка лошади), поэтому nightmare во всяких там видеоигрушках любят изображать как злую чёрную кобылицу (не коня!). Но это чисто народное творчество, подмечающее игру слов. Кобыла-mare никак не связана с ночными кошмарами, просто так совпало. В немецком и французском mahr и mar вообще никакого отношения к лошадям не имеют.
#TIL
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Сегодня охотники ищут привидениев у нас на участке 👻 👻
🔥3
🌅 Чат жопотэ, давай быстренько добавим мне в докер контейнер с постфиксом, чисто для отправки, и я пойду дальше работать.
🕔 Ок, днсы прописали, а чего конфиг такой странный, давай разбираться.
🕐 Это что опять за ошибка? Нет, я не буду брать готовое решение, мы уже три часа потратили. Чуть-чуть осталось, щас доделаем.
🕠 Нет, я не буду подключать сторонний сервер к уже настроенному постфиксу. Зачем мы тогда его настраивали?!
🕔 А это что... ладно, сам нагуглю.
🌃 Так, блин, почему твои днсы гугол теперь не принимает?!
🌜 [censored]
🕔 Ок, днсы прописали, а чего конфиг такой странный, давай разбираться.
🕐 Это что опять за ошибка? Нет, я не буду брать готовое решение, мы уже три часа потратили. Чуть-чуть осталось, щас доделаем.
🕠 Нет, я не буду подключать сторонний сервер к уже настроенному постфиксу. Зачем мы тогда его настраивали?!
🕔 А это что... ладно, сам нагуглю.
🌃 Так, блин, почему твои днсы гугол теперь не принимает?!
🌜 [censored]
😁2
Спешу сообщить вам, дорогие друзья, что на днях я выпустил в интернет свирепых Ботопотамов. Рассказываю, как так вышло.
Как-то зимой я баловался телеграм-ботами и решил написать один, который бы для меня мониторил сайты, писал мне в телегу если что, а также принимал произвольные сообщения и перенаправлял в чатик. Похожиие функции у меня когда-то были в слаке, но со слаком случилось известно что и всё прикрыть. Захотел сделать аналог в телеграме. В общем, в свободное время стал писать бота с админкой и заодно обнаружил, что если писать админку правильно, то она сгодится как для одного бота, так и для множества разных ботов. И писать сразу стало интереснее.
В общем, закончил промежуточную версию и решил для разнообразия сразу выложить результаты, а не вылизывать их еще три года. Сайт проекта называется Botopotamus.ru. Веб-часть выглядит примерно как на приложенной картинке.
А чат с ботом в телеграме выглядит как другие чаты с ботами в телеграме.
Первого бота зовут Botopotamus Monitor Bot и он умеет следующие вещи:
✔️ мониторит заданный список сайтов (посредством обращения по указанному адресу);
✔️ отправляет сообщение в телеграм, если сайт вернул ошибку, завис, или недоступен;
✔️ сохраняет пинг, с которым загрузился сайт;
✔️ ведет небольшую статистику аптайма, строит графики за последнюю неделю, хранит измерения за 30 дней;
✔️ выводит графики в личном кабинете на сайте, а небольшое summary по аптайму — прямо в чат;
✔️ генерирует (в чате или на сайте) ключик авторизации для отправки уведомлений;
✔️ принимает запросы, авторизованные этим ключиком, и отправляет сообщения из этих запросов в чат. То есть позволяет отправлять из других программ уведомления в телеграм о чем угодно.
Решение не очень сложное, это не аптаймробот и не кума, но вполне рабочее. Сам пользуюсь уже пару недель.
Если не хотите получать уведомления от моего ботопотама, можно добавить реквизиты своего. Тогда он будет мониторить и отправлять уведомления сам. Но эта опция пока заблокирована, предполагается что она будет частью платного тарифа за сколько-нибудь денег, а тариф еще не включен. Но вручную, если что, подключить можно.
Чтобы начать пользоваться ботопотамами, нужно зарегистрироваться на сайте и в профиле указать никнейм или id в телеграме. Регистрацию через ТГ еще не прикрутил, но сделаю, без неё немного странно.
В ближайшем будущем предполагаю для платформы несколько направлений развития:
1️⃣ использовать бэкэнд для быстрого прикручивания к заказным ботам (с передачей кода платформы);
2️⃣ добавить поддержку Max, на всякий случай. API там похожее а боты уже давно работают;
3️⃣ развить функции мониторинга сайтов, чтобы было поудобней и поинтересней, например добавить проверку сертификатов;
4️⃣ добавить полезных технических плюшек;
5️⃣ выпустить еще несколько ботопотамов, и закрытого, и общедоступного толка.
Примерно так. Заходите в гости к Ботопотамам, если интересно, задавайте вопросы, постараюсь ответить.
Про техническую часть пишу в конце отдельно, чтобы не пугать людей говорением на языках. Бэкэнд сервиса сделан на Laravel с панелькой Orchid. Фрондэнд без изысков: bootstrap 5 + blade, поскольку основные функции доставляются через ботов. Сами боты работают в режиме вебхуков, но есть и поддержка лонг-поллинга (с ним отлаживать удобнее).
Посидели с чатом жопотэ, смастерили скрипт под docker compose, чтобы разворачивать быстро и чтоб всё на контейнерах. Не сказать что вышел шедевр, но думаю может выложить сборку с комментариями, вдруг кому пригодится? Скажем, как пособие, в котором разворачивается:
⚙️ nginx + php + mysql — чтобы приложение работало;
⚙️ redis — для кэшей и очередей;
⚙️ supervisor — чтобы очереди всегда обрабатывались;
⚙️ certbot — для https;
⚙️ cron для крона;
⚙️ logrotate чтобы автоматически пересохранять логи за несколько дней;
⚙️ postfix с opendkim — чтобы отправлять письма с восстановлением пароля и они долетали до адресатов.
Незамысловато, но зато всё работает. Хочу добавить horizon, loki, возможно прометея с графаной по классике, и еще пару вещей.
Как-то зимой я баловался телеграм-ботами и решил написать один, который бы для меня мониторил сайты, писал мне в телегу если что, а также принимал произвольные сообщения и перенаправлял в чатик. Похожиие функции у меня когда-то были в слаке, но со слаком случилось известно что и всё прикрыть. Захотел сделать аналог в телеграме. В общем, в свободное время стал писать бота с админкой и заодно обнаружил, что если писать админку правильно, то она сгодится как для одного бота, так и для множества разных ботов. И писать сразу стало интереснее.
В общем, закончил промежуточную версию и решил для разнообразия сразу выложить результаты, а не вылизывать их еще три года. Сайт проекта называется Botopotamus.ru. Веб-часть выглядит примерно как на приложенной картинке.
А чат с ботом в телеграме выглядит как другие чаты с ботами в телеграме.
Первого бота зовут Botopotamus Monitor Bot и он умеет следующие вещи:
✔️ мониторит заданный список сайтов (посредством обращения по указанному адресу);
✔️ отправляет сообщение в телеграм, если сайт вернул ошибку, завис, или недоступен;
✔️ сохраняет пинг, с которым загрузился сайт;
✔️ ведет небольшую статистику аптайма, строит графики за последнюю неделю, хранит измерения за 30 дней;
✔️ выводит графики в личном кабинете на сайте, а небольшое summary по аптайму — прямо в чат;
✔️ генерирует (в чате или на сайте) ключик авторизации для отправки уведомлений;
✔️ принимает запросы, авторизованные этим ключиком, и отправляет сообщения из этих запросов в чат. То есть позволяет отправлять из других программ уведомления в телеграм о чем угодно.
Решение не очень сложное, это не аптаймробот и не кума, но вполне рабочее. Сам пользуюсь уже пару недель.
Если не хотите получать уведомления от моего ботопотама, можно добавить реквизиты своего. Тогда он будет мониторить и отправлять уведомления сам. Но эта опция пока заблокирована, предполагается что она будет частью платного тарифа за сколько-нибудь денег, а тариф еще не включен. Но вручную, если что, подключить можно.
Чтобы начать пользоваться ботопотамами, нужно зарегистрироваться на сайте и в профиле указать никнейм или id в телеграме. Регистрацию через ТГ еще не прикрутил, но сделаю, без неё немного странно.
В ближайшем будущем предполагаю для платформы несколько направлений развития:
1️⃣ использовать бэкэнд для быстрого прикручивания к заказным ботам (с передачей кода платформы);
2️⃣ добавить поддержку Max, на всякий случай. API там похожее а боты уже давно работают;
3️⃣ развить функции мониторинга сайтов, чтобы было поудобней и поинтересней, например добавить проверку сертификатов;
4️⃣ добавить полезных технических плюшек;
5️⃣ выпустить еще несколько ботопотамов, и закрытого, и общедоступного толка.
Примерно так. Заходите в гости к Ботопотамам, если интересно, задавайте вопросы, постараюсь ответить.
Про техническую часть пишу в конце отдельно, чтобы не пугать людей говорением на языках. Бэкэнд сервиса сделан на Laravel с панелькой Orchid. Фрондэнд без изысков: bootstrap 5 + blade, поскольку основные функции доставляются через ботов. Сами боты работают в режиме вебхуков, но есть и поддержка лонг-поллинга (с ним отлаживать удобнее).
Посидели с чатом жопотэ, смастерили скрипт под docker compose, чтобы разворачивать быстро и чтоб всё на контейнерах. Не сказать что вышел шедевр, но думаю может выложить сборку с комментариями, вдруг кому пригодится? Скажем, как пособие, в котором разворачивается:
⚙️ nginx + php + mysql — чтобы приложение работало;
⚙️ redis — для кэшей и очередей;
⚙️ supervisor — чтобы очереди всегда обрабатывались;
⚙️ certbot — для https;
⚙️ cron для крона;
⚙️ logrotate чтобы автоматически пересохранять логи за несколько дней;
⚙️ postfix с opendkim — чтобы отправлять письма с восстановлением пароля и они долетали до адресатов.
Незамысловато, но зато всё работает. Хочу добавить horizon, loki, возможно прометея с графаной по классике, и еще пару вещей.
🔥2👏2❤1
Как известно, ИИ заменяет нас одного за другим. И вместе с тем создает новые рабочие места)
"Вывожу из двухнедельного вайбкодинга", "кодирую на год от джемини", "Снимаю с чата жопотэ, порчу перплексити" — вот где будущее!
"Вывожу из двухнедельного вайбкодинга", "кодирую на год от джемини", "Снимаю с чата жопотэ, порчу перплексити" — вот где будущее!
🙏1
Forwarded from VG/Двач (Nikko)
ИИ создаёт новые профессии: «Vibe code cleanup specialist» — теперь так называют себя люди, готовые за дополнительную плату исправить весь тот код, который сгенерировали нейросети
😁3👀3
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
В английском языке есть такая устоявшаяся и часто встречающаяся идиома — in spades. Означает она:
— в большом количестве
— очень много
— максимально достаточно
— в изобилии, избытке
To have something in spades значит — у тебя чего-то дофига, как у дурака махорки. Применяется как в прямом, так и в переносном смысле (дофига ума, наглости, проблем).
А пошла идиома, как оказалось, из бриджа и карточных игр. Дело в том, что spades (то есть пики) — в бридже и многих других играх старшая масть. Соответственно, если у тебя есть на руках какая-то комбинация, это хорошо. А если она на пиках (то есть in spades), то максимально хорошо. Как в покере, стрит флеш на пиках лучше, чем какой-либо другой стрит флеш.
Козырная, в общем, идиома.
#TIL
— в большом количестве
— очень много
— максимально достаточно
— в изобилии, избытке
To have something in spades значит — у тебя чего-то дофига, как у дурака махорки. Применяется как в прямом, так и в переносном смысле (дофига ума, наглости, проблем).
А пошла идиома, как оказалось, из бриджа и карточных игр. Дело в том, что spades (то есть пики) — в бридже и многих других играх старшая масть. Соответственно, если у тебя есть на руках какая-то комбинация, это хорошо. А если она на пиках (то есть in spades), то максимально хорошо. Как в покере, стрит флеш на пиках лучше, чем какой-либо другой стрит флеш.
Козырная, в общем, идиома.
#TIL
👍7