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

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

Send message

Неустаревающие книги?

Reading time6 min
Views37K

Некоторым из этих книг уже очень много лет. Главная книга о паттернах — Design Patterns — увидела свет в 1994-м году, значит, ей уже почти тридцать. По сравнению с ней, Clean Architecture, вышедшая десять лет назад — практически, ребёнок!

Но десять лет для индустрии — гигантский срок. Возможно, эти книги уже устарели и нам они не нужны?

Перечитаем и попробуем разобраться

Архитектура сервера онлайн-игры на примере Skyforge

Reading time12 min
Views193K
Привет, Хабр! Я Андрей Фролов, ведущий программист, работаю в Mail.Ru над Next-Gen MMORPG Skyforge. Вы могли читать мою статью про архитектуру баз данных в онлайн-играх. Сегодня я буду раскрывать секреты, касающиеся устройства сервера Skyforge. Постараюсь рассказать максимально подробно, с примерами, а также объясню, почему было принято то или иное архитектурное решение. По нашему серверу без преувеличения можно написать целую книгу, поэтому для того, чтобы уложиться в статью, мне придется пройтись только по основным моментам.

image

Читать дальше →

Солнце и нененависть в Лондоне

Reading time6 min
Views22K


Очередная история понаеха в Лондоне с практическо-прагматической стороны. Расскажу 10, нет 20, в общем, конечное но слишком лениво исчисляемое количество советов, которые я бы дал сам себе перед переездом. Поговорим о медицине, банках, жилье, документах, местной культуре, как работать, и как отдыхать.

Читать дальше →

Как изучить SQL за ночь или шпаргалка для системного аналитика

Level of difficultyEasy
Reading time10 min
Views179K

Помните, как вы были студентами, и готовились к экзаменам по ночам?

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

Изучите теорию на примерах и закрепите на 13 практических задачах по SQL.

Читать далее

Как избежать 10 частых ошибок в настройке NGINX

Reading time17 min
Views70K


Помогая пользователям NGINX с разрешением проблемных ситуаций, мы поняли, что большинство из них часто совершает одни и те же ошибки конфигурации. Более того, подобные ситуации вполне могут возникнуть даже у самих инженеров NGINX! В этой статье рассмотрим 10 наиболее распространенных ошибок и объясним как их исправить.


  1. Недостаточное количество файловых дескрипторов;
  2. Директива error_log off;
  3. Отсутствие keepalive-соединения с вышестоящими серверами;
  4. Упущение механизмов наследования директив;
  5. Директива proxy_buffering;
  6. Неправильное использование директивы if;
  7. Чрезмерные проверки работоспособности;
  8. Незащищенный доступ к метрикам;
  9. Использование ip_hash, когда весь трафик поступает из одного и того же блока /24 CIDR;
  10. Игнорирование преимуществ вышестоящих групп.
Читать дальше →

Весёлая консоль

Reading time6 min
Views16K


Сегодня 1 апреля и ежегодно в этот день разные Интернет-ресурсы публикуют вымышленные курьёзные "новости" а также просто всякие несерьёзные статьи. Вот и я решил в сей пятничный день немного приобщиться к этому весёлому многообразию. Сегодня мы обратимся к разным забавным, хотя и бесполезным программам, работающим в консоли эмулятора терминала. Видимо — ввиду несколько неформального начала UNIX (как известно, Кен Томпсон написал игру Space Travel для компьютера PDP-7) — различные "бестолковые" программки писались буквально с первых дней существования операционных систем. Что ж, давайте последуем за героем замечательных комиксов Дэниеля Стори и разнообразим жизнь в "скучной" консоли.

Читать дальше →

Запуск графических приложений в Docker

Reading time6 min
Views16K

В основном, Docker привыкли использовать для запуска сервисов или процессов не предполагающих визуальной составляющей. Однако могут быть ситуации, когда в контейнере возникает необходимость открыть среду разработки и на месте продебажить один сервис или два сервиса, каждый в своем контейнере. В прошлой статье я писал, как запускать графические приложения в wsl, в текущей расскажу, как можно запустить разными способами в контейнере qtcreator. Аналогично можно будет поступить с любой средой разработки или программой.

Читать далее

Пожалуйста, прекратите писать shell-скрипты

Reading time5 min
Views82K

Когда вы автоматизируете какую-либо задачу, например, упаковываете свое приложение для Docker, то часто сталкиваетесь с написанием shell-скриптов. У вас может быть bash-скрипт для управления процессом упаковки и другой скрипт в качестве точки входа в контейнер. По мере возрастающей сложности при упаковке меняется и ваш shell-скрипт.

Все работает хорошо.

И вот однажды shell-скрипт совершает что-то совсем неправильное.

Тогда вы осознаете свою ошибку: bash, и вообще shell-скрипты, в основном, по умолчанию не работают. Если с самого начала не проявить особую осторожность, любой shell-скрипт достигнув определенного уровня сложности почти гарантированно будет глючным... а доработка функций корректности будет довольно затруднительна.

Читать далее

«За границей»: кратко о бюджетных вариантах

Reading time12 min
Views95K

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

Читать далее

Россия 2022: как не потерять все (или хотя бы попытаться)

Reading time6 min
Views196K


Peace, Хабр!


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


Сегодня пошел 8-ой день, как от этой уверенности почти ничего не осталось.


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

Читать дальше →

Почему вы не используете чужой опыт?

Reading time7 min
Views5K
image
Иллюстрация из английского издания Шерлока Холмса — будни консультирующего детектива

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

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

И это нормальная механика: найти самого крутого чувака в этом вопросе, дать ему денег за час разговора. И спросить, как оно всё устроено, и как надо делать.

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

В общем, в какой-то момент мы просто не могли не придумать что-то, что даст возможность таким образом спидранить проекты. И это, знаете что? Это автоматизируется для интровертов. В смысле, мы уже сделали, потому что один из барьеров — это встать и договориться. Сейчас расскажу.
Читать дальше →

Ваши процессы попахивают. Как это понять и что делать?

Reading time13 min
Views22K

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

Читать далее

Основы Postman для самых маленьких

Reading time8 min
Views354K

В этой статье поговорю про основы работы с Postman для начинающих тестировщиков. Сама я столкнулась с этим инструментом как раз на последнем проекте. 

Расскажу, как с его помощью создавать простейшие автотесты и уменьшать объем рутины с помощью переменных.

Читать далее

Как мы лажали, открывая очередное юрлицо — на этот раз в США

Reading time11 min
Views18K


Я тут открывал юрлицо в США и сделал всё по инструкции «как не облажаться», но облажался. Уже в новых местах, не предусмотренных инструкцией.

Главная инструкция вот тут, она написана не юристом, но сами юристы подтверждают, что получилась хорошая и на неё же ссылаются, когда нужно быстро ввести в курс дела новичка. Список того, где уже облажались русские участники УКомбината — вот.

Проект внезапно созрел и нужно было пустить инвесторов. Команда немного размазана по планете, поэтому всем было примерно всё равно, где регистрироваться. Есть вообще типовой стартаперский набор: Кипр, прибалты, США, Сингапур, Люксембург. Но не пофиг было российскому стратегу, одному из инвесторов, он хотел на родине. При этом американское корпоративное правило наиболее гибкое + накоплена большая база прецедентов, то есть оно ещё и предсказуемое. А в штате Делавер наиболее квалифицированный суд, и его решения — просто золотой стандарт отрасли. То есть если у вас есть иностранные инвесторы, стоит выбор между Европой, Кипром и США. Из Латвии и Эстонии тяжело выскакивать при росте компании (и за сладкий старт придётся платить условиями дальше), Кипр хорош, но венчурные инвесторы часто ассоциируют его с «русские что-то там мутят», поэтому Делавер.

Поскольку у нас ИТ-бизнес в России, и мы знаем правила ведения ИТ-бизнеса в России, план был такой:

  1. Уговаривать стратега на любую зарубежную юрисдикцию (а для них бы это был первый опыт инвестиций в зарубежный проект);
  2. Как только они дадут добро, за недельку зарегистрироваться, например в Делавере, и принять деньги.

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

Но нет. Переходим к мякотке.
Читать дальше →

Дефицит есть, а денег не дают. Почему?

Reading time27 min
Views301K

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

Читать далее

Интеллектуальная производительность без выгорания: 7 техник использования мозга. Часть 2

Reading time12 min
Views31K

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

Если мы не научим мозг строить красивую и нужную нам жизнь, то окажемся в ситуации, когда мы на протяжении долгого времени прикладываем усилия, тратим силу воли и энергию на построение чего-то во внешнем мире, что может быть разрушено. Сегодня я расскажу про еще четыре техники для тренировки мозга, которые помогут  вам быть эффективными в изменчивом мире. Здесь можно посмотреть теорию, а здесь — первую часть техник.

Читать далее

Самый полный чек-лист для защиты от мошенников

Reading time17 min
Views167K

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

Читать далее

Партицирование таблиц в PostgreSQL: чек-лист для старта

Reading time13 min
Views68K

Часто возникает проблема: одна из таблиц в базе данных сильно выросла и время выполнения запросов к этой таблице увеличилось. Одним из вариантов решения подобной проблемы в PostgreSQL является партицирование. В статье затронем не только техническую реализацию, но и опишем этапы подготовки к партицированию. 

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

Читать далее

Новая игра позволит пользователям управлять вагонеткой механической почты в альтернативном мире России

Reading time4 min
Views14K

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

Километры рельс, проводов, тонны громоздких панелей автоматики и умиротворённое путешествие на фоне русской глубинки – всё это ждёт Вас в новой игре «Pnevmo-Capsula: Domiki». Меня зовут Валентин Помешкин, я автор концепции, реализации и в этой статье я расскажу о своём детище, которое уже скоро выйдет, и о том, что же вас ждёт! Устраивайтесь поудобнее)

«Pnevmo-Capsula» - трёхмерная инди-игра в стиле квест, головоломка. Игрок контролирует подвижную капсулу и должен найти выход из уровня. Главной идеей игры является создать атмосферу изолированного, но уютного места, которое бы игрок безошибочно определил как Россия. Места без оглядки знакомого, но то и дело наталкивающего тебя на мысли «что-то здесь не так». Антураж сна с бесчисленным количеством деталей российского быта и забытых временем развалин. И позволить не спеша прокатиться по хорошо знакомым ему видам: ночным деревням, и пространствам, приоткрывшим завесу тайны. Многие элементы игры до сих пор имеют место быть, вдалеке от городов-милионников: жизнь там идёт неспешно, своим чередом, и именно таким представится мир «Пневмо-капсулы».

Читать далее

Severed Steel: в поисках идеального экшена

Reading time7 min
Views7.7K

Игровую индустрию вот уже три десятилетия невозможно представить без кинематографичности. Пока одни разработчики делают игры ради игр, где геймплей просто работает (от “Марио” до “Цивилизации”), другие пытаются превратить свои произведения в интерактивное (или не очень) кино. Это направление можно разделить ещё на два: кто-то ограничивается роликами и катсценами с щедрой щепоткой QTE, а другие затачивают, “чтобы как в кино” сам геймплей. Max Payne, Call of Duty, FEAR — все они, так или иначе, отсылают нас к впечатлениям от любимых произведений кинематографа, или в случае с Devil May Cry, аниме (получается, это “анимеграфичность”?). Но как далеко можно зайти, если ваш источник вдохновения — лучшие экшен-сцены “Матрицы”?

Представьте себе игру, которая максимально похожа на все ваши самые любимые и безумные экшен-сцены в кино. Ну, такие, где герои лихо расставляют хедшоты в ходе забега по стенам и палят из пистолетов в прыжке. Те самые, где всё вокруг взрывается, а обломки падают в слоу-моушен. В которых гипертрофированно крутые персонажи не просто крушат врагов — нет, они делают это нарочито стильно, и вся игра существует только ради этого. Представили? Это — вот оно.
Читать дальше →

Information

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

Specialization

Backend Developer, Fullstack Developer
Senior
PHP
OOP
Git
Database
Docker