Как стать автором
Обновить
0
@DFoozread⁠-⁠only

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

Отправить сообщение

50 самых интересных клавиатур из частной коллекции

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

Уже совсем скоро благодаря Кикстартеру выйдет книга, посвящённая клавиатурам. Для тех, кто не имеет возможности её купить, предлагаем краткий обзор 50 клавиатур, которые есть в коллекции автора. Интересно? Тогда я продолжаю.

Будет много фото (специально вас предупреждаю).

Читать далее
Всего голосов 82: ↑81 и ↓1+102
Комментарии70

PostgreSQL под капотом. Часть 0. Старт программы

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

Postgres - один из крупнейших open source проектов. Он создавался многие года. Кодовая база накопилась огромная. Мне, как программисту, всегда было интересно как он работает под капотом. Но не про SQL пойдет речь, а про язык на котором он написан. Про C. 

С общей архитектурой можно ознакомиться здесь

Для начала поймем, что происходит до входа в главный цикл сервера.

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

Алгоритмы быстрого умножения чисел: от столбика до Шенхаге-Штрассена

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

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

И уж конечно, никогда при написании a * b мы не задумываемся о том, как реализовано умножение чисел a и b в нашем языке. Какие вообще есть алгоритмы умножения? Это какая-то нетривиальная задача?

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

Скорее к формулам!
Всего голосов 173: ↑173 и ↓0+173
Комментарии30

Мультитул для управления Хранилищем Данных — кейс Wheely + dbt

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

Уже более двух лет data build tool активно используется в компании Wheely для управления Хранилищем Данных. За это время накоплен немалый опыт, мы на тернистом пути проб и ошибок к совершенству в Analytics Engineering.

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

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

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

Вредные советы при построении Аналитики (Data Lake / DWH / BI) – чего стоит избегать

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

Всем привет! На связи Артемий, со-автор и преподаватель курсов Data Engineer, DWH Analyst.

Последние месяцы я много занимаюсь рефакторингом кодовой базы, оптимизацией процессов и расчетов в сфере Анализа Данных.

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

В публикации Вас ожидает:

- Использование select * – всё и сразу

- Употребление чрезмерного количество CTEs (common table expressions)

- NOT DRY (Don’t repeat yourself) – повторение и калейдоскопический характер расчетов

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

Как кастомизировать стандартные страницы ошибок

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

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

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

ETL и ELT: ключевые различия, о которых должен знать каждый

Время на прочтение10 мин
Количество просмотров43K
image

ETL и ELT — самые широко используемые способы доставки данных из одного или нескольких источников в централизованную систему для удобства доступа и анализа. Обе этих методики состоят из этапов extract (извлечения), transform (преобразования) и load (загрузки). Разница заключается в последовательности действий. Хотя можно подумать, что небольшое изменение в порядке этапов никак не влияет, на самом деле для потока интеграции это меняет всё.

В этом посте мы подробно рассмотрим процессы ETL и ELT, а также сравним их по важным критериям, чтобы вы могли понять, какой лучше подходит для вашего конвейера данных.
Читать дальше →
Всего голосов 8: ↑5 и ↓3+3
Комментарии9

Как и почему мы внедрили Greenplum в КХД

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

Привет, Хабр! Меня зовут Максим Солопин, в Росбанке я работаю архитектором корпоративного хранилища данных. В этом посте я расскажу о том, как мы переезжали из data lake, куда ежедневно сваливались все сырые данные, в удобную систему на основе Greenplum. А по дороге немного затрону развитие моделей корпоративных хранилищ данных.

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

PostgreSQL под капотом. Часть 4. Цикл бэкэнда

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

Приветствую!

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

Кроме нее будут рассмотрены:

— Модуль для работы с транзакциями.

— Исключения в С и их реализацию.

— Клиент‑серверный протокол.

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

Как защищают компьютерные игры от пиратов: с 80-х по настоящее время

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

Пиратство в компьютерных играх было серьёзной проблемой для игровой индустрии с момента её зарождения. С появлением персональных компьютеров и игровых консолей в 1980-х и 1990-х годах несанкционированное копирование и распространение компьютерных игр становилось популярнее. Это приводило к потере доходов разработчиков и издателей игр. В ответ на это разработчики игр и ИТ-компании начали принимать меры по защите от пиратства.

Рост онлайн-игр в 2000-х годах привёл к появлению новых проблем с точки зрения защиты компьютерных игр от пиратства. Steam и развитие интернета облегчили пиратам незаконное распространение игр. В ответ на это IT-компании и разработчики игр продолжали создавать новые методы защиты своих игр, включая технологию управления цифровыми правами (DRM) и антипиратское программное обеспечение. Несмотря на эти усилия, проблема пиратства компьютерных игр остаётся актуальной для индустрии. Развитие технологий и новых игровых платформ требовало и от пиратов придумывать новые способы обхода ограничений.

Читать далее
Всего голосов 27: ↑22 и ↓5+23
Комментарии124

Дизайн уровней. Учимся у Atomic Heart

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

Atomic Heart стала одной их тех игр, которую я полюбил за переданную разработчиками атмосферу. Советская эстетика, культура, вся эпоха переданы просто безупречно. Прекрасная музыка, которую можно услышать чуть ли не на каждой локации. Большое количество агитирующих плакатов, памятников отдельным личностям, например, Ленину. Можно встретить и советскую архитектуру, хоть и 90 процентов архитектуры выполнено в ретро-футуризме. Но при прохождении было замечено несколько ошибок, которые смогли допустить дизайнеры при работе. Рассмотрим все, что было замечено.

Читать далее
Всего голосов 31: ↑18 и ↓13+10
Комментарии97

Репликация ClickHouse без костылей: ожидание и реальность

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


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

На момент написания статьи хранилищем и результатами его работы пользуются 16+ команд (11+ аналитиков и 2 data scientist, 70+ разработчиков, руководители и менеджерский состав).

Ежесуточно в хранилище поступает ~1,2 ТБ данных, пользователи и автоматика для построения отчётности генерируют ~35 000 запросов в сутки на выборки различной сложности. Подробнее про наше хранилище и то, какие задачи для бизнеса им решаем, можно почитать по ссылке.
Читать дальше →
Всего голосов 25: ↑24 и ↓1+33
Комментарии13

Создание Data Lake и Warehouse на GCP

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

Эта статья не будет технически глубокой. Мы поговорим о Data Lake и Data Warehouse, важных принципах, которые следует учитывать, и о том, какие сервисы GCP можно использовать для создания такой системы. Мы коснёмся каждого из GCP сервисов и поймём почему они будут полезны при создании Data Lake и Warehouse.

Прежде чем перейти к своей версии Data Lake и Data Warehouse, я хотел бы привести несколько известных архитектур, с которыми вы, возможно, уже знакомы, если интересуетесь этой темой. Архитектура, которую я бы предложил, будет более общей, чем эти: Cloud Storage as a data lake и Architecture: Marketing Data Warehouse.

В своей более общей версии Data Lake и Data Warehouse я расскажу о таких сервисах GCP, как Data Transfer Service, Dataproc, Cloud Storage, Cloud Scheduler, BigQuery, и Cloud SQL.

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

Своя альтернатива Google Maps: хостим сервер OpenStreetMap

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

Зачем? Это странно...


Нет, не странно! Google Maps — это, наверно, самый потрясающий сервис, который мы получаем бесплатно [в обмен на свои персональные данные].

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

Но что, если бы нам вообще не нужен был Google?

OpenStreetMap бесплатно предоставляет всему миру данные карт, собранные при помощи краудсорсинга. Но я не имею в виду, что можно просто воспользоваться OSM. Эта организация предоставляет данные, однако политика использования стимулирует пользователей не полагаться на её серверы при личном пользовании, а брать на себя ответственность за хостинг. И глядя на этот проект, я понимаю, почему. Его аппаратные требования не для слабонервных.
Читать дальше →
Всего голосов 33: ↑33 и ↓0+33
Комментарии23

Реактивность в Vue

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

Уверен, вы когда-нибудь задавались вопросом «Что за зверь эта реактивность и как она работает?». Думаю, что настало время закрыть этот вопрос и рассмотреть работу реактивности на примере Vue.

Дизайн превью: Марина Четвертакова

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

Все, что вам нужно знать об Open RAN

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

2020 стал годом Open RAN. Чуть ли не каждую неделю появлялись новости о технологии. В обилии информации было немало противоречивых, обрывочных сведений, полуправды и даже явной дезинформации. В этой статье мы структурировали сведения об Open RAN. 

Важно отметить, что Open RAN зародилось как движение, применимое ко всем технологиям мобильной связи (как это принято сейчас называть: ALL Gs или Any-G). То есть Open RAN применяется к 2G, 3G, 4G, 5G и всем будущим G.

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

Руководство по Docker Compose для начинающих

Время на прочтение9 мин
Количество просмотров872K
Автор статьи, перевод которой мы сегодня публикуем, говорит, что она предназначена для тех разработчиков, которые хотят изучить Docker Compose и идут к тому, чтобы создать своё первое клиент-серверное приложение с использованием Docker. Предполагается, что читатель этого материала знаком с основами Docker. Если это не так — можете взглянуть на эту серию материалов, на эту публикацию, где основы Docker рассмотрены вместе с основами Kubernetes, и на эту статью для начинающих.

image
Читать дальше →
Всего голосов 40: ↑37 и ↓3+34
Комментарии14

Как запускать поды как сервисы systemd в Podman

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


Расширять традиционные практики администрирования Linux с помощью контейнеров — естественный путь развития. Podman без проблем интегрируется в Linux, но поддержка systemd — краеугольный камень этой интеграции. Команда VK Cloud Solutions перевела статью о том, как она работает.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии1

Парсинг для взрослых или Инфраструктура для промышленного парсинга

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

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

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

Domain Fronting. версия 1.3

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

В данной статье представляется новый взгляд на старую и знакомую заядлым пентестерам тему как DomainFronting. Тем более, что после недавних нововведений в протокол TLS v1.3 от компании Cloudflare эта избитая тема заиграла новыми красками.

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

Информация

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