Pull to refresh
3
0
Дмитрий Авербах @square

Программист

Send message

Кластеризация поисковых запросов. Что это вообще такое и как правильно её сделать для SEO?

Reading time7 min
Views18K

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

Приступают к кластеризации после очищенного семантического ядра от неподходящих и «мусорных» запросов. Если этого не делать, могут быть проблемы со структурой сайта, особенно это касается интернет-магазинов и крупных сайтов (например, агрегаторы).

Читать далее
Total votes 4: ↑0 and ↓4-4
Comments0

Основные инструменты Kubernetes в 2021 году

Reading time21 min
Views26K

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

В основе этого списка — мой личный опыт, и чтобы избежать предвзятости, я расскажу и об альтернативных инструментах, чтобы вы могли всё сравнить и принять решение, исходя из своих потребностей. Постараюсь дать информацию сжато и привести источники, чтобы при желании вы могли изучить всё самостоятельно. Описывая инструменты для различных задач разработки ПО, я хотел ответить на вопрос: «Как я могу сделать X в Kubernetes?»

Читать далее
Total votes 40: ↑40 and ↓0+40
Comments5

Как ускорить приложение за счёт PHP-FPM (няшим FPM conf)

Reading time4 min
Views25K

Привет. 

Сегодня хочу поговорить о том, как ускорить приложение через конфигурирование PHP-FPM.

Сейчас самый популярный (из тех с которыми я сталкивался) стек на котором поднимается PHP приложение это веб сервер nginx и процесс-менеджер php-fpm. 

Я хочу поднять простое приложение с Laravel проектом, которое устанавливается со всеми параметрами по умолчанию. Попробуем это приложение нагрузить пользователями с помощью простого Javascript скрипта и посмотрим как ему удастся справиться с нагрузкой и как мы можем повысить обрабатываемую нагрузку только конфигурированием php-fpm. В конце статьи можно будет найти ссылку на GitHub и попробовать своими руками.

Для начала посмотрим на стандартную конфигурацию php-fpm и попытаемся понять где могут быть проблемы в производительности с коробки.

Итак, у меня есть простое приложение на PHP с NGINX и PHP-FPM предустановленными в стандартных конфигурациях и маршрут Laravel.

Читать далее
Total votes 42: ↑32 and ↓10+34
Comments56

Что должно быть в макете сайта: шпаргалка для дизайнера

Reading time6 min
Views17K

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

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

Осторожно, в статье очень много иллюстраций.

Читать далее
Total votes 7: ↑6 and ↓1+7
Comments16

Рекомендации по Ansible

Reading time6 min
Views12K

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

Читать далее
Total votes 7: ↑6 and ↓1+8
Comments1

Фантастическая эклектика: романы, написанные на невероятном стыке жанров

Reading time8 min
Views21K


В мире постмодерна и постиронии, где мы живем сегодня, многие рамки становятся все более хрупкими и условными. Так в литературе авторы все более и более смело обходятся с понятиями жанра, комбинируя их или работая на тонкой грани между двумя, тремя и более направлениями. Если несколько лет назад шутка про «кибер-утопический-порно-триллер» казалась только шуткой, то сейчас нет ничего невозможного! Главное — иметь в запасе смелость и чувство вкуса. И, желательно, представление о том, какой именно цели служит тот или иной эксперимент.

И вот несколько примеров подобных книг, не укладывающихся в прокрустово ложе привычных жанров.
Читать дальше →
Total votes 11: ↑9 and ↓2+12
Comments11

Как выбрать красивые цвета для вашей инфографики

Reading time10 min
Views40K


Очень трудно выбрать хорошие цвета для инфографики. Постараемся разобраться с этой проблемой.

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

Статья не поможет найти хорошие градиенты или оттенки. Она предназначена для подбора красивых, чётких цветов для различных категорий информации (например, континентов, отраслей промышленности, видов птиц) в линейных, круговых, полосковых диаграммах и так далее.
Total votes 34: ↑33 and ↓1+44
Comments6

Пять промахов при развертывании первого приложения на Kubernetes

Reading time8 min
Views7K
Fail by Aris-Dreamer

Многие считают, что достаточно перенести приложение на Kubernetes (либо с помощью Helm, либо вручную) — и будет счастье. Но не всё так просто.

Команда Mail.ru Cloud Solutions перевела статью DevOps-инженера Джулиана Гинди. Он рассказывает, с какими подводными камнями его компания столкнулась в процессе миграции, чтобы вы не наступали на те же грабли.
Читать дальше →
Total votes 35: ↑35 and ↓0+35
Comments2

Основы компьютерной геометрии. Написание простого 3D-рендера

Reading time30 min
Views54K
Привет меня зовут Давид, а вот я собственной персоной отрендеренный своим самописным рендером:

image

К сожалению я не смог найти более качественную бесплатную модель, но все равно выражаю благодарность заморскому скульптору запечатлевшему меня в цифре! И как вы уже догадались, речь пойдет о написании CPU — рендера.
Читать дальше →
Total votes 34: ↑33 and ↓1+43
Comments21

Изучаем Docker, часть 4: уменьшение размеров образов и ускорение их сборки

Reading time8 min
Views149K
В этой части перевода серии материалов, которая посвящена Docker, мы поговорим о том, как оптимизировать размеры образов и ускорить их сборку. В прошлых материалах мы сравнивали образы Docker с пиццей, термины с пончиками, а инструкции файлов Dockerfile с бубликами. Сегодня же не будет никакой выпечки. Пришло время посидеть на диете.

Часть 1: основы
Часть 2: термины и концепции
Часть 3: файлы Dockerfile
Часть 4: уменьшение размеров образов и ускорение их сборки
Часть 5: команды
Часть 6: работа с данными


Для того чтобы разобраться с тем, о чём мы будем тут говорить, вам будет полезно освежить в памяти то, о чём шла речь в третьей части этой серии материалов. А именно, там мы говорили об инструкциях файлов Dockerfile. Знание этих инструкций и тех особенностей Docker, которые мы обсудим сегодня, поможет вам оптимизировать файлы образов Docker.
Читать дальше →
Total votes 42: ↑42 and ↓0+42
Comments1

Делаем Linux терминал красивым и удобным

Reading time3 min
Views205K
Все дистрибутивы Linux поставляются с функциональным и кастомизируемым эмулятором терминала. В интернете, а порой даже в самом терминале, есть масса готовых тем, чтоб он красиво выглядел. Однако, чтоб сделать из стандартного терминала (в любом DE, любого дистрибутива) нечто красивое и одновременно удобное и простое в использовании я потратил много времени. Итак, как же сделать дефолтный терминал удобным и приятным в использовании?
Читать дальше →
Total votes 32: ↑18 and ↓14+13
Comments97

Подробная инструкция по изготовлению сплит клавиатуры на основе ATmega32U4. Аналог Iris / Jiran своими руками

Reading time13 min
Views54K

Моя самоделка


image

Перед изготовлением своей клавиатуры я наметил следующие цели:

  1. Максимально возможный тактильный комфорт.
  2. Добиться того, чтобы совершенно не было необходимости смотреть на клавиатуру при работе, чтобы она никоим образом не отвлекала внимание на себя, чтобы даже смотреть на нее было бессмысленно. Именно поэтому на моих колпачках нет надписей.
  3. Клавиатура — это мой рабочий инструмент, сосредотачиваемся на ее функционале и удобстве. Внешний вид совершенно неважен. Кто не может жить без RGB подсветки и внешней броской красоты – нам с вами не по пути, эта статья совсем про другое. В этой статье я вас научу как недорого и просто сделать себе удобный и функциональный инструмент для работы.
  4. Удобство перевозки. Сделать компактное и удобное для переноски устройство.
Total votes 79: ↑79 and ↓0+79
Comments76

Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон, часть 3

Reading time13 min
Views46K

В этой части мы перестаём говорить о простом и приятном и начинаем говорить о трудном. Переменные в Ansible: scope, precedence, рекурсивная интерполяция. Для тех, кто дочитает до конца, маленький бонус: упрощённая таблица приоритетов, с которой можно жить. Предыдущие части: 1, 2.


Обычно рассказ про переменные в Ансибл начинают с чего-то очень простенького, что создаёт у читателя иллюзию, что переменные в Ансибл — это как в любом другом языке программирования. Мутабельные или немутабельные, локальные и глобальные. Это не так.


Это не так.


У Ансибла возникла уникальная модель переменных (модель памяти?), которую надо учить с нуля. И рассматривать мы её начнём с того места, где значения используются (обычно переменные Ансибла рассматривают с того места, откуда они появляются). Почему? Потому что при рассказе в этом направлении у нас образуется направленный граф, который куда легче уложить в голову.


Обратите внимание — я сказал "значения", потому что "переменные" — это всего лишь имена к значениям. У переменных свой глубокий внутренний мир, и про него во второй части.

Читать дальше →
Total votes 17: ↑16 and ↓1+21
Comments78

Обзор python-пакета yadirstat — самый простой способ получить статистику из API Яндекс Директ

Reading time2 min
Views5.6K
Здравствуйте, мне приходится собирать статистику из Яндекс Директ и, чтобы упростить работу, я опубликовал свой python-пакет, с помощью которого это можно делать очень просто.

Сначала вам следует получить токен для своего аккаунта (подробнее тут)

Пакет yadirstat уже опубликован на pypi — вы сможете установить его с помощью pip

pip install yadirstat

Пакет позволяет получить следующую статистику:

  • Статистика по кампаниям
  • Статистика по условиям показов (например, ключевые слова и аудитории)
  • Статистика по поисковым запросам
Читать дальше →
Total votes 3: ↑2 and ↓1+2
Comments7

Топ-10 книг для понимания устройства фондового рынка

Reading time4 min
Views316K
Современный фондовый рынок – это масштабная и довольно сложная область знаний. Новичкам бывает не просто разобраться во всех хитросплетениях отношений, которые возникают между людьми, когда они оказываются на бирже, и освоить азы интернет-трейдинга. В то же время, и многие инвесторы, которые уже ведут активную деятельность, не обладают достаточным набором базовых знаний. В нашем сегодняшнем топике – список книг, которые помогут усвоить базовые понятия фондового рынка (да и вообще финансовой области) новичкам и позволят более опытным трейдерам расширить кругозор и углубить свои знания.
Читать дальше →
Total votes 20: ↑16 and ↓4+12
Comments7

Как я заработал 30$ на ставках на спорт

Reading time4 min
Views91K

Привет, Хабр! В этой статье я расскажу как я заработал на ставках на спорт, используя Python и базовую математику. Кому интересно, добро пожаловать под кат!


1

Читать дальше
Total votes 53: ↑44 and ↓9+45
Comments149

Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон, часть 2

Reading time17 min
Views65K

Я продолжаю выразительно пересказывать документацию Ансибла и разбирать последствия её незнания (ссылка на предыдущую часть).


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


Мы будем разбирать каждый элемент инвентори (кроме host_group_vars plugin) и обсуждать зачем он, как его использовать правильно, и как неправильно.


Оглавление:


  • Что такое хост? (и немного про транспорты)
  • Доступ IP vs FQDN; inventory_hostname vs ansible_host
  • ansible_user — писать или не писать?
  • Группы
  • Переменные: в инвентори или в плейбуку?
  • Классификация инвентори по происхождению.
Читать дальше →
Total votes 25: ↑24 and ↓1+33
Comments16

Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон

Reading time12 min
Views144K

Я делаю много ревью для чужого кода на Ансибл и много пишу сам. В ходе анализа ошибок (как чужих, так и своих), а так же некоторого количества собеседований, я понял основную ошибку, которую допускают пользователи Ансибла — они лезут в сложное, не освоив базового.


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


Ожидаемый уровень читателя — уже написано несколько тысяч строк ямла, уже что-то в продакшене, но "как-то всё криво".

Читать дальше →
Total votes 88: ↑86 and ↓2+108
Comments67

Управление секретами в Symfony

Reading time5 min
Views6.3K

Перевод статьи подготовлен в преддверии старта курса «Symfony Framework».





Не надоело ли вам хранить файл с секретами вашего приложения в менеджере паролей и копировать его в свою среду CI/CD каждый раз, когда вы изменяете его для развертывания приложения в соответствии с требованиями безопасности?

Читать дальше →
Total votes 10: ↑7 and ↓3+8
Comments7

Google Dorking или используем Гугл на максимум

Reading time21 min
Views259K

Вступление


Google Dorks или Google Hacking — техника, используемая СМИ, следственными органами, инженерами по безопасности и любыми пользователями для создания запросов в различных поисковых системах для обнаружения скрытой информации и уязвимостях, которые можно обнаружить на общедоступных серверах. Это метод, в котором обычные запросы на поиск веб-сайтов используются в полную меру для определения информации, скрытой на поверхности.
Читать дальше →
Total votes 30: ↑26 and ↓4+29
Comments7

Information

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