axenov.dev
Ниже будет #викторина #php
Что окажется в переменной $check при выполнении скрипта в php8.1?
Anonymous Quiz
71%
bool(false)
0%
int(0)
14%
string(3) "str"
0%
NULL
14%
Parse error
axenov.dev
Перехвачен контроль над 14 PHP-библиотками в репозитории Packagist #opennet https://www.opennet.ru/opennews/art.shtml?num=59075 Администраторы репозитория пакетов Packagist раскрыли сведения об атаке, в результате которой был захвачен контроль над учётными…
Private Packagist
Packagist.org maintainer account takeover
What happened?
On May 1st, 2023 between 3:08pm UTC and 4:05pm UTC an attacker accessed four user accounts that had been inactive on Packagist.org for a period of time but still had access to a total of 14 packages. The attacker forked each of the packages…
On May 1st, 2023 between 3:08pm UTC and 4:05pm UTC an attacker accessed four user accounts that had been inactive on Packagist.org for a period of time but still had access to a total of 14 packages. The attacker forked each of the packages…
📝 Быстродействие коллекций Laravel
Привет. Это небольшой пост-шпаргалка. В нём речь пойдёт о классах Illuminate\Support\{Collection, LazyCollection}.
Я обожаю коллекции Laravel. Они очень гибки и комфортны в использовании при обработке массивов данных. Однако это балует и расслабляет разработчика. Более того, вся философия Laravel и good practices вертятся вокруг гибкости и простоты написания кода. Всё это может плохо сказаться (и в итоге сказывается) на производительности бекенда.
Тут рассмотрим несколько конкретных случаев, на которые следует обратить внимание.
https://axenov.dev/быстродеиствие-коллекции-laravel/
#блог #моё #Laravel #PHP
👨💻 @axenov_dev 👍 @axenov_blog
Привет. Это небольшой пост-шпаргалка. В нём речь пойдёт о классах Illuminate\Support\{Collection, LazyCollection}.
Я обожаю коллекции Laravel. Они очень гибки и комфортны в использовании при обработке массивов данных. Однако это балует и расслабляет разработчика. Более того, вся философия Laravel и good practices вертятся вокруг гибкости и простоты написания кода. Всё это может плохо сказаться (и в итоге сказывается) на производительности бекенда.
Тут рассмотрим несколько конкретных случаев, на которые следует обратить внимание.
https://axenov.dev/быстродеиствие-коллекции-laravel/
#блог #моё #Laravel #PHP
Please open Telegram to view this post
VIEW IN TELEGRAM
Блог Аксенова
Быстродействие коллекций Laravel
Photo by Bruno Guerrero on Unsplash Привет. Это небольшой пост-шпаргалка. В нём речь пойдёт о классах Illuminate\Support\{Collection, LazyCollection}. Я обожаю коллекции Laravel. Они очень гибки и комфортны в использовании при обработке массивов данных. Однако…
🔥1
📝 Деревья без рекурсии
Иногда рекурсия не нужна там, где её часто применяют. Есть как минимум три относительно простые задачи, которые связаны с деревьями. В этом посте я расскажу о них и покажу как их решить без рекурсии.
https://axenov.dev/php-trees-without-recursion/
#блог #моё #PHP #Алгоритмы
👨💻 @axenov_dev 👍 @axenov_blog
Иногда рекурсия не нужна там, где её часто применяют. Есть как минимум три относительно простые задачи, которые связаны с деревьями. В этом посте я расскажу о них и покажу как их решить без рекурсии.
https://axenov.dev/php-trees-without-recursion/
#блог #моё #PHP #Алгоритмы
Please open Telegram to view this post
VIEW IN TELEGRAM
Блог Аксенова
Деревья без рекурсии
Иногда рекурсия не нужна там, где её часто применяют. Есть как минимум три относительно простые задачи, которые связаны с деревьями. В этом посте я расскажу о них и покажу как их решить без рекурсии.
👍2
📝 Как экспортировать коллекции из Postman и сконвертировать в http/curl/wget
Привет. Перед прочтением этой статьи настоятельно рекомендую надеть резиновые перчатки, респиратор и что-нибудь на глаза, чтобы не забрызгало.
Мы будем трогать постман.
И здесь не будет скриншотов для кретинов о том, как нажимать кнопочки в его паршивой гуйне, чтобы экспортировать за раз целую 1 коллекцию или 1 запрос в curl. Мы же не животные.
https://axenov.dev/как-экспортировать-коллекции-из-postman-и-ск/
#блог #моё #bash #PHP #Postman
👨💻 @axenov_dev 👍 @axenov_blog
Привет. Перед прочтением этой статьи настоятельно рекомендую надеть резиновые перчатки, респиратор и что-нибудь на глаза, чтобы не забрызгало.
Мы будем трогать постман.
И здесь не будет скриншотов для кретинов о том, как нажимать кнопочки в его паршивой гуйне, чтобы экспортировать за раз целую 1 коллекцию или 1 запрос в curl. Мы же не животные.
https://axenov.dev/как-экспортировать-коллекции-из-postman-и-ск/
#блог #моё #bash #PHP #Postman
Please open Telegram to view this post
VIEW IN TELEGRAM
Блог Аксенова
Как экспортировать коллекции из Postman и сконвертировать в http/curl/wget
Барахтаемся в этом говне последний раз. Пост об освобождении. Пост-спасение. Пост-благодать.
👍2
📝 Как скрыть лишние сетевые интерфейсы в Ubuntu
Что делать, если внезапно появилась куча лишних сетей в списке Сетевых подключений? Описываю один из вариантов решения проблемы.
https://axenov.dev/убрать-лишние-сетевые-интерфеисы/
#блог #моё #KDE_Plasma #NetworkManager #Ubuntu
👨💻 @axenov_dev 👍 @axenov_blog
Что делать, если внезапно появилась куча лишних сетей в списке Сетевых подключений? Описываю один из вариантов решения проблемы.
https://axenov.dev/убрать-лишние-сетевые-интерфеисы/
#блог #моё #KDE_Plasma #NetworkManager #Ubuntu
Please open Telegram to view this post
VIEW IN TELEGRAM
Блог Аксенова
Как скрыть лишние сетевые интерфейсы в Ubuntu
Что делать, если внезапно появилась куча лишних сетей в списке Сетевых подключений? Описываю один из вариантов решения проблемы.
👍3
📝 Ubuntu: как исправить ошибку snap “unexpected HTTP status code 408” и почему виснет ssh
Мелкая шпаргалка по решению неочевидной сетевой проблемы, которая проявилась случайно.
https://axenov.dev/ubuntu-как-исправить-ошибку-snap-unexpected-http-status-code-408-и-почем/
#блог #моё #snap #SSH #Ubuntu
👨💻 @axenov_dev 👍 @axenov_blog
Мелкая шпаргалка по решению неочевидной сетевой проблемы, которая проявилась случайно.
https://axenov.dev/ubuntu-как-исправить-ошибку-snap-unexpected-http-status-code-408-и-почем/
#блог #моё #snap #SSH #Ubuntu
Please open Telegram to view this post
VIEW IN TELEGRAM
Блог Аксенова
Ubuntu: как исправить ошибку snap “unexpected HTTP status code 408” и почему виснет ssh
Мелкая шпаргалка по решению неочевидной сетевой проблемы, которая проявилась случайно.
👍1
Forwarded from Миша пишет код (Misha и точка)
Зацените, какой прикол
Вот тут подробнее можно посмотреть:
https://unix.stackexchange.com/questions/73713/how-safe-is-it-to-cat-an-arbitrary-file
Создать такой же файл:
Вот тут подробнее можно посмотреть:
https://unix.stackexchange.com/questions/73713/how-safe-is-it-to-cat-an-arbitrary-file
Создать такой же файл:
echo -e '#!/bin/sh\necho "...doing something bad here..."\nexit\n\033[A\033[Aecho "Hello dear reader, I am just a harmless script, safe to run me!"' > demo.sh
chmod a+x demo.sh
📝 Docker Hub заблокирован, как исправить ошибку 403
Краткая рабочая шпаргалка по решению ошибки 403 в докере для России
https://axenov.dev/docker-hub-заблокирован-как-исправить-ошибку-403/
#блог #моё #Docker #Linux
👨💻 @axenov_dev 👍 @axenov_blog
Краткая рабочая шпаргалка по решению ошибки 403 в докере для России
https://axenov.dev/docker-hub-заблокирован-как-исправить-ошибку-403/
#блог #моё #Docker #Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
Блог Аксенова
Docker Hub заблокирован, как исправить ошибку 403
Краткая рабочая шпаргалка по решению ошибки 403 в докере для России
👍2
axenov.dev
📝 Настройка среды php-разработки с нуля на Netbeans + php8.1 + docker + xdebug3 Привет. Это здоровенный мануал-шпаргалка по настройке IDE для 👩💻 php-разработки. Полагаю, он больше сгодится для российских и белоруских разработчиков, переходящих c 👩💻 PhpStorm…
С тех пор утекло много воды. Вышло 9 версий среды разработки NetBeans, пыха дошла до 8.4, вот-вот релизнется мажрная версия xdebug 4.
Я решил вернуться к мануалу и актуализировать его. NB взял 24, пыху 8.3 и xdebug 3.3.2.
При этом был немного удивлён: хотя NB всё ещё не готов к пыхе 8.4 и отладке через docker-контейнер, других действительно серьёзных ломающих изменений так и не произошло, поэтому многие скриншоты я оставил от старых версий NB.
Так что если интересно поэкспериментировать — welcome.
В моих планах на этот год написать аналогичные мануалы для популярных текстовых редакторов.
Я решил вернуться к мануалу и актуализировать его. NB взял 24, пыху 8.3 и xdebug 3.3.2.
При этом был немного удивлён: хотя NB всё ещё не готов к пыхе 8.4 и отладке через docker-контейнер, других действительно серьёзных ломающих изменений так и не произошло, поэтому многие скриншоты я оставил от старых версий NB.
Так что если интересно поэкспериментировать — welcome.
В моих планах на этот год написать аналогичные мануалы для популярных текстовых редакторов.
Блог Аксенова
Настройка среды php-разработки с нуля на NetBeans + php + docker + xdebug3
Привет. Это здоровенный мануал-шпаргалка по настройке этой IDE для php-разработки. Здесь будет много текста и картинок. Полагаю, он больше сгодится для российских и белоруских разработчиков, переходящих c PhpStorm, ибо есть повод. В этом контексте было решено…
1
📝 Миграция self-hosted gitea в docker
Перетаскиваем Gitea в docker-окружение на новый сервер и поднимаем рядышком Opengist.
https://axenov.dev/gitea-to-docker/
#блог #моё #Docker #gitea #MySQL #Ubuntu #Резервирование
👨💻 @axenov_dev 👍 @axenov_blog
Перетаскиваем Gitea в docker-окружение на новый сервер и поднимаем рядышком Opengist.
https://axenov.dev/gitea-to-docker/
#блог #моё #Docker #gitea #MySQL #Ubuntu #Резервирование
Please open Telegram to view this post
VIEW IN TELEGRAM
Блог Аксенова
Миграция self-hosted gitea в rootless docker-контейнер, настройка SSH и Actions
Перетаскиваем Gitea в docker-окружение на новый сервер и поднимаем рядышком Opengist.
1👍1
axenov.dev
📝 Миграция self-hosted gitea в docker Перетаскиваем Gitea в docker-окружение на новый сервер и поднимаем рядышком Opengist. https://axenov.dev/gitea-to-docker/ #блог #моё #Docker #gitea #MySQL #Ubuntu #Резервирование 👨💻 @axenov_dev 👍 @axenov_blog
В тот же репозиторий я добавил раннер для работы Gitea Actions и описал в README несложную настройку. В скором времени буду запускать, обкатывать и шлифовать это на сервере git.axenov.dev в нескольких проектах.
Обновлю пост в блоге, когда буду уверен в сетапе. Но если настроить и запустить окружение локально, то демка отработает исправно, так что я заранее доволен.
Обновлю пост в блоге, когда буду уверен в сетапе. Но если настроить и запустить окружение локально, то демка отработает исправно, так что я заранее доволен.
axenov.dev
В тот же репозиторий я добавил раннер для работы Gitea Actions и описал в README несложную настройку. В скором времени буду запускать, обкатывать и шлифовать это на сервере git.axenov.dev в нескольких проектах. Обновлю пост в блоге, когда буду уверен в сетапе.…
Как обещал, пост обновлён. Добавил туда не только инфу о раннерах, но и исправил своё упущение по поводу юзера git и работы по ssh. Однажды успешно настроив на одном сервере, я споткнулся на тех же шагах на другом сервере, а решение оказалось простым, но хорошо спрятанным. Так что этот вопрос я решил скриптом. Теперь можно спокойно пользоваться всей связкой.
Блог Аксенова
Миграция self-hosted gitea в rootless docker-контейнер, настройка SSH и Actions
Перетаскиваем Gitea в docker-окружение на новый сервер и поднимаем рядышком Opengist.
👍1
📝 Как из РФ получить доступ к зарубежным моделям ИИ?
Короткий справочник по некоторым моделям и сервисам с ИИ, которые можно использовать в РФ бесплатно или за рубли. Пользуйтесь!
https://axenov.dev/ai-from-rf/
#блог #моё #API #LLM #ollama #openai #ИИ
👨💻 @axenov_dev 👍 @axenov_blog
Короткий справочник по некоторым моделям и сервисам с ИИ, которые можно использовать в РФ бесплатно или за рубли. Пользуйтесь!
https://axenov.dev/ai-from-rf/
#блог #моё #API #LLM #ollama #openai #ИИ
Please open Telegram to view this post
VIEW IN TELEGRAM
Блог Аксенова
Как из РФ получить доступ к зарубежным моделям ИИ?
Короткий справочник по некоторым моделям и сервисам с ИИ, которые можно использовать в РФ бесплатно или за рубли. Пользуйтесь!
👍1🔥1
📝 Gitea не даёт скачать репозиторий архивом, как исправить?
Мне тут написали на почту с проблемой, мол, хочу скачать архив репы, а не качается -- ни через веб-морду, ни по API. Я о такой проблеме даже не знал, потому что просто не приходится пользоваться этой фичей. Фича безусловно полезна, поэтому такая проблема неприятна.
Как она проявляется: https://axenov.dev/gitea-не-даёт-скачать-репозиторий-архивом/
#блог #моё #gitea
👨💻 @axenov_dev 👍 @axenov_blog
Мне тут написали на почту с проблемой, мол, хочу скачать архив репы, а не качается -- ни через веб-морду, ни по API. Я о такой проблеме даже не знал, потому что просто не приходится пользоваться этой фичей. Фича безусловно полезна, поэтому такая проблема неприятна.
Как она проявляется: https://axenov.dev/gitea-не-даёт-скачать-репозиторий-архивом/
#блог #моё #gitea
Please open Telegram to view this post
VIEW IN TELEGRAM
Блог Аксенова
Gitea не даёт скачать репозиторий архивом, как исправить?
Этот пост для тебя, если видишь такие симптомы Привет. Пишу короткую шпаргалку по горячим следам. Мне тут написали на почту с проблемой, мол, хочу скачать архив репы, а не качается -- ни через веб-морду, ни по API. Я о такой проблеме даже не знал, потому…
📝 Gitea Actions: как обойти ошибку 403 от docker.io при сборке образа
Что будет, если попытаться захотеть построить docker-образ через Gitea Actions на сервере в РФ? Ошибка 403 от докер-хаба. Рассказываю как решить.
https://axenov.dev/gitea-actions-как-обойти-ошибку-403-от-docker-io-при-сборке-о/
#блог #моё #Docker #gitea
👨💻 @axenov_dev 👍 @axenov_blog
Что будет, если попытаться захотеть построить docker-образ через Gitea Actions на сервере в РФ? Ошибка 403 от докер-хаба. Рассказываю как решить.
https://axenov.dev/gitea-actions-как-обойти-ошибку-403-от-docker-io-при-сборке-о/
#блог #моё #Docker #gitea
Please open Telegram to view this post
VIEW IN TELEGRAM
Блог Аксенова
Gitea Actions: как обойти ошибку 403 от docker.io при сборке образа
Что будет, если попытаться захотеть построить docker-образ через Gitea Actions на сервере в РФ? Ошибка 403 от докер-хаба. Рассказываю как решить.
Иногда надо программно получить ссылку на свежайший релизный ассет с гитхаба. Методов API для получения последнего тега нет.
Часто хватает привычного
Но ведь в названии ассета может указываться версия:
Так-то можно было бы подставить её в урлу и вперёд. Но для этого надо будет отдельно идти и узнавать версию руками.
А можно проще:
Метод вернёт последний по дате создания стабильный (не черновик, и не пре-) релиз и список его ассетов. Меткой регуляркой фильтруем ассеты по названию (читай, имени файла) и получаем прямую ссылку на него. Красота.
Конкретный пример — anyproto/anytype-ts. Они формируют релизы с названиями версий в ассетах, так что программно лобовой урлой ассет не качнуть. Аналогично в rustdesk/rustdesk, да и не только.
#shell #github
Часто хватает привычного
https://github.com/owner/repo/releases/download/latest/filename.ext
Но ведь в названии ассета может указываться версия:
https://github.com/owner/repo/releases/download/latest/filename_1.2.3.ext
Так-то можно было бы подставить её в урлу и вперёд. Но для этого надо будет отдельно идти и узнавать версию руками.
А можно проще:
curl -s "https://api.github.com/repos/owner/repo/releases/latest" \
| jq -r '.assets.[] | select(.name | test("РЕГУЛЯРКА")).browser_download_url'
Метод вернёт последний по дате создания стабильный (не черновик, и не пре-) релиз и список его ассетов. Меткой регуляркой фильтруем ассеты по названию (читай, имени файла) и получаем прямую ссылку на него. Красота.
Конкретный пример — anyproto/anytype-ts. Они формируют релизы с названиями версий в ассетах, так что программно лобовой урлой ассет не качнуть. Аналогично в rustdesk/rustdesk, да и не только.
#shell #github
👍1🔥1
📝 Домашний сервер на Ubuntu. Часть 2: применение, развитие
Продолжение первой части о домашней машине. О железе и софте, что не пригодилось из первой части и добавлено нового.
https://axenov.dev/домашний-сервер-на-ubuntu-часть-2-применени/
#блог #моё #Ubuntu #околоNAS #MiniDLNA #Cockpit #Gitea #OpenGist #Железо
👨💻 @axenov_dev 👍 @axenov_blog
Продолжение первой части о домашней машине. О железе и софте, что не пригодилось из первой части и добавлено нового.
https://axenov.dev/домашний-сервер-на-ubuntu-часть-2-применени/
#блог #моё #Ubuntu #околоNAS #MiniDLNA #Cockpit #Gitea #OpenGist #Железо
Please open Telegram to view this post
VIEW IN TELEGRAM
Блог Аксенова
Домашний сервер на Ubuntu. Часть 2: применение, развитие
Продолжение первой части о домашней машине. О железе и софте, что не пригодилось из первой части и добавлено нового.