Как стать автором
Обновить
61.06

PHP *

Скриптовый язык общего назначения

Сначала показывать
Порог рейтинга
Уровень сложности

Open source конструктор CRM/ERP или база данных для непрограммистов

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 15K

Всем привет! Проекту уже более трех лет, и количество звездочек на GitHub перевалило за 500 штук при нулевом маркетинге — поэтому я решил написать про обновления, которые у нас произошли.

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

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

Основная часть проекта open source с MIT-лицензией, есть продвинутая PRO с ограниченной лицензией платно — смотрите на https://ru.totum.online — и есть скрипт установки с которым справится даже школьник.

Читать далее
Всего голосов 22: ↑22 и ↓0 +22
Комментарии 17

Как я сделал сайт для риелтора (маклера)

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 6.3K

Привет Сообщество! Хочу впервые поделиться тут своим опытом разработки сайта и рассказать про сам процесс разработки. Надеюсь, вам будет очень интересно почитать и поделиться своим мнением.

Читать далее
Всего голосов 14: ↑5 и ↓9 -4
Комментарии 24

Оптимизация бэкенда приложения с примерами на Symfony. Часть 2

Время на прочтение 20 мин
Количество просмотров 7.8K

Всех приветствую!

Это продолжение серии статей, где мы рассмотрим еще несколько методов, которые помогут улучшить производительность приложения. Мы поговорим о том, как использовать entity manager, unit of work, bulk inserts и batching processing для более эффективной работы с базой данных.

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

В предыдущей статье мы говорили о проблеме n+1, видах пагинации и индексах. Там же Вы можете найти описание приложения, репозиторий проекта и схему данных.

Читать далее
Всего голосов 13: ↑11 и ↓2 +9
Комментарии 9

Свободный интернет, или как мы реализовали бесплатный VPN в России

Время на прочтение 9 мин
Количество просмотров 23K

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

В связи с этим, VPN (виртуальная частная сеть) становится все более популярным инструментом, который позволяет обходить ограничения в интернете и обеспечивать безопасность в сети. Однако, многие VPN-сервисы могут быть дорогими и не доступны для всех.

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

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

Важно отметить, что мы не призываем никого нарушать законодательство России или любой другой страны. Наш бесплатный VPN‑сервис предназначен для того, чтобы обеспечить пользователям безопасное и защищенное подключение к интернету в соответствии с законами и правилами России.

Мы не поддерживаем использование VPN для посещения экстремистских ресурсов или запрещенных в РФ веб-сайтов, и не рекомендуем это. Наш сервис предназначен для тех, кто ищет безопасный и свободный доступ в интернет, соблюдая все законы и правила России.


Содержание статьи:

Читать далее
Всего голосов 35: ↑24 и ↓11 +13
Комментарии 67

Истории

Нахождение минимальных путей в разреженных графах, используя матрицу 5xN

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 3.1K

Введение

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

Описание алгоритма

Алгоритм использует матрицу размером 5xN для хранения информации о графе и вычисления кратчайших путей. Каждая строка матрицы содержит следующую информацию:

Читать далее
Всего голосов 8: ↑4 и ↓4 0
Комментарии 22

Эффективный алгоритм обработки больших баз данных MLM-структур

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 2.3K

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

Читать далее
Всего голосов 13: ↑12 и ↓1 +11
Комментарии 24

LaraКурс для начинающих расхитителей гробниц

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 7.2K

Laravel – один из наиболее популярных фреймворков для разработки на языке PHP. Если вы только начинаете свой путь в Laravel и хотите освоить этот мощный инструмент, то курс LaraКурс на YouTube может стать отличным помощником для вас. Курс разработан специально для разработчиков, которые не знакомы с Laravel и включает в себя все необходимые знания и навыки, чтобы начать создавать современные продукты на этом фреймворке. Его записал бэкенд-разработчик нашей Студии Флаг – Алексей Смирнов, который имеет богатый опыт в разработке на Laravel. В данной статье мы рассмотрим основные характеристики курса и то, что вы можете ожидать от него.

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 2

Экономный APM для backend или как использовать Loki+Grafana+логи приложения для APM

Уровень сложности Простой
Время на прочтение 12 мин
Количество просмотров 4.7K

Обычно процесс оптимизации типичного backend'а на php включает:

оптимизации SQL‑запросов в БД;

оптимизации работы с кэшем (повышение hitrate, увеличение объёма кэшируемых данных);

оптимизация внутренних процессов в backend (вынесение тяжёлых процессов в асинхронный режим, оптимизация внутренних структур данных)

Всё это уже было проведено, но не давало достаточного эффекта - API был большим, в нём было много сервисов с разной логикой, сложностью и связями. Точечные улучшения давали эффект, но было желание посмотреть на весь backend сверху - оценить потоки данных, оценить создаваемую нагрузку на каждый из внешних хранилищ (БД, кэш, сервисы) и оптимизировать исходя из полученных данных.

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 2

Elastic APM для PHP-разработчиков: Используем APM c Laravel и Lumen

Время на прочтение 10 мин
Количество просмотров 4K

APM расшифровывается как Application Performance Monitoring (мониторинг производительности приложений). Если на вашем пути встречается эта аббревиатура, то речь скорее всего идет о измерении производительность вашего приложения и ваших серверов. Как они справляются, сколько памяти они потребляют, где узкие места? И это далеко не все. С помощью APM можно настроить специальные уведомления, которые будут оповещать вас, например, о том, что потребление памяти достигло очень высоких показателей или удаленный вызов занимает слишком много времени. Триггеры для подобных уведомлений могут опираться на довольно широкий набор показателей и событий. Но давайте не будем забегать вперед.

Читать далее
Всего голосов 12: ↑10 и ↓2 +8
Комментарии 2

Все о Pimcore

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 7.3K

Pimcore — мощная open‑source MDM (и не только) система, с которой у меня накопился немалый опыт. В компании SVK.Digital, в которой я являюсь техническим директором, мы занимаемся заказной разработкой и автоматизацией бизнеса, и уже несколько лет внедряем PIMcore на крупных предприятиях. В этой статье я хотел поделиться своим опытом, познакомив читателя с возможностями этого приложения.

Мне даже немного обидно, что в рунете незаслуженно мало информации об этом замечательном продукте. Хоть его и можно обозвать неприличным словом low‑code в какой‑то мере, но мне даже как программисту нравится работать с Pimcore (дальше по тексту расскажу о важных для меня особенностях), да и простор для программирования огромный.

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 6

О, «Герои»? Дайте две! Как я писал очередной браузерный клон легендарной стратегии, в который уже почти* можно играть

Уровень сложности Простой
Время на прочтение 14 мин
Количество просмотров 35K


TL;DR для тех, кому некогда читать™:




Вот как всё начиналось
Всего голосов 191: ↑191 и ↓0 +191
Комментарии 79

Штрих-коды для домашнего бизнеса, и причём тут ChatGPT

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 3.6K

Всем привет! С вами сегодня Лео, и я профессионально занимаюсь оцифровкой видеокассет уже больше 7 лет.

Скоро майские праздники, и поток клиентов возрастает. Да так, что с ними стало тяжело справляться - в сутки может прийти 7-8 человек, и попробуй их запомни. До этого дня использовал для учёта самописную панельку для учёта заказов на PHP, и программу "Бизнес Пак" для печати товарных чеков. В целом, их хватало. Но когда поток людей стал превышать все мыслимые нормы, было понятно, что надо с этим что-то делать...

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

Читать далее
Всего голосов 17: ↑14 и ↓3 +11
Комментарии 11

Создаем нейронную сеть на PHP

Время на прочтение 5 мин
Количество просмотров 11K

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

Читать далее
Всего голосов 21: ↑10 и ↓11 -1
Комментарии 6

Ближайшие события

PG Bootcamp 2024
Дата 16 апреля
Время 09:30 – 21:00
Место
Минск Онлайн
EvaConf 2024
Дата 16 апреля
Время 11:00 – 16:00
Место
Москва Онлайн
Weekend Offer в AliExpress
Дата 20 – 21 апреля
Время 10:00 – 20:00
Место
Онлайн

Быстрый старт на проекте с Drupal 7 без головной боли: решение проблем и работа без установки зависимостей

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 1.9K

Ускорьте свой старт на проекте с устаревшим Drupal 7:

Узнайте как быстро стартовать работу на проекте с 7 версией Drupal и сэкономить время на настройке рабочего окружения.

Читать
Всего голосов 7: ↑2 и ↓5 -3
Комментарии 11

Оптимизация бэкенда приложения с примерами на Symfony. Часть 1

Время на прочтение 6 мин
Количество просмотров 5.3K

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

В текущей статье, рассмотрим темы - n+1, пагинация и индексы. Приятного чтения!

Описание приложения

Рассматриваемый проект - это веб-журнал посещений различных мест людьми с возможностью выгрузки и загрузки журнала в формате XML. Пользователь может загрузить журнал посещений в формате XML через форму на странице /upload, и на основе информации из файла будет заполнена база данных. Вся информация о посещениях будет отображаться на главной странице /index. Экспорт из системы осуществляется через команду, которая преобразует информацию из системы в формат XML и выгружает ее в файл (data.xml).

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 4

Работа с размерами изображений с помощью класса Uri в Joomla 4

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 1.3K

Парадокс, конечно, но это возможно. Казалось бы, причем тут класс ядра для работы со строками url. Но именно он может помочь нам в Joomla 4. Статья о том, как автоматически определять размеры файлов изображений для атрибутов width и height с помощью ядра Joomla 4 и не грузить сервер.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 1

Сам себе экосистема: Как я адаптировал старый смартфон под современные реалии и написал клиенты нужных мне сервисов

Уровень сложности Средний
Время на прочтение 11 мин
Количество просмотров 22K
image


Время неумолимо бежит вперед: выходят новые гаджеты, постепенно заменяя старые, превращая их в тыкву или в лучшем случае, в «тапочек» для звонков. Сейчас смартфоны стали практически одинаковы во всем: дисплей на всю площадь передней панели, почти полное отсутствие аппаратных кнопок, беспроводная зарядка… Это всё, конечно, здорово, но ведь иногда так хочется взять в руки старый, но такой необычный в наше время QWERTY-смартфон и попытаться его использовать как основной, да и цены на них могут приятно удивить: БУ девайс можно купить за несколько сотен рублей (~5-10$). Одна проблема — клиенты приложений на версии Android 1.6-2.0 безбожно устарели и давно не работают. Но иногда желание воскресить старый девайс превыше потребительского качества и тут я пришёл к мысли… а почему бы не написать с нуля свои клиенты популярных приложений? ВК с музыкой, YouTube, трекинг посылок. Так я и сел писать необходимые в повседневной жизни приложения, с нуля, на голом API Android, без каких либо фреймворков (и даже AppCompat). Получилось ли у меня это? Узнаем в статье!
Читать дальше →
Всего голосов 90: ↑89 и ↓1 +88
Комментарии 84

OpenApiGenerator — или как мы генерируем документацию для 3k сервисов API на PHP без погружения в openapi

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 4.9K

Вначале мы делали документацию в Word, потом в Google Docs, потом в Confluence, потом была попытка написать openapi-спецификацию для API вручную, но увидев сколько всего там нужно было писать - бросили эту затею.

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

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 3

Учитесь, глупцы

Время на прочтение 7 мин
Количество просмотров 6.5K

Современный мир стремительно меняется и подбрасывает нам всё новые вызовы. Кажется, что ландшафт современного IT изменится кардинально. Не зря же вся мировая AI тусовка написала письмо с просьбой «немедленно приостановить» обучение систем ИИ, «более мощных, чем GPT-4».

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

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

Множество людей самых разных профессий поделились своим опытом и экспертизой. Я оставил самые яркие и интересные, надеюсь, вам понравится.

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

Читать далее
Всего голосов 18: ↑11 и ↓7 +4
Комментарии 37

Я пробовал GitHub Copilot, и я в восторге

Время на прочтение 10 мин
Количество просмотров 21K

GitHub Copilot позиционирует себя как «ваш помощник по написанию кода на базе ИИ». Copilot выводит машинное обучение на совершенно новый уровень — он интегрируется с IDE по вашему выбору (ну, если конечно вы выберете что-нибудь из Jetbrains, VS Code или Neovim) и предоставляет в ваше распоряжение мощную систему AI-driven кода, обученную на миллиардах строк опенсорсных проектов на GitHub на дюжине с лишним языков.

Речь идет не о более умной аналитической версии существующего функционала автодополнения (auto-complete) ваших IDE. Copilot способен на интеллектуальное контекстно-зависимое дополнение всего: от отдельных строчек кода до целых функций как на основе кода, который вы только что написали, так и по комментариям на английском языке, описывающим то, что вы хотите получить.

Читать далее
Всего голосов 14: ↑10 и ↓4 +6
Комментарии 16