Как стать автором
Обновить
21
0
Игорь Выдренков @IgorV

Пользователь

Отправить сообщение

Как доказать теорию относительности Эйнштейна за 10 000 рублей

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

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

По всей Вселенной, от звёзд, чёрных дыр, галактик и т. д. испускаются космические лучи — частицы, несущиеся через Вселенную с высокими энергиями. Они попадают в атмосферу Земли и вызывают ливни как стабильных, так и нестабильных частиц. Те из них, которые живут достаточно долго, прежде чем распасться, в конечном итоге попадают на поверхность Земли. Каждую секунду через ваше тело проходит от 10 до 100 мюонов — нестабильных, тяжёлых кузенов электрона. При среднем времени жизни в 2,2 микросекунды можно подумать, что они не могли бы пройти всю толщину атмосферы, ~100 с лишним километров, от космоса до вашей руки. Тем не менее, теория относительности утверждает, что это происходит, и тот факт, что эти мюоны проходят через ваше тело, более чем достаточен для доказательства её правоты.

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

Блоки в Scratch с нуля — обучение для детей 8-9 лет и старше

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

Что такое Scratch? Это визуальная среда программирования, созданная для детей и подростков. Программирование здесь осуществляется перемещением визуальных программных блоков, маленькие «кирпичики» объединяются в «ветки». Все просто: достаточно достать блок из меню скриптов и перенести его в поле для программирования, а результат мы будем наблюдать на сцене справа.

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

Читать далее
Всего голосов 19: ↑15 и ↓4+16
Комментарии1

Создание уведомлений на языке Kotlin

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

Как создать всплывающие уведомления в мобильном приложения, привязанные ко времени? Читаю документацию и разбираю код.

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

Как абсолютная пустота может быть источником безграничной энергии? Разбираем концепцию нулевой точки

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

Помните фразу Фридриха Ницше «Когда долго всматриваешься в бездну, бездна начинает всматриваться в тебя»? Эта цитата наилучшим образом подходит для описания предмета настоящей беседы. Но начнём, как это водится, издалека.

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

Как на собеседовании реагировать на вопрос: «Расскажите о своих провалах и слабых сторонах?»

Время на прочтение3 мин
Количество просмотров53K

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

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

Вопрос: «Расскажите о своих недостатках/провалах/ошибках/слабых сторонах?» тоже имеет свое прикладное значение.

Читать далее
Всего голосов 27: ↑11 и ↓16+1
Комментарии66

Obsidian: синхронизация без боли

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

Легкий и простой способ настроить бесплатную синхронизацию Obsidian между всеми своими устройствами.

Читать далее
Всего голосов 35: ↑34 и ↓1+39
Комментарии129

Бесплатный курс по Roblox для детей 9 лет и старше: 20 уроков с нуля

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

Подготовили подборку видеоуроков по Roblox для новичков. За 20 уроков ребенок сможет познакомиться с интерфейсом программы, изучить основные функции, научиться писать небольшие скрипты на языке Lua. А также создаст несколько игр и проектов по инструкциям.

Roblox – это игровая онлайн-платформа, популярная среди детей и подростков. На ней можно создавать простые игры с помощью языка Lua: здесь ребята не только развлекаются, но и прокачивают навык разработки, а также получают умения, ценные с точки зрения написания кода.

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

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

Как Выигрывать в Игре Быки и Коровы

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

Существует старинная народная логическая игра. Называется быки и коровы. Её ещё называют mastermind.

В этом тексте я представил мой алгоритм для поиска решения в этой игре. Я назвал этот метод: Матрица возможных решений.

Суть алгоритма покажу в частном виде, то есть на примере.

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

Подключаем GigaCode к мобильной разработке

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


Всем привет! С вами Анна Жаркова, руководитель группы разработки в компании Usetech. Сегодня я вам принесла необычный материал. 27 июня 2024 года для сторонних разработчиков открыли и презентовали российскую среду разработки Giga IDE со встроенным ИИ-ассистентом от «Сбера» и «СберТеха». Заявлено, что встроенный в среду ИИ-ассистент GigaCode анализирует контекст, предлагает полные конструкции функций, циклов и других элементов, что позволяет писать код в среднем на 25% быстрее. Ассистент поддерживает как автокомплит кода, так и интеллектуальные подсказки для ввода, генерацию кода для поддерживаемых язык. Также его можно использовать для выполнения разных команд.

Мы посмотрим, как подключить, настроить и применить GigaCode AI к мобильной разработке.
Для начала нам потребуется скачать специальную IDE GigaCode . Нам предложит перейти на ресурс GitVerse (аналоги GitHub, полностью совместим с Git), где потребуется создать аккаунт и авторизоваться через СберID:


Читать дальше →
Всего голосов 16: ↑12 и ↓4+10
Комментарии21

Советы по программированию, которые бы я дал себе 15 лет назад

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


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

▍ Если ты (или твоя команда) постоянно стреляешь себе в ногу, то почини ружьё


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

Когда я занимался разработкой для iOS, то использовал CoreData и подписывался на изменения нескольких view. Обратный вызов подписки поступал в тот же поток, из которого было запущено изменение. Иногда это был основной поток, а иногда — фоновый. В разработке для iOS важно то, что вносить изменения в UI можно только в основном потоке, иначе приложение вылетит. Поэтому подписка могла работать нормально, но потом ломалась, когда кто-то запускал изменение из фонового потока или вы позже добавляли обновление UI.

Все без раздумий воспринимали это как что-то само собой разумеющееся, и об этом часто говорили в ревью для новичков в команде. Время от времени кто-нибудь ошибался, и мы добавляли DispatchQueue.main.async, когда видели отчёт о сбое.

Я решил это исправить. У меня ушло десять минут на внесение изменений в слое подписки, теперь подписчики вызывались в основном потоке, что позволило избавиться от целого класса сбоев и сняло с нас часть умственной нагрузки.
Читать дальше →
Всего голосов 45: ↑43 и ↓2+59
Комментарии16

Kotlin Coroutines. От А до Я

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

Полный разбор корутинного мира с нуля, который может послужить отличной шпаргалкой на собеседовании!
Разберем разницу между многопоточностью и асинхронностью; раскроем все основные понятия корутин, параллельно ссылаясь на исходники kotlinx.coroutines; посмотрим их применение на практике и в конце напишем свой собственный CoroutineScope.

Let's go
Всего голосов 25: ↑25 и ↓0+29
Комментарии12

Рассказ о моей системе личной продуктивности (и о софте, который я создал, чтобы её практиковать)

Время на прочтение16 мин
Количество просмотров14K

Когда речь идет о личной продуктивности, то как правило имеется в виду управление действиями - задачами и проектами, временем.

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

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

Рассказываю о своем воркфлоу, который объединяет оба эти компонента и о продукте, который для него использую.

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

Регенеративная медицина. Хрящ с «танцующими молекулами» и «резиновой жижей»

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

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

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

Проклятие знания. Как когнитивные искажения влияют на разработку?

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

Все сталкивались с ситуацией, когда нужно было объяснять что-то другому человеку — будь то коллега, ребенок, друг или родственник. Иногда это происходит легко и непринужденно, а иногда… превращается в настоящую пытку. Особенно когда человек, которому мы объясняем, никак не может «включиться» и понять. 

 В такие моменты мы начинаем думать: «Как это можно не понять? Это же элементарно!» или «Он просто прикидывается, чтобы я сделал его работу!». Но, скорее всего, истина лежит гораздо глубже. Мы забываем, что когда-то и сами этого не знали. И в этом замешано проклятие знания.

Проклятие знания — ошибка мышления, из-за которой мы предполагаем, что другие люди обладают теми же знаниями, что и мы.

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

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

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

Git, Gitflow и ветка develop. Продолжаем разбираться в основах программирования

Время на прочтение5 мин
Количество просмотров9.8K

Привет, Хабр! В блоге beeline cloud я делюсь личным опытом разработки. Ранее рассказывал, как инжектить в статические поля, как упростить себе жизнь при написании тестов, подсвечивал особенности пагинации. А сегодня продолжу знакомить вас с Git, Gitflow и веткой develop. Если вы пропустили первую статью из цикла — рекомендую прочитать тут.

Читать далее
Всего голосов 14: ↑12 и ↓2+16
Комментарии9

Задача трёх тел (не китайская нефантастика)

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

Однажды, выполнив в Гугле запрос "Three body problem" ("Задача трёх тел"), я был просто поражен - первая страница результатов состояла только из ссылок на роман китайского писателя-фантаста Лю Цысиня с соответствующим названием, а также на телесериал, снятый по этому роману, т.е. ссылок на собственно задачу трёх тел не было вообще! Мне это показалось удивительным и несправедливым, поскольку сама по себе задача трёх тел тоже может выглядеть увлекательной в популярном изложении. В этой публикации я постарался привести некоторые доказательства этого утверждения.

Читать далее
Всего голосов 184: ↑182 и ↓2+234
Комментарии150

Чтение на выходные: «Квант» Джима Аль-Халили

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

Принесли рекомендацию для любителей научпопа.

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

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

Постараемся и мы придерживаться аналогичного формата и по традиции приведем несколько аргументов в пользу этого чтения.  

 

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

Dagger 2. Часть вторая. Custom scopes, Component dependencies, Subcomponents

Время на прочтение8 мин
Количество просмотров121K

Всем привет!
Продолжаем наш цикл статей о Dagger 2. Если вы еще не ознакомились с первой частью, немедленно сделайте это :)
Большое спасибо за отзывы и комментарии по первой части.
В данной статье мы поговорим о custom scopes, о связывании компонентов через component dependencies и subcomponents. А также затронем такой немаловажный вопрос, как архитектура мобильного приложения, и как Dagger 2 помогает нам выстраивать более правильную, модульнонезависимую архитектуру.
Всем заинтересовавшихся прошу под кат!

Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии26

Где мне это пригодится в жизни или применение Nothing в Kotlin на примере

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

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

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

Git. Скачем между ветками как древесные лягушки

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

Статей на тему много, но, видимо, недостаточно: время от времени слышу от коллег (последние 10 лет, в 4-х разных компаниях):

«Не могу пошарить экран с кодом, у меня другая ветка сейчас».

«Не хочу переключать ветку, придется запускать кодогенерацию, у меня сбросятся build-файлы, потом это опять пересобирать!»

«Стаскивать ветку для просмотра ПР? Это же неудобно, надо "стэшить" изменения, ветку переключать».

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

Информация

В рейтинге
Не участвует
Откуда
Калуга, Калужская обл., Россия
Дата рождения
Зарегистрирован
Активность