Pull to refresh
-2
0
Send message

Как работает сеть в контейнерах: Docker Bridge с нуля

Level of difficultyMedium
Reading time21 min
Views33K

В этой статье мы собираемся разобраться со следующими вопросами:

* Как виртуализировать сетевые ресурсы, чтобы контейнеры думали, что у них есть отдельные сетевые среды?

* Как превратить контейнеры в дружелюбных соседей и научить общаться друг с другом?

* Как выйти во внешний мир (например, в Интернет) изнутри контейнера?

* Как связаться с контейнерами, работающими на хосте Linux, из внешнего мира?

* Как реализовать публикацию портов, подобную Docker?

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

Простейшая нейросеть: еще раз и подробнее

Reading time10 min
Views53K

Машинное обучение это незаменимый инструмент для решения задач, которые легко решаются людьми, но не классическими программами. Ребенок легко поймет, что перед ним буква А, а не Д, однако программы без помощи машинного обучения справляются с этим весьма средне. И едва ли вообще справляются при минимальных помехах. Нейросети же уже сейчас решают многие задачи (включая эту) намного лучше людей. Их способность обучаться на примерах и выдавать верный результат поистине очаровывает, однако за ней лежит простая математика. Рассмотрим это на примере простого перцептрона.
Данная статья представляет собой пересказ-конспект первой части книги Тарика Рашида "Создай свою нейросеть" для тех, кто начал изучать тему, не понял отдельные детали или с трудом охватывает общую картину.

Читать далее
Total votes 97: ↑96 and ↓1+95
Comments26

2003–2023: Краткая история Big Data

Reading time17 min
Views15K
Когда, играя в ту или иную RPG, я оказываюсь в библиотеке, то обязательно перечитываю все книги на полках, чтобы лучше вникнуть во вселенную игры. Помнит кто-нибудь «Краткую историю империи» в Morrowind?

Большие данные (Big Data) и, в частности, экосистема Hadoop появились немногим более 15 лет назад и развились к сегодняшнему дню так, как мало кто мог тогда предположить.

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

Так что пристегнитесь и настройтесь на путешествие во времени вглубь 20 последних лет, поскольку наша история начинается в 2003 году в маленьком городке к югу от Сан-Франциско…

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

Читать дальше →
Total votes 62: ↑61 and ↓1+60
Comments9

Custom Pod Autoscaler – сверхгибкое автоскалирование в Kubernetes

Reading time8 min
Views4.1K

Преимущества использования системы оркестрации контейнеров — удобство их развертывания, обновления и масштабирования. И одним из наиболее популярных таких инструментов является Kubernetes. 

Многие знают, что Kubernetes имеет встроенный механизм для автоскалирования подов — Horizontal Pod Autoscaling (HPA). Но что, если надо принимать решение с учетом множества факторов: суммы метрик, зависимости от количества готовых контейнеров, процента или доли доступных/недоступных подов или даже времени суток? А если эти показатели важны для нас все вместе? 

Мы в студии Whalekit смогли решить эту задачу. И отличным решением для этого стал Custom Pod Autoscaler (CPA).

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

Как очистить проект от неиспользуемых ассетов в Unreal Engine

Reading time5 min
Views15K

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

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

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

Как очистить проект читайте в статье
Total votes 8: ↑8 and ↓0+8
Comments6

На Reddit обсудили, что больше всего раздражает в Kubernetes

Reading time3 min
Views19K

Натан Йелин (Natan Yellin) из robusta.dev опросил участников Kubernetes-сообщества на Reddit, что больше всего их раздражает в Kubernetes. Тред собрал более 90 ответов и комментариев. Как выяснилось, CrashLoopBackOff — далеко не самый раздражающий фактор. Куда больше пользователям не нравится, например, сложность Kubernetes и необходимость его изучать.

В статье — самые возмутительные особенности K8s по мнению пользователей Reddit и разработчиков «Фланта».

Читать далее
Total votes 45: ↑44 and ↓1+43
Comments28

FizzBuzz по-сениорски

Reading time7 min
Views115K

- Добрый день, я на интервью на позицию старшего разработчика.

- Здравствуйте, давайте начнем с небольшого теста, пока я ваше CV смотрю. Напишите программу, которая выводила бы числа от 1 до, скажем, миллиарда, притом если число кратно трем, то вместо числа выводится Fizz, если кратно пяти, то Buzz, а если и трем, и пяти, то FizzBuzz.

Серьезно, FizzBuzz? Задачка для начальной школы, на сениорскую позицию? Ну ладно.

Читать далее
Total votes 383: ↑376 and ↓7+369
Comments306

Веб-безопасность 201

Reading time12 min
Views8.9K

Сегодня — вторая часть теории, которую рассказал эксперт по информационной безопасности и преподаватель Иван Юшкевич (https://twitter.com/w34kp455) провел мастер-класс по безопасности на конференции РИТ++ на платформе hacktory.ai.

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

Сегодня рассказ будет о CSRF, XSS и XXE.

Читать далее
Total votes 15: ↑14 and ↓1+13
Comments3

Подход Multicloud Native Service: что это такое и как поможет сделать IT-систему максимально отказоустойчивой

Reading time16 min
Views5.5K


Хабр, привет! Меня зовут Николай Бутенко, я руководитель Private Cloud в Mail.ru Cloud Solutions, и сегодня хочу обсудить с вами одно из самых больших заблуждений, с которыми я встречаюсь каждый день. Если вы когда-либо работали с облачными сервисами, то наверняка знаете о распространенном мнении, что перенос приложения в облако является панацеей от всех возможных с ним проблем. Я регулярно сталкиваюсь с такой позицией на встречах с самыми разнообразными заказчиками.


К сожалению, это мнение ошибочно. Часть ответственности лежит и на самом клиенте. Необходимо придерживаться определенных принципов в построении Cloud Native-приложений, чтобы обеспечить их отказоустойчивость, причем как на уровне программного кода, так и на уровне нижележащей инфраструктуры. При этом следует понимать, что даже соблюдение этих принципов не гарантирует полной защиты от всех рисков.


Поэтому если перед вами стоит задача построить на 100% отказоустойчивую и высокодоступную (High Availability, HA) систему, я рекомендую придерживаться подхода Multicloud Native Service, сочетающего лучшее в подходах Multicloud и Cloud Native. Такой подход не сводится только к использованию контейнеров: чтобы приложение могло пережить любой отказ, нужно подумать и об инфраструктуре, в частности использовать не одну, а минимум две независимые площадки, например провайдера публичного облака и частную инфраструктуру.


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

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

Как удобно вести игровой баланс и не сломаться от количества ячеек в таблицах

Reading time11 min
Views15K

Каждый геймдизайнер рано или поздно сталкивается с необходимостью регулярной работы с таблицами. Базовых знаний Google Sheets или Excel обычно достаточно для того, чтобы вести простые расчеты и работать над игровым балансом. Но когда игра развивается и обрастает новыми сущностями, возникает потребность в том, чтобы организовать для себя удобную и эффективную структуру. При этом нужно иметь возможность легко в ней ориентироваться, дополнять и модифицировать ее, она должна быть устойчива к ошибкам. 

В этой статье я систематизировал собственный опыт работы с таблицами и их дополнительными функциями, которые могут оказаться полезными как для начинающих, так и опытных геймдизайнеров. Примеры приведены в Google Sheets, поскольку они чаще используются командами разработки, но большая часть из них применима и к MS Excel.

Читать далее
Total votes 27: ↑26 and ↓1+25
Comments10

Проблемы с производительностью в игре XCOM 2

Reading time5 min
Views15K

Привет! Меня зовут Александр, я руководитель программистов компьютерной графики в Gaijin в проектах CRSED и Enlisted. Иногда, в свободное время, я исследую как устроена графика в других играх и нахожу там что-то интересное.

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

Ниже представлена расшифровка этого видео.

Читать далее
Total votes 33: ↑31 and ↓2+29
Comments48

Первые пять шагов для перелома ситуации с читерами в PvP-шутере

Reading time9 min
Views12K

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

Итак, эти шаги:

• Обфускация.
• Хранение данных.
• Миграция прогресса.
• Система бана.
• Подсчет хеша всех библиотек.
• Защита от переподписывания версий.
• Photon Plugin.
• Серверная валидация инаппов.
• Защита от взлома оперативной памяти.
• Собственная аналитика.
• И одновременный релиз всех решений.

Сегодня поговорим про первые пять пунктов.

Читать далее
Total votes 42: ↑41 and ↓1+40
Comments83

Производная и интеграл — проще некуда

Reading time12 min
Views79K

19 декабря 2020 г. на Хабре вышла статья «Интуитивное объяснение интеграла».

В комментариях к ней некоторые пользователи указали, что объяснение получилось не очень интуитивным, например:

“Тема сама по себе интересная, недавно снова повторял курс, но должен сказать, что на мой взгляд, в материале нет изюминки. Автор прав, что в современных изданиях часто даются темы без описания их прикладного применения, из-за чего непонятен смысл их изучения.

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

Я попробую изложить материал максимально коротко, просто, без подробностей и отсылок. Так, чтобы школьники, наконец, поняли, пусть и с помощью родителей.

Итак:
Total votes 36: ↑30 and ↓6+24
Comments26

Match-3 Framework – это «просто»

Reading time10 min
Views11K
Один из наших новых проектов, которые мы сейчас разрабатываем — игра в жанре Match-3. В этой статье расскажем о некоторых интересных технологических решениях, которые мы для нее используем. Речь пойдет о разрабатываемом фреймворке для Match-3 игр (M3Engine) и прилагающемся к нему инструментарии.

Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments1

Русский акцент в английском: основные особенности и как от него избавиться

Reading time5 min
Views45K

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

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

Читать далее
Total votes 26: ↑25 and ↓1+24
Comments92

Персональный экзокортекс, Зеттелькастен и программы для его реализации

Reading time4 min
Views35K

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

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

Читать далее
Total votes 20: ↑19 and ↓1+18
Comments31

Google Dorking или используем Гугл на максимум

Reading time21 min
Views210K

Вступление


Google Dorks или Google Hacking — техника, используемая СМИ, следственными органами, инженерами по безопасности и любыми пользователями для создания запросов в различных поисковых системах для обнаружения скрытой информации и уязвимостях, которые можно обнаружить на общедоступных серверах. Это метод, в котором обычные запросы на поиск веб-сайтов используются в полную меру для определения информации, скрытой на поверхности.
Читать дальше →
Total votes 37: ↑33 and ↓4+29
Comments7

Про фразовые глаголы-5 (up/down)

Reading time4 min
Views13K
Сначала рекомендуется прочитать предыдущие части:

1. habr.com/ru/post/495794
2. habr.com/ru/post/496190
4. habr.com/en/post/499368

Значение up «до конца, полностью» выражается (помимо приведённых в первой статье) русскими приставками:

из-/ис-: beat – «бить», beat up – «из-бить»; use – «пользовать», use up – ис-пользовать (какой-то ресурс до конца): Masha used up all of my shampoo.

от-: build – «строить», build up – «отстроить»; polish – «полировать», polish up – «от-полировать».

по-: hang – «вешать», hang up – «по-весить» (трубку). Show – «казать/являться», show up – «по-явиться». Vasya showed up on time – Вася пришёл/появился вовремя.

при- в значении приближения [к стандартам]: dress – «одеть», dress up – «при-одеть» (одеть подчёркнуто стильно или ярко). Masha was dressed up – Маша была приодета.

Dress out – «разодеть», только устаревшее. В данном случае up ≈ out, как в русском «при-» ≈ «раз-»: приоделась ≈ разоделась. Up акцентирует завершённость гардероба (наряда), out – содержит ещё лёгкую эмоциональную составляющую «преувеличенности» действия – «раз-одеть».

Dress up/dress out имеют бесчисленные синонимы: tog up = tog out, deck up = deck out, rig up = rig out, fig up = fig out, trick up = trick out. Есть даже fancy up и gussy up, но с out эти глаголы не употребляются.*
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments14

Собственные игровые движки: небольшое исследование

Reading time12 min
Views41K

Пару недель назад я играл в A Plague Tale студии Asobo Studio (и прошёл её). Меня очень захватила эта игра, благодаря не только красивой графике, но и сюжету с локациями. Я решил немного изучить технологии, использовавшиеся при её разработке, и был удивлён, обнаружив, что игра создавалась на собственном движке относительно небольшой студии. Я знаю, что некоторые компании используют собственные движки, но очень сложно найти подробное маркетинговое исследование с подобной информацией. Поэтому я написал эту статью.

Сегодня многие компании выбирают для разработки игр такие движки, как Unreal или Unity (или, по крайней мере, так думают многие люди), потому что для разработки собственного движка AAA-уровня требуется множество ресурсов. Поэтому я решил составить список некоторых из самых популярных самописных движков с указанием размеров студий и значимых игр, выпущенных на этих движках.

Большинство представленных здесь движков разрабатывалось на протяжении многих лет, множества итераций и для множества видеоигр, эти движки имели несколько версий или даже полностью (частично) переписывались с нуля с последующей сменой названия. Кроме того, важно заметить, что большинство этих движков для реализации определённой функциональности (совместимость с платформами, физика, сеть, растительность, UI, рендеринг, звук...) использует всевозможное промежуточное ПО.
Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments46

Создание интерфейса для игры

Level of difficultyMedium
Reading time11 min
Views43K
Всем привет.

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

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




Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments28
1

Information

Rating
Does not participate
Registered
Activity