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

Как стать автором

Фокус в Android TV

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

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

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

Читать далее
Всего голосов 15: ↑15 и ↓0+20
Комментарии2

Как найти иголку в стоге сена? Или обозор Retrieval Algorithms

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

Появление трансформеров, а впоследствии LLM (Large Language Models) привело к активному распространению чат-ботов и различных ассистентов помогающих в получении информации или генерации контента. Но несмотря на то что LLM способны по запросу генерировать человекоподобные тексты, они подвержены галлюцинациям. Естественным кажется желание уменьшить количество не достоверных ответов. Для этого мы можем либо дообучить LLM на наших данных, либо использовать Retrieval Augmented Generation (RAG)

RAG - это способ генерации текстов на новых данных без дообучения модели, с помощью добавления релевантных документов в промпт модели. Документы для генерации ищутся с помощью retrieval системы, после чего объединяются в один промпт и подаются в LLM для последующей обработки. В этой статье я решил собрать информацию о всех наиболее известных и применяемых алгоритмах поиска, с описаниями и материалами для более глубокого изучения.

Читать далее
Всего голосов 4: ↑4 и ↓0+7
Комментарии0

Как на C# написать программу в одно выражение?

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

Попалась на Stack Overflow интересная задачка: написать программу как можно короче и в одну строку. Что подразумевается под одной строкой? Это значит использовать только один оператор (statement) верхнего уровня с точкой с запятой в конце и не использовать блоки кода. Вложенные операторы допускаются.

Читать далее
Всего голосов 13: ↑11 и ↓2+14
Комментарии18

Бложим как фрики

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

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

Будет обмазан Markdown, Hugo, GitHub (в качестве CD и халявного хостинга) и Obsidian

Страдать далее
Всего голосов 15: ↑12 и ↓3+15
Комментарии8

Платёжный сервис в банке, часть первая

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

Привет, меня зовут Александр Читалкин, и я руководитель офиса архитектуры в небольшом российском банке. Хочу рассказать об архитектуре «Платёжного сервиса» – системы оркестрации и проведения платежей. Разработка архитектуры велась в рамках проекта по модернизации существующего в банке решения. Работы были начаты в конце 2022 года и успешно завершились год спустя. Сейчас система находится в промышленной эксплуатации.

Читать далее
Всего голосов 6: ↑4 и ↓2+5
Комментарии5

Как я писал враппер для Яндекс Карт на KMP. Часть 1

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

Враппер Yandex MapKit SDK для работы в Kotlin Multiplatform. Опыт написания враппера для SDK и адаптация работы с Compose Multiplatform. Рассказывается про интересные кейсы в процессе разработки враппера для MapKit SDK и способы адаптации библиотек для KMP проектов.

Читать далее
Всего голосов 2: ↑2 и ↓0+6
Комментарии0

Как работает интернет

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

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

Здесь вы узнаете о 4 уровнях модели TCP/IP. О том, что такое MAC-адрес и IP-адрес, и зачем нам 2 типа цифровых адресов. Как работает DNS. Зачем нужны коммутаторы и роутеры. Как работает NAT. Как устанавливается защищённое соединение. Что такое инфраструктура открытых ключей, и зачем нужны TLS-сертификаты. Чем отличаются три версии протокола HTTP. Как происходит HTTP-аутентификация. И в конце будет несколько слов о VPN.

Читать далее
Всего голосов 103: ↑96 и ↓7+107
Комментарии61

Как я сделал платформу коротких видео в Telegram Mini Apps

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

Недавно я поехал на море с другом. Во время пути мы узнали, что YouTube собираются блокировать (или замедлять). Тут в моей голове родилась идея: почему бы не сделать видеохостинг в Telegram? Я поспорил с другом, что сделаю его по дороге, но ноутбук сел. Поэтому мы договорились, что я сделаю это за день (спойлер: получилось, но кривовато).

Читать далее
Всего голосов 11: ↑10 и ↓1+12
Комментарии18

Автоматизация работы с JSON в Swift с помощью Codable

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

Автоматизация работы с JSON в Swift с помощью Codable

Когда вы работаете с данными в Swift, особенно при взаимодействии с API, вам часто приходится разбирать JSON-ответы и преобразовывать их в структуры данных. Это может быть утомительной и повторяющейся задачей, особенно если у вас есть сложные или вложенные JSON-структуры. Для решения этой проблемы в Swift существует мощная и удобная библиотекаCodable.

Читать далее
Всего голосов 5: ↑2 и ↓3+3
Комментарии1

Как я получил хороший заказ на настройку Google Форм и с чем пришлось столкнуться

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

Каждый раз, когда начинаешь новый проект, никогда не знаешь, какие сюрпризы он может принести. На первый взгляд, простая задача по настройке Google Формы может превратиться в увлекательное путешествие с неожиданными поворотами. Сегодня я хочу рассказать вам историю одного такого заказа, в котором мы не только справились с вызовами, но и нашли оригинальное решение.

Читать далее
Всего голосов 6: ↑6 и ↓0+11
Комментарии6

Как убить единорога или попытка навести порядок с инициализацией переменных в языке C++

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

Знаете, я никогда не задумывался, насколько плоха или хороша инициализация переменных в языке C++. Я просто использовал ее. И не имел никаких проблем. Но недавно я посмотрел пару видео, пролистал несколько статей и да, я должен признать… она действительно ужасна. Один очень серьезный человек даже сказал, что мы, как сообщество программистов, виновны в том, что C++ не настолько хорош, насколько он мог бы быть.

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

Читать далее
Всего голосов 11: ↑6 и ↓5+4
Комментарии33

Очистка таблицы-очереди Истории данных 1С средствами SQL

Время на прочтение13 мин

На связи Никита Скирдин, программист 1С компании «Белый код».

Одна из проблем механизма Истории данных в 1С – это значительное увеличение объема базы данных. При этом старые версии истории данных, даже если настроено хранение истории данных в течение 3 месяцев, могут оставаться в базе и занимать место. В статье рассказываю пошагово алгоритм действий.

Читать далее
Всего голосов 7: ↑7 и ↓0+9
Комментарии4

Мотивацию надо поднять

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

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

Читать далее
Всего голосов 9: ↑7 и ↓2+8
Комментарии6

Поднятие своего сервера minecraft на linux. Полный, подробный гайд

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

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

Читать далее
Всего голосов 12: ↑6 и ↓6+3
Комментарии20

Решаем судоку на pytorch

Время на прочтение7 мин

Решаем судоку на pytorch. Можно ли делать нейросети без обучения? Без кучи тестовых примеров? Попробую ответить на этот вопрос.

Читать далее
Всего голосов 8: ↑8 и ↓0+15
Комментарии3

Тестирование с тараканами в голове

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

Работая QA я часто слышала в голове голос «а ты точно все проверила?» и иногда он бывает полезен, но чаще вредит.

Ниже я пущусь в рассуждения о том чего больше: вреда или пользы и попробую сформулировать панацею для этого голоса.

Позитивное вперед. Плюсы таракана «а все ли ты проверила».

Читать далее
Всего голосов 11: ↑10 и ↓1+14
Комментарии3

Уровни развития сред общих данных строительных проектов

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

🔹В статье приведен краткий обзор термина «среда общих данных» (СОД) и история развития этого понятия. В основной части дается информация об имеющихся вариантах организации СОД, исторически сформировавшихся в строительной отрасли и получивших свое развитие.

🔹Автором предлагается теория уровней развития СОД, какими они были ранее и что ждет их в будущем. Показаны общие требования со стороны отрасли, предъявляемые к СОД и что необходимо делать для приближения, и достижения успешного результата применения СОД – повышение эффективности работ в строительных проектах на всех стадиях.

Читать далее
Всего голосов 6: ↑4 и ↓2+6
Комментарии3

О шейдерах в Game Maker Studio 2

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

Как работают шейдеры в GMS2? Как их писать и использовать? Что означают термины attributevarying и uniform? Какой тип шейдера выбрать? Почему шейдер всегда состоит из двух файлов? Чем отличается вершинный шейдер от фрагментного? И причём здесь треугольники?

Читать далее
Всего голосов 4: ↑4 и ↓0+7
Комментарии0

Планирование и декомпозиция задач

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

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

Читать далее
Всего голосов 10: ↑5 и ↓5+4
Комментарии9

Реализация методов предметно-ориентированного проектирования

Время на прочтение4 мин

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

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

Читать далее
Всего голосов 2: ↑2 и ↓0+6
Комментарии0