LibCode»Блог

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

SQL | PHP | Kotlin | Python | C++ | JavaScript

JavaScript: Как получить URL текущей страницы

На JavaScript можно легко получить полный адрес текущей страницы с помощью объекта window.location.

Объекты и свойства, которые помогут получить полный URL


  • window.location.href: возвращает полный URL текущей страницы.
  • window.location.protocol: возвращает протокол (например, http: или https:).
  • window.location.host: возвращает хост (например, example.com или sub.example.com).
  • window.location.pathname: возвращает путь (например, /folder/file.html).
  • window.location.search: возвращает строку запроса (например, ?param=value).
  • window.location.hash: возвращает фрагмент (часть после символа #).

Пример использования


console.log(window.location.href); // Полный URL страницы
console.log(window.location.protocol); // Протокол (например, http:, https:)
console.log(window.location.host); // Домен (например, example.com)
console.log(window.location.pathname); // Путь (например, /folder/file.html)
console.log(window.location.search); // Строка запроса (например,
...

PHP: Создание чат-бота с использованием Dialogflow

PHP
Dialogflow — это мощная платформа от Google для создания интеллектуальных чат-ботов. В этой статье мы рассмотрим, как интегрировать чат-бот на PHP с платформой Dialogflow и наладить общение через мессенджеры, такие как Telegram или VK.

Что такое Dialogflow?


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

Шаги по созданию чат-бота

Установка и настройка Dialogflow


  • Регистрация аккаунта: Зарегистрируй аккаунт на платформе Dialogflow.
  • Создание агента: Создай нового агента и заполни его информацией о целях и намерениях.
  • Интеграция с платформами: Настрой интеграцию с Telegram или VK через Webhook.

Настройка webhook на PHP


Webhook — это механизм, который позволяет Dialogflow отправлять события на внешний сервер (ваш сайт на PHP). Для этого нужно создать обработчик на PHP.
<?php
// webhook.php

//
...

PHP: Планировщик задач (Cron)

PHP
Реализовать планировщик задач на PHP можно через интеграцию с системным cron — это надёжный и эффективный подход. В этом случае системный планировщик запускает PHP‑скрипт в заданное время, а скрипт выполняет нужные операции и завершает работу. Разберём процесс пошагово.

Принцип работы


Системный cron запускает PHP‑скрипт по расписанию (например, раз в минуту или в конкретное время суток). Скрипт:
  1. Проверяет, нужно ли выполнить какую‑либо задачу в текущий момент.
  2. Выполняет задачи, соответствующие текущему времени.
  3. Логирует действия.
  4. Завершает работу.

Такой подход исключает необходимость бесконечных циклов и пауз в PHP‑коде.

Шаг 1. Подготовка окружения


Убедитесь, что:
  • на сервере установлен PHP и доступен из командной строки (php -v);
  • есть доступ к редактированию cron‑задач (crontab -e);
  • у скрипта есть права на запись в директорию для логов.

Шаг 2. Создание PHP‑скрипта планировщика


Создайте файл "task_scheduler.php" со следующим содержимым:
<?php
// Файл task_scheduler.php

//
...

Как выбрать оптимальное условие в SQL-запросах

Эффективное составление SQL-запросов — ключевой фактор производительности и корректности работы с базами данных. Одно из важнейших решений при составлении запроса — выбор правильного условия отбора данных. В этой статье мы рассмотрим, как выбрать оптимальное условие для ваших запросов.

Типичные условия SQL-запросов


  1. Операторы сравнения (=, !=, <, >, <=, >=):
    Самые распространённые операторы для сравнения значений.
  2. Условия диапазонов (BETWEEN, IN, NOT IN):
    Используются для отбора данных в пределах диапазона или множества значений.
  3. Агрегативные функции (SUM, AVG, MIN, MAX):
    Помогают анализировать большие объёмы данных.
  4. Паттерны (LIKE, ILIKE):
    Работают с текстовыми полями, осуществляя поиск по образцам.
  5. Специальные условия (EXISTS, IS NULL, IS NOT NULL):
    Проверяют наличие данных или их отсутствие.

Критерии выбора условий


  1. Эффективность:
    Чем быстрее запрос выполнится, тем лучше. Всегда оценивайте стоимость запроса (особенно для больших баз данных).
  2. Производительность:
    Использование индексов
...

MySQL: Как добавить поле в таблицу

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

Общая схема:
ALTER TABLE имя_таблицы ADD COLUMN имя_поля тип_данных [CONSTRAINTS];

Пример:
Допустим, у тебя есть таблица users, и ты хочешь добавить поле birthday типа DATE:
ALTER TABLE users ADD COLUMN birthday DATE;

Порядок действий:
  1. Определи таблицу: Укажи имя таблицы, в которую нужно добавить поле.
  2. Выбери имя поля: Придумай понятное и короткое имя для нового поля.
  3. Выбери тип данных: Выбери подходящий тип данных (например, INT, VARCHAR, DATE, DATETIME и т.п.).
  4. Задай ограничения: Можно добавить ограничения (например, NOT NULL, DEFAULT, UNIQUE и т.д.).

Пример с дополнительными параметрами


Допустим, ты хочешь добавить поле email типа VARCHAR(255) и сделать его обязательным (NOT NULL):
ALTER TABLE users ADD COLUMN email VARCHAR(255)
...