Pull to refresh
0
0
Константин Чудин @Veterinar

Пользователь

Send message

Неортодоксальный Eloquent. Часть 2

Level of difficulty Medium
Reading time 9 min
Views 2.9K

Eloquent - это мощный и умный инструмент, нравящийся многим своими возможностями. Он позволяет с лёгкостью выполнять операции с базами данных, сохраняя при этом простоту использования. Реализуя паттерн Active Record (AR), описанный Фаулером в книге "PoEAA", является одним из лучших реализаций на сегодняшний день.

В этой статье я хотел бы рассказать о нескольких советах и рекомендациях, о которых узнал экспериментальным путём. Например, Вы когда-нибудь задумывались о том, чтобы тем или иным образом разделить жадные загрузки? Нет? Тогда, я уверен, Вы узнаете как минимум что-то новое, так что обязательно дочитайте до конца!

Если Вы ещё не читали первую часть, самое время это сделать.

Читать далее
Total votes 5: ↑4 and ↓1 +3
Comments 0

Неортодоксальный Eloquent. Часть 1

Level of difficulty Medium
Reading time 16 min
Views 6.5K

Eloquent - это мощный и умный инструмент, нравящийся многим своими возможностями. Он позволяет с лёгкостью выполнять операции с базами данных, сохраняя при этом простоту использования. Реализуя паттерн Active Record (AR), описанный Фаулером в книге "PoEAA", является одним из лучших реализаций на сегодняшний день.

В этой статье я хотел бы рассказать о нескольких советах и рекомендациях, о которых узнал экспериментальным путём. Например, Вы когда-нибудь задумывались о том, чтобы тем или иным образом разделить жадные загрузки? Нет? Тогда, я уверен, Вы узнаете как минимум что-то новое, так что обязательно дочитайте до конца!

Как и все существующие инструменты, у Eloquent имеются свои нюансы. Как ответственные разработчики, мы всегда должны помнить о том, на что соглашаемся. Если Вы хотите узнать больше об AR и философии её разработки, очень рекомендую статью Шона МакКула.

Читать далее
Total votes 14: ↑13 and ↓1 +12
Comments 7

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

Level of difficulty Easy
Reading time 14 min
Views 35K


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




Вот как всё начиналось
Total votes 191: ↑191 and ↓0 +191
Comments 79

Compiling fast .exe console applications with PHP 8.1, why not?

Reading time 4 min
Views 4.9K

With each release, PHP is getting faster, and when JIT (Just-In-Time) compilation is enabled, it reaches almost the same C marks.

Many people at one time probably had a desire to easily write console and window applications. The guys of Runet sometimes wrote irreplaceable applications for solving small tasks and shared them on forums, although some of them contained small bugs.

However, times are changing, and people have begun to realize their mistakes, switching, say, to OOP.

To be nostalgic and demonstrate the new Frankenstein, we will build a full-fledged console exe application in PHP.

Read more
Total votes 9: ↑8 and ↓1 +7
Comments 3

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

Level of difficulty Medium
Reading time 10 min
Views 4.9K

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

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

Читать далее
Total votes 6: ↑5 and ↓1 +4
Comments 3

Делаем донаты для telegram бота, через интеграцию ЮKassa для самозанятых

Level of difficulty Medium
Reading time 8 min
Views 5.9K

В статье-инструкции расскажу, как начал монетизировать telegram бота, который присылает уведомления о необходимости продлить домен, тем самым делает напоминание, чтобы пользователь продлил домен во время и не потерял его. За 2 часа, добавил кнопку доната и настроил интеграцию с ЮKassa. Через 1 день уже начал принимать донаты.

Читать далее
Total votes 13: ↑13 and ↓0 +13
Comments 7

Feature Flags и фабрика ПО

Reading time 5 min
Views 18K

Наши команды практикуют подход Trunk Based Development – новый код сразу добавляется в мастер-ветку, сторонние ветки живут максимум несколько дней. А чтобы коммиты не мешали друг другу, разработчики используют фича-флаги (Feature Flags) – переключатели в коде, которые запускают и останавливают работу его компонентов.

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

Если вы стремитесь сокращать Time-to-Market, это недопустимо долго. Чем раньше вы получите обратную связь от пользователей, тем скорее вы исправите ошибки, тем меньше времени вы тратите на неудачные идеи, тем больше ресурсов можете уделить идеям удачным.

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

Проблемы долгоживущих веток

Читать далее
Total votes 2: ↑1 and ↓1 0
Comments 3

Разрабатываем десктопное приложение для заметок с помощью Tauri (React + Rust)

Reading time 5 min
Views 27K


Привет, друзья!


В данном туториале мы разработаем десктопное приложение с помощью Tauri. Tauri — это фреймворк для создания десктопных приложений, похожий на Electron, но позволяющий использовать Rust вместо Node.js, например, для взаимодействия с файловой системой.


В качестве фреймворка для разработки пользовательского интерфейса я буду использовать React и TypeScript, а для работы с зависимостями для JavaScriptYarn.


Источником вдохновения для меня послужила эта замечательная статья.


Обратите внимание: я буду разрабатывать приложение под Windows x64, в других операционных системах (и архитектурах) детали реализации будут немного отличаться.


Приложение будет представлять собой своего рода однострочный терминал для записи заметок в файл tasks.txt, находящийся в домашней директории (для Windows — это C:\Users\[User]). Приложение будет запускаться с помощью сочетания клавиш Ctrl + Shift + Q и завершаться при нажатии Esc.


Вот как это будет выглядеть:





Репозиторий с кодом проекта.


Если вам это интересно, прошу под кат.

Читать дальше →
Total votes 15: ↑14 and ↓1 +13
Comments 3

Подумываете об использовании MongoDB?

Reading time 9 min
Views 25K

Будет ли MongoDB правильным выбором для вашего приложения?

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

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

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

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

Читать далее
Total votes 15: ↑11 and ↓4 +7
Comments 83

Как оставаться отказоустойчивым, переходя на микросервисы на PHP (и как правильно падать)

Reading time 8 min
Views 12K

Когда-то вы кодили на одном большом и могучем серваке, с кучей памяти и кучей процов. Сервер был безграничен, все ваши сервисы были здесь, все ваши Redis’ы и даже зачастую MySQL-и были тут. Все ваши приложения были здесь же: какая-то аналитика, какой-то бэкенд для админки, еще десяток сервисов — все было рядом. 

Но вот вы заехали в Swarm. Все приложения — это набор контейнеров. А контейнеры это, по сути, набор микросерверов со своей файловой системой, своей памятью, своими процами. И они уже не всегда рядом. Соответственно, это тянет за собой некоторые изменения. 

Читать далее
Total votes 19: ↑18 and ↓1 +17
Comments 2

15 советов и хитростей инструментов разработчика Chrome, которые вы обязаны знать

Reading time 5 min
Views 204K
Сегодня Google Chrome является самым популярным браузером среди веб разработчиков. С быстрым, шести недельным, циклом релизов и мощным набором постоянно расширяющихся инструментов разработчика, превратившим браузер в инструмент, который вы обязаны иметь. Большинство из вас, вероятно, знакомы со многими его функциями, такими как «живое» редактирование CSS, используя консоль и отладчик. В этой статье мы с вами рассмотрим 15 захватывающих советов и хитростей, которые позволят улучшить вашу производительность еще больше.
Читать дальше →
Total votes 88: ↑85 and ↓3 +82
Comments 23

Скажи-ка, дядя, ведь не даром… «Фишки» CRM

Reading time 13 min
Views 30K
В процессе внедрения CRM-систем часто слышишь от заказчиков, что система слишком навороченная и им хватило бы модулей «Контакты» и «Сделки». Однако опыт длительного ведения клиентов показывает обратное: со временем заказчик начинает открывать для себя все более глубокие функциональные возможности и, если выражаться простым языком, может даже «вырасти из CRM». Игроки рынка таких систем стремятся максимально обогатить свой софт фишками, интересными решениями, предоставить крутые возможности пользователю. Такие решения вовсе не являются излишествами, а аккумулируют в себе весь накопленный вендорами опыт и лучшие практики множества внедрений.
Читать дальше →
Total votes 15: ↑13 and ↓2 +11
Comments 26

Штампуем окна: автоматизированное развёртывание виртуальных машин Windows на Hyper-V при помощи Vagrant (часть 3)

Reading time 8 min
Views 17K
В предыдущих (раз, два) публикациях я рассказал, как подготовить гипервизор и бокс для последующего автоматизированного разворачивания. В последней части этой трилогии я хотел бы раскрыть тему, собственно, деплоя и провижионинга подготовленных боксов. Также здесь я подведу итоги проделанного и в конце вы можете найти все ссылки по теме.
Читать дальше →
Total votes 17: ↑17 and ↓0 +17
Comments 0

OData + Angular.js + Bootstrap + JavaScript Grid = приложение за 5 минут

Reading time 6 min
Views 32K
Предположим в некотором проекте появилась необходимость добавить некоторую форму опроса пользователей на веб сайте (детальная форма) и форму для просмотра и редактирования списка пользователей для администратора системы (списковая форма).

Рассмотрим процесс создания этих форм с использованием OData, Angular.js, Bootstrap и JavaScript Grid. Все требования к такому приложению уже реализованы в этих инструментах, и нам практически не требуется ничего писать.

Читать дальше →
Total votes 19: ↑17 and ↓2 +15
Comments 9

Я — сертифицированный PHP-специалист

Reading time 4 min
Views 33K
Да, наверное, возможность применения данного выражения — греет кому-то душу, но я немного о другом.

Разрешите поделиться опытом прохождения сертификации по PHP 5.5 от компании Zend Technologies.

Моя цель:
  • показать на примере, что это не так сложно, как кажется;
  • не так легко, как может показаться;
  • показать еще один весьма субъективный метод подготовки к тесту;
  • вдохновить тех из коллег, которые возможно планировали сертификацию, но все не решались это сделать.

Путь от «да, я хочу получить статус ZCE» до покупки ваучера


4 года — ровно столько времени потребовалось от простого «Да, не плохо было бы получить сертификат» до «Девушка, смотрите, а я сдал»

Если у вас появится такая мысль, то открывая в очередной раз Америку, скажу — вам помогут: правильно и ясно поставленная цель; четко разграниченные сроки; план действий.

Цель


Записывать поставленные цели — старо как мир, однако, о ведении записей и планировании жизни как таковой я раньше не задумывался. «Стать десятым ZCE в Казахстане» — одна из первых записанных на бумаге и достигнутых целей.
В этом плане нам технарям не нужно стесняться учиться и перенимать опыт у тимлидов, руководителей проектов и топ-менеджеров. Жизнь — это не только код, фичи и багфиксы.
Читать дальше →
Total votes 44: ↑29 and ↓15 +14
Comments 30

Мультимедийный «комбайн» на основе Android OS: RoverBox

Reading time 2 min
Views 2.2K


Не так давно я описывал игровую консоль на основе Android, которая, в общем-то, вряд ли получит большую аудиторию потребителей. А вот мультимедийный «комбайн» RoverBox вполне может стать центром развлечений в домашних условиях. Как видим, Android постепенно «двигается в массы», и не только как платформа для мобильных устройств. RoverBox, представленный RoverComputers — действительно практичное и достаточно стильное устройство. Честно говоря, лично мне больше всего понравился внешний вид беспроводной клавиатуры от RoverBox, но само устройство тоже довольно неплохо выглядит.

Читать дальше →
Total votes 31: ↑27 and ↓4 +23
Comments 30

Подсоединяем 5 винчестеров через sata мультипликатор одним сата кабелем

Reading time 2 min
Views 36K


В этой статье я расскажу немного о sata мультипликаторах CFI-B53PM на базе чипа SiI3726, которые я покупал для большого хоронилища на много террабайт. Как и где их заказать я написал в этой статье(в конце статьи я приложил трекинг посылки). Также расскажу про скорости работы в linux в 6-ом рейде.
Читать дальше →
Total votes 47: ↑42 and ↓5 +37
Comments 60

Ставим Dingux на Dingoo A320 из под Win, Mac и Linux для всех типов загрузчика экрана

Reading time 3 min
Views 7.7K


Итак, недавно мне пришла моя долгожданная Dingoo и естественно мне тут же захотелось опробовать Dingux. По просьбам фанатов dingoo, о проблемах с которыми мне пришлось столкнуться и о их решении по порядку под катом.
Поехали!
Total votes 50: ↑46 and ↓4 +42
Comments 64

Не для людей или «синдром вахтера» в СБ Яндекс. Денег

Reading time 4 min
Views 2.5K
imageМногие сочтут этот топик гласом хомячка вопиющего в пустыне, ну и пусть. Просто очень не приятно, когда думаешь что имеешь дело с солидной компанией, а вместо этого вляпываешься в очередное удобрение.

Ситуация до боли проста и вместе с этим наверняка неожиданна для рядового обывателя. У меня есть почтовый ящик на Яндексе, которым я пользуюсь уже восемь лет, и кошелек, которым я не пользовался, привязанный к указанному ящику. В платежной информации у меня указан верифицированный номер сотового телефона. Так вот, Яндекс.Деньгами я не пользовался (уточняю, кошелек существовал, но не использовался, хранил сумму в 99 копеек) до прошлой недели, пока не оказался на мели и не придумал, ничего лучше как занять 600 рублей у приятеля, который располагал средствами только на счету сабжа. Денежки я увидел на счету, тот же момент, но когда вскоре потребовалось оплатить мобильную связь, столкнулся с уведомлением «Операция запрещена, обратитесь в службу поддержки!»

Выдержки из писем поддержки
Total votes 259: ↑232 and ↓27 +205
Comments 426

Нормализация запросов в Директе или немного о подводных камнях в подборе слов

Reading time 2 min
Views 5.9K


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

Итак, есть клиент РК в тематике авиабилеты. Тематика очень широкая, огромное количество трафика. Есть задача «показываться любому кто ищет любую информацию о любом направлении, доступном для авиаперелета, цена перехода должна быть минимально возможной — 30 копеек». Ок, задача понятна, настраиваем (здесь — подробнее о том как настраивать одноцентовые РК).

Первичный медиаплан показал очень неожиданную картину. Вот фрагмент скриншота из «Оценки бюджета»


Статистика показов дает нам информацию о том что весьма непопулярное у туристов направление в столицу Индии запрашивается в 4-8 раз чаще чем популярные направления в Европу. Но это же бред какой-то! (с)

Смотрим семантическое ядро запроса «Москва Дели» и очень удивляемся.
Читать дальше →
Total votes 73: ↑69 and ↓4 +65
Comments 24

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity