Pull to refresh
0
@Redlumusread⁠-⁠only

User

Send message

Самодельный компьютерный стол с навороченной начинкой внутри за 20 шагов

Level of difficultyEasy
Reading time8 min
Views27K

В одной небольшой инструкции и двух видео посмотрим, как собрать свой собственный компьютерный стол. Но не просто стол, а стол‑корпус для ПК.

Что это вообще такое? Идея проста: берем все комплектующие компьютера и встраиваем их прямо внутрь конструкции. Мониторов возьмем, скажем, три. Сабвуфер не забудем, конечно же. Вуаля! Системного блока теперь как бы и нет. Но что еще важнее — всё становится очень круто тюнинговать!

Осторожно! Под катом множество вдохновляющих иллюстраций.

Зарядиться идеями

Как не утонуть в операционке: система фокусов для тимлида

Level of difficultyEasy
Reading time6 min
Views4.8K

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

Если вы ощущаете, что стали частью распределённой системы с бесконечными входящими — поздравляю, вы тимлид. И, скорее всего, вам не весело. Вы не пишете код. Вы не думаете стратегически. Зато вы таскаете ведро с пробоинами по палубе, где вечно течёт.

У большинства тимлидов, особенно в условиях активного роста компании или распределённой разработки, есть общее ощущение перегруженности. Неважно, какая индустрия, стек, удалёнка или офис — ощущение одно: «весь день был занят, но результат размыт».

Читать далее

Коротко о том, как внедрить код-ревью, которое работает (а не бюрократию)

Level of difficultyEasy
Reading time7 min
Views3.7K

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

Если у вас в команде код-ревью — это унылое ожидание и пассивно-агрессивные комментарии уровня «не по канону», значит, что-то пошло не так. А если ревью не просто тормозит, но ещё и убивает мотивацию — то вы откладываете техдолг не только в коде, но и в культуре.

Читать далее

Психология тестировщика: почему критическое мышление — это суперсила

Level of difficultyEasy
Reading time10 min
Views3.9K

Статья Галины Шайдуровой

Психология тестировщика: почему критическое мышление – это суперсила

Привет, Хабр! Меня зовут Галина, я работаю QA-инженером в Ozon Tech. Если вы думаете, что тестировщики только ищут баги, то вы заблуждаетесь. Мы — не просто охотники за дефектами (хотя баги ловить умеем). Мы те, кто ежедневно выходит на поле боя против самого изощренного противника — нашего собственного мозга.

Вы обращали внимание на то, как легко не заметить очевидное? Например, когда вы ищете очки, а они у вас на голове. Теперь представьте, что тестировщик делает это на уровне сложных систем и интерфейсов, где каждая «потерянная пара очков» может обернуться тысячами разъяренных пользователей.

Сегодня хочу рассказать, почему критическое мышление — это суперсила любого тестировщика, ссылаясь на теории классиков, таких как Майерс Г. и Кейнер К. Мы разберем, как когнитивные искажения могут мешать находить баги, что помогает развивать аналитический подход, и как нестандартное мышление спасает проекты (и иногда ночной сон).

Читать далее

Ликбез по UseCase’ам Android: от базовых реализаций до мультипровайдерных и многомодульных систем — Часть 2

Level of difficultyEasy
Reading time15 min
Views938

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

Читать далее

Функциональное программирование в Android. Теория категорий и DI

Level of difficultyMedium
Reading time25 min
Views2K

Кульминация цикла о функциональщине в Android! Сегодня изучаем чистые функции — ещё один важный принцип функционального программирования.

Учтём контекст и познакомимся с сопутствующими терминами, раскрывающими суть чистых функций. А ещё обсудим место концепции Dependencies Injection в функциональном программировании. В общем, вперёд за новыми знаниями!

Читать далее

Ликбез по UseCase’ам Android: от базовых реализаций до мультипровайдерных и многомодульных систем — Часть 1

Level of difficultyEasy
Reading time19 min
Views1.6K

Чистая архитектура — не просто модный термин, а способ держать код в узде по мере роста Android-приложения. В этой статье — подробный разбор того, как выстроить работу с UseCase’ами: от базовой интеграции в ViewModel до сложных кейсов с несколькими провайдерами и платежными системами. Разберёмся, как применять принципы SOLID на практике, не скатываясь в оверинжиниринг — и при этом не жертвовать гибкостью архитектуры.

Читать далее

Георгий Герганов, автор llama.cpp и звукового кейлогера

Reading time6 min
Views13K

Многие пользуются YouTube, Netflix, но не подозревают о ключевых опенсорсных программах типа ffmpeg, которые работают на бэкенде этих сервисов. Похожая ситуация с нейронками, где многие знают программу Ollama для локального запуска моделей на CPU. Но мало кто понимает, что это всего лишь простенькая оболочка вокруг опенсорсной библиотеки llama.cpp на С, которая и делает инференс. Автор этой библиотеки, талантливый разработчик Георгий Герганов, мало известен широкой публике.

Читать далее

Как работает механизм притяжения между атомами?

Reading time6 min
Views9.3K

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

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

Читать далее

Биполярный транзистор. Принцип работы

Level of difficultyMedium
Reading time12 min
Views7.6K

Есть множество материалов написанных о работе полупроводников и работе транзисторов.

Зачем еще одна?

Дело в том, что я заметил такую тенденцию в вузовских учебниках – довольно подробное описание работы p-n перехода и очень поверхностное описание работы биполярного транзистора. Зачастую «механика» работы такого транзистора описывается довольно схематично (в совершенно неработоспособном виде) и далее следует быстрый переход на описание внешних параметров. Причем у этих же авторов описание «механики» работы полевого транзистора дается куда обширнее. Видимо, авторы учебников сами не очень «догоняют», как там все работает. И это не удивительно. Человечество вначале эры полупроводников пыталось повторить схему работы вакуумной лампы на полупроводниках, т.к. работа лампы достаточно логична. И собственно полевые транзисторы, в какой-то степени повторяют принцип работы вакуумных ламп. Но вот биполярный транзистор, хотя и был изобретен первым, но это было скорее случайное изобретение, а не осознанный путь к цели.

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

Если Вы задавали себе вопросы наподобие таких:

почему через коллекторный p-n переход, включенный в обратном направлении, течет ток, да еще и самый, что не на есть главный рабочий ток?

почему неосновные носители тока базы в биполярном транзисторе, вдруг стали вполне себе главными представителями тока?

Почему ток в базы через открытый эмиттерный p-n переход меньше тока через закрый коллекторный p-n переход?

Ну и совсем «подковыристый» вопрос. Почему при включении биполярного транзистора по схеме с общим эмиттером, когда транзистор полностью открыт (находится в режиме насыщения), напряжение на коллекторе становиться меньше напряжения базы? Ведь если смотреть на транзистор с точки зрения пирога n-p-n переходов (как рисуют в учебниках), то сумма падения напряжения на двух p-n переходах (открытом эмиттерном и закрытом коллекторном) должно быть больше напряжения на одном открытом эмиттерном переходе. А оно у нас меньше.

Ответы на эти вопросы под катом

Что не пишут в документации Kotlin Contracts: тёмные закоулки и пасхалки

Level of difficultyHard
Reading time9 min
Views1.7K

Контракты в Kotlin — это «тёмная лошадка» языка — они загадочные и чуть-чуть магические. И под капотом у них спрятано гораздо больше, чем можно найти в официальной документации.

Привет! Меня зовут Виталий. Я работаю Android‑разработчиком в Альфа‑Банке. В этой статье я делюсь пасхалками и неожиданными фичами Kotlin компилятора, связанными с Kotlin Contracts: как парсится список эффектов, как работает новый Contracts API изнутри, и почему, чёрт возьми, на уровне компилятора можно использовать контракты не только на уровне функций.

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

Читать далее

Коммуникации: как говорить, чтобы вас слушали (Памятка менеджерам)

Level of difficultyEasy
Reading time5 min
Views17K

Давайте честно: менеджер по большей части работает ртом. Договаривается, придумывает решения, продаёт эти решения окружающим, обосновывает, пинает, пинает, эскалирует, просит… Короче, говорить и объяснять ему приходится примерно все время. И умение четко и ясно доносить свои мысли в правильном ключе для менеджера – критично.

Как говорить так, чтобы от вас не отворачивались через 2 минуты с зевком? Как быстро объяснять занятым людям, в чем смысл вашего вопроса и чего вы хотите? Как сделать так, чтобы ваши вопросы решались руководителями за 2 минуты, вместо недель ожидания аудиенции? Ну и вообще: как перестать быть душным и негативным и стать быстрым и позитивным всего за пару приемов (не таких уж и простых, но все же)?

Вот об этом коротенько давайте поговорим в этой статье.

Эта статья написана по мотивам публикаций в моем ТГ канале «Морковка спереди, морковка сзади», который полностью посвящен управлению в IT, особенно в том, чему никто толком не учит – сфотскиллам. Если вам это интересно, заходите, читайте и подписывайтесь. Ну и читайте другие мои статьи на Хабре про управление.

Читать далее

Магия чисел в System Design: эти формулы спасут вас от банкротства и помогут оптимизировать вашу систему

Reading time9 min
Views3.9K

При проектировании систем, обязательным этапом является расчет нагрузки и стоимости на вашу IT-Систему. Давайте разберемся что это за этап и почему он так важен. А также вместе посчитаем основные показатели нагрузки и договоримся о стоимости решения.

Читать далее

CryptoProBuilder — fluent-интерфейс для КриптоПро на PHP: подпись, шифрование и работа с контейнерами

Level of difficultyEasy
Reading time7 min
Views1.5K

КриптоПро предоставляет мощные, но неудобные для автоматизации утилиты. CryptoProBuilder — это fluent-интерфейс на PHP, который упрощает подписание, шифрование и работу с сертификатами, без необходимости использовать сложный SDK.

Читать далее

Диаграмма потоков данных (DFD) для чайников: что это такое, как сделать и какой бывает

Level of difficultyEasy
Reading time5 min
Views5.2K

Диаграмма потоков данных (DFD) — схема, которая показывает, где информация застревает, дублируется или исчезает в никуда. Со стороны такая схема может казаться архаикой — зачем рисовать стрелочки, если можно сразу писать код? Ответ прост: исправлять проблемы в уже написанном коде дороже, чем на этапе проектирования.

В статье собрали основу про DFD для тех, кто с ней не сталкивался: зачем ее используют и как изображают.

Читать далее

Зачем и как писать ТЗ

Reading time13 min
Views6.4K


Эта статья написана для заказчиков разработки, в основном касается IT-продуктов на ранних стадиях. Цель статьи — дать понимание, что писать в ТЗ, как и главное, зачем.

ТЗ — это вообще интересный феномен, все знают о том, что писать надо, но никто не делает. Либо делает халтуру с GPT, то же самое, даже хуже.

Читать далее

Настраиваем CI/CD Android-проекта, часть 3. Автоматизация публикации версий в Play Store

Level of difficultyMedium
Reading time25 min
Views1.4K

Всем привет, меня зовут Кирилл и я Android-разработчик в Scanny. В прошлых статьях мы разобрали, как будет выглядеть наш CI/CD, научились запускать статический анализатор кода, выполнять Android (Marathon Labs и Firebase Test Lab) и Unit-тестирование, собирать различные Build Flavors и отправлять их в нашу Telegram-группу.

В этой статье мы настроим публикацию свежих версий в Play Market на примере Gradle Play Publisher и Fastlane, а так же поработаем с Gitlab Tag'ами.

Так же улучшим наш CI/CD, собрав свой Docker-образ со всем необходимым окружением.

Читать далее

Разбираемся со Spring Boot с помощью Spring Debugger

Level of difficultyEasy
Reading time5 min
Views5K

Команда Spring АйО перевела статью о работе со Spring Debugger и о том, как его применение существенно облегчает отладку приложений, написанных с использованием Spring Boot. На момент написания статьи фича доступна только в Ultimate версии IntelliJ IDEA.

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

Information

Rating
Does not participate
Registered
Activity