OneCode @onecode_blog Channel on Telegram

OneCode

@onecode_blog


Full Stack на PHP, Laravel и всё, что с этим связано.
YouTube: https://www.youtube.com/@onecode_blog

OneCode (Russian)

OneCode - это Telegram-канал, посвященный теме Full Stack разработки на PHP, Laravel и всему, что с этим связано. Здесь вы найдете полезные материалы, статьи, советы и рекомендации от опытных специалистов в области веб-разработки. Канал предлагает обновления о последних тенденциях и новостях в мире программирования, а также обзоры и уроки. Подписавшись на OneCode, вы будете всегда в курсе последних технологических новинок и сможете повысить свой профессиональный уровень. Присоединяйтесь к сообществу разработчиков на Telegram-канале OneCode и откройте для себя мир Full Stack разработки на PHP и Laravel! YouTube: https://www.youtube.com/@onecode_blog

OneCode

18 Nov, 17:01


👋 Друзья! Сегодня у моего друга и его стартапа Layer - день рождение!
Layer помогает упрощать сложные задачи, структурировать мысли и двигаться к целям с максимальной эффективностью!
🔥Сейчас ребятам очень нужна Ваша поддержка на Product Hunt!
👉 https://www.producthunt.com/posts/layer_brain-inspired_planner
Подарим проекту свою ❤️

OneCode

18 Nov, 17:01


Ребяты, кому не сложно поддержите проект друзей 💪

OneCode

17 Nov, 11:09


Кстати, посмотрел презентацию Laravel Nightwatch и очень впечатлился.

В Яндекс.Браузере можно смотреть с переводом голоса на русский язык.

OneCode

17 Nov, 11:03


Сервис для управления серверами Laravel Forge предоставляет пакет, который позволяет прямо из консоли на компьютере выполнять разные операции на серверах (по SSH).

На скрине пример, где я сказал, что хочу запустить команду на сервере. Forge спросил для какого сайта и какую команду - php artisan countries:import для импорта стран из CSV.

В итоге результат выполнения команды отобразился в консоли, а я еще раз подумал, что ребята из Laravel молодцы, что облегчают нам работу.

Другие возможности пакета можно посмотреть в документации. Актуально для тех, кто использует Laravel Forge.

С нетерпением жду новые сервисы:
- Laravel Cloud облако для запуска проектов без заморочек с серверами
- Laravel Nightwatch - мониторинг ошибок, производительности и логирование.

Приятно работать, когда есть удобные, качественные, а главное простые инструменты.

OneCode

10 Nov, 10:47


Представь, что ты работаешь над проектом в одной ветке, например feature/payments, написал кучу кода и вдруг понадобилось переключиться в другую ветку, например main, чтобы сделать там срочный фикс бага и залить исправление на продакшен.

Для переключения в другую ветку сначала нужно сохранить все изменения в текущей ветке. Но делать коммит типа "переключаюсь в main для исправления ошибки" не очень красиво. Слава богу есть способ получше.

1. Сохраняем изменения в текущей ветке во временное хранилище (без коммита):


git stash
git status # пусто


2. Переключаемся в нужную ветку, например main:


git checkout main


3. Делаем там изменения и заливаем в репозиторий:


git commit -m "исправил ошибку"
git push origin main


4. Возвращаемся обратно в предыдущую ветку:


git checkout feature/payments


5. Восстанавлиаем все изменения из временного хранилища:


git stash pop


Радуемся и продолжаем работу.

Подробнее 👈 #git

OneCode

07 Nov, 17:28


https://habr.com/ru/articles/856602/

OneCode

07 Nov, 16:56


Центр мониторинга и управления сетью связи общего пользования (ЦМУ ССОП) рекомендует отказаться от CloudFlare 😎

Источник 👈

Заметили, что многие сайты, работающие на CloudFlare перестали открываться? Я да.

OneCode

05 Nov, 10:13


Кстати, в нашем VIP-канале есть полное видео с разработкой этого бота.

Чисто практическое видео, почти стрим, в котором затронули интересные темы, включая телеграм-бота, искусственный интеллект (два способа), очереди и конечно Laravel.

А так же другие видео и курсы, связанные с Laravel 👍

OneCode

04 Nov, 14:28


Наш телеграм-чат атакуют спамеры. Пробовал пару телеграм-ботов, которые не помогли.

Пришла идея написать своего телеграм-бота для фильтрации спама. Интересный опыт.

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

Бота на Laravel написал буквально за пару часов. Под капотом ИИ для классификации сообщений.

Есть поддержка разных вариантов ИИ: от моделей, запущеных локально на сервере до внешних API. В интересное время живём.

OneCode

18 Oct, 10:02


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

Компания Kode находится в поиске толкового PHP-разработчика.

Что хотелось бы видеть в идеале:
- опыт коммерческой разработки;
- опыт работы c Yii2, Postgres, Protobuf, RabbitMQ, Kafka, Sentry;
- хорошее понимание принципов ООП;
- понимание технологий RPC и gRPC;
- опыт проектирования БД, понимание основных паттернов для работы с данными;
- опыт реализации Rest (like) api.

Локация - любая
Зарплатная вилка - 150-240 тыс. рублей
Оформление - ТК РФ, зарубежное ИП

Мы предлагаем:
- трудоустройство в аккредитованную IT-компанию (подходим под все льготы);
- отсутствие бюрократии и тотального контроля, гибкие процессы и адекватный менеджмент;
- гибкое начало рабочего дня, возможность удалённой работы;
- регулярную индексацию заработной платы по итогам Performance Review;
- ДМС (+ стоматология, скорая помощь, ветеринария).

Для связи @pushkareva_olga_puo

OneCode

05 Oct, 07:09


Моё первое большое разочарование после учебы 🌟

Как я уже делился в предыдущем посте, я не только не бросил обучение, но и успешно завершил все курсы! 🎉 Но вот на горизонте возникло неожиданное разочарование: несмотря на дипломы и сертификаты, найти первую работу оказалось не так-то просто. 😩

С чем это было связано? Я столкнулся с жестокой реальностью: у меня не было коммерческого опыта! Как его получить, если никто не готов меня взять? 🤔

Я уселся за компьютер и создал свое резюме, которое разместил на сайте hh.ru. В нем я честно указал отсутствие коммерческого опыта, а также добавил свои сертификаты и освежил список изученных технологий. Первую работу я целенаправленно искал в офлайне, в своем родном городе. Считал, что это лучший вариант для новичка: живое общение с коллегами, ментором и погружение в атмосферу офиса.

Поняв, что меня никто не собирается набирать сам по себе, я начал активно рассылать резюме всем компаниям своего города. И результат оказался неутешительным: 80% отказов и 20% полного игнора. 😔 В такие моменты можно было бы сильно упасть духом и даже задуматься о том, чтобы всё бросить. Но я решил: «Нет, я буду искать до последнего!»

И тут случилось чудо — одна компания пригласила меня на собеседование! Моё сердце забилось чаще: радость и страх переполняли меня, и в голове крутились вопросы: «Готов я и хватит ли мне знаний?»

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

И вот настал день собеседования. Я пришел по адресу и... что было дальше? 😅

В следующем посте расскажу, как прошло это собеседование и какой был итог! Если у вас есть личный опыт из похожих ситуаций, то не стесняйтесь рассказать об этом в комментариях) Оставайтесь на связи!

OneCode

05 Oct, 07:09


Привет, мальчишки и девченки! Участник нашего маленького комьюнити Лёха завёл блог в телеге, где пишет про свой путь фронтенд-разработчика. Такие истории всегда вызывают интерес у начинающих разработчиков, а Лёха пишет не плохо, поэтому, если интересно - залетайте и поддержите парня, который готов делиться своими мыслями. Не реклама, просто от души.

OneCode

12 Sep, 10:02


Зарубежные сервисы прекращают работу в России

с 12 сентября 2024 года cанкции США предписывают иностранным компаниям не предоставлять услуги в сфере ИТ и облачных сервисов в России. Notion, Miro, ClickUp, Coda, Wix — это только часть компаний, которые за последние недели объявили об уходе из России.

Привет, парни! Думаю имеет смысл на всякий случай сделать резервную копию важных данных. Какие данные важны и наиболее уязвимы в данном контексте? Как минимум базы данных проектов, расположенные на зарубежных серверах, а так же исходный проектов, хранящийся на GitHub и подобных зарубежных сервисах.

Базы данных

Лично у меня есть базы данных в Digital Ocean и AWS, поэтому настроил для них потоковую репликацию напрямую в Yandex.Cloud. То есть все изменения данных в основной базе автоматически синхронизируются с репликой (базой в яндексе) в реальном времени. Сделал это уже давно.

Таким образом, если DO или AWS заблокируют аккаунт, то у меня будет максимально свежая копия данных. Репликация настраивается НЕ очень просто и быстро, особенно если делать это первый раз, поэтому вместо неё (как минимум) можно настроить простое резервное копирование через периодический бэкап данных. Например раз в час делать дамп и отправлять его куда подальше в отдельное хранилище. Вообще это в любом случае должно быть всегда и везде, тк потеря данных это жопа.

Исходный код

Что касается исходного кода проектов, то не будет лишним скачать всё себе на комп или внешний жесткий диск - на всякий случай, чтобы спать спокойно. У меня 70+ репозиториев на GitHub и НЕ все они слишком важны, но сейчас не особо хочется разбираться с каждым, поэтому решил просто скачать их все.

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

У меня Apple MacBook, поэтому инструкция для MacOS.

1. Устанавливаем консольный клиент GitHub CLI:


# mac os
brew install gh


2. Аутентифицируемся в GitHub CLI:


gh auth login


3. Так же понадобится утилита для работы с данными формате JSON:


brew install jq


4. Создаём папку для скачивания репозиториев:


mkdir github && cd github


5. Создаём файл для bash-скрипта:


touch download.sh


6. Вставляем в него следующий код:


#!/bin/bash

# Получаем список всех репозиториев пользователя
repos=$(gh repo list --limit 1000 --json nameWithOwner --jq '.[]')

# Клонируем каждый репозиторий
for repo in $(echo "$repos" | jq -r '.nameWithOwner'); do
gh repo clone "$repo"
done

echo "Все репозитории скачаны!"


7. Запускаем и ждём завершения скачивания:


bash ./download.sh


Короче суть ясна, код скрипта простой, хотя в моей версии было еще отображение размеров каждого репозиторя и их общего размера + подтверждение скачивания. Само собой скрипт мне написал ИИ, поэтому если что все вопросы можете задавать ему 😁 По факту написание этого поста вышло дольше, чем вся эта автоматизация.

Ладно, дело сделано, можно вернуться к работе. Надеюсь полезно, пишите комменты.

На связи ⚡️@onecode_blog

OneCode

06 Sep, 05:10


Всех с пятницей! 🤘

OneCode

23 Aug, 19:57


Кстати, Filament тоже практикую - нравится. Как раз для ленивых ремесленников, как я.

Если нужен личный кабинет или админка, но НЕ охота выдумывать дизайн, заниматься вёрсткой, писать JavaScript, а результат нужен быстро, тогда Filament может помочь.

Конечно, быстрый результат будет только после практики, а по-началу изучение документации, эксперименты и попытки сделать то, чего сделать нельзя, а точнее сложно.

Как у любого универсального инструемента есть свои минусы. Первый - это ограниченная гибкость. Ты не можешь сделать всё, что хочешь так, как тебе нужно.

Точнее в Filament можно сделать практически всё, что хочешь, но придется его кастомизировать, а заниматься этим не всегда хочется.

Хочется пользоваться только теми возможностями, который Filament даёт из коробки, а из коробки, понятное дело, НЕ может быть всё, что угодно.

Некоторые разработчики думают - Filament [это] сделать не может, значит я НЕ буду использовать Filament.

Я думаю наоборот - Filament может это, это, это, это и это, значит я БУДУ использовать Filament.

А если будет нужно - допишу функционал сам, благо кастомизация реально хорошая. Или обойдусь стандартными возможностями.

А если уж нужна полная свобода - тогда писать всё с нуля. Или почти с нуля. Не факт, что получится хорошо, но тоже интересно.

Через меня уже прошло 2 разработчика, которые первый раз в жизни видели Filament и сделали всё очень хорошо. Сам удивился.

Причем я НЕ сразу понял, что они первый раз работали с Filament. А они оказывается всё по документации и подсказкам в редакторе кода написали.

В этом, кстати, преимущества таких инструментов - новый разработчики имеют документацию и пишут почти одинаковый код.

Иначе нужно искать свой компромис - выбирать между скоростью и ограничениями.

В любом случае Filament намного гибче всех аналогов, возможно самый гибкий.

Например мне нужно было по клику на кнопку открыть видео во всплывающем окне. В Filament нет для этого решения из коробки, зато есть возможность воткнуть кнопку почти в любом месте, открыть по клику модалку с любым содержанием (скрин).

Не утверждаю, что Filament нужно использовать всем. Говорю, что мне он подходит.

Есть масса других классных инструментов, которые нужно пробовать в разных условиях.

Главное, чтобы все (мы и заказчики) в итоге были довольны и достигли своих целей.

@onecode_blog 👈

OneCode

23 Aug, 19:13


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

Перед этим недели 3 работал без ИИ и ловил себя на мысли, что иногда его не хватает - понимаю где он мог бы правильно подсказать и сэкономить время.

Мне было лень описывать поля для формы Filament, поэтому попросил это сделать Claude - модель ИИ, которая выбрана у меня в настройках редактора.

Нажал Cmd+L, спросил видит ли он поля из нужной модели - видит и даже понимает что они означают, попросил описать форму Filament для этих полей и получил почти идеальный результат (см. скрины).

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

Иногда просто нажимаю tab, tab, tab и смотрю, как код пишется сам. Он даже встаёт в нужную строку, если видит, что там нужно что-то изменить.

Особенно приятно, что идеально понимает русский язык. Не то, чтобы я не мог в английский, но на родном получается проще и точнее описывать задачу.

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

Интересно на сколько хватит бесплатной версии. Хотя если не разочаруюсь, то не грех и прикупить.

Хороших выходных!

@onecode_blog 👈

OneCode

18 Aug, 14:34


Ребята из нашего VIP-канала подсказали новый редактор кода со встроенной поддержкой ИИ (gpt, claude, ...).

Сначала меня НЕ сильно заинтересовало, потому что смена привычного редактора кода - это реально сложно.

Но это НЕ тот случай, потому что после установки Cursor предложил перенести все настройки, тему, расширения и хоткеи из VSCode.

В итоге через несколько секунд я получил точно такой интерфейс, как в моём вскоде! Это круто.

Еще не успел протестировать Cursor в реальной работе, но на видео чутка с ним поиграл и в целом, конечно, прикольно.

Радует, что можно писать на русском языке и использовать Claude - ИИ который постоянно использую через веб-версию.

В общем кому интересно, можете попробовать, есть бесплатная версия =) Спасибо за подгон!

@onecode_blog 👈

OneCode

18 Aug, 13:11


Калеб, создатель Livewire & Alpine, создаёт что-то интересное для нас.

Привет, милые пользователи Livewire.,

Я обращаюсь к вам, чтобы сообщить, что в этом году я почти каждый день работал над самым амбициозным проектом, за который я брался со времен создания Livewire.

Он называется "Flux". Это изменит способ написания ваших приложений.

Пока я держу это в секрете, но через пару недель мы представим демоверсию и представим ее на сцене Laracon в США. (28 августа)

Прошло уже очень много времени с тех пор, как я был в таком восторге от проекта (ладно, может быть, в прошлом году я тоже был в таком восторге от Livewire 3 ...), и я не могу дождаться, когда смогу порадовать вас достоинствами Flux.

OneCode

16 Aug, 16:25


Всем привет!

Ищу к нам в команду junior+ php-разработчика.

Работать предстоит над CRM-системой. Компания занимается созданием портретов, самая крупная в РФ.
Проект на Laravel. Используем PostgreSQL, Docker.

Собеседование не душное, но будет достаточно простое тестовое задание (а может и не будет, как договоримся).

Вилка 60-75к. Удаленка. Официальное трудоустройство, аккредитация, все дела.

Контакт: @rutherfordern

OneCode

30 Jul, 13:16


Raycast - одна из самых полезных и часто используемых мной программ.

Это "волшебное" поле ввода, которое моментально открывается с помощью горячих клавишь (Ctrl+Пробел) и позволяет выполнять различные функции.

Например:
- Открыть нужную программу
- Открыть настройки компьютера (дисплей, звук и тд)
- Посчитать числовые выражения типа (1+2)/3*4
- Конвертировать валюты
- Конвертировать единицы измерения
- Узнать погоду или время в том числе в другом городе
- Узнать свой IP адрес
- Перевести текст с одного языка на другой
- Поставить таймер
- Сгенерировать рандомные данные (пароль, email, ...)
- Добавлять и открывать свои ссылки на сайты
- История буфера обмена
- Искать по документации (php, laravel, tailwind, vue, icons, can i use, ...)
- Поиск на гугл картах
- Создавать гугл мит
- Управлять размерами окон

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

Программа бесплатная, но в платной версии можно подключить ИИ и, соответсвенно, работать с ним через тоже самое поле ввода.

Хочу подробнее рассказать о Raycast в курсе Эффективный разработчик, который выйдет в нашем зактытом VIP-канале.

Сейчас проходим там курс по очередям в Laravel, завтра очередной урок. Детально изучаем очереди и отрабатываем разные кейсы.

Короче прога реально клёвая, попробуй, если у тебя макбук, а в комментариях напишите аналоги, если такие есть.

Подпишись: @onecode_blog 👈

OneCode

28 Jul, 11:58


Сгоняли на концерт - подробнее в нашем блоге. На концерте, конечно, все люди снимали выступление на телефоны.

Так вот, интересное наблюдение - абсолютное большинство (наверно 90%) - это айфоны!

Ничего не хочу сказать, не знаю с чем это связано, но ведь удивительный факт.

Тупо практически у всех, а я специально смотрел несколько раз на протяжении концерта - айфоны.

У меня были смешанные чувства, потому что буквально за час до концерта купил Samsung Galaxy S24 Ultra на 1TB в подарок папе на день рождения 😁

Может владельцы андроидов просто не снимали выступление или вообще не ходят на концерты 🤔

Как думаешь с чем это связано?

OneCode

26 Jul, 09:48


Привет, ребята!
Кто-нибудь ищет работу сейчас?

У меня есть хорошее предложение для Fullstack Senior или Middle+ разработчика в крутой компании, специализирующейся на маркетинге.

Чем предстоит заниматься:

- Разработка и доработка сайтов для лидогенерации.
- Настройка интеграций с сервисами для рекламных кампаний (Яндекс.Директ, Яндекс.Метрика, ВК, Google, Facebook, TikTok, LinkedIn и другие).
- Настройка аналитики РК с помощью сервисов (Roistat, Calltouch, CoMagic и т.п.).
- Отправка лидов с сайтов в CRM системы (Bitrix24, AmoCRM, MacroCRM).


Наш стэк:

- CMS: 1C-Битрикс, WordPress (редко), либо без CMS (например, для простых квизов).
- Стэк разработки: PHP, MySQL, MariaDB, JavaScript, Vue.js 3. В некоторых проектах используем Laravel (таких проекто около 10шт). Также работаем с Docker, GitLab, RabbitMQ.

Я сам уже более трех лет в компании, но сейчас активно ищу новых коллег, потому что компания предлагает хорошие бонусы за привлечение достойных специалистов 💰

Для трудоустройства потребуется пройти 3 этапа собеседований: HR, Техничка и финальное собеседование с руководителем отдела 🙌

Пишите в ЛС, если мое предложение заинтересовало вас
Смогу подробнее рассказать о компании

OneCode

25 Jul, 13:20


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

https://stateoflaravel.com/ 👈

OneCode

15 Jul, 13:28


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

Для эксперимента позвал двоих - ChatGPT (Жпт) и Claude (Клод). На обоих платные аккаунты, поэтому использовал их масимальные модели - Жпт 4o против Клод 3.5 Sonnet.

Задавал им одинаковые вопросы, изучал ответы и довольно быстро пришел к выводу, что Клод лучше.

Жпт в самом начале упустил важную деталь - по факту дал не корректный ответ. И потом тоже его ответы казались менее информативными. Осадочек остался.

Клод наоборот почти всё написал правильно. При этом его стиль общения кажется более прикольными - человечным, вежливым, внимательным.

В итоге успешно реализовал задачу с помощью Клода (ни разу не гуглил) и отключил платную подписку Жпт.

В заключение прикольный видосик

OneCode

08 Jul, 17:57


Наткнулся в облаке Яндекса на сервис для отправки транзакционных email-сообщений.

Полезная история, когда мы хотим отправлять пользователям письма со своего домена, например уведомления.

Написано, что API совместим с AWS SES, значит по идее в Laravel можно легко интегрировать, тк там поддержка SES есть из коробки.

Сервис находится в стадии Preview - бесплатно, без гарантий. По сути тестируется.

https://yandex.cloud/ru/services/postbox

@onecode_blog 👈

OneCode

02 Jul, 15:59


Прямо в консоли спросил ИИ как посчитать количество файлов с расширением mp4 в папке, нажал Enter и получил количество файлов 🔥

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

Терминал Warp 👈

OneCode

27 Jun, 07:37


Спортивный челлендж

В понедельник 1 июля начинаем челлендж 50 подтягиваний, 100 отжиманий, 150 приседаний в течении месяца.

Три раза в неделю (понедельник, среда, пятница) делаем круговую тренировку, например 5 подтягиваний, 10 отжиманий, 15 приседаний, отдых 2 минуты - 10 кругов.

В зависимости от уровня, можно делать больше или меньше - главное делать!

Если есть желание принять участие, привести тело в тонус и прокачать дисциплину - залетай в отдельный чат.

Присоединиться 👈

Зови друзей!

OneCode

26 Jun, 17:57


С удивлением обнаружил у себя 2 книги с одинаковым названием 😅

Теперь думаю какую из них читать - потоньше или потолще? 😁

Возможно начнем читать вместе в рамках нашего VIP-канала 🤔

В прошлый раз читали там книгу Computer Science, знания из которой уже пригодились мне в работе 😳

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

Кстати в VIP-канале начинаем новый курс по очередям, который давно просили. Сейчас монтирую и заливаю первый урок. Ура! 🥳

OneCode

24 Jun, 10:51


NPM-пакет: слайдер диапазона.

https://refreshless.com/nouislider/