Как стать автором
Обновить
0
0

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

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

Руководство по Supabase. Часть 1

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



Привет, друзья!


В этом цикле из 2 статей я хочу рассказать вам о Supabase — открытой (open source), т.е. бесплатной альтернативе Firebase. Первая статья будет посвящена теории, во второй — мы вместе с вами разработаем полноценное social app с аутентификацией, базой данных, хранилищем файлов и обработкой изменения данных в режиме реального времени.


Что такое Supabase?


Supabase, как и Firebase — это SaaS (software as a service — программное обеспечение как услуга) или BaaS (backend as a service — бэкенд как услуга). Что это означает? Это означает, что при разработке fullstack app мы разрабатываем только клиентскую часть, а все остальное предоставляется Supabase через пользовательские комплекты для разработки программного обеспечения (SDK) и интерфейсы прикладного программирования (API). Под "всем остальным" подразумевается сервис аутентификации (включая возможность использования сторонних провайдеров), база данных (PostgreSQL), файловое хранилище, realtime (реакцию на изменение данных в реальном времени), и сервер, который все это обслуживает.


Если вам это интересно, прошу под кат.

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

От Firebase к Self-Hosted

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

Приложению cara.app пришёл счет от Vercel на 96280$. Многие стартапы начинают с Vercel и Firebase, затем из нежелания платить гуглу уходят на свои сервера

Поговорим с нюансами про стэк технологий и оценим усилия на миграцию на свои сервера. Разберём на примере Go с k8s и инфраструктурой мониторинга, но без Firebase (Github)

Читать далее

Как я попал на стажировку аналитиком в Яндекс и как к ней готовился

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

Привет, Хабр! Меня зовут Раф. Сейчас я работаю аналитиком ценообразования в Яндекс Лавке, куда попал после стажировки в команде аналитики Яндекс Браузера. Параллельно учусь в НИУ ВШЭ и уже успел пройти курс «Специалист по Data Science» в Практикуме.

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

Читать далее

Как понять Unity3d, если ты .NET разработчик

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

Ловили ли вы себя когда-нибудь на мысли, что, будучи C# .NET разработчиком, вы можете попробовать начать разрабатывать игры на Unity3d? Ведь язык используется тот же. А точно ли тот же? Точно ли код, написанный для .NET, может без проблем быть скопирован для выполнения в Unity3d приложении? Давайте в этом разберемся и поймем, какие дополнительные знания необходимы C# .NET разработчику, чтобы с комфортом разрабатывать игры.

Читать далее

Как я создавал homelab для учебы на DevOps-инженера

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

DevOps-практики, как известно, требуют освоения длинного ряда инструментов, и если с каким-нибудь git можно экспериментировать практически на любой машине, то Nexus или Jenkins надо ставить на сервер. Они требовательны к ресурсам, и бесплатным t2.micro на AWS не обойтись. Конечно, можно получить 3 month trial от Google Cloud, но он потребуется позже для игр с managed Kubernetes. Так что я решил сделать из своего десктопа homelab. Дальше о том, что я сделал, с какими проблемами столкнулся и как их решил.

Читать далее

Алгоритмы балансировки нагрузок

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

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

В этом посте мы рассмотрим способы, которыми один балансировщик нагрузок может распределять HTTP-запросы на множество серверов. Мы начнём снизу и проделаем весь путь вверх до современных алгоритмов балансировки нагрузок.
Читать дальше →

Коронавирус: долгожданное извержение правды

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

Комитет Палаты представителей США опубликовал 520-страничный отчёт по COVID-19. И это, конечно, нега для людей, на которых в период пандемии навесили ярлык ковид-диссидента. Тобишь для таких как я. Итак, прямые цитаты из анонса на сайте американского правительства...

Про мандаты на маски: «не было убедительных доказательств того, что маски эффективно защищают американцев от COVID-19. Должностные лица органов здравоохранения наперебой рассказывали об эффективности масок, не предоставляя американцам научных данных, что вызвало массовый рост общественного недоверия».

Про социальную изоляцию:  «рекомендация по социальной дистанции "6 футов друг от друга", из-за которой по всей стране закрывались школы и малые предприятия, была произвольной и не основанной на научных данных. Во время дачи показаний за закрытыми дверями доктор Фаучи заявил, что руководство "как бы просто появилось"».

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

Про цензуру: «представители органов здравоохранения распространяли дезинформацию, используя противоречивые сообщения, поспешные реакции и отсутствие прозрачности. Администрация Байдена даже использовала недемократические и, скорее всего, неконституционные методы — в том числе заставляла компании социальных сетей цензурировать определенный контент COVID-19 — для борьбы с тем, что она считала дезинформацией».

Читать далее

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

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

Всем привет! Меня зовут Максим, я работаю системным инженером в Yandex Cloud и в Яндекс Практикуме на курсе «Системный администратор». В этой статье я опишу свой субъективный взгляд на путь развития системного инженера (DevOps‑инженера, SRE, системного администратора).

Системный инженер — ключевой игрок в создании и поддержании сложных информационных систем. Он объединяет в себе знания из различных областей: от аппаратной части и инфраструктуры до программного обеспечения и сетей.

В дополнение к этой статье я создал:

- диаграмму на roadmap.sh;

- git‑репозиторий со ссылками на ресурсы для изучения (жду ваших пул‑реквестов).

Читать далее

Заметка про реализацию системы способностей в играх

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

Разработчики игр нередко сталкиваются с необходимостью или желанием реализовать систему способностей в своих проектах. Не редки случаи, когда не понятно ни как подступиться в начале, ни как уже потом добавить в игру новую "гениальную" способность, о которой "ранее не договаривались", не сломав уже добавленные. Как минимум, через эти сложности я и сам успел пройти не один раз на сингловых и мультиплеерных проектах. О том, что я успел для себя понять, эта заметка.

Читать далее

Современное хранение игрового прогресса в контексте Unity

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

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

Читать далее

Давайте уберём кватернионы из всех 3D-движков

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

Для записи трёхмерных поворотов программисты графики используют кватернионы. Однако в кватернионах сложно разобраться, потому что изучают их поверхностно. Мы просто принимаем на веру странные таблицы умножения и другие загадочные определения, и используем их как «чёрные ящики», поворачивающие векторы так, как нам нужно. Почему $\mathbf{i}^2=\mathbf{j}^2=\mathbf{k}^2=-1$ и $\mathbf{i} \mathbf{j} = \mathbf{k}$? Почему мы берём вектор и превращаем его в «мнимый» вектор, чтобы преобразовать его, например $\mathbf{q} (x\mathbf{i} + y\mathbf{j} + z \mathbf{k}) \mathbf{q}^{*}$? Да кому это интересно, если всё работает, правда?

Существует способ описания поворотов под названием ротор, который относится к области и комплексных чисел (в 2D), и кватернионов (в 3D), и даже обобщается до любого количества измерений.

Мы можем создавать роторы практически полностью с нуля, вместо того, чтобы определять из ничего кватернионы и пытаться объяснить, как они работают задним числом. Это занимает больше времени, но мне кажется, что это стоит того, потому что их гораздо легче понять!

Кроме того, для визуализации и понимания трёхмерных роторов не нужно использовать четвёртое пространственное измерение.

Было бы здорово, если бы начали вытеснять использование и изучение кватернионов, заменяя их роторами. Заменить их очень просто, а код останется почти таким же. Всё, что можно делать с кватернионами, например, интерполяцию и устранение блокировки осей (Gimbal lock), можно сделать и с роторами. Но понимать мы начинаем гораздо больше.
Читать дальше →

Генерация тестовых данных и нагрузочные K6 тесты для сервиса поиска

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

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

Читать далее

50 оттенков нагрузочного тестирования

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

С нарастающими скоростями и распределёнными системами всё сложнее бывает создать приложение удобным для конечного пользователя. Программы обладают кучей фич. Но выполняют ли они то, что нужно юзерам? А скорость их выполнения достаточная? А производительность при выполнении не хромает? На эти вопросы помогает ответить нагрузочное тестирование (НТ).

Меня зовут Саша, я работаю в команде тестирования Ozon Fintech и расскажу про разнообразный спектр вариантов НТ: как именно мы его применяем и какие инструменты используем. Статья будет полезна тем, кто уже что-то слышал про НТ и хочет добавить его в свой проект, но пока страшновато. Давайте разбираться!

Читать далее

Все английские времена в одной простой схеме

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

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

Как это часто бывает, по-настоящему понимаешь какую-то тему, только когда начинаешь рассказывать о ней другим («метод Фейнмана»). Несколько друзей, позавидовав моим «успехам», попросили помочь разобраться с английским. Тут и обнаружилось, что хотя я уже успешно использую английский в повседневной работе, обучать ему кого-то ещё — это совершенно отдельный навык.

Первоначальная идея. Сначала разъяснить все английские времена за один присест удавалось, надёргав различных идей из интернета: обрывки чьих-то схем, начинали склеиваться в свою схему и обрастать собственными легендами, а применение времён почти всегда было проще пояснить, используя хрестоматийную «систему английских времен с точки зрения употребления глагола “to vodka”». С каждой новой импровизированной лекцией, схема и нарратив продолжали меняться. «Ученики» попадались с различным базовым уровнем, что позволило понять, откуда нужно начинать плясать, чтобы урок был понятен всем, кто хоть раз слышал что-то про глаголы have и be. Когда счёт обученных уже пошёл на десятки, я решил оформить идею в более стройную лекцию. От первых попыток преподавания английских времён, до этого момента прошло пять лет. За это время было обучено ещё пару сотен человек. Обучено — по приколу. Денег за эти уроки я не брал.

Читать далее

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

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

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

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

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

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

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

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

Читать далее

Книга «Управление памятью в .NET для профессионалов» в правильном переводе команды DotNetRu

Время на прочтение5 мин
Количество просмотров17K
Совсем недавно в издательстве ДМК-пресс на русском языке вышла замечательная книга Конрада Кокосы «Управление памятью в .NET для профессионалов».

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

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


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

k8s: подготовка к CKA

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

Привет всем, на днях как раз получил соответствующий сертификат CKA - Certified Kubernetes Administrator (ID Number: LF-u35sabcfor) и хотел бы поделиться своим опытом подготовки к сдаче экзамена, а так же дать советы и рекомендации по его успешному прохождению. Не претендую на истину в последней инстанции, а лишь делюсь личным опытом и впечатлениями. Возможно кому то будет полезно.

Немного о себе, для понимания контекста - на данный момент я senior devops инженер с 7 годами опыта работы, последние 5 лет работаю с JFrog, а до этого 15 лет опыта в качестве system administrator. Так что т.н. background более чем богатый - 20+ лет. Не могу сказать что без опыта невозможно сдать экзамен, но он значительно облегчает понимание многих тем, и как следствие более успешное прохождение экзамена. Если кто-то сдавал CKA совсем без опыта - поделитесь в комментариях, будет интересно.

Думаю, что о Kubernetes (k8s далее) в IT среде в целом, и в частности в среде devops, не слышал лишь очень ленивый или как любят говорить - "домохозяйки". Он у всех на слуху и многие его используют, насколько правильно и эффективно - это уже отдельный вопрос. На момент написания статьи, есть лишь один официальный центр сертификации по k8s - Cloud Native Computing Foundation (CNCF) в сотрудничестве с The Linux Foundation.

Нужен ли вам этот сертификат и для чего его получать - тут каждый должен ответить для себя сам. Лично мое мнение - сертификат гарантирует, что человек, который его получил понимает предметную область и с ним будет намного легче работать. Естественно сертификат никаким образом не заменит вам опыт работы с k8s, особенно в production среде.

kubectl can-i get cka --as=devops

Сравнение сборщиков мусора в Unity и .NET

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

В этой статье я хотел бы рассказать о различиях между сборкой мусора в Unity (IL2CPP) и .NET. Несмотря на то что IL2CPP существует более 10 лет, я до сих пор встречаю недоумение, когда беседа заходит на тему Garbage Collector (GC) касательно Unity. Считать реализацию GC в .NET, ровно как и в JVM, единственным существующим решением — не верно. А тем более принимать такую реализации как "по умолчанию" используемую в Unity — есть заблуждение. Надеюсь эта статья будет полезной, даст верное понимание и устранит заблуждения. Ну а в конце статьи затронем грядущие серьезные изменения в Unity.

Читать далее

Как я сдавал AWS Cloud Practioner в 2024

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

Всем доброго вечера! Сегодня я хочу рассказать о том, как обстоят дела со сдачей экзаменов AWS в 2024 году, как лучше всего готовиться и к чему быть готовым во время подготовки и сдачи сертификата.

Читать далее

Как построить локальный self-managed Kubernetes-кластер

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

Возможно, у вас была мысль запустить собственную услугу Infrastructure as a Service (IaaS) либо разместить свои проекты на Kubernetes, но не платить за managed-услуги, или ваш проект — это и есть self-managed Kubernetes. У full-stack-разработчика и предпринимателя Нейта Бакареффа эти желания сошлись воедино.

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

Читать далее
1
23 ...

Информация

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