Dev-заметки Кирилла Гусева

PHP, Laravel, Livewire
JS, Vue.js, Alpine.js
CSS, Tailwind CSS
Блог о жизни

 8   5 мес   laravel

Проверка наличия картинки

function url_exists($url){
    $ch = curl_init($url);    
    curl_setopt($ch, CURLOPT_NOBODY, true);
    curl_exec($ch);
    $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);

   return ($code == 200);
}

$url = url_exists("http://logo.clearbit.com/ryanm.com") ? 
    "http://logo.clearbit.com/ryanm.com" : 
    "<alternate_url>";
 10   5 мес   php
 13   6 мес   laravel

Перенос строки в html-атрибуте

Проблема
Нужно вставить символ новой строки в html атрибут.

Решение
Можно вставить новую строку, добавив

&#10;

к примеру вставим в placeholder:

<textarea placeholder="слово&#10;слово"></textarea>
 17   2022   html

Семь бед — один ресет

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

Решение

git reset --hard && git clean -df
 20   2022   git

Install MeiliSearch

Проблема
Уставить MeiliSearch на Убунте в Forge

Решение

# Ставим MeiliSearch
curl -L https://install.meilisearch.com | sh

# Перемещаем бинарный файл meilisearch в файлы системы
mv ./meilisearch /usr/bin/

# Создаём файл службы
cat << EOF > /etc/systemd/system/meilisearch.service
[Unit]
Description=MeiliSearch
After=systemd-user-sessions.service

[Service]
Type=simple
ExecStart=/usr/bin/meilisearch --http-addr 127.0.0.1:7700 --env production --master-key some_master_key_here

[Install]
WantedBy=default.target
EOF

# Включаем и начинаем обслуживание
systemctl enable meilisearch

systemctl start meilisearch

systemctl status meilisearch

Удалить каталог из git, но не локально

Проблема
Надо удалить каталог из git, но оставить в файловой системе, локально.

Решение
Чтобы удалить этот каталог из git, но не физически:

git rm -r --cached data.ms
 11   2022   git

Семантическое Версионирование

Проблема
Не ясно, как правильно версионировать свои пакеты

Решение

Учитывая номер версии МАЖОРНАЯ.МИНОРНАЯ.ПАТЧ, следует увеличивать:

  • МАЖОРНУЮ версию, когда сделаны обратно несовместимые изменения API.
  • МИНОРНУЮ версию, когда вы добавляете новую функциональность, не нарушая обратной совместимости.
  • ПАТЧ-версию, когда вы делаете обратно совместимые исправления.

https://semver.org/lang/ru/

Спецсимволы

Проблема

Разобраться, что за спецсимволы в логах вылезают.

Решение

&lt; это: <
&gt; это: >
&le; это: <=
&ge; это: >=
 15   2022  

Извлечение классов в Tailwind CSS

Проблема
Тэйлвинд всем прекрасен, но всё же иногда такая декларативная вёрстка выглядит избыточно, особенно когда приходится повторять код. И тогда надо извлекать перечисления классов для создания объединённого класса.

Так можно вытащить большой повторяющийся кусок стилей.

Решение

@tailwind base;
@tailwind components;
@tailwind utilities;

@layer components {
  .btn-primary {
    @apply py-2 px-4 bg-blue-500 text-white font-semibold rounded-lg shadow-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-400 focus:ring-opacity-75;
  }
}
 19   2022   Tailwind CSS
Ранее Ctrl + ↓