Search
Write a publication
Pull to refresh
41
1.8
Иван @janson

Разработчик. PHP, JS, TypeScript.

Send message

Ностальгическая Action-RPG с фанатским ремастером

Level of difficultyEasy
Reading time12 min
Views21K
image

В самом начале нулевых мне посчастливилось сыграть в Nox, удививший меня нетипичной комбинацией геймплейных механик, затягивающим игровым процессом и интересной завязкой! Могу сказать, что это был довольно необычный для своего времени проект, который даже по прошествии десятилетий почти не имеет аналогов. Мне хорошо запомнилось, как в те годы его сравнивали, да и продолжают почему-то это делать в наши дни, с Diablo II, что кажется очень странным. На мой взгляд, игры совершенно непохожие, с разной центральной механикой и геймплейной сутью, с абсолютно различным подходом к развлечению игрока. Но, думаю, это произошло оттого, что проекты вышли почти одновременно (с интервалом менее, чем полгода), и многие ещё неопытные в терминах игроки (да и пресса) очень часто называли их братьями по жанру, во многом из-за изометрического вида и сражений с монстрами с помощью навыков. Вот только сравнение этих двух игр сейчас, спустя десятки лет, не несёт в себе никакого вреда, а тогда такое обсуждение ничего, кроме урона по репутации, создателям Nox не приносило (ну ведь правда, если я хочу диаблоид, зачем мне Nox, когда есть сиквел Diablo?). Из-за этого продавалась игра не так хорошо, как хотелось бы студии и издателю.
Читать дальше →

Три вопроса, которые сделают из вас отличного утёнка

Reading time4 min
Views3.5K
Как человек, который работает консультантом по бесперебойной работе и техническому обеспечению надёжности в Postgres, я провел много часов, выполняя функции резинового утёнка. Теперь могу заткнуть за пояс даже самую проницательную игрушку для купания.

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

Nginx: шпаргалка

Level of difficultyEasy
Reading time2 min
Views31K

Шпаргалка по основным секциям Nginx, которые следует держать под рукой. Ниже приведены самые частые функции: включение SSL, переадресация, раздача статики и т.д.

Читать далее

10 самых распространенных проблем при линтинге Dockerfile'ов

Level of difficultyEasy
Reading time8 min
Views13K

Весной 2023 года разработчики Depot добавили в свой сервис возможность проверять Dockerfile'ы при каждой сборке.

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

Читать далее

Теория игр за 15 минут

Level of difficultyEasy
Reading time15 min
Views73K

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

Чтобы казаться умным - достаточно выучить эти пару выражений, но чтобы на самом деле что-то понимать - придется разобраться. Оказывается, это не так уж сложно и довольно интересно. Давайте посмотрим.

Читать далее

Разбираем самый маленький PNG в мире

Level of difficultyEasy
Reading time9 min
Views39K

Самый миниатюрный PNG в мире весит 67 байт и представляет собой один чёрный пиксель. Выше вы видите его в 200-кратном увеличении.

Красота, не так ли?

Состоит этот файл из четырёх частей:

  1. Сигнатура PNG, одинаковая во всех файлах этого формата: 8 байт.
  2. Метаданные изображения, включая его размеры: 25 байт.
  3. Данные пикселя: 22 байта.
  4. Маркер «конец изображения»: 12 байт.

Далее я опишу этот файл подробнее и постараюсь объяснить принцип работы формата PNG.

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

Одно и то же лекарство можно купить и дешево и дорого. Что-то и вовсе не лекарство. И что за лекарство — вода с солью

Level of difficultyEasy
Reading time9 min
Views35K

Заходя в аптеку мы удивляемся тому, как подорожали за последние годы таблетки. И капли. Конечно на нас наживаются. Расскажу о довольно частых примерах. Вот к примеру обычный насморк. Что не так с лечением насморка?

Если покупать лекарства не по названию бренда, а по действующему веществу, то можно прилично сэкономить.

Читать далее

Книги, о которых редко говорят

Reading time4 min
Views51K

Дал ему подборку книг, он приходит месяца через два, и с порога такой сразу:
— Я с друзьями не могу разговаривать.
— Ну да есть такой, недостаточек.
интервью Жака Фреско

Читать далее

Гайд по Scratch для детей: как запустить игру на Android

Level of difficultyEasy
Reading time7 min
Views4.5K

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

Читать далее

Как я с 0 поднял свой уровень английского до B2 и подтвердил этот уровень на «самом известном языковом экзамене»

Level of difficultyEasy
Reading time10 min
Views176K

Привет, Хабр!

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

Начнем с бекграунда и причин.

Я – инженер машиностроитель (мой профиль – торцевые уплотнения вращающихся валов). Я начал работать в своей отрасли сразу после бакалавра, параллельно заканчивая магистратуру, и как только я начал работать, я стал стараться впитать как можно больше теоретических знаний по моей специальности из академических источников. Достаточно бысто я понял, что последняя серьезная книга по моей специальности на русском языке была написана в 1978 году. И спустя больше чем 40 лет технологии сильно поменялись, а вот их описание на русском языке отсутствовает. Зато я нашел на reddit людей работающих в штатах в моей же отрасли. Они мне насоветовали кучу классной литературы. Разумееется, она вся на английском, и русского перевода не имеет.

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

Конечно, перед началом обучения я прочитал много статей на хабре о том как люди учат языки. Некоторые из них поражали скоростью овладения материалом (что-то вроде с нуля до fluent за 4 месяца). Но одна вещь была неизменна – у всех был какой-то план изучения языка.

Читать далее

Собираем электрогитару из конструктора

Level of difficultyEasy
Reading time8 min
Views19K


Привет, Хабр! Что может быть лучшим новогодним подарком для гитариста, чем электрогитара, которую он собрал сам? Конечно, многие предпочли бы престижный инструмент, усилитель или эффект от известного производителя.

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

Лично мне нравится не только играть на гитаре, но и мастерить, а также украшать свои поделки. Поэтому у меня теперь есть самодельная гитара, о процессе изготовления которой я подробно расскажу.
Читать дальше →

Немного про OR в SQL запросах

Level of difficultyEasy
Reading time6 min
Views14K

Несмотря на избитость темы и многочисленные рекомендации избегать OR в выражениях WHERE/ON SQL запросов, жизнь вносит свои коррективы. Иногда сама постановка задачи подразумевает необходимость использовать OR. Я не собираюсь здесь рассматривать простые случаи, а сразу возьму быка за рога и рассмотрю случай, когда OR должно привести к двум разным выборкам по разным индексам одной и той же таблицы.

Читать далее

Видео — это вам не фото: о чём нужно знать разработчикам видеостриминговых сервисов

Reading time12 min
Views6.6K

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

Привет, меня зовут Антон Кортунов, я техлид Yandex Infrastructure. В 2017 году мы запустили новый для Яндекса проект — платформу потокового видео Яндекс Эфир. Сам проект закрылся, но на основе платформы работают Кинопоиск, видеокарточки товаров в Яндекс Маркете, Реклама и множество других сервисов.

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

Читать далее

Так всё-таки нужны программисту алгоритмы или нет?

Level of difficultyMedium
Reading time10 min
Views32K

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

Читать далее

Xdebug в качестве Php-консоли и REPL GUI —  чем заменить Python/JS консоль в Phpstorm

Reading time5 min
Views3.3K

Перешли с Python на Php, а привычной интерактивной консоли из PyCharm нет? Пользуетесь JS-консолью в инструментах разработчика браузера, а для Php такого нет? Не беда, ведь в качестве интерактивной оболочки можно использовать консоль Xdebug! И мало того, что она интегрирована с Phpstorm, и там работает автодополнение кода прямо из проекта, так еще там есть такие фичи, которых и вовсе нету ни в Python Console , ни в подобных REPL-интеграциях других языков программирования. Более того, с этими фичами сама консоль будет практически не нужна. А настроить нужную конфигурацию для запуска можно буквально за 10 секунд.

Читать далее

Моя любимая задачка по программированию для кодинг-интервью

Reading time10 min
Views72K

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

С годами я выработал вопрос по кодингу, который мне самому очень нравится. Это до жути простой и в то же время заковыристый вопрос. Решение занимает не более 30 строк кода, но зато даёт мне все нужные сигналы для вынесения верной оценки кандидату. Кроме того, мой вопрос отлично масштабируется и подходит как стажёрам, так и опытным инженерам. Здесь я не стремлюсь доказать, что мой вопрос лучше какого-то другого. Я лишь хочу объяснить, как он помогает мне как интервьюеру и на что я обращаю внимание на собеседовании по программированию.

В этой статье будут вещи, с которыми вы можете не согласиться. Это нормально. Это просто моё мнение, а так как я уже вышел на пенсию, то больше не представляю опасности ни для интервьюеров, ни для инженеров Google при принятии решений о найме! ;-)

Читать далее

Как научиться ценить себя. И почему для этого надо перестать обесценивать других?

Level of difficultyEasy
Reading time6 min
Views31K

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

Читать далее

Почему я не доверяю врачам

Level of difficultyEasy
Reading time8 min
Views77K

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

Я просто опишу несколько случаев, и станет ясно, «почему».

Случай 1. В детстве у меня был обширный ожог на груди от кипящей воды. Мать хотела улучшить мою внешность — уменьшить размер шрамов. Мы пошли с ней к доктору (мне было 6 лет), он вырезал мне большой кусок кожи, от правого плеча до локтя левой руки, а оставшуюся кожу стянул и сшил. Всю жизнь я ходил с этим шрамом от скальпеля, который был ужасно жестким. Для рассасывания шрама мне кололи лидазу, но это не помогло. В результате вместо мягкого шрама от ожога я получил очень жесткий шрам от скальпеля, сейчас он имеет длину в полметра, стянул мои плечи и перекосил положение грудных сосков. В 45 лет этот шрам превратился во что‑то типа кости. Эта «кость» прорвала кожу, вылезла наружу и мне пришлось делать операцию по удалению «кости» с помощью лазера. Та часть шрама от ожога, которая не была тронута скальпелем, осталась мягкой и никогда мне не мешала. Я не знаю, но думаю, моя мать много заплатила хирургу, чтобы он сделал лучше. Это было в 1960 году, прошло только 15 лет после войны, было ведь много раненых и обожженных. Неужели хирург не знал, что получится в результате?

Что я могу думать о врачах после этого? Они лечат или калечат?

Случай 2. В 19 лет у меня появились боли в области сердца, несколько лет не мог спать на левом боку. Пошел к терапевту, сняли ЭКГ — ничего не нашли. При описании жалобы я говорил: «странно, но у меня эти боли проходят после того, как позанимаюсь с гирей». Терапевт и кардиолог, снимавший ЭКГ, посмеялись и отпустили меня ни с чем.

Читать далее

Как я сделал игру на ChatGPT

Level of difficultyEasy
Reading time12 min
Views27K

Рассказываю как сделал текстовый квест на ChatGPT и с какими проблемами столкнулся в промптинге. Что и как не получалось и как потом получилось.

Внутри полный текст промпта.

Читать далее

Information

Rating
2,630-th
Location
Бишкек, Кыргызстан, Кыргызстан
Date of birth
Registered
Activity

Specialization

Backend Developer, Fullstack Developer
Senior
PHP
OOP
Git
Database
Docker