Как стать автором
Обновить
-5
0

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

Долгоиграющие приложения на PHP

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

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

Меня зовут Александр Пряхин, я TechUnit Lead в Авито. В IT работаю уже 14 лет. Из них 8 лет руковожу командами. Параллельно с этим преподаю и менторю. Сегодня разберём, как готовить демонов на PHP — от А до Я, и почему это актуально.

Читать далее
Всего голосов 62: ↑60 и ↓2 +58
Комментарии 17

Разбираем концовку «Чужого»

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


Привет, %username%.

Я, как обычно, не успокоюсь.

А всему причина пентафторид иода и прошлая статья!

В общем, все мы (надеюсь) помним начало творчества Ридли Скотта и просто потрясающий фильм «Чужой», который я рекомендую, несмотря на то, что он 1979 года. К концу этой статьи я докажу, что фильм не просто крут — он НАУЧЕН!

А для этого мы напряжём память и вспомним концовку: Рипли садится на челнок и внезапно обнаруживает там Чужого.

А теперь будет немного картинок, тёплых воспоминаний и химии.
Читать дальше →
Всего голосов 187: ↑179 и ↓8 +171
Комментарии 244

О едком и не очень

Время на прочтение 16 мин
Количество просмотров 91K
– Эти идиоты поместили фарфоровый контейнер со «студнем» в специальную камеру, предельно изолированную… То есть это они думали, что камера предельно изолирована, но когда они открыли контейнер манипуляторами, «студень» пошел через металл и пластик, как вода через промокашку, вырвался наружу, и все, с чем он соприкасался, превращалось опять же в «студень». Погибло тридцать пять человек, больше ста изувечено, а все здание лаборатории приведено в полную негодность. Вы там бывали когда-нибудь? Великолепное сооружение! А теперь «студень» стек в подвалы и нижние этажи… Вот вам и прелюдия к контакту.

— А. Стругацкий, Б. Стругацкий «Пикник на обочине»

Привет, %username%!

В том, что я всё ещё что-то пишу — вините вот этого человека. Он навеял идею.

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

Поехали.
Читать дальше →
Всего голосов 123: ↑114 и ↓9 +105
Комментарии 238

«Импортозамещение» в видеонаблюдении. Часть вторая: Si-Cam обиделся

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

Представители Si-Cam хотят подать на меня в суд, за то что я вскрыл китайское происхождение их IP-камер, включенных в реестр РЭП как российские.

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

Где в Москве жить «неплохо»

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

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

Честно скажу, что определить какие хорошие непросто. Ведь у каждого свое понятие о том что такое хорошо и нужен доступ к данным, которого у нас нет. Поэтому давайте посмотрим где жить "неплохо". Не жить рядом с тем, что влияет на качество воздуха, уровень шума, ежедневное memento mori, близость к промышленности, безопасность. Найдем группы домов в Москве в пределах МКАД, отдаленные на 150м от перечисленных факторов. Если живете в Москве, то удивитесь - вашего дома скорее всего не будет на этой карте

Читать далее
Всего голосов 33: ↑31 и ↓2 +29
Комментарии 209

Аэропоника — это сложно

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

Аэропоника — перспективный и эффективный способ выращивания растений. Такие выводы я сделал, начитавшись статей. Я только что успешно вырастил на балконе клубнику и полон энтузиазма двигаться дальше. Я берусь за аэропонику. Кажется, что это не сложно, надо, всего лишь, вместо размещения растений в земле, разместить их в каких-нибудь ёмкостях и распылять раствор на корни. Это привело меня к эпопее с клубникой в контейнере (1, 2, 3) и ряду экспериментов с аэропоникой, о которых я ещё не писал. За это время у меня накопился некоторый багаж знаний относительно аэропоники, им я и буду делиться в этом посте.

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

Читать далее
Всего голосов 130: ↑129 и ↓1 +128
Комментарии 59

Сохранение и загрузка состояния Actor’ов в Unreal Engine. Боль

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

Доброго времени суток, дорогой читатель.

Хочу рассказать о своём удивительном поиске способа сохранения и загрузки состояния игры в Unreal Engine. Включая сохранение и загрузку пользовательского состояния Actor'ов которые могут хранить такие неудобные типы данных, как жесткие ссылки на других Actor'ов.

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

Технический геймдизайн. Конфиги, баланс и контент на примере PC стратегии

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

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

Читать далее
Всего голосов 15: ↑14 и ↓1 +13
Комментарии 17

Всё, что вы хотели знать о динамическом программировании, но боялись спросить

Время на прочтение 12 мин
Количество просмотров 236K
Я был крайне удивлён, найдя мало статей про динамическое программирование (далее просто динамика) на хабре. Мне всегда казалось, что эта парадигма довольно сильно распространена, в том числе и за пределами олимпиад по программированию. Поэтому я постараюсь закрыть этот пробел своей статьёй.

# Весь код в статье написан на языке Python

Основы


Пожалуй, лучшее описание динамики в одно предложение, которое я когда либо слышал:

Динамическое программирование — это когда у нас есть задача, которую непонятно как решать, и мы разбиваем ее на меньшие задачи, которые тоже непонятно как решать. (с) А. Кумок.
Читать дальше →
Всего голосов 110: ↑100 и ↓10 +90
Комментарии 33

Коллеги, вы меня огорчаете

Время на прочтение 12 мин
Количество просмотров 157K
В июле и августе 2020 года я, с подачи Григория Петрова, проводил для компании Evrone технические интервью на позицию Senior Golang Backend developer. И, видимо, буду вынужден продолжать проводить, о чём ниже.

Задача формулировалась как «найти человека, который сможет задать и поддерживать высокий уровень профессионализма в применении языка Go». То есть, сформулирована она была по-человечески, перевод на канцелярит — мой. Под эту задачу я сформировал новый опросник вместо того, которым пользовался несколько лет — старый был с жестким закосом под DevOps. Методику, которой я пользуюсь для создания опросников и количественной оценки соответствия кандидатов, я излагал в своем докладе «Техническое интервью как инженерная задача» на конференции Saint TeamLead 2019.

И вот что я хочу сказать вам, коллеги: вы меня огорчаете.


Читать дальше →
Всего голосов 181: ↑137 и ↓44 +93
Комментарии 1152

Перевод туториалов по libGDX — часть 2 (рисование изображений)

Время на прочтение 7 мин
Количество просмотров 32K
Представляю вашему вниманию перевод второго туториала по libGDX. Оригинал находится здесь. Первая часть находится здесь.

Этот туториал дает представление как рисовать изображения используя OpenGL и как libGDX упрощает и оптимизирует этот процесс с помощью класса SpriteBatch.

Рисование изображений.



Изображение, полученное из его оригинального формата (например, PNG) и загруженное в GPU называется текстурой. Текстуры рисуются по некоторой спецификации, которая представляет собой описание геометрической фигуры и каким образом текстура накладывается на вершины этой фигуры. Например, геометрическая фигура может быть прямоугольником и каждый угол прямоугольника относится к соответствующему углу текстуры.
Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Комментарии 2

Перевод туториалов по libGDX — часть 3 (пакет scene2d)

Время на прочтение 6 мин
Количество просмотров 35K
Это третья статья из цикла переводов туториалов libGDX.
Первая статья находится здесь
Вторая статья находится здесь

scene2d



Пакет scene2d представляет собой классы для реализации графа для двухмерной сцены, которые могут быть полезны для управления группой иерархически связанных актеров (актер — некоторая сущность, которая может быть нарисована и которая может обрабатывать события ввода — прим. переводчика). Этот пакет предоставляет поддержку для обработки управления, рисования с возможностью поворота и масштабирования актеров в системе координат относительно родительского актера. Этот пакет также предоставляет фреймворк для управления действиями актеров через некоторые промежутки времени (tweening). Пакет scene2d.ui предоставляет актеров, которые могут быть полезны при построении графического интерфейса пользователя.
Читать дальше →
Всего голосов 21: ↑18 и ↓3 +15
Комментарии 5

Туториал по libGDX — создание пользовательского интерфейса. Часть 1

Время на прочтение 9 мин
Количество просмотров 49K
Разбираясь дальше с библиотекой libGDX, я дошел до пакета com.badlogic.gdx.scenes.scene2d.ui. Этот пакет предназначен для создания пользовательського интерфейса. И тут меня ждало разочарование: статьи-туториала нет. Поэтому я решил самостоятельно разобраться с пакетом, используя исходники и Javadoc документацию. То есть, это будет туториал по scene2d.ui, но уже не перевод. Я не буду здесь детально описывать конструкторы, методы, приводить подробные сигнатуры. Я постараюсь взглянуть с высоты «птичьего полета», поскольку зная принципы, вы всегда сможете узнать больше из документации. Но даже при таком подходе материала слишком много, поэтому я разобью его на две (возможно больше) статей.
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 4

Перевод туториалов по libGDX — часть 1 (настройка проекта в Eclipse)

Время на прочтение 5 мин
Количество просмотров 31K
Эта статья — перевод первого туториала для проекта libGDX. Оригинал находится — здесь

От переводчика: недавно у меня появилось желание написать игру под Android. У меня есть некоторый опыт программирования на Java, но я почти не сталкивался с разработкой под Android. Тут я наткнулся на библиотеку libGDX, которая позволяет писать кросплатформенные игры. Также я наткнулся, что по ней не хватает русской документации, а конкретно — туториалов. Поэтому у меня появилось желание перевести туториалы. Это мой первый перевод, поэтому буду рад любым замечаниям и указаниям на неточности.

Настройка проекта


Примечание: есть проблемы с использованием Java 1.7 для Android-приложений. Убедитесь, что вы используете Java 1.6
Примечание: надо сделать несколько шагов для настройки приложения под Android. Смотрите ниже.

Эта статья описывает, как настроить Eclipse для разработки и запуска приложений как на настольном компьютере, так и на Android-устройствах.
Читать дальше →
Всего голосов 14: ↑11 и ↓3 +8
Комментарии 5

Чему я научился делая игры на LibGDX

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

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

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

Собеседование Golang разработчика (теоретические вопросы), Часть II. Что там с конкурентностью?

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

Что спрашивают на собеседовании Golang разработчика? Асинхронщина? Контексты? Вторая часть статьи с вопросами и ответами, собранными на собеседованиях.

Читать далее
Всего голосов 18: ↑16 и ↓2 +14
Комментарии 19

Собеседование Golang разработчика (теоретические вопросы), Часть I

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

Как сейчас проходят собеседования на golang разработчика? Что спрашивают?

Читать далее
Всего голосов 47: ↑46 и ↓1 +45
Комментарии 22

Мой опыт подачи на ПМЖ (Radicación Permanente) в Республике Парагвай

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

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

В этой статье я не буду трогать вопросы "Почему Парагвай?", "И кем работать в том Парагвае?", "А в Парагвае говорят по-английски?", "Что там с сектором IT?" и прочее подобное.

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

Для начала рассмотрим географию Парагвая. С одной стороны имеем столицу - Asuncion. В ней сосредоточены все государственные учреждения, головные офисы фирм и т.п. Вторым по размеру, но не по значимости, является город Ciudad del Este, дающий примерно 60% ВВП Парагвая за счет совместно с бразильцами построенной и эксплуатируемой дамбы Itaipu. Основа экономики CDE - торговля с сопредельными странами - Бразилией и Аргентиной. Есть еще один пограничный с Аргентиной город Encarnacion, и многочисленные колонии-поселения (в основном немецкие), про которые я читал еще в юности. Население Парагвая не превышает население Москвы, при этом будучи разбросанным +- равномерно по всей территории страны, с меньшей плотностью в регионе Чако (климат там совершенно невыносим). Место, где я решил поселиться - Ciudad del Este. Прожив тут почти два месяца, об остальных регионах страны имею лишь обрывочное представление.

Ciudad del Este, совместно с бразильским городом Foz do Iguaçu, является свободной экономической зоной, в которую можно входить, не утруждаясь получением въездных и выездных штампов. Паспортного контроля на границе нет, желающие оформить легальный въезд или выезд сами идут в соответствующий офис. Прибыл я сюда в четверг, 20 января 2022 года. Остановился на бразильской стороне. На следующий день в 7 утра посетил иммиграционный офис.

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

Краткий обзор «Мастера геймдизайна: Как создавались Angry Birds, Max Payne и другие игры-бестселлеры»

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

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

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

Компьютер для «Бурана»

Время на прочтение 5 мин
Количество просмотров 32K
В прошлый раз мы рассказывали о первых советских наработках в области БЦВМ (бортовых цифровых вычислительных машин) для космической отрасли. А теперь обратим своё внимание на то, чем дело кончилось.

Пиком и, фактически, финалом советской космонавтики часто называют программу «Энергия» — «Буран». Оценки стоимости этого амбициозного проекта разнятся, но обычно называются цифры, превосходящие 14 миллиардов «тех» рублей. По нынешним ценам это триллионы «деревянных» — колоссальные затраты! Вполне возможно, что финал советского строя и государства в значительной степени был предрешён в т.ч. и подготовкой к единственному полёту «Бурана» 15 ноября 1988 года…


Читать дальше →
Всего голосов 80: ↑75 и ↓5 +70
Комментарии 59
1

Информация

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