Как стать автором
Обновить
2
0
Тимур Абишев @theasmoth

JS разработчик

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

Как построить “Умный дом" и не сойти с ума

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

Умная мебель, которая сама заботится о порядке в доме, — must-have почти любой футуристической картины. На самом деле саморегулирующееся климат, автоматическое включение и выключение света и голосовое управление бытовой техникой — всё это можно настроить уже сейчас. Но понадобится немного опыта, базовых знаний в области техники и иногда программирования, а также целое море фантазии. В моем же случае, я сделал так что достаточно только фантазии, но обо всем по порядку…
Читать дальше →
Всего голосов 18: ↑17 и ↓1+20
Комментарии56

Управление кластером Docker Swarm с помощью Swarmpit

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

Доброго времени суток, %username%. Пора расчехлить блог после 6 лет простоя и попробовать опять что-то полезное принести сообществу.

Я крайне удивлен, что на хабре до сих пор нет ни одной статьи про Swarmpit. Я конечно понимаю, что наверняка большинство изучая Docker останавливаются собственно на нем и потом пытаются забраться на Эверест под названием Kubernetes. Не знаю точных чисел, но думаю тут большинство теряются и либо вообще забивают на Docker либо только его и используют. А зря!
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии75

Советы по использованию алгоритма коллапса волновой функции

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

В последнее время я много экспериментировал с процедурной генерацией на основе ограничений. В частности, с алгоритмом Wave Function Collapse (WFC, коллапс волновой функции). Я даже написал собственную open source-библиотеку и ассет unity.

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

В этой статье я расскажу, чему научился и что сможет поднять генераторы на основе ограничений на новый уровень.
Всего голосов 36: ↑36 и ↓0+36
Комментарии4

Физика для мобильного PvP шутера, или как мы из двумерной игру в трёхмерную переделывали

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


В предыдущей статье мой коллега рассказал о том, как мы использовали двумерный физический движок в нашем мобильном мультиплеерном шутере. А теперь я хочу поделиться тем, как мы выкинули всё, что делали до этого, и начали с нуля ― иными словами, как мы перевели нашу игру из 2D-мира в 3D.
Читать дальше →
Всего голосов 25: ↑24 и ↓1+29
Комментарии7

15 лучших и крупнейших библиотек иконок

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


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

Сразу уточняем: это не 15 самых лучших библиотек, а 15 из лучших. Разумеется, есть и другие, не менее замечательные, о которых я не упомянул или не знаю.
И, нет, это не рейтинг — список маркированный, а не нумерованный.
Читать дальше →
Всего голосов 20: ↑18 и ↓2+22
Комментарии12

Наша с девушкой первая видеоигра. Разработка на Unity. Часть 2

Время на прочтение6 мин
Количество просмотров17K
У-у-у… Кто обитает на дне океана? Cubicity — квадратная игра.

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


Читать дальше →
Всего голосов 24: ↑20 и ↓4+26
Комментарии28

Как писать лёгкие тексты

Время на прочтение2 мин
Количество просмотров22K
Я пишу много текстов, в основном всякую чушь, но, обычно, даже хейтеры говорят, что текст читается легко. Если хотите сделать свои тексты (письма, например) легче, бегом сюда.

Тут я ничего не придумывал, всё из книжки «Слово живое и мёртвое» Норы Галь, советского переводчика, редактора и критика.
Читать дальше →
Всего голосов 68: ↑56 и ↓12+59
Комментарии58

Я работаю программистом в компании, но свои 50 лет хочу встретить иначе

Время на прочтение8 мин
Количество просмотров68K
У меня есть мечта – лет в 50 выйти на пенсию, сидеть на берегу моря и программировать для какого-нибудь проекта. Бесплатно и для души…



Сейчас я сижу на пляже и пишу код за деньги. Мне 34. Я во Вьетнаме. Передо мной столик с ноутбуком, надо мной — навес пляжного бара, слева – славный город Нячанг, а справа – волны Южно-Китайского моря. К этому столику в пляжном баре я шел последние пять лет.
Читать дальше →
Всего голосов 145: ↑134 и ↓11+163
Комментарии167

В каких странах и городах разработчики зарабатывают больше, если учесть налоги и стоимость жизни?

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


Если сравнить зарплату разработчика программного обеспечения квалификации middle в Москве, Лос-Анджелесе и Сан-Франциско, взяв данные по зарплатам, которые оставляют сами разработчики на специализированных сервисах по мониторингу зарплат, то увидим: 

  • В Москве зарплата такого разработчика на конец 2019 года составляет 130 000 руб. в месяц (по данным сервиса зарплат на moikrug.ru)
  • В Сан-Франциско — 9 404 долларов США в месяц, что примерно равно 564 000 руб. в месяц (по данным сервиса зарплат на glassdoor.com).

На первый взгляд, разработчик в Сан-Франциско получает более чем в 4 раза большую зарплату. Чаще всего на этом сравнение заканчивают, делают печальный вывод о колоссальном разрыве в уровне зарплат и вспоминают поросёнка Петра.
Читать дальше →
Всего голосов 147: ↑74 и ↓73+45
Комментарии848

Как собрать низкочастотные ключи для SEO: 4 нетривиальных способа

Время на прочтение5 мин
Количество просмотров12K
Как собрать низкочастотные ключи для SEO: 4 нетривиальных способа

Низкочастотные запросы (для экономии чернил будем называть их НЧ) в SEO нужны. Особенно когда по СЧ и ВЧ топ забит колдунщиками, контекстом и агрегаторами. С НЧ при небольшом бюджете можно занять верхние строчки выдачи и получать недорогой и стабильный трафик.


Но тут проблема: если вы собираете НЧ с помощью привычных Яндекс.Вордстата и Планировщика Google, ваши конкуренты делают то же самое. Решение — найти НЧ, о которых ваши конкуренты не догадываются (а если и догадываются, то не все). Рассказываем, как это сделать.

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

Golden canon grid: страшилка для фронтендеров

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


Большая часть людей, так или иначе причастных к верстке сайтов, проходят через… Назовем это “путь бутстрапа”. Это такая философская позиция, когда у тебя есть 12 колонок и ничего больше. Ты берешь элементы, кладешь их в определенные колонки и все у тебя хорошо. Можно выключить мозг, погрузиться в нирвану и руки будут сами расставлять элементы. Красота… Но тут появляется современный дизайнер, который рисует что-то, что ну совсем не сходится с этой замечательной концепцией. Колонок явно больше, они все разной ширины, да еще и по высоте что-то нужно выравнивать. Жуть. А встречается такое все чаще, особенно если сделать шаг в сторону от магазинов или админок. Сегодня мы поговорим о том, что же это за чудо такое там используется и как его можно готовить в современном CSS. Кода будет совсем немного, в основном – размышления и картинки.

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

Как управлять часами? Разбор фронтенд-трека второго чемпионата по программированию

Время на прочтение33 мин
Количество просмотров10K
Новый хабрапост в серии разборов недавно прошедшего чемпионата. Участникам квалификации, которые выбрали секцию фронтенда, нужно было решить несколько задач очень разной сложности: первая (по нашим ожиданиям) занимала 20 минут, последняя — около часа. Мы проверяли широкий спектр навыков разработчика интерфейсов, включая способность разобраться в необычной предметной области.

A. Аннигилируй это

Авторы: Максим Сысоев, Константин Петряев

Первая задача — разминочная. Каждому участнику доставался один из четырёх вариантов задачи, похожих между собой. Мы предложили не только текстовое условие, но и «плохое» рекурсивное решение. Нужно было переделать код (написать жадный алгоритм, который выдавал самое быстрое решение), убрав рекурсию и разные глупости вроде лишних операций и вычислений.

Условие


Вы устроились работать в лабораторию по изучению антиматерии, где проводят различные опыты. Ваш отдел изучает процессы, которые происходят при объединении материи и антиматерии. Вам необходимо провести серию опытов над некоторым количеством молекул.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии5

Теория программирования: Вариантность

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

Здравствуйте, меня зовут Дмитрий Карловский и я… хочу поведать вам о фундаментальной особенности систем типов, которую зачастую или вообще не понимают или понимают не правильно через призму реализации конкретного языка, который ввиду эволюционного развития имеет много атавизмов. Поэтому, даже если вы думаете, что знаете, что такое "вариантность", постарайтесь взглянуть на проблематику свежим взглядом. Начнём мы с самых основ, так что даже новичок всё поймёт. А продолжим без воды, чтобы даже профи было полезно для структурирования своих знаний. Примеры кода будут на псевдоязыке похожем на TypeScript. Потом будут разобраны подходы уже нескольких реальных языков. А если же вы разрабатываете свой язык, то данная статья поможет вам не наступить на чужие грабли.


а вдруг там лис?

Читать дальше →
Всего голосов 47: ↑43 и ↓4+52
Комментарии62

CSS переменные и цветовая тема для сайта в несколько строк

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

Один из способов использовать CSS переменные уже сегодня


Создадим сайт который динамически поддерживает светлую, тёмную и цветовые темы.


Интерактивное демо



Создаём базовый цвет который будет меняться. Привязываем его к data-theme на html.


в примерах кода используется & из less/scss синтаксиса


html[data-theme='green'] {
    --theme-color: 110;
}
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии11

9 лучших опенсорс находок за август 2019

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

Доброй осени, дамы и господа. Подготовил для вас подборку самых интересных находок из опенсорса за август 2019.


За полным списком новых полезных инструментов, статей и докладов можно обратиться в мой телеграм канал @OpensourceFindings (по ссылке зеркало, если не открывается оригинал).


В сегодняшнем выпуске.
Технологии внутри: Python, Rust, JavaScript, Go.
Тематика: веб разработка, администрирование, инструменты разработчика.

Читать дальше →
Всего голосов 76: ↑74 и ↓2+72
Комментарии44

Развитие маркетинга в малом бизнесе

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


Спустя 11 лет на Хабре, 12 лет в маркетинге, сотни часов лекций и выступлений, я решил отдать всё, что знаю о маркетинге, бесплатно, без регистрации, рекламы, СМС и email-подписок. В результате на YouTube появился онлайн-курс для владельцев и маркетологов микро-, малого и среднего бизнеса, который называется «Сумма маркетинга».


77 занятий, 10 модулей, 18,5 часов видео без рекламы и десятки практических домашних заданий доступны на YouTube. А вот тут — основной сайт курса. А ещё — такие же видео-плейлисты ВКонтакте.

И, конечно, полное содержание со ссылками на уроки
Всего голосов 30: ↑20 и ↓10+10
Комментарии10

Бюджетная водянка для GPU. Знакомство и первый опыт

Время на прочтение5 мин
Количество просмотров36K
Хочу поделиться с Вами, как Я собирал свою первую «бюджетную», местами самодельную, систему водяного охлаждения. Где-то на пути создания встречались неудобства, а где-то удача улыбалась. Я не ожидаю от СВО каких-то чудес и рекордов, а всего лишь хочу немного снизить температуру сильно-греющихся деталей и, разумеется, насладиться процессом ее создания. Также хочу чтобы те, кто тоже захочет собрать водянку сам, обратил внимание на трудности, с которыми я столкнулся и постарался избежать их.

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

Итак, начну с основ. Компоненты, которые потребуются для создания водяночки:
Читать дальше →
Всего голосов 38: ↑28 и ↓10+18
Комментарии75

Проблема дверей в дизайне шутеров

Время на прочтение10 мин
Количество просмотров23K
Допустим, я создаю уровень для классического шутера от первого лица. Сначала я строю арену и добавляю на неё несколько монстров. Я не хочу, чтобы на игрока нападали сразу после начала уровня, поэтому присоединяю к одной из сторон арены коридор и ставлю игрока туда.


Буквами E помечены враги-монстры на арене, а буквой P — игрок, изначально находящийся в коридоре.

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

Иллюстрация проблемы (GIF)

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

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

Если расширить дверной проём, чтобы коридор выходил на арену, то мы получим другую версию той же проблемы. В чём-то она будет лучше, в чём-то хуже. Даже после увеличения порога ничто по-прежнему не привлекает игрока на арену, и ничто в коридоре не выталкивает его оттуда.
Читать дальше →
Всего голосов 51: ↑51 и ↓0+51
Комментарии55

В поисках вдохновения, или Как вытащить себя из Ж

Время на прочтение5 мин
Количество просмотров33K
После выхода моей первой статьи «Не бойтесь пробовать, или Как я стала программистом в возрасте далеко за 18», в личку и комментариях на Хабре, а также в соцсетях стали приходить самые разные отзывы. Один из них запомнился больше всего:

«Спасибо за Вашу статью. Очень грамотно написано. Но хотелось бы улучшить ее и дать обратную связь: вы пишете в позитиве “все закончилось хорошо”. Но куда важнее другой аспект “Как выбираться из трясины?”. Вы в статье упомянули, что был перерыв и то ли жаба, то ли любовь к программированию и т.д. и т.п. И побежали объяснять радостно дальше! А ведь сколько судеб ломается именно в этот момент. У каждого он свой. И кто-то банально не знает, как из него выбраться. Именно “как выбраться из ж...?” куда важнее чем “всё ли хорошо закончилось?”»

Я пообещала автору отзыва написать на эту совсем непростую тему.

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


Читать дальше →
Всего голосов 72: ↑60 и ↓12+48
Комментарии56

Проектирование интернет-магазина для SEO: (теория + чеклист)

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

Статья разбита на две части.
Теория: о том, что в принципе можно учесть в SEO интернет-магазина и как это работает.
Чек-лист: 80 пунктов, по которым легко проверить, насколько удобно будет продвигать ваш сайт после разработки

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

Читать дальше →
Всего голосов 22: ↑18 и ↓4+14
Комментарии58
1

Информация

В рейтинге
Не участвует
Откуда
Минск, Минская обл., Беларусь
Дата рождения
Зарегистрирован
Активность