Как стать автором
Обновить
3
0
Александр @polyanin

Golang, PHP & Symfony developer

Отправить сообщение

DTO в языке PHP: примеры для начинающих

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

DISCLAIMER


Друзья, читая этот текст, вы мало того, что общаетесь со вселенским разумом, но и принимаете участие в социальном эксперименте. ChatGPT пытается рассуждать о DTO в языке PHP. Пока ему сложно, с каждым вашим комментарием, замечанием, он пытается улучшить свой ответ, получается не всегда хорошо. Мы со своей стороны его почти не редактируем. Просто просим переформулировать какие-то фрагменты, дополнить свой ответ. Скоро опубликуем статью в ВАКовском журнале об этом эксперименте. Ссылку приложим в комментариях.

DTO (Data Transfer Object) — это шаблон проектирования, который используется для передачи данных между слоями приложения. DTO представляет собой объект, который содержит данные, необходимые для выполнения операции или запроса в приложении.
Читать дальше →
Всего голосов 14: ↑5 и ↓9-4
Комментарии36

Разворачиваем MySQL: репликации и секционирование

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

В этой статье сначала настроим репликацию данных на второй сервер, а затем рассмотрим различные варианты секционирования.

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

MySQL и партицирование

Время на прочтение3 мин
Количество просмотров13K
Прочитав статью вспомнил об одном очень специфичном заказчике и системе по сбору статистики по событиям. На дворе 21 век и я знаю о наличии ClickHouse, но вот заказчик не хочет менять БД (причина мне непонятна и не известна, религия, наверное, не позволяет), да и пусть будет так, я его несколько раз предупреждал о последствиях. Когда станет медленно совсем, осознает проблему.

Суть проблемы


Но речь не об этом.
Читать дальше →
Всего голосов 6: ↑4 и ↓2+2
Комментарии1

Пишем gRPC автотесты на Go с Allure отчетом

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

В данной статье разберем, как писать gRPC автотесты с использованием языка Go, также сделаем Allure отчет

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

Ресайз изображений на лету

Время на прочтение9 мин
Количество просмотров20K
Практически в любом веб-приложении использующем изображения существует потребность формировать уменьшенные копии этих изображений, причем зачастую, форматов дополнительных изображений несколько.
Так же вызывает некоторую головную боль добавление новых размеров на существующем приложении. Отсюда задача:
Читать дальше →
Всего голосов 73: ↑69 и ↓4+65
Комментарии65

Установка и настройка сервера Matrix Synapse + PostgreSQL + Admin UI + Element WEB. Ubuntu 20 LTS / Ubuntu 22 LTS

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

Всем привет. В данном гайде я постарался пошагово, подробно и доступно описать процесс установки на свой сервер Matrix Synapse + Element WEB + Admin UI на базе Ubuntu 20 LTS / Ubuntu 22 LTS.

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

Разобравшись с данным вопросом и затратив не мало усилий я решил поделиться своими результатами с сообществом habr.

Читать далее
Всего голосов 20: ↑19 и ↓1+26
Комментарии37

Книга «Создание микросервисов. 2-е издание»

Время на прочтение31 мин
Количество просмотров16K
image Привет, Хаброжители!
А мы издали второе издание книги Сэма Ньюмена

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

Вы познакомитесь с современными решениями для моделирования, интеграции, тестирования, развертывания и мониторинга собственных автономных сервисов. Примеры из реальной жизни показывают, как получить максимальную отдачу от этих архитектур. Книга будет полезна всем: от архитекторов и разработчиков до тестировщиков и специалистов по эксплуатации.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии6

Почему я чуть не запорол свою карьеру тимлида. 4 совета начинающим

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

Я работаю тимлидом уже несколько лет и с уверенностью могу сказать, что это направление развития мне очень нравится. А помню, я чуть не запорол свою карьеру тимлида в самом начале, на переходном этапе разработчик - тимлид. Я тогда работал разработчиком в большой компании и, в общем, работа мне нравилась. У нашей команды был номинальный тимлид - хороший, душевный человек, которому очень нравилось ковыряться в своих железках, а в жизни команды его участие ограничивалось только вопросами на дейлике “как дела?”. В общем, проблемы в команде копились, и никто ими не занимался, и меня это беспокоило. В итоге мне предложили попробовать себя тимлидом. Я эту историю рассказываю к тому, что я начинал свой путь с огромном воодушевлением, но уже через 3-4 месяца я почти выгорел и хотел вернуться в разработку или вообще уволиться. Поразмыслив тогда, я решил, что не могу так бесславно уйти и должен попытаться разобраться в ситуации и найти другое решение. Я сформулировал 4 основные причины такого быстрого выгорания, которое случилось со мной на этом переходном этапе. Мне удалось найти решение этих возникших трудностей и продолжить работу.

Итак, четыре проблемы начинающего тимлида.

Читать далее
Всего голосов 74: ↑70 и ↓4+75
Комментарии79

Выбираем и собираем 60% клавиатуру

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

В этой статье я не буду описывать преимущества и недостатки механических клавиатур. Одной единственной идеальной клавиатуры для всех не существует. Многие считают вершиной развития «островные» клавиатуры с ножничным механизмом, кто-то может комфортно печатать лишь на Topre, другие запаслись парой-тройкой IBM Model M на всю оставшуюся жизнь. Вокруг переключателей Cherry MX и их клонов диапазон предпочтений тоже весьма широк — одним подавай лёгкие линейные переключатели, другим нужны жёсткие MX Green с кликом. Речь пойдёт о компактной разновидности, так называемых «шестидесятипроцентных клавиатурах».
Читать дальше →
Всего голосов 59: ↑57 и ↓2+55
Комментарии156

Остановись, мгновенье. Медленное программирование — тренд для уставших разработчиков

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

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

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

Читать далее
Всего голосов 124: ↑123 и ↓1+145
Комментарии77

Разворачиваем Apache Kafka

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

В предыдущей статье мы достаточно подробно рассмотрели архитектуру Apache Kafka, из каких компонентов состоит данное решение, что для чего предназначено. И в этой статье мы рассмотрим процесс развертывания данного решения.

Для запуска Kafka можно использовать решения для управления кластером, такие как ZooKeeper или KRaft. В статье мы рассмотрим работу с ZooKeeper. Zookeper это распределенное приложение для управления кластером, состоящим из большого количества узлов.

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

Вторая жизнь пыльного Андроида

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

Три мысли всё не давали мне жить спокойно:

1) есть ноутбук, но для работы нужен второй экран
2) давно мечтаю о пульте управления для Photoshop в дополнение к клавиатуре
3) на полках пылятся устаревшие гаджеты, которые продавать глупо, а выкидывать жалко

Решим одно за счёт другого
Всего голосов 59: ↑58 и ↓1+75
Комментарии94

Эволюция стереотипов об айтишниках, программистах и одминах: не только кот, борода и бубен

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

Образ айтишника — один из ключевых в интернет-культуре с момента её появления. Что неудивительно: основной аудиторией всемирной сети изначально были почти исключительно айтишники с некоторым количеством примкнувших к ним учёных-технарей вроде сотрудников CERN. Примерно с рубежа веков ситуация начинает меняться. Эти наши интернеты начинают заполняться сначала обычными «юзерами», а с появлением соцсетей к концу нулевых годов в них понемногу забираются уже чуть менее чем все.

И всё же без айтишников по сей день никуда — ни по существу, ни в интернет-культуре. Айтишникам посвящаются бесчисленные мемы и гэги, культурные тропы, сериалы, тематические интернет-комиксы и всё такое прочее.
Читать дальше →
Всего голосов 90: ↑84 и ↓6+103
Комментарии20

Курс по изучению Kotlin и Android Studio с нуля до Junior. #1 Введение. Установка Android Studio

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

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

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

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

Полезные ресурсы для погружения в Go: выбор сотрудников Selectel

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

Попросили коллег порекомендовать ресурсы — подкасты, ютуб-каналы, книги, блоги и GitHub-репозитории — для изучения языка программирования Go. Сохраняйте подборку в закладки: пригодится и начинающим, и опытным специалистам. А также делитесь своими вариантами в комментариях.
Читать дальше →
Всего голосов 37: ↑36 и ↓1+44
Комментарии4

Как оценить реальную производительность своего кода

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

Код, который мы пишем, и который будет исполнен процессором, — две разные вещи. На уровне ассемблера существует миллион вариантов, в каком виде интерпретировать и запустить высокоуровневые команды. Более того, современные компиляторы сильно оптимизируют код, а результат этой оптимизации похож на магию.
Читать дальше →
Всего голосов 52: ↑49 и ↓3+62
Комментарии3

Как написать кроссбраузерное расширение в 2022 году

Время на прочтение8 мин
Количество просмотров9.8K
image

Привет! Меня зовут Георгий Костуров, я лид фронта в одной из команд СберМаркета. В один прекрасный день ко мне пришли менеджеры и сказали, что нужно написать браузерное расширение для внутреннего джобборда. Оно должно взаимодействовать с сайтами avito и hh, чтобы добавлять кандидатов в HR-систему, не скачивая и не вбивая вручную контакты из резюме на сайте.

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

На каком языке писать расширение?


Мой путь начался с поиска ответа на вопрос: «А хотя бы на каком языке придется это писать?» Полазив по интернету, с радостью обнаружил, что всё-таки это можно делать на JS. Хотя так было далеко не всегда. Первый браузер с API расширений, основанным исключительно на HTML, CSS и JavaScript, появился в 2010 году, им был Chrome. А до этого расширения необходимо было писать с использованием языка XUL (язык разметки на основе xml, обладающий большим функционалом по сравнению с HTML4).
Читать дальше →
Всего голосов 22: ↑20 и ↓2+22
Комментарии7

i18n в Go: работа с переводами — Часть 1

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

Недавно мне впервые довелось создавать полностью интернационализированное (i18n) и локализированное (L10n) веб-приложение, в котором я задействоал набор пакетов Go golang.org/x/text. Я обнаружил, что пакеты и инструменты, собранные в golang.org/x/text, невероятно полезны и очень хорошо спроектированы. Однако мне было довольно сложно понять, как объединить все это вместе в реальном приложении.

В этом руководстве я постараюсь объяснить, как вы можете использовать golang.org/x/text для работы с переводами в вашем приложении.

Читать далее
Всего голосов 12: ↑9 и ↓3+7
Комментарии3

Центрируй, властвуй, располагай

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

Всем привет, с вами Кирилл Мыльников, frontend разработчик компании Usetech.

Сегодня я хочу рассказать о вертикальном и горизонтальном центрировании CSS (Cascading Style Sheets). В сети есть много статей на эту тему, но я хочу выделить все виды горизонтального и вертикального центрирования с примерами.

Тема довольно популярная для тех, кто просто верстает или занимается полноценной frontend-разработкой (ведь нам всегда нужно что-то центрировать).

Существует множество способов, как нужно отцентрировать элемент, в тех или иных ситуациях, каждый способ по своему хорош.

В этой статье я разберу следующие виды центрирования:

— Горизонтальное центрирование;
— Вертикальное центрирование;
— Горизонтальное и вертикальное центрирование.

Начнём.

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

Радикальная удалёнка… налоговый рай архипелаг Свальбард

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

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

Lat oss gå (поехали)!!
Всего голосов 53: ↑48 и ↓5+56
Комментарии164

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность