Cododel.dev | Александр
98 subscribers
472 photos
62 videos
7 files
200 links
Alexander Cododel. Full Stack Web Dev since 2019.

📍 Канал: мысли и проекты
📍 Чат: @cododel_chat
📍 Связь: @cododel

🔗 https://cododel.dev
Download Telegram
Cododel.dev | Александр
Теперь это helm (штурвал) Скоро обновление, не уверен что очень, но скоро. Думаю сделать свой полноценный sail для directus, раз уж мне приходится с ним работать на проекте. Утилита уже поддерживает создание файлов миграций и управление directus-sync cli…
Artisan для Directus | Деплой и Code driven подход

Не маленькая штука выйдет...

На проекте, под который я её делаю есть одна проблема.
Как и любого проекта на любой CMS - нет рабочих миграций и initial data.

Люди работали через rsync, просто копируя полностью весь проект...
Как на новый сервер, так и новому разработчику.

В целом - в wordpress эта практика считается нормальной, и ведется версионный учет только самописных шаблонов и плагинов.

Но этот проект позиционируется как гораздо более серьезная вещь, и на мой взгляд, не допустимо так халатно относиться к организации работы вокруг проекта.
Думал мне немного поможет эта утилита организовать полный цикл рабочего процесса, приближенный к laravel sail

В целом - твердое ДА!
Оно поможет.
Со всем можно смириться и разобраться, но самое узкое место - это данные и файлы.

Исопльзуя directus-sync — я теперь могу хранить структурированный snapshot всей модели данных directus.
Из минусов - накатывается долго и версионность обеспечивается коммитами, а не наложением версий, как при классических миграциях.

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

Вместо них реализовал систему fill-initial-data
Она представляет из себя bash скрипт, который проходится в цикле по директории directus/initial-data по отсортированным по имени sql файлам, и применяет их через psql напрямую в базу.
Штука не надежная, но рабочая - главное обеспечить правильный порядок, иначе могут быть проблемы со связями. Достигается правильный порядок указанием префикса YYYY_MM_DD_TIMESTAMP вначале имени каждого файла, подобно laravel.
Данные накатить теперь можно, при том даже не проблема достать их из существующей базы. Отлично!

А теперь uploads...
Вот с ним хз что делать)
Кроме фактического существования файла - он должен быть в базе данных, при этом у него есть relation к виртуальным директориям, для отображения в админке.
А на их id ссылаются другие сущности...
У меня есть сомнения, что это вообще нужно помещать в initial-data, тк в laravel никогда и не сталкивался с такой задачей, но именно здесь она меня напрягает.

В целом работать теперь думаю можно, а helm я скорее всего допилю. Уже отрефакторил немного.
👍4
Реорганизация проекта 🥴
Please open Telegram to view this post
VIEW IN TELEGRAM
😉 Я подумываю заняться YouTube всерьёз.

Я недавно говорил о более организованном подходе
И собрал для себя небольшой чеклист из того, что планирую делать:

—— С чего начать?
— Технический аккаунт
С него подписываемся на 50 каналов в той же тематике со всего мира
—Снимаем на телефон, хотя бы iPhone 12 и выше или Pixel 6 и выше
— Если всё же снимаем на телефон, то польземся Blackmagic Cam для iPhone (бесплатно) или качаем Filmic PRO (платный)
Это важно, чтобы добиться стабильной картинки и иметь возможность тонкой её настройки на этапе съемки.
Так мы избавимся от автоподстраивания родной камеры, которое бы считалось браком.

—— Микрофоны
- Fifine K670 стоит 5к
- AudioTechnica AT2020 стоит 10к
- Или хотя бы на телефон, главное чтобы был четкий и ровный звук

—— Канал
— Регистрируем не на РФ аккаунт, чтобы иметь возможность подключить монетизацию
(Без неё рекомендации не будут работать так эффективно)
— Теги в настройках канала - должны дублировать название канала в разных написаниях
— В описании канала упомянуть название
— Ссылки в настройки канала на соцсети и воронку при наличии


И чтобы не забивать ленту - сделал отдельный канал, в него выложил полную версию чеклиста
Там точно будет интересно, если эта тема тебя касается, или интересно подглядеть за моим прогрессом 🍾


Навигация [Дальше]
—> [С чего начать]
[Подготовка к ролику]
[Важное]
[Монтаж и публикация]


Так что милости прошу в
🎬 Кинодельню @kinodelia
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1🤔1
Мне друг доказал что в dzen можно двигаться даже без рекомендаций.

Дело в SEO - яндекс "по блату" поднимает статьи на дзене в выдаче.
Я тестовую сделал, тема не самая подходящая, но прям низкочастотная, а значит конкуретность маленькая.
А предыдущий опыт у меня показывал по 1 прочтению в год на пост
И это при выложенных 200 постов.

Так что через неделю гляну метрики, посмотрим как обстоят дела, а параллельно я подумаю над темой более подходящей для такого формата.

Ознакомиться можно тут —> Dzen Кододельня
У меня пик активности и концентрации начинается в 7 часов вечера
И только начиная с этого момента я легко работаю и могу устроить спринт на 9-10 часов, в конце которого удивлюсь что на часах уже 5 утра

Я ночная сущность?
Глас из чата мне рассказал о новой соцсети.
Теперь я там есть.

https://set.ki/EFXsd8k
👍1
Channel photo updated
Созидаем.
Cododel.dev | Александр
Глас из чата мне рассказал о новой соцсети. Теперь я там есть. https://set.ki/EFXsd8k
Теперь у меня предвзятость

Там будет много ботов думаю, как в инсте и Тенчате раньше
Все таки VPN жрет зарядку

Я думал у меня АКБ помирает, в режиме энергосбережения так садиться

Видимо вариант с туннелированием трафика и резолвингом по dns - надо на телефоне заменить на on demand режим, и указать в каких приложениях он должен включаться, хотя бы через автоматизации iOS

Подумаю над этим вопросом, тк к вечеру буду иметь не 10%, а около 35% 🫡

Руками тыкать я не хочу, если не выйдет оптимизировать работу впн - я в офис куплю еще один MagSafe с подставкой и вообще по барабану сколько там оно жрет 😃 (см 3 скрин)
Ansible - Must know!

Я разобрался с ним.
Команду запустил и ушел чай заварить на 5 минут

Прекрасно 🤩


Главное отладить весь процесс, чтобы небыло ошибок
И быть уверенным в изначальном состоянии сервера и в установленной операционной системе.
На мой взгляд это очевидно, и не поддается обсуждению, но почему-то в чате одного канала мне это как накладные сложности преподнести пытались))

Могу сказать лишь, что его использовать стоит в лишь нескольких случаях:
- Надо много одинаково настроенных серверов
- Надо часто обновлять сервера

И третий - сомнительный, но в целом можно простенький плейбук для действий на сервере описать.
К примеру ручками если деплоишь какой-то фронт, то его сначала надо подтянуть, потом сбилдить и перезапустить.
Можно описать в playbook это дело. Но можно и скрипт сделать, тут хз.
И с бэком, миграциями та же тема.
Из плюсов использования ansible в этом кейсе - стандартизация, к которой проще будет адаптироваться другим.

Но от сюда вытекает следующий вопрос:
А много ли людей вообще знакомы с Ansible? 🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
У меня есть доступ к Sora
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Sora Production

Лысая андропоморфная лошадь громко смеётся пролетая над конским заливом на русском ковре-самолёте


Как-нибудь в следующий раз придумаю что-то более простое
В целом тяжело представить это как-то менее психоделично 😂 (в комментах есть похуже)

На психоделе по стилистике кстати бывает похоже на попытки в русские 3D мультипликацию
Я считаю, что даже это неплохо для нейросети 😁
Она даже освещение понимает

Сделать хорошо может каждый, а вот попробуйте специально сделать вмеру плохо


Скинул в комменты к посту
Please open Telegram to view this post
VIEW IN TELEGRAM
Linux становится MacOS

Я вчера fedora скачал, в лайв режиме на ноутах потыкался

Это самое близкое к MacOS что я видел 🥰

Очень хочу перейти на fedora с gnome текущим на Wayland, но у меня уже есть мак 😅

Надо обзоры видимо клепать чтобы закрыть потребность 🤣
Есть нюансы по экосистеме, а в остальном это реально workstation дистрибутив.
Поставил и начал работать без проблем, даже драйвера все подтянулись на более менее современном ноуте, и не надо через провод цепляться к интернету или на флешке драйвера закидывать чтобы поставить их через командную строку.

Думаю большинству хватит современного Linux
ЗА ИСКЛЮЧЕНИЕМ: игр и спец софта (photoshop, 1С, автокад и тп)

В комменты еще пару слов сказал
😱1
Почему люди боятся совершать действия?

Легко дать совет: «Сходи на 10 собеседований», «Предложи начальнику внедрить новую фичу», «Возьми на себя дополнительную активность», «Реши 30 задач на литкоде» и т. д. Такие вещи постоянно советуют со всех сторон. Почему эти советы не такие простые, как кажутся? Давайте размышлять.

👉 Проблема: «Наш мозг ленив».

Сталкиваюсь с тем, что люди всегда находят причину, почему совершить то или иное действие — это бессмысленное телодвижение. Мол, все равно ничего не получится, это не мое и тому подобные штуки.

Много читал и слушал материала на эту тему, насколько я понял, проблема в том, что наш мозг суперзатратная (с позиции энергии) штука, и если хвататься за все подряд, то энергии может не хватить на что-то важное.

Поэтому энергию надо экономить, а это значит «лениться» выгодно, чтобы сохранить силы.

👉 Проблема: «Нам страшно».

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

Под потерями, как правило, понимается время и деньги. Если речь заходит о деньгах, то всё — стоп машина, никуда не едем.

Другая потеря — это репутация, которая сводится к мысли «А что обо мне подумают люди?». Спойлер: как правило, люди либо ничего не подумают, либо подумают, что ты дурак, независимо от твоего действия или бездействия.

👉 Проблема: «Избыток информации».

Первые две проблемы, как правило, парализуют волю, а вот третья проблема заставляет кипеть мозг. Даже если человек решил что-то сделать, то возникает момент «А с чего начать?», и тут целый ворох информации обрушивается со всех сторон.

Даже простая задача — «сходить на собеседование», порождает кучу вопросов: «Куда?», «Как подготовиться?», «Почему не зовут?», «Что, если провалю?» и т. д. Поэтому оказывается, что простые советы на деле не имеют простых, понятных планов действия.

👑 Что делать?

Для меня эффективна стратегия «маленьких шагов», я уже много раз говорил, что такой подход решает приведенные проблемы:

💪 Решение проблемы «Мозг ленив»: мозг не воспринимает «маленький шаг» как что-то опасное или энергозатратное.
💪 Решение проблемаы«Нам страшно»: при маленьком шаге и потери воспринимаются не так опасно.
💪 Решение проблемы «Ворох информации»: чем проще действие, которое нужно совершить, тем понятнее, что нужно делать.

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

Здесь поможет планирование и фиксация успехов — заведите календарь, где отмечайте дни, когда вы что-то сделали для достижения цели, и планируйте, что вы будете делать на следующей неделе.

Со временем привычка совершать небольшие действия приведет к аккумулированию результата. И вы удивитесь, на что способны.
Please open Telegram to view this post
VIEW IN TELEGRAM
Соер.Клуб | Практика сервисной архитектуры
Почему люди боятся совершать действия? Легко дать совет: «Сходи на 10 собеседований», «Предложи начальнику внедрить новую фичу», «Возьми на себя дополнительную активность», «Реши 30 задач на литкоде» и т. д. Такие вещи постоянно советуют со всех сторон. Почему…
#ГоловныеМюслипредыдущему посту)

Полностью согласен, хотя сам не всё использую и есть много чего не делаю, хотя хотел бы.

Но даже недавний случай когда решил разобраться с Ansible - мне напомнил, что главное начать делать хоть что-то.
Именно делать, что-то создавать! (если сожно так выразиться)

Я посмотрел около 10 видосов на тему ansible, прочитал около 5 статей, пообщался с ChatGPT в попытках разобраться с тем как это работает.
Но ничего не понимал и не мог найти информацию о том, как именно оно устроено, чтобы не просто зазубрить, а понять принцип.

Ровно до того момента, когда создал файл конфига и начал в нём медленно что-то описывать.
Хатем открыл фициальную документацию, шаг за шагом добавляя новые строки, а когда документация кончилась подключил в работу linter, чтобы видеть ошибки и ChatGPT, чтобы побыстрее справиться с задачей и увидеть примеры решений.

Была ещё проблема с запуском сервиса PostgreSQL, так как ни один из вариантов, предложенных GPT - не работал, а те что работали были командами, на которые ругался линтер.
Как оказалось, GPT просто не знает о модуле ansible.builtin.sysvinit — на вопрос, почему бы его не использовать для работы с сервисом?
GPT мне утвердительно и уверенно ответил — "Потому что его не существует" 😑

Как оказалось у меня на сервере, который раскатывается в docker контейнере из образа — используется Init.d менеджер сервисов (фоновых процессов)
И он считается устаревшим, малоэффективным (из-за последовательного запуска сервисов вместо параллельного), но по этим же причинам стабильным, легковесным и предсказуемым
Потому и используется во встраиваемых подсистемах, например в docker образах.
А поддержку его добавили в Ansible после 2020 года, так что информация о нём не попала в датасет, плюс в интернете об этом маловато информации.
И лишь методом проб и ошибок, общением с самой умной моделью GPT o1 с тарификацией по 40р за один запрос — я всё же дошел до мысли, и понимания того, что мне нужно и смог найти в документации на сайте нужный модуль.

А вишенкой на торте является факт того, что GPT, как и YouTube - не располагает достаточным количеством информации на узконаправленные темы, и глобокий разбор ОНых.
Соотвтествтенно я считаю, что начинать учиться легко, есть видосы на ютубе, вся информация беслпатна, а платные курсы не дают ничего нового, лишь в нужном порядке дают эту информацию, снимая барьер в виде "умения искать информацию"
Как и GPT - получилось что он тоже притупляет умение искать информацию.
И это в дальнейшем я думаю даст сильный отрицательный эффект, когда надо будет разобраться в чем-то узконаправленном.

Так что мой совет по тому, как начинать что-то делать, или учить:
— Пробуем составить план, если достаточно знаний
— Если не получается - смотрим видосы, читаем статьи — в первую очередь
потом для уточнения деталей, по мелочи, или частных случаев можно подключать GPT, но каждый его ответ гуглить и перепроверять на достоверность
— Начинаем делать конкретный шаг, когда понятно с чего надо начинать
(в моём случае это было - создать файл и начать писать)
— Читаем официальные источники, и уточняем не понятные детали, углубляемся в процесс

Как-то так, подход рабочий, но очень требовательный к мыслительным ресурсам.
Где-то слыщал, что любой мыслительный процесс - это боль, и надо быть мазохистом, чтобы любить саморазвиваться и постоянно что-то изучать.
Так что думаю не всем это надо, не всем дано, и не нужно перешагивать через себя, надо делать что, что нравится.
Please open Telegram to view this post
VIEW IN TELEGRAM