Pull to refresh
39
0
Сергей Гаврилюк @GAmoVeR

User

Send message

Дефицит специалистов не только в IT — он везде. Но денег не платят

Reading time17 min
Views198K

Когда мы писали про рост зарплат в IT, то выяснили, что они растут из-за дефицита специалистов и выравнивания значений по уровню западных зарплат. Но оказывается, что дефицит есть везде. Абсолютно везде. Не хватает учителей, врачей, строителей, металлургов, водителей, инженеров и даже курьеров. На рынке повальный дефицит специалистов, которым предлагают зарплаты на уровне Молдавии или Республики Косово.

Читать далее
Total votes 440: ↑424 and ↓16+408
Comments1017

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

Reading time21 min
Views25K

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

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

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

Оптимальное расположение шардов в петабайтном кластере Elasticsearch: линейное программирование

Reading time8 min
Views7.3K
В самом сердце информационно-поисковых систем Meltwater и Fairhair.ai работает набор кластеров Elasticsearch с миллиардами статей из СМИ и социальных медиа.

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

В этой статье мы расскажем, как применили линейное программирование (линейную оптимизацию) для максимально равномерного распределения рабочей нагрузки поиска и индексирования по всем узлам в кластерах. Это решение уменьшает вероятность, что один узел станет узким местом в системе. В результате мы увеличили скорость поиска и сэкономили на инфраструктуре.
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments1

Руководство по написанию защищённых PHP-приложений в 2018-м

Reading time18 min
Views57K

Приближается 2018 год, и технари — в частности веб-разработчики — должны отбросить многие старые методики и верования в сфере разработки защищённых PHP-приложений. Особенно это относится ко всем, кто не верит, что такие приложения вообще возможны.


Это руководство — дополнение к электронной книге PHP: The Right Way с сильным уклоном в безопасность, а не общие вопросы программирования на PHP (вроде стиля кода).

Читать дальше →
Total votes 75: ↑72 and ↓3+69
Comments38

Правильный стул для ежедневной работы за компьютером

Reading time5 min
Views858K
Золотой Остап и его стулВопрос о столах поднимался несколько раз (раз, два).

Однако, на чем же мы сидим перед столом?

Стул — не менее важная часть рабочего места любого человека, много времени работающего за компьютером в течение дня.

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

Оказывается наши санитарные правила и нормы (СанПиН 2.2.2/2.4.1340-03) достаточно хорошо описывают удобный эргономичный стул для работы взрослых за компьютером!

А какой стул правильный?
Читать дальше →
Total votes 134: ↑125 and ↓9+116
Comments309

Шаблоны проектирования с человеческим лицом

Reading time32 min
Views486K

image


Шаблоны проектирования — это способ решения периодически возникающих проблем. Точнее, это руководства по решению конкретных проблем. Это не классы, пакеты или библиотеки, которые вы можете вставить в своё приложение и ожидать волшебства.


Как сказано в Википедии:


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

image Будьте осторожны


  • Шаблоны проектирования — не «серебряная пуля».
  • Не пытайтесь внедрять их принудительно, последствия могут быть негативными. Помните, что шаблоны — это способы решения, а не поиска проблем. Так что не перемудрите.
  • Если применять их правильно и в нужных местах, они могут оказаться спасением. В противном случае у вас будет ещё больше проблем.

В статье приведены примеры на PHP 7, но пусть вас это не смущает, ведь заложенные в шаблонах принципы неизменны. Кроме того, внедряется поддержка других языков.

Читать дальше →
Total votes 148: ↑134 and ↓14+120
Comments98

Осень на рынках инди-игр

Reading time11 min
Views9.7K
image
Фото Розы Дик

Ах, осень. Время пожинать посеянное и созерцать смену времён года.

Если вы мелкий разработчик игр, вы, вероятно, заметили некоторые циклические изменения в процессе создания игр. Игры сейчас выглядят более красивыми, чем были когда-либо, не так ли? Планка качества поднимается на недостижимую высоту. Из-за увеличившегося объёма работы ваша команда расширяется. Теперь вам нужно кормить так много ртов, что кажется рискованным экспериментировать с новыми безумными игровыми механиками. К счастью, хорошо понятно, игры каких жанров станут прорывными хитами. К несчастью, есть избыток похожих игр: вероятно, вы не выдержите с ними конкуренции.
Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments41

Как оставаться в форме, работая в IT

Reading time8 min
Views34K
Рассказы про сыры по 500 гривен, luxury-ланчи и ночные тусовки как составляющие жизни типичного представителя IT-индустрии сильно приукрашены. Скорее стоит говорить о кофе на «МакДрайве», поздних ужинах и непрекращающемся потоке дедлайнов и всевозможных семейно-бытовых забот. Если на перекус время выкроить еще удается, то на спорт остается всего ничего: считанные минуты, 50 % желания и 25 % сил. Как результат – проблемы со здоровьем, которые негативно влияют не только на рабочий процесс, но и на качество жизни в целом.


Читать дальше →
Total votes 21: ↑15 and ↓6+9
Comments111

15 нестандартных инструментов продвижения приложения

Reading time23 min
Views34K
Ненавижу статьи про продвижение мобильных приложений. Потому что в 99% процентах из них будет одна вода, избитые, всем известные инструменты, без живых цифр и примеров. Не для этого я захожу на Хабр.

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

Запасайтесь чаем и добро пожаловать под кат

Читать дальше →
Total votes 35: ↑28 and ↓7+21
Comments11

Работа мечты или небольшая история мобильной разработки

Reading time15 min
Views46K

Глава 1. В поисках сокровищ


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

Но, что будет, если вы делаете игру о поиске тех самых сокровищ? На это у нас пока еще нет ответа, но мы, хотябы попытались. Мы кое-что нашли. А сокровище это или нет, вопрос к тебе, дорогой читатель.

image

Если вы читаете эту статью, значит мы выжили после разработки третьей по счету мобильной игры и выпустили её в свет. За время разработки, я много раз открывал заветную иконку хабры, дабы увидеть очередной рассказ от разработчиков, которые делятся своим опытом и впечатлениями. К сожалению, многие разработчики упускают много тонкостей и нюансов, особенно, если это касается бюджета и продвижения их игры, а зря.
Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments32

Матрица: Злодеи и Спасители

Reading time13 min
Views88K
Всем привет!

По результатам голосования, будем говорить о Матрице.



Q&A

Что на этот раз?

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

Это про то что Матрица в Матрице?

Не-а. Эта теория мне не нравится, хотя она настолько популярна, что уже на грани канона. Как по мне эта теория ужасна, поскольку с помощью подобного трюка можно объяснить все что угодно(это просто сон). К тому же, не забываем про бритву Оккама, эта теория вводит новые сущности, которые необязательны для объяснения.

Зачем мне это читать

Матрица — это антиутопический киберпанк. Говоря о ней, приходится скатываться во все, что обсуждается на ресурсе: робототехника, ИИ, программирование, энергетика и.т.д.

Спойлеры?

Безусловно, и много. Все относительно трилогии и Аниматрицы. Прочие произведения вроде «Голиаф» или The Matrix Online в данном случае нерелевантны. Первое, поскольку описывает очень странные события(вроде столкновения машин с пришельцами), второе — поскольку является убожеством с точки зрения сюжета, ИМХО. Также есть небольшой спойлер из игры Mass Effect(на самом деле большой).
Читать дальше →
Total votes 68: ↑62 and ↓6+56
Comments306

Считаю рассмотрение необязательным

Reading time8 min
Views23K
Менделеев, как принято считать, увидел периодическую таблицу во сне. Кекуле там же увидел формулу бензола.

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

Фразу «да жалуйтесь хоть господу богу!» можно практически в любой момент рабочего дня услышать от одного из сотрудников ближайшего к автору ЖЭУ. Собственно, зарисовка ниже так и родилась.

Приятной вам пятницы!
Читать дальше →
Total votes 58: ↑52 and ↓6+46
Comments53

Генераторы дискретно распределенных случайных величин

Reading time8 min
Views38K
Данная статья является продолжением поста Генераторы непрерывно распределенных случайных величин. В этой главе учитывается, что все теоремы из предыдущей статьи уже доказаны и генераторы, указанные в ней, уже реализованы. Как и ранее, у нас имеется некий базовый генератор натуральных чисел от 0 до RAND_MAX:

unsigned long long BasicRandGenerator() {
    unsigned long long randomVariable;
    // some magic here
    ...
    return randomVariable;
}

С дискретными величинами все интуитивно понятнее. Функция распределения дискретной случайной величины:


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

Распределение Бернулли




Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments9

Создание изометрических объектов для игр в Blender

Reading time3 min
Views51K


Статья будет полезна начинающим разработчикам игр. В ней мы рассмотрим преимущества и способы создания и рендеринга трёхмерных объектов для изометрических 2D-игр на примере Blender. В статье не будет каких-то сложных операций, достаточно начальных знаний 3D-редактора. Для примера рендеринга и анимации я взял башню из Dune2, и, чтобы ей было не так скучно одной, дополнил двумя постройками из Desert Strike.
Читать дальше →
Total votes 24: ↑21 and ↓3+18
Comments21

Angular Light для jQuery/JS разработчиков

Reading time3 min
Views18K


Я на Тостере периодический вижу вопросы типа «как скрыть блок по клику» или «как раскрасить по условию», поэтому я хочу вам показать 4 «приема» которые могут улучшить ваш jQuery-код и скорость разработки.

Начальный пример


Примеры к описанию ниже: jQuery пример и Angular Light пример
Этот пример состоит из 2-х «моментов»: 1. Кликом выбрать «панель», 2. Отобразить выбранную «панель».
Читать дальше →
Total votes 14: ↑10 and ↓4+6
Comments3

Анализ резюме с HeadHunter. Кто сколько зарабатывает и в каких отраслях работает

Reading time11 min
Views98K
Недавно, на хакатоне от Petamelon нам в руки попал датасет с ~6 000 000 резюме с НН. Там, естественно, не было никаких персональных данных и контактов, но было много других интересных вещей: ожидаемая зарплата, возраст, пол, примерный адрес, образование и индустрии, в которых человек ищет работу. Было решено попробовать использовать эти данные в нашем проекте про выбор школ. Идея заключалась в том, чтобы определить в каких индустриях работают выпускники школ и сколько примерно зарабатывают. Но я, конечно, не удержался и построил кучу других бесполезных, но прикольных таблиц и графиков.

Распределение резюме по возрасту имеет интересную форму и как будто разделено на две части: до окончания института и после:


В Москве с возрастом ожидаемая зарплата выходит на плато в ~50 000 рублей:

Читать дальше →
Total votes 119: ↑106 and ↓13+93
Comments66

Moff.js и модулированный Bootstrap

Reading time3 min
Views9.4K
Moff.js and Bootstrap

В предыдущей статье я писал о том, как фреймворк Moff.js может облегчить создание Mobile First страницы без использования CSS фреймворка.

Но на сегодняшний день большенство проектов используют какие либо CSS фреймворки и одним из таких фреймворков является Bootstrap. Смело можно утверждать, что Bootstrap является самым популярным Mobile First фреймворком.

Cамым большим недостатоком этого фреймворка является его размер. Даже минифицированная версия весит 154.9KB и это только CSS и JS файлы.

Зачастую разработчикам нужна только часть функционала, но подключают они весь фреймворк целиком. И поэтому пользователям мобильных устройств приходится загружать большой объем лишнего трафика. Решением этой проблемы было разделение фреймворка на группы из часто и не часто используемых модулей, которые удобно использовать в Mobile First подходе. Каждая из этих групп была вынесена в виде отдельного модуля в Moff.
Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments12

300 потрясающих бесплатных сервисов

Reading time11 min
Views1.6M


Автор оригинальной статьи Ali Mese добавил ещё 100 новых бесплатных сервисов. Все 400 потрясающих сервисов доступны здесь. И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные Веб-Сайты + Логотипы + Хостинг + Выставление Счета

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly.com Domain: Конструктор веб-сайтов.
  • Logaster: Онлайн генератор логотипов и элементов фирменного стиля (new).
  • Withoomph: Мгновенное создание логотипов (англ.).
  • Hipster Logo Generator: Генератор хипстерских логотипов.
  • Squarespace Free Logo: Можно скачать бесплатную версию в маленьком разрешении.
  • Invoice to me: Бесплатный генератор счета.
  • Free Invoice Generator: Альтернативный бесплатный генератор счета.
  • Slimvoice: Невероятно простой счет.

Читать дальше →
Total votes 341: ↑325 and ↓16+309
Comments107

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

Reading time28 min
Views186K
Сегодня мы представляем вашему вниманию адаптированную подборку инструментов (в том числе облачных) для разработчиков, которые позволяют создавать по-настоящему качественные проекты. Здесь представлены исключительно SaaS, PaaS и IaaS сервисы, предоставляющие бесплатные пакеты для разработчиков инфраструктурного ПО.

Читать дальше →
Total votes 96: ↑89 and ↓7+82
Comments38

Неприступный почтовый сервер, или жизнь без спама

Reading time11 min
Views197K
Борьба со спамом — это головная боль всех ответственных администраторов почты. Чего только они не изобретают, чтобы любимым пользователям лучше жилось. Однако, как показала практика общения со многими системными администраторами, почему-то далеко не все представляют как правильно фильтровать спам.

Чаще всего встречается подход «добавим кучу RBL (DNSBL) и будем радоваться жизни». Подход не верный чуть более, чем полностью. Второй по популярности — контент-фильтры, зачастую купленные за бешеные деньги. Такой подход тоже в большинстве случаев совершенно неоправдан.

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

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

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

Читать дальше →
Total votes 158: ↑140 and ↓18+122
Comments149
1
23 ...

Information

Rating
Does not participate
Location
Пермь, Пермский край, Россия
Date of birth
Registered
Activity