Pull to refresh
-2
0
Рита Ибрагимова @Xao

developer

Send message

SwiftUI уроки (часть 14)

Reading time15 min
Views1.5K

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

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

Замки, драконы и сундуки: как возник классический сеттинг игрового фэнтези? Часть 4: рождение Dungeons & Dragons

Level of difficultyEasy
Reading time8 min
Views7K

К началу 1970-х годов в США оформилось большое и активное сообщество игроков в настольные игры — которое в значительной степени пересекалось с любителями всё более популярного тогда жанра фэнтези. Ранние настолки происходили из военных игр, использовавшихся с XIX века для подготовки офицеров — и долгое время они изображали исключительно реальные или теоретические боевые столкновения. Идея сделать настолку в жанре фэнтези появилась у человека по имени Гэри Гайгэкс после того, как он реализовал настольную игру про средневековые бои — и решил добавить в неё фэнтезийных войск. Когда к этой концепции добавилась идея отдельных юнитов-героев и ролевого отыгрыша — на свет появилась Dungeons & Dragons. Мать всех современных ролевых игр и основа для сферического в вакууме фэнтезийного сеттинга, который во многом именно благодаря ей возник из множества разных миров, разных авторов.

Все части цикла статей о возникновении классического сеттинга игрового фэнтези:
Читать дальше →
Total votes 49: ↑48 and ↓1+59
Comments5

Git. Руководство по оформлению веток и коммитов

Level of difficultyEasy
Reading time8 min
Views22K

Статей на тему что такое git и как им пользоваться на просторах интернета не мало. Я же хочу предложить вам несколько иной взгляд на привычные вещи, а именно, на оформление веток и коммитов, рассмотреть что такое WIP-коммиты, для чего они нужны и как с помощью них можно повысить свою продуктивность и поддерживать чистоту в истории вашего репозитория, в особенности, если вы работаете в команде. Поехали.

Познать истину
Total votes 17: ↑15 and ↓2+13
Comments16

iOS-разработчики в 2024 году: какие нужны скилы и как проходит процесс найма

Level of difficultyEasy
Reading time7 min
Views2.8K

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

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments6

Учишь русский, учишь Java, едешь в Россию работать, или Как я «зашёл в ИТ» 10 лет назад

Reading time12 min
Views21K

Писатель Дмитрий Глуховский как-то предложил водителю автобуса из Саратова свой вариант карьерного плана в ИТ. Моя карьера сложилась почти по этому плану. Только я учил Java.

Hola, Хабр. Меня зовут Джулио, я ведущий бэкенд-разработчик в IBS. Я родился и вырос в Перу, но уже несколько лет живу и работаю в России.

Я приехал сюда студентом 23 года назад, изучал радиофизику в питерском университете, несколько лет работал техническим переводчиком и менеджером проектов по информационной безопасности, а потом решил «зайти в айти». Работал в ИТ-компаниях в России, Перу и Польше. Меньше чем за 10 лет прошёл путь от джуна до сеньора.

Эта статья о том, как я «зашёл в айти», когда ещё не существовало Скиллбокса и Яндекс Практикума. Расскажу, как учился программированию десять лет назад, чем отличаются собеседования в ИТ-компаниях Перу и России и кому не стоит становиться разработчиком.

Читать далее
Total votes 65: ↑64 and ↓1+76
Comments31

Под капотом загрузчика

Level of difficultyMedium
Reading time18 min
Views11K

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

Мы, сервисные инженеры, сталкиваемся с GRUB2 ежедневно. А вот когда стало любопытно посмотреть на загрузчик комплексно, то в интернете и в учебнике Linux нашли лишь несколько команд: как заново проинсталлировать загрузчик и обновить текущую конфигурацию. «А почему так мало?», — была наша первая мысль.  Решили восполнить пробел — так появилась эта статья. А для иллюстрации попросили нейросетку изобразить, «как выглядят эпичные проблемы с GRUB» -- вот что вышло.

Читать далее
Total votes 26: ↑26 and ↓0+39
Comments21

Всё что нужно знать про ECS

Reading time30 min
Views92K

Привет, Хабр! В этой статье я расскажу всё, что знаю про Entity-Component-System и попытаюсь развеять различные предубеждения об этом подходе. Здесь вы найдете много слов о преимуществах и недостатках ECS, об особенностях этого подхода, о том как с ним подружиться, о потенциальных граблях, о полезных практиках, а также в отдельном разделе коротко посмотрим на ECS фреймворки для Unity/C#.

Окунуться в мир ECS
Total votes 35: ↑34 and ↓1+36
Comments27

Измерение продуктивности разработчиков. Ответ McKinsey

Level of difficultyMedium
Reading time15 min
Views7.7K

«На прошлой неделе McKinsey опубликовала статью под названием «Да, вы можете измерить продуктивность разработчиков программного обеспечения». Эта статья вызвала настоящий переполох в сообществе разработчиков ПО. Кент Бек — инженер-программист и создатель экстремального программирования —написал что «Отчет настолько абсурден и наивен, что нет смысла подробно его критиковать».

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

Но что-то было не так. Через несколько часов после публикации этой статьи я уже созванивался с Кентом, поскольку мы пытались определитьточно почему мы оба были разочарованы этим отчетом. Мы почти сразу оказались на одной волне и решили, что можем помочь сообществу разработчиков программного обеспечения, изложив словами то, что мы обсуждали. Ниже приведен наш ответ, написанный мной и Кентом Беком, одним "общим голосом".

Читать далее
Total votes 13: ↑8 and ↓5+5
Comments16

Сам себе экосистема: итоги. Как работают мои самопальные клиенты ВК, YouTube, Telegram на смартфонах 13-летней давности

Reading time6 min
Views11K
image

Рубрика «сам себе экосистема» уже успела стать постоянной в моем блоге. Для тех, кто читает меня в первый раз, расскажу: одним из основных направлений блога всегда был моддинг и попытка использования устройств прошлых лет в современных реалиях. Именно поэтому я пишу клиенты нужных мне сервисов с нуля, дабы иметь возможность пользоваться такими замечательными смартфонами, как Xperia Pro, Xperia Play, Desire Z и конечно же Motorola Droid, а в статьях я делюсь с вами не только причинами своей мотивации, но и рассказываю, как разрабатываются приложения для 10+ летних смартфонов с нуля и с минимальным набором зависимостей и детали реализации тех или иных фишек. В сегодняшнем материале мы подведем с вами промежуточные итоги и узнаем, справляются ли смартфоны 14 летней давности с современными сервисами?
Читать дальше →
Total votes 43: ↑42 and ↓1+56
Comments40

Краткое сравнение популярных функций измерения времени

Level of difficultyEasy
Reading time11 min
Views5.9K

Какую реальную точность можно ожидать от функции возвращающей время, а сколько времени она выполняется сама? Попытка замерить и сравнить несколько десятков функций, доступных программисту на C++.

Вот что получилось
Total votes 27: ↑27 and ↓0+31
Comments13

Как создать аудиоплеер. Часть 2. Использование ExoPlayer

Level of difficultyMedium
Reading time6 min
Views2.5K

Всем привет! Меня зовут Дмитрий Булгаков, я Android-разработчик в HiFi-стриминге Звук, и я продолжаю рассказывать вам о том, как можно создать аудиоплеер в приложении. Во второй части гайда мы поговорим об использовании ExoPlayer.

Добро пожаловать на разбор!

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

Машинное обучение в браузере

Reading time9 min
Views4.4K

Меня зовут Алексей, сегодня мы с вами поговорим, как можно ускорить вычисления машинного обучения веб приложения с помощью WASM, WebGL или WebGPU.

Когда фронтенд‑разработчик слышит о машинном обучении в браузере, первое, что приходит ему на ум, это вопрос: «Как это может быть применено? Мы же работаем в браузере на JS, который, как известно, медленный (по сравнению с компилируемыми языками)».

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

Doom. Часть 4. Технические ограничения как стимул творческого потенциала на примере 12 вадов

Level of difficultyEasy
Reading time8 min
Views5.5K

Как известно 640 КБ должно было хватить всем, но прогресс пошёл другим путём и ныне только пустой файл проекта на каком-нибудь Unity многократно превышает указанный объём, как и, например, размер картриджа, в который в своё время Blizzard умудрились уместить Rock n' Roll Racing (1993) в версии для Sega Genesis, или же, иной раз, одна картинка для статьи на Хабре.

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

«А поменяйте мне фсе зубы» — история пациента с Хабра

Reading time17 min
Views40K
Тут мы продолжаем рассказывать про то, как вы взаимодействуете с нашими уютными клиниками. Иван (имя пациента изменено) пришёл к нам после долгого и вдумчивого чтения блога на Хабре, а до этого лет десять, наверное, не был вообще ни у каких стоматологов.

Когда он впервые сел ко мне в кресло, у него не было вообще ни одного целого зуба. Это не преувеличение ради красного словца — реально ни одного! Спустя год и примерно пятьдесят визитов в клинику у Вани улыбка, как говорится, — на миллион! Точнее, на три.

Он сам захотел рассказать здесь свою историю. Поэтому вот.

image
Это Иван, он прошёл зубной квест на хард-левеле и радуется

Сначала будут Ванины впечатления, а потом я, Леван, его ортопед, расскажу, как мы реставрировали его зубы. И заодно про то, как мы работали со сложным пациентом, который мог сорваться и уйти в закат с любого приёма, плюс дополнительно у нас не возникла симпатия с первого раза, что неудивительно, если знать его анамнез.
Читать дальше →
Total votes 118: ↑106 and ↓12+120
Comments230

С 200 до 500 знаков в минуту — 4 года учусь писать код быстрее. Рассказываю о самых эффективных методах в статье

Level of difficultyEasy
Reading time8 min
Views7.2K

Опытные разработчики каждый день пишут тонны кода (а еще более опытные не пишут его совсем), и если ты хочешь быть продуктивным — нужно учиться писать быстрее. Сегодня на связи — Даниил Лихачев, python-разработчик в ДАЛЕЕ. Делюсь известными и не очень способами по ускорению написания кода. 

Читать далее
Total votes 20: ↑11 and ↓9+4
Comments43

Сравнение алгоритмов ограничения частоты запросов

Level of difficultyMedium
Reading time7 min
Views6.8K

▍ Зачем ограничивать частоту?


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

Видео


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

Конечные точки API тоже часто ограничивают по частоте запросов, чтобы их ресурсы не монополизировал единственный пользователь. Представьте, что вам нужно, чтобы пользователи могли обращаться к затратной конечной точке не чаще ста раз в минуту. Это можно отслеживать при помощи счётчика, обнуляющегося каждую минуту. Все запросы после сотого в пределах этой минуты будут блокироваться. Это один из простейших алгоритмов ограничения частоты, называющийся fixed window limiter (ограничитель с фиксированным окном). Это распространённый способ управления трафиком к сервису.

Но не всегда всё так просто.

Когда начинается и заканчивается каждое одноминутное окно? Если я запущу поток запросов ближе к концу окна, смогу ли превысить лимит? Ёмкость окна восстанавливается по одному запросу за раз, или сразу на всё количество?

В этом посте мы рассмотрим три самых популярных алгоритма, чтобы ответить на каждый из этих вопросов.
Читать дальше →
Total votes 34: ↑34 and ↓0+53
Comments4

Corepack в Node.js: возможности и перспективы

Level of difficultyMedium
Reading time6 min
Views3.7K

Привет!

Меня зовут Алексей Голодников, я фронтенд-разработчик в ЮMoney. Недавно я рассказывал на митапе Frontend Mix про обновление наших веб-приложений до Node.js 20. После доклада в секции вопросов подняли тему Corepack, и я решил рассказать о нём подробнее.

Corepack — это инструмент, который поставляется вместе с Node.js, начиная с версий 14.19.0/16.9.0. Он помогает упростить работу с популярными альтернативными менеджерами пакетов, такими как yarn и pnpm. В этой статье рассмотрим, как работает Corepack, какие у него преимущества и недостатки, а также узнаем мнения разработчиков Node.js и npm об этом инструменте и его будущем в экосистеме.

Читать далее
Total votes 5: ↑4 and ↓1+5
Comments3

Главная тайна Солнца: почему корона звезды жарче ее поверхности

Reading time8 min
Views4K

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

Солнечные аномалии

Солнечная корона — это внешняя наиболее горячая и разреженная часть атмосферы Солнца, простирающаяся от его хромосферы до Земли и далее. От поверхности Солнца она отделена сравнительно тонким переходным слоем, температура которого резко возрастает примерно в 100 раз с 4 000–15 000 К до 1 000 000–2 000 000 К. Своих максимальных значений она достигает на высоте примерно 1/10 радиуса Солнца, а затем начинает снижаться.

На орбите Земли она составляет примерно 100 000 К. В то же время, в активных областях Солнца температура повышается примерно на 500 000 К, а при вспышках на Солнце может достигать десятков миллионов градусов Кельвина. При этом верхняя граница короны Солнца до сих пор точно не установлена, а ее оптическое излучение прослеживается на десятки миллионов километров. Есть и другие интересные критерии солнечной короны.

Читать далее
Total votes 19: ↑10 and ↓9+7
Comments12

Как не бояться задавать глупые вопросы и копать вглубь

Level of difficultyEasy
Reading time5 min
Views3.7K

В апреле мы провели Naumen Analyst Meetup, на котором обсудили важные для аналитиков навыки. Например, способности эффективно общаться с заказчиком, доходчиво объяснять, внимательно слушать и самое главное — задавать правильные вопросы. 

Junior-специалистам, как правило, сложнее всего дается последний пойнт. О нем и был доклад Саши Николаева, руководителя группы бизнес-анализа в Naumen,  «Как не бояться задавать глупые вопросы и копать в глубь».

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

Сумасшествие «Артемиды» или почему она обречена на провал

Reading time27 min
Views27K

Более полувека назад, 7 декабря 1972 года, с космодрома на мысе Канаверал стартовала ракета, уносящая к Луне трех астронавтов и луноход. После трехдневного полета двое из них спустились на поверхность Луны в хрупком посадочном модуле. В течение трех дней астронавты исследовали лунный ландшафт, собирали образцы пород и испытывали луноход. Затем они вернулись на орбиту, где их ждал третий член экипажа. Вместе они отправились обратно на Землю, приводнившись в южной части Тихого океана 19 декабря 1972 года. Эта миссия, получившая название «Аполлон-17», стала последним на сегодняшний день случаем, когда человек покидал пределы низкой околоземной орбиты.

NASA планирует вернуть американских астронавтов на Луну в конце 2026 года в рамках миссии «Артемида-3». Подобно «Аполлон-17», два астронавта проведут около недели на лунной поверхности, собирая образцы и делая памятные селфи. Однако, в отличие от исторической миссии, «Артемида-3» будет осуществлена без лунохода.

Несмотря на внешнюю схожесть с «Аполлон-17», «Артемида-3» значительно отличается по сложности и стоимости. В то время как «Аполлон-17» была запущена одной ракетой и стоила $3,3 миллиарда (в пересчете на 2023 год), «Артемида-3» потребует десятка запусков тяжелых ракет и обойдется в астрономическую сумму, которую NASA отказывается раскрывать. По оценкам экспертов, стоимость миссии может достигать 7–10 миллиардов долларов.

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

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

Читать далее
Total votes 109: ↑93 and ↓16+102
Comments364

Information

Rating
Does not participate
Location
Уфа, Башкортостан(Башкирия), Россия
Date of birth
Registered
Activity