Pull to refresh
0
0
Send message

Kafka. Лучшие практики применения. Настройки Producer & Consumer

Level of difficultyMedium
Reading time20 min
Views18K

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

Меня зовут Михаил, я являюсь ФинТех системным аналитиком, исполняющим роль архитектора на проектах. И сегодня я хочу поделиться материалами по Kafka, которые подготовил для обучения сотрудников из своей команды. В материале постарался отразить самые важные технические моменты по Kafka, которые будут подкреплены наглядными кейсами и примерами использования. Материал будет полезным как для начинающих, так и для продвинутых пользователей. Желаю приятного прочтения.

Kafka. Лучшие практики применения.
Total votes 31: ↑25 and ↓6+21
Comments33

Особенности работы CLR в .NET framework

Reading time8 min
Views100K
Начиная изучать язык C# и .NEt Framework я ни как не мог понять, как же работает CLR. Я либо находил огромные статьи, которые не осилить за 1 вечер либо слишком краткое, скорее даже запутывающее описание процесса (как в книге Г. Шилдта).
Некоторое время назад я решил, что было бы неплохо собирать знания, полученные из книг, «фичи» и часто используемые приемы в одном месте. А то новая информация быстро оседает в голове, но также быстро забывается и спустя несколько недель приходится вновь рыться в сотнях и тысячах строк текста, чтобы найти ответ на вопрос. Читая очередную книгу по программированию, я делал краткие пометки самого важного, что мне показалось. Иногда описывал некоторый процесс понятным мне языком с придуманным примером и т.д. Я не претендую на абсолютную правильность излагаемого материала. Это всего лишь мое понимание процесса, с моими примерами и информацией, которую я посчитал ключевой для понимания Проработав некоторый материал, я решил сохранить это для всех тех, кому это может быть полезно. А кто уже знаком — тот просто освежит это в памяти.
Читать дальше →
Total votes 63: ↑35 and ↓28+7
Comments54

Взламываем Age of Empires III, чтобы изменить настройки качества шейдеров

Reading time18 min
Views26K
Начало мая 2020 года — если вы похожи на меня, то карантин заставил вас перепройти заново игры, которые не запускали долгие годы.

А если вы ещё больше похожи на меня, то у вас где-то мог заваляться диск с Age of Empires 3. Возможно, вы играете на Mac, возможно, вы ещё не обновились до Catalina и желаете покомандовать Морганом Блеком.

Итак, вы запускаете игру, попадаете в главное меню, и сразу же замечаете — что-то не так… Меню выглядит отвратительно.


Если вам интересно что же именно «отвратительно», то обратите внимание на воду. Всё остальное тоже ужасно, но это менее очевидно.


Итак, вы заходите в опции, поднимаете все параметры до максимума… Но игра по-прежнему уродлива.

Вы замечаете, что опции "Shader Quality" подозрительно заблокированы на "Low".
Читать дальше →
Total votes 56: ↑56 and ↓0+56
Comments13

Почему изучать программирование так сложно?

Reading time13 min
Views94K

Коля был простым «белым воротничком» в офисе и решил, что хочет научиться программировать, поэтому он поспрашивал вокруг с чего начать. Он начал с изучения Ruby, а затем пробежался по другим языкам, таким как Scala, Clojure и Go. Он изучал Emacs, затем Vim и даже раскладку клавиатуры Дворжака. Он брался за Linux, баловался Lisp и кодировал на Python, живя в командной строке более полугода.

Советы, которые получал Коля, дёргали его сначала в одну сторону, потом в другую, и так далее, как лист в торнадо, пока он, наконец, не прошёл «каждый мыслимый и немыслимый онлайн-курс». В конце концов, несмотря на то, что в итоге он получил работу в разработке, Коля:

Читать далее
Total votes 54: ↑35 and ↓19+29
Comments242

Он был в мистическом бреду: был ли этот математик-отшельник гением, чьи идеи могли преобразовать ИИ, или сумасшедшим?

Reading time16 min
Views11K

В сентябре 2014 года в одном из селений на склонах Пиренеев садовник Жан-Клод, которому было под 60, был удивлен появлением соседа у своих ворот. Они не разговаривали почти 15 лет после спора о плетистой розе, которую Жан-Клод хотел подрезать. Старик, которому было 86 лет, жил в полном уединении, ухаживая за садом в своей неизменной джеллабе и проводя ночи за письмом, ни на кого не обращая внимания. Но на этот раз старик, с длинной бородой и видом ищущего истину, казался обеспокоенным.

«Ты можешь сделать мне одолжение?» – спросил он Жан-Клода.

«Если смогу».

«Можешь купить мне револьвер?»

Читать далее
Total votes 29: ↑21 and ↓8+19
Comments21

Что такое RayCast в Unity и как это работает: гайд по созданию игр для детей

Level of difficultyEasy
Reading time7 min
Views3K

Рассказываем детям от 10 лет о базовых функциях в Unity: как используется Raycast при разработке проекта и для каких жанров игр он пригодится.

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

Читать далее
Total votes 3: ↑2 and ↓1+3
Comments6

Автотесты на Django: менеджмент данных тестирования на монолите

Level of difficultyMedium
Reading time6 min
Views2K

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

Читать далее
Total votes 8: ↑8 and ↓0+10
Comments2

Как ускорить A/B тесты: несколько способов

Level of difficultyEasy
Reading time8 min
Views1.3K

Знаете, что самое раздражающее в A/B тестах? Это ожидание результатов.

А что, если можно ускорить процесс и получить нужные данные быстрее? Сегодня расскажу, как разогнать A/B тесты, чтобы не терять время зря и быстрее получать результаты.

Читать далее
Total votes 8: ↑7 and ↓1+11
Comments1

Кратко про low-code библиотеку для ML Pycaret

Level of difficultyEasy
Reading time5 min
Views1.7K

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

PyCaret — это open-source библиотека, которая предлагает low-code подход к созданию, обучению и внедрению моделей ML. Она позволяет провести весь процесс — от подготовки данных до развертывания модели в продакшн — всего за несколько строк кода.

Читать далее
Total votes 5: ↑5 and ↓0+10
Comments1

Что будет, если скрестить конструирование компиляторов, DDD и Clean Architecture? Опыт HydraScript

Level of difficultyMedium
Reading time12 min
Views5.9K


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

Исходники проекта
Читать дальше →
Total votes 33: ↑32 and ↓1+52
Comments10

Заметки по сериализации + System.Text.Json

Level of difficultyMedium
Reading time31 min
Views3.8K

Сериализация - важнейший механизм любого приложения, от поиска по фильтрам в онлайн магазинах, до сохранения прогресса в играх. Давайте коротко пройдемся по основным форматам сериализации и рассмотрим использование System.Text.Json.

Читать далее
Total votes 7: ↑6 and ↓1+8
Comments3

Глубокий Анализ FastHTML

Level of difficultyEasy
Reading time6 min
Views2.9K

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

Читать далее
Total votes 7: ↑7 and ↓0+11
Comments11

Эволюция оператора switch в Java

Level of difficultyEasy
Reading time11 min
Views4.2K

Наверное, есть только малая часть приложений, код в которых выполняются строго последовательно. Классический Hello World! как раз из таких. В таких случаях говорят, что у выполняющейся программы есть только один поток выполнения - флоу. Однако, подавляющее число приложений меняют свой поток выполнения в зависимости от внешних условий (контекста выполнения, переменных среды, значений пропертей) или внутренних (переменные, значения полей и т.д.). Для таких случаев в Java еще с самой первой версии, как и во остальных языках программирования, есть оператор if-else и его модификации.

Давайте рассмотрим пример кода, в котором в зависимости от того, кем является член семьи, он делает какую-то обязанность по дому:

Читать далее
Total votes 5: ↑5 and ↓0+9
Comments28

Пишем printf на языке ассемблера FASM

Level of difficultyHard
Reading time12 min
Views16K

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

Читать далее
Total votes 40: ↑39 and ↓1+53
Comments5

Объясняем бабушке, как написать свой язык программирования

Reading time4 min
Views32K
Это игровая площадка, где я попытаюсь объяснить, как создать малюсенький язык программирования (Mu). Можно посмотреть вживую на открытые исходники здесь или скачать тут. Туториал можете прочитать прямо сейчас.

image

Пишем свой язык программирования (на Swift)


Для того, чтобы написать свой язык программирования, необязательно иметь степень в Computer Science, достаточно понимать 3 базовых шага.

Язык: Mu(μ)


Mu — это минимальный язык, который содержит постфиксный оператор, бинарную операцию и «одноциферные» числа.

Пример: (s 2 4) or (s (s 4 5) 4) or (s (s 4 5) (s 3 2))…
Total votes 35: ↑24 and ↓11+13
Comments13

Почему стоит изучить Clojure?

Reading time17 min
Views150K

Что такое хороший язык программирования? Какими качествами и характеристиками он должен обладать? Ответ дать сложно. Вот одно из возможных определений: хороший ЯП должен хорошо решать возложенные на него задачи. Ведь ЯП — лишь инструмент в руках программиста. А инструмент обязан помогать нам в работе. В конце концов, это же и есть причина его создания. Разные ЯП стараются решать разные проблемы (с переменным успехом). Цель, которая ставилась при проектировании Clojure — сделать написанные нами программы простыми. И, как следствие, ускорить их создание, тестирование. А главное, уменьшить время на их понимание, изменение и сопровождение.
Читать дальше →
Total votes 112: ↑108 and ↓4+104
Comments55

Функциональное программирование для всех

Reading time33 min
Views353K

Доброго времени суток. Это статья — перевод заинтересовавшего меня поста в блоге аспиранта Университета штата Нью-Йорк в Стоуни-Брук. Статья в доступной форме описывает основные концепции функционального программирования, их преимущества и недостатки. Думаю она будет полезна широкому кругу читателей, которые сомневаются, нужно ли им углубляться в мир функционального программирования или нет. Пожелания, предложения и замечания по переводу и терминологии принимаются по личной почте.

Мнение переводчика может иногда не совпадать с мнением автора, но переводить статью было крайне занимательно.

UPD: альтернативный вариант перевода вы можете найти на rsdn (спасибо flamingo за ссылку).
Читать дальше →
Total votes 188: ↑181 and ↓7+174
Comments151

Учебник по JavaFX: начало работы

Reading time4 min
Views104K
Привет, Хабр! Представляю вашему вниманию перевод статьи «JavaFX Tutorial: Getting started» автора Vojtech Ruzicka.

Как настроить и начать работать с JavaFX, с помощью Maven, Gradle или JavaFX SDK.

Все посты в серии JavaFX:

  1. Учебник по JavaFX: начало работы
  2. Учебник по JavaFX: Привет, мир!
  3. Учебник по JavaFX: FXML и SceneBuilder
  4. Учебник по JavaFX: основные макеты
  5. Учебник по JavaFX: расширенные макеты
  6. Учебник по JavaFX: CSS стилизация
  7. JavaFX Weaver: интеграция JavaFX и Spring Boot приложения
Читать дальше →
Total votes 12: ↑9 and ↓3+6
Comments26

Нужна ли вам Kafka? Разбираемся в технологии и собираем простое приложение на базе managed-решения

Reading time16 min
Views31K

Kafka — стильная, модная, молодежная технология, которую разработала в 2011 году компания LinkedIn и значительно усовершенствовал Apache Software Foundation. Представляет собой надежный, масштабируемый и устойчивый инструмент для обработки и передачи данных в режиме реального времени — шину данных.

Но нужно ли внедрять технологию в угоду моде или амбициям вашего продуктового менеджера? Под катом расскажу про сильные стороны Kafka и задачи, в которых она раскрывается по максимуму. Также напишем быстрое приложение на базе Kafka-as-a-service, которую мы недавно релизнули в Selectel.
Читать дальше →
Total votes 51: ↑50 and ↓1+65
Comments7

Information

Rating
Does not participate
Registered
Activity