Forwarded from iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT
👾Самое время собрать свою команду из IT-акул: Открыта регистрация на самый масштабный онлайн-хакатон в мире!
💸 40 млн рублей призового фонда:
— 1 млн рублей — для тех, кто займёт первое место
— 600 тысяч — второе
— 400 тысяч — третье
💼 20 актуальных задач от ведущих компаний страны: Газпромбанк.Тех, VK Tech, Kaspersky, АФЛТ-Системс (Группа «Аэрофлот»), Союзмультфильм, Авито, Итэлма.
⏳ 14 дней на разработку решений
Принять участие могут:
✔️ граждане РФ и других стран от 18 лет
✔️ специализация: Front / Back / FullStack, Web-разработчика, UX / UI дизайнеры, Product / Project-менеджеры, Data Scientists, Data Engineers, аналитики и другие специалисты
✔️ местоположение — неважно, всё проходит онлайн
Других ограничений нет!
📅 Успейте зарегистрироваться до 18 сентября!
Регистрация по ссылке 👉🏻 https://i.moscow/lct?utm_source=sp&utm_medium=social&utm_campaign=iosgr/?erid=2VtzqvskcDx
📲 А больше новостей и подробностей — на нашем канале, подписывайтесь: https://t.me/leaders_hack
💸 40 млн рублей призового фонда:
— 1 млн рублей — для тех, кто займёт первое место
— 600 тысяч — второе
— 400 тысяч — третье
💼 20 актуальных задач от ведущих компаний страны: Газпромбанк.Тех, VK Tech, Kaspersky, АФЛТ-Системс (Группа «Аэрофлот»), Союзмультфильм, Авито, Итэлма.
⏳ 14 дней на разработку решений
Принять участие могут:
✔️ граждане РФ и других стран от 18 лет
✔️ специализация: Front / Back / FullStack, Web-разработчика, UX / UI дизайнеры, Product / Project-менеджеры, Data Scientists, Data Engineers, аналитики и другие специалисты
✔️ местоположение — неважно, всё проходит онлайн
Других ограничений нет!
📅 Успейте зарегистрироваться до 18 сентября!
Регистрация по ссылке 👉🏻 https://i.moscow/lct?utm_source=sp&utm_medium=social&utm_campaign=iosgr/?erid=2VtzqvskcDx
📲 А больше новостей и подробностей — на нашем канале, подписывайтесь: https://t.me/leaders_hack
❤1👎1
Не плачь мама, что твой сын без работы. Пусть плачут те, чьи сыновья крутят опыт
(По мотивам статусов из "Одноклассников" и ВК)
(По мотивам статусов из "Одноклассников" и ВК)
👍4✍1👎1🤣1
Forwarded from Амади и проекты
"SQLite - это буквально база данных в одном файле. Но нет, давайте лучше сожжем 2ГБ оперативной памяти и запустим контейнер PostgreSQL только для того, чтобы хранить наш список покупок"
Люблю такие мемы. Когда делаю пет-проект, почему-то тоже сразу начинаю с постгре. Лучше упрощать максимально разработку MVP. Как Pieter Levels, который делает свои проекты на php и jquery - вот его статья о том, как он делает MVP
Люблю такие мемы. Когда делаю пет-проект, почему-то тоже сразу начинаю с постгре. Лучше упрощать максимально разработку MVP. Как Pieter Levels, который делает свои проекты на php и jquery - вот его статья о том, как он делает MVP
👍3👎1
Альфа-код
Мы с ним как друзья в том фильме
This media is not supported in your browser
VIEW IN TELEGRAM
🤣3👎1
Наверное, многие слышали об этой книге, а некоторые даже читали её. Я её прочитал где-то до глав, в которых рассказывалось об арифметическом сумматоре. Очень доступно и интересно написана эта книга https://ru.hexlet.io/blog/posts/kod-petzold-review
ru.hexlet.io
Рецензия на книгу Чарльза Петцольда «Код. Тайный язык информатики», или Зачем программисту знать, как устроен фонарик
Первые страницы книги Чарльза Петцольда «Код. Тайный язык информатики» меня сильно озадачили. Фонарик, азбука Морзе, шрифт Брайля... Окей, а зачем это мне? И когда будет про компьютеры и код? Примерно с третьей или четвёртой главы картинка начала складываться.
👎2
Forwarded from Evgeniy Kuvshinov (Evgeniy Kuvshinov)
Всем привет! Давно не общались. Хочу объяснить причины долгого затишья и поделиться планами на будущее.
Почему было мало контента?
Последние несколько лет были посвящены трем большим жизненным проектам:
1. Семья: Рождение и воспитание двоих детей.
2. Дом: Полный цикл строительства своего дома (от земли до заселения). Пишу вам теперь из своего кабинета!
3. Работа: Карьерный рост до позиции Teamlead/TechLead/CTO, что отнимало все силы.
Совмещать это с ведением каналов было практически невозможно.
Что изменилось сейчас?
• Дети подросли и этот вопрос делигирован жене.
• Дом построен, есть даже отдельный кабинет.
• Я уволился, отдохнул и готов к новым вызовам.
Новые горизонты и идея для вас
Я возвращаюсь к созданию контента и хочу предложить вам поучаствовать в открытом некоммерческом проекте.
Идея: Совместными усилиями создать скелет фреймворка для построения API. Процесс разработки (планирование, код-ревью, митапы) я буду стримить на YouTube.
Зачем это вам?
• Получить реальный опыт работы в команде.
• Прокачать скиллы и добавить проект в портфолио.
• Принять участие в создание комманды с нуля и вместе набить шишек.
Ваше мнение?
Если вы готовы принять в этом участие и потратить свое время, поставьте, пожалуйста, ❤️ в ответ на это сообщение. Это поможет мне оценить интерес и подготовить детальный анонс.
Если вам интересна эта затея как зрителю то 👍
Спасибо, что вы со мной уже более 6 лет!
Почему было мало контента?
Последние несколько лет были посвящены трем большим жизненным проектам:
1. Семья: Рождение и воспитание двоих детей.
2. Дом: Полный цикл строительства своего дома (от земли до заселения). Пишу вам теперь из своего кабинета!
3. Работа: Карьерный рост до позиции Teamlead/TechLead/CTO, что отнимало все силы.
Совмещать это с ведением каналов было практически невозможно.
Что изменилось сейчас?
• Дети подросли и этот вопрос делигирован жене.
• Дом построен, есть даже отдельный кабинет.
• Я уволился, отдохнул и готов к новым вызовам.
Новые горизонты и идея для вас
Я возвращаюсь к созданию контента и хочу предложить вам поучаствовать в открытом некоммерческом проекте.
Идея: Совместными усилиями создать скелет фреймворка для построения API. Процесс разработки (планирование, код-ревью, митапы) я буду стримить на YouTube.
Зачем это вам?
• Получить реальный опыт работы в команде.
• Прокачать скиллы и добавить проект в портфолио.
• Принять участие в создание комманды с нуля и вместе набить шишек.
Ваше мнение?
Если вы готовы принять в этом участие и потратить свое время, поставьте, пожалуйста, ❤️ в ответ на это сообщение. Это поможет мне оценить интерес и подготовить детальный анонс.
Если вам интересна эта затея как зрителю то 👍
Спасибо, что вы со мной уже более 6 лет!
👎2👍1
Evgeniy Kuvshinov
Всем привет! Давно не общались. Хочу объяснить причины долгого затишья и поделиться планами на будущее. Почему было мало контента? Последние несколько лет были посвящены трем большим жизненным проектам: 1. Семья: Рождение и воспитание двоих детей. 2. Дом:…
Может кому интересно. Проект на PHP
👎2
Forwarded from Николай Тузов
Начало 1980-х. Вы — разработчик в Apollo Computer. Ваша команда работает над NCS — одной из первых систем для распределённых вычислений.
Вам поручили решить важную проблему:
- У вас есть множество серверов в разных городах
- Каждый из них может регистрировать новых пользователей
- Каждому новому пользователю нужен уникальный ID во всей распределённой системе. Иначе при синхронизации или обращении по сети будет непонятно, о каком из них речь
На одной машине всё просто — даём каждому объекту порядковый номер: 1, 2, 3... Но если два сервера независимо дадут номер 1 своим объектам — получим коллизию
Начинаем думать.
————
Попытка 1: Центральный сервер со счётчиком
Самое очевидное решение — один сервер раздаёт ID всем остальным:
Машина A → Центр: "Дай ID"
Центр → Машина A: "Держи ID=1"
Машина B → Центр: "Дай ID"
Центр → Машина B: "Держи ID=2"
Выкатываем в прод. Работает идеально! Гарантированно уникальные ID, никаких коллизий.
Но через неделю начинаются проблемы:
- Центральный сервер упал — вся система встала
- Каждый запрос ID требует сетевого обращения — медленно
- При росте нагрузки центр становится узким местом
Для распределённой системы, где важна автономность узлов, это не подходит. Переделываем.
————
Попытка 2: Диапазоны для каждой машины
Хорошо, давайте заранее раздадим каждой машине свой диапазон ID:
Машина A: ID от 1 до 1,000,000
Машина B: ID от 1,000,001 до 2,000,000
Машина C: ID от 2,000,001 до 3,000,000
Это уже лучше — каждая машина действительно автономна!
Выкатываем. На первый взгляд работает.
Но потом выясняется:
- Машина A исчерпала свой диапазон, нужно запрашивать новый → опять зависимость от центра
- Машина B создала только 10 объектов из миллиона, остальные ID потрачены впустую
- Добавление новых машин требует центральной координации для выдачи диапазонов
Опять возвращаемся к центральной точке отказа. Это не то.
————
Попытка 3: Составные ключи
Может использовать комбинацию machine_id + local_counter?
Для machine_id можно взять MAC-адрес сетевой карты — он уникален глобально.
Машина A, объект 1: "A-1"
Машина A, объект 2: "A-2"
Машина B, объект 1: "B-1"
Это уже лучше — каждая машина действительно автономна!
Выкатываем.. И получаем пачку новых проблем:
- Машина перезагрузилась, забыла свой счётчик — получили коллизию ID
- На каждой машине нужно хранить своё состояние счётчика, это усложняет систему
Попытка 4: Время + ID машины
А что если вместо счётчика использовать текущее время?
timestamp + MAC-адрес
- Время монотонно растёт — коллизий на одной машине не будет
- MAC-адрес уникален глобально — коллизий между машинами не будет
- Не нужно хранить счётчик!
Но проблемы ещё остались: что если часы на машине сбросились? Или две операции произошли в одну микросекунду? На нагруженных системах это не редкость — при тысячах запросов в секунду коллизии по времени станут регулярным явлением.
————
Как же сложно!
Вы сидите, смотрите на свои наброски и думаете: может проблема в самом подходе?
И тут к вам подходит коллега из команды криптографии
Вы излагаете ему свою боль, после чего он пожимает плечами и задумчиво произносит:
— Слушай, а зачем тебе гарантировать уникальность на 100%? Может, сделать вероятность коллизии настолько малой, что ей можно пренебречь?
...
...
???
Интересная мысль, давайте посчитаем!
Возьмём для ID 128 бит — это немного, в память влезет.
Сколько это вариантов?
2^128 = 340,282,366,920,938,463,463,374,607,431,768,211,456
Это 340 ундециллионов. Число настолько огромное, что его сложно осознать.
Коллега-математик, с которым вы ходите вместе обедать помогает с прочувствовать масштаб:
— Представь: 10 триллионов компьютеров (это больше, чем людей на Земле) генерируют по миллиарду UUID каждую секунду. Непрерывно. В течение 100 лет. Даже в этом сценарии мы истратим меньше одной миллионной доли всех возможных комбинаций.
Впечатляет! Но как быть с парадоксом дней рождения?
Обсудим это далее
#guide #uuid
Please open Telegram to view this post
VIEW IN TELEGRAM
👎2
Forwarded from Заметки разработчика
Выбор стратегии ветвления Git: анализ и практические рекомендации
Ваша команда тратит часы на разрешение конфликтов при слиянии веток? Или, может, вы только начинаете и не знаете, как организовать процесс? 🤨 Стратегия ветвления в Git — это не догма, а рабочий инструмент, и его выбор сильно влияет на скорость и качество разработки.
В свежей статье разбираем четыре основные стратегии:
• Git Flow — для строгого контроля версий
• GitHub Flow — для непрерывного развертывания
• GitLab Flow — разумный компромисс
• Trunk-Based Development — для зрелых команд с безупречной дисциплиной
Плюс практические критерии выбора: частота релизов, зрелость тестов, размер команды. Узнайте, какая модель снимет боль именно в вашем проекте.
🖥 Читать статью
📱 @dev_notes_ru
#Git #DevOps
Ваша команда тратит часы на разрешение конфликтов при слиянии веток? Или, может, вы только начинаете и не знаете, как организовать процесс? 🤨 Стратегия ветвления в Git — это не догма, а рабочий инструмент, и его выбор сильно влияет на скорость и качество разработки.
В свежей статье разбираем четыре основные стратегии:
• Git Flow — для строгого контроля версий
• GitHub Flow — для непрерывного развертывания
• GitLab Flow — разумный компромисс
• Trunk-Based Development — для зрелых команд с безупречной дисциплиной
Плюс практические критерии выбора: частота релизов, зрелость тестов, размер команды. Узнайте, какая модель снимет боль именно в вашем проекте.
#Git #DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👎1🤣1