Pull to refresh
2
0
Send message

PostgreSQL под капотом. Часть 3. Инициализация бэкэнда

Reading time33 min
Views7.2K

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

На прошлом шаге мы дошли до входной точки Postgres. Сегодня мы пройдемся по ней до главного цикла. Будут рассмотрены:

— Модули для работы с файлами и файловой системой

— Как SIGUSR1передает множественные значения

— Реализации хэш‑таблиц

— Представление и хранение GUC

и многое другое.

Читать далее

Простой пример написания Dockerfile. Использование многоэтапной сборки

Reading time5 min
Views83K

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

Для понимания данной статьи необходимы минимальные знания Docker, а также для использования примеров - установленный Docker Desktop локально на компьютере.

Вначале немного теории.

Dockerfile - это файл, который содержит инструкции для сборки образа. На основании образа создается и запускается контейнер.

Обратимся к официальной документации https://docs.docker.com/get-started/overview/

Читать далее

Пять факторов, которые влияют на выбор базы данных

Level of difficultyMedium
Reading time10 min
Views10K

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

Сегодня есть гораздо больше баз данных, чем когда-либо. В декабре 2012 года, когда DB-Engines.com впервые начал ранжировать базы данных, у него получился список из 73 систем (существенный рост по сравнению с самым первым списком из 18 систем). Спустя десять лет, на декабрь 2022 года в списке было уже почти четыреста систем. За последнее десятилетие произошёл настоящий кембрийский взрыв технологий баз данных. Нужно ориентироваться в обширном пространстве вариантов: SQL, NoSQL, множество «многомодельных» баз данных, которые могут быть сочетанием SQL и NoSQL, или множественные модели данных NoSQL (сочетающие две или более опций: документы, ключи-значения, широкие столбцы, графы и так далее).

Кроме того, пользователи не должны путать популярность с применимостью для них. Хотя сетевой эффект имеет свои преимущества («Все пользуются X, поэтому не ошибусь, если выберу её»), он также может привести к групповому мышлению, торможению инноваций и конкуренции.

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

Скучный Python: повышаем качество кода

Reading time17 min
Views26K

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

Читать далее

Ansible для начинающих

Reading time6 min
Views142K

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

Ansible — это инструмент infrastructure as a code для автоматизации задач по подготовке и конфигурированию инфраструктуры.

Вам понадобятся: базовые знания о Linux (можно начать с cent OS/Ubuntu), практический опыт с облачными сервисами (AWS), общее представление о виртуальных машинах (AWS EC2).

Читать далее

Новый чёрный — это чёрно-белый: как работают QR-коды в розничных платежах

Reading time8 min
Views36K

В России растёт популярность QR-кодов для оплаты. Немолодая технология оказалась на пике популярности спустя четверть века с момента появления: вошла с ноги в российский финтех и позволяет совершать платежи при помощи камеры смартфона. Давайте поговорим о том, почему и как это происходит.

Отсканировать

Разбираем шаблоны проектирования

Reading time17 min
Views26K

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

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

Представленный в статье материал предполагает знакомство читателя с основами объектно-ориентированного программирования.

Читать далее

Про Vim " Встроенное

Reading time9 min
Views7.6K

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

Читать далее

Старая математика ломает постквантовые шифры

Reading time4 min
Views18K
Старая математика ломает постквантовые шифры



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

Проблема в том, что современные алгоритмы вроде RSA и Диффи-Хеллмана (в том числе на эллиптических кривых) не способны противостоять квантовым атакам. Поэтому в июле 2022 года Национальный институт стандартов и технологий США (NIST) опубликовал набор алгоритмов шифрования, потенциально способных противостоять взлому на квантовых компьютерах — так называемые «постквантовые шифры».

Один из «постквантовых» шифров сразу взломали. Но самое интересное — метод, который применили исследователи.
Читать дальше →

Создание Kubernetes-кластера на пальцах или почему это не сложно

Reading time6 min
Views37K

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

Читать далее

Новые микросхемы на замену кремниевым: реальность и перспективы

Reading time6 min
Views12K

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

Читать далее

Разбираем Теорию Игр с python-библиотеками nashpy и axelrod

Reading time16 min
Views9.3K

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

Это перевод сразу двух статей Mythili Krishnan , аналитика с medium.com

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

+ поучаствуйте в опросе, что вы вообще думаете о теории игр?

Читать далее

DDoS-атаки «для самых маленьких» — ч.2

Reading time22 min
Views14K

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

Читать длиннопост -->

Авторизация OAuth 2.0 от Google, небольшое упущение его разработчиков и Python

Reading time2 min
Views17K

С большинством сервисов Google можно взаимодействовать через открытый API (Application programming interface). Чтобы использовать возможности взаимодействия по максимуму, требуется пройти полную авторизацию (OAuth 2.0). Но в отличие от подобных процедур авторизации, скажем, в API ВК, с Google всё несколько сложнее, особенно учитывая небольшое упущение его разработчиков. В самой документации API Google, как будто, не вполне достаточно информации для успешной полной авторизации. Обобщение моего опыта и составило основу изложения шести шагов успешной полной авторизации.

Читать далее

Python import, как и для чего?

Level of difficultyEasy
Reading time4 min
Views102K

Подходы использования import в языке программирования Python.

Статья направлена на освящение подходов импортирования в Python для начинающих программистов. Она так же может быть полезна для уже имеющих опыт в разработке на данном языке программирования.

Читать далее

Сводные таблицы в Pandas — швейцарский нож для аналитиков

Reading time3 min
Views49K

Сводные таблицы хорошо известны всем аналитикам по Excel. Это прекрасный инструмент, который помогает быстро получить различную информацию по массиву данных. Рассмотрим реализацию и тонкости сводных таблиц в Pandas.

Читать далее

С 0 до 430 000 рублей в месяц. Опыт развития SAAS-сервиса в России. Медленно все

Reading time14 min
Views4.3K

Меня зовут Максим Кульгин, моя компания clickfraud.ru занимается защитой от скликивания рекламы. Стартовали мы в конце 2019 года, сейчас вышли на выручку ~430 000 рублей в месяц, получили грант 4 млн. руб. и мы все еще стартап. Хочу поделиться с вами опытом развития бизнеса с самого начала.

Я подготовил статью в виде вопросов-ответов, т.к. полагаю, что так проще систематизировать информацию. Постарался осветить основные моменты, с которыми сталкивались в процессе работы и, надеюсь, развеял некоторые мифы. Наверное что-то забыл, отвечу в комментариях или пишите в Телеграм - ссылка в конце статьи. Уверен, что мы наделали (и еще наделаем) огромную массу ошибок и оглядываясь назад многое я бы сделал сейчас по другому.

В тексте не будет привычных и любимых :) читателями терминов - trello, scrum, agile, stable diffusion, chatGPT, k8s, мозговой штурм, стратегический маркетинг, выгорание и т.п. У нас все как-то сильно проще, может быть по этому и долго? Но пишу как есть...

Итак...

Идея бизнеса? Случайность на 100%. В конце года ко мне в офис (мы в Питере) зашел товарищ и пожаловался, что на его проекте по рекламе кликают до 30% ботов. Затраты на контекстную рекламу ~10 млн. в месяц (я не ошибся в цифрах, сфера — продажа мебели) и потери, мягко говоря, ощутимы. Как он это понял? Ребята добавили Google reCapcha на сайт для дополнительного анализа сессий и немного удивились результатам. Предложил нам подумать и сделать сервис, который помогал бы анализировать трафик и отключать рекламу явным ботам. Стали нашими первыми клиентами.

Читать далее

Трассировка лучей. Часть 0. Введение

Reading time3 min
Views10K

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

Читать далее

10 способов увеличить продажи: плюсы, минусы, подводные камни

Reading time8 min
Views4.2K

Цель любой компании — постоянный рост продаж. Достичь ее позволяют разные подходы и инструменты. Алена Бирюкова, руководитель отдела прогрева, и Артем Елисов, коммерческий директор Completo, поделились рабочими механиками, которые чаще всего выбирает для себя бизнес. Также они рассказали о нюансах внедрения и дали собственные рекомендации — как увеличить продажи в 2023 году.

Читать далее

Information

Rating
6,174-th
Registered
Activity