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

developer

Send message

Вычислительные выражения: Реализуем Combine

Level of difficultyHard
Reading time11 min
Views861

Вычислительные выражения — поистине неисчерпаемая тема. Мы научились возвращать пустые значения, а теперь нам предстоит разобраться, как возвращать множественные. Скотт Влащин рассказывает, как использовать метод Combine.

Читать далее
Total votes 2: ↑3 and ↓-1+4
Comments0

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

Reading time4 min
Views1.7K

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

Читать далее
Total votes 7: ↑8 and ↓-1+9
Comments15

Визуализируй это: как я обучаю джунов и ставлю задачи через диаграммы и графики

Level of difficultyEasy
Reading time7 min
Views5.2K

Привет, меня зовут Сергей, я ведущий разработчик в DDoS-Guard и человек из мемов xkcd, который любит всё экстраполировать, истовый фанат визуализации данных. Диаграммы и графики решают кучу моих проблем с онбордингом джунов и объяснением задачи исполнителям. 

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

Читать далее
Total votes 10: ↑11 and ↓-1+12
Comments3

Обзор архитектуры Compose с использованием паттерна «координатор»

Level of difficultyMedium
Reading time9 min
Views2.6K

В этой статье рассмотрим, пример реализации архитектуры UI-слоя на Compose, которая основывается на Uni-directional data flow и state hoisting с использованием паттерна «координатор» для навигации. Вдохновением для меня послужила эта публикация, но я решил подробнее развернуть поднятую в ней тему архитектуры Compose и навигации.

Читать далее
Total votes 11: ↑12 and ↓-1+13
Comments1

Векторные базы данных: простым языком про устройство и принцип работы

Level of difficultyEasy
Reading time11 min
Views6.8K

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

Читать далее
Total votes 22: ↑23 and ↓-1+24
Comments6

Программирование в среде Scratch для детей: знакомство с платформой

Level of difficultyEasy
Reading time7 min
Views1.7K

Программирование — это не только написание кода, но и способ мышления. Учиться ему лучше как можно раньше. Первые шаги в айти-сфере стоит начинать уже в младшей школе. Но это не значит, что в первом классе ребенок будет писать настоящий код. Для обучения можно использовать платформы с визуальным программированием. Здесь важнее понимание логики и закономерностей.

Читать далее
Total votes 5: ↑6.5 and ↓-1.5+8
Comments5

Тренды веб-дизайна 2024: погружение, персонализация и инновации

Level of difficultyEasy
Reading time3 min
Views2.7K

Инновационные способы взаимодействия с аудиторией стали неотъемлемой частью веб-дизайна в 2024 году. Интерфейсы онлайн-сервисов впечатляют и вдохновляют пользователя на конкретные действия и покупки. О том, как именно изменится ниша и какими навыками стоит овладеть, чтобы остаться востребованным специалистом, расскажу я, Даша Кропотова, дизайнер интерфейсов Kokoc Group.

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

Как писать требования к проекту. Шаблон документации

Level of difficultyEasy
Reading time4 min
Views7.3K

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

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

Идеальная документация должна выполнять две основные функции...

Читать далее
Total votes 8: ↑6.5 and ↓1.5+5
Comments3

Чек лист переноса сайта с одного домена на другой

Level of difficultyEasy
Reading time5 min
Views546

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

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

Читать далее
Total votes 1: ↑2 and ↓-1+3
Comments0

Как качественно управлять своим временем (notion шаблон)

Level of difficultyEasy
Reading time3 min
Views4.3K

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

Читать далее
Total votes 4: ↑5.5 and ↓-1.5+7
Comments5

Как внедрить двухфакторную аутентификацию в веб-приложения, не предусматривающие ее изначально

Level of difficultyMedium
Reading time8 min
Views936

Еще в пандемийные годы стало понятно, что жить без двухфакторки на удаленке, как минимум, рискованно. И хоть большинство приложений и обеспечивают 2FA, все-таки существуют сервисы, для которых защищенный доступ из коробки недоступен. Я Саша Зеленов, архитектор Cloud.ru, и сегодня я поделюсь с вами опытом, как мы настроили у себя двухфакторную аутентификацию для веб-приложений, которые сопротивляются прогрессу. 

Читать дальше
Total votes 8: ↑9 and ↓-1+10
Comments1

Пункт назначения — Squadus. Наш опыт переезда на альтернативу Microsoft Teams

Level of difficultyMedium
Reading time8 min
Views2.7K

В марте 2024-го рынок встряхнула новость от Microsoft о грядущем отключении доступа к облачным сервисам компании для корпоративных клиентов из России. Оперативно делая бэкапы, одни побежали искать «обходные пути», вторые — подбирать альтернативы продуктам Microsoft. А я решил обратиться к своему опыту работы с отечественными решениями для унифицированных коммуникаций (UC), чтобы снова поделиться им на Хабре :) 

В прошлом году я рассматривал мессенджер eXpress как альтернативу Zoom. Объектом для изучения в сегодняшней статье я выбрал Squadus вендора «МойОфис». Этот мессенджер уже довольно давно позиционируется в рынке как почти полноценная замена MS Teams. Кроме того, у нас в К2Тех был опыт миграции в Squadus из Teams. 

О том, что такое Squadus и как мы на него переезжали, я и расскажу под катом!

Читать далее
Total votes 39: ↑37 and ↓2+35
Comments17

Как оценивать работу тестировщиков по науке

Level of difficultyMedium
Reading time8 min
Views1.5K

Тестировщик с 50-летним стажем Александр Александров рассказывает про количественное управление процессом тестирования: какие метрики в ИТ-проектах бывают, как можно спрогнозировать количество дефектов в коде и зачем вообще оценивать результаты тестирования по численным KPI.

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

Эволюция обработки данных: от MapReduce к стриминговому движку

Reading time7 min
Views2.2K

Yandex Query Language (YQL) — универсальный декларативный язык запросов к системам хранения и обработки данных, разработанный в Яндексе. А ещё это один из самых нагруженных сервисов: YQL ежедневно обрабатывает около 800 петабайт данных и 600 000 SQL-запросов, и эти показатели постоянно растут. 

Изначально YQL основывался на операциях MapReduce, которые эффективны для больших данных. Но для средних объёмов данных (до 50 Гб, которые составляют около 60% запросов) этот подход оказался неоптимальным, потому что нужно было обмениваться данными между операциями через диск. Поэтому разработчики создали новый более гибкий стриминговый движок, который значительно ускоряет обработку данных за счёт выполнения всех вычислений в памяти.

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

Читать далее
Total votes 22: ↑26 and ↓-4+30
Comments13

Анимация в веб-интерфейсе

Level of difficultyEasy
Reading time5 min
Views3.5K

Привет, родные! 😁

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

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

Побитовые операции: для чего нужны основы информатики Solidity-разработчику

Reading time10 min
Views1.9K

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

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

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

Читать далее
Total votes 7: ↑9 and ↓-2+11
Comments2

Плэнер — язык логического программирования для ИИ: что из него получилось

Level of difficultyMedium
Reading time6 min
Views5.5K
Боты под управлением системы GOAP (Goal Oriented Action Planning), источник

Плэнер (Planner) — функционально-логический язык программирования, схожий по своему синтаксису с Лиспом. Функциональная часть языка содержит фактически целиком Лисп в качестве подмножества. При этом его встроенные возможности по символьной обработке значительно шире. А введение в запись нескольких типов скобок (в Лиспе допускаются только круглые скобки) сделало программы гораздо понятнее для чтения.

В свою очередь, логическое программирование — это парадигма программирования, основанная на математической логике, в которой код состоит из логических утверждений и правил вывода.
Читать дальше →
Total votes 26: ↑34.5 and ↓-8.5+43
Comments3

Nokia N-Gage. Ностальгии пост и сборка эмулятора с играми

Level of difficultyEasy
Reading time6 min
Views3.6K

Ностальгия – это не только Dendy, Sega и PlayStation, за которыми у каждого геймера 90-х и 00-х было проведено много времени! Очень часто это и любимый мобильник, который выполнял функции мультимедийной системы. И пусть в нулевые телефоны не отличались большими и проработанными проектами с красивой графикой, но всё же существовали устройства, объединяющие в себе два мира – телефонов и игровых приставок. Речь идёт, как вы могли догадаться, про N-Gage, ставший для многих столь любимым благодаря возможности скоротать время в виртуальных мирах, к примеру, с PlayStation.

Удивительный факт, но почти во всём мире попытка компании Nokia побороться с Nintendo на рынке карманных игровых систем была в общем-то не особо замечена, кроме России и некоторых стран СНГ. Тут их новая (на тот момент) линейка устройств N-Gage была с радостью принята и снискала народную любовь. К сожалению, я не был владельцем столь крутой мобилы, поэтому мог прикоснуться к ней, лишь взяв у друзей, но так как поиграть в Tomb Raider, Worms или Colin McRae Rally 2005 хотелось на своём собственном телефоне, приходилось изворачиваться...

Читать далее
Total votes 16: ↑15.5 and ↓0.5+15
Comments17

Сравнение технологий WebSockets, Server-Sent-Events, Long-Polling, WebRTC и WebTransport

Reading time16 min
Views6K

При работе с современными веб-приложениями реального времени незаменима возможность отправлять события с сервера на клиент. Именно этой необходимостью продиктовано то, что за годы работы было изобретено несколько методов для этой цели, каждый с собственным набором достоинств и недостатков. Первоначально единственным вариантом был длинный опрос. Затем в качестве альтернативы появились веб-сокеты — более надёжное решение для двунаправленной коммуникации. Вслед за веб-сокетами появились события, отправляемые сервером (SSE), более простой метод, обеспечивающий однонаправленную связь от сервера к клиенту. Забегая вперёд, сейчас разрабатывается ещё и протокол WebTransport, который может тем более изменить ландшафт этой области, обеспечивая более эффективный и гибкий подход, располагающий к масштабированию. В некоторых нишевых случаях можно присмотреться и к технологии WebRTC, предназначенной для работы с событиями в направлении сервер-клиент.

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

Читать далее
Total votes 19: ↑19.5 and ↓-0.5+20
Comments4

Выявляем боли команд с помощью ретро. Шаблоны в подарок

Level of difficultyEasy
Reading time6 min
Views1K

Привет, Я Бохан Дмитрий — руководитель отдела инновационных проектов компании ПГК Диджитал. Сегодня поговорим про ретроспективу, зачем проводить ретро, а самое главное посмотрим с помощью каких игр, можно сделать ретро ярким и незабываемым.

Зачем проводить ретроспективы с командой? 

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

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

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

3. Решение проблем: выявление проблем и препятствий своевременно не позволяет им расти и сорвать проект.

Инструменты для ретро

Подготовка и проведение эффективных ретроспектив требует некоторых важных инструментов и методов:

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments8
1
23 ...

Information

Rating
4,336-th
Location
Уфа, Башкортостан(Башкирия), Россия
Date of birth
Registered
Activity