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

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

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

4 миллиарда операторов if

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

Просматривая недавно соцсети, я наткнулся на этот скриншот. Разумеется, его сопровождало множество злобных комментариев, критикующих попытку этого новичка в программировании решить классическую задачу computer science: операцию деления с остатком.

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

Поэтому я решил изучить эту идею проверки чётности числа при помощи одних сравнений, чтобы понять, насколько хорошо она работает в реальных ситуациях. Я сторонник высокопроизводительного кода, поэтому решил реализовать это на языке программирования C, потому что он и сегодня остаётся самым быстрым языком в мире с большим отрывом от других (благодаря гению Денниса Ричи).

Читать далее
Всего голосов 312: ↑295 и ↓17+342
Комментарии153

Как я сделал табличку, которая является готовой инвестиционной стратегией

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

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

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

Торговый бот на Python с нуля (с использованием Binance API), часть 2

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

Продолжение первой части статьи о создании торгового бота на python с нуля с использованием Binance API!

В данной статье мы напишем полностью рабочую реальную стратегию с использованием биржевых данных. Я расскажу что такое линии Боллинджера, а также о других популярных стратегиях. Мы подробно разберем реализацию стратегии Боллинджера на python, и напишем production-ready код!

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

Разносим по полочкам этапы тестирования http запросов в Spring

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

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

Речь пойдет об использовании методологии Arrange-Act-Assert применительно к интеграционным тестам на Spring Framework с использованием мокирования (mock) HTTP-запросов к внешним ресурсам, к которым идет обращение по ходу выполнения тестируемого кода в рамках поведения системы. Предлагаемые к рассмотрению тесты написаны с использованием Spock Framework на языке Groovy (см. недавнюю статью по этой теме: Тестируем Spring Boot приложения через Spock Framework). В качестве механизма мокирования будет использоваться MockRestServiceServer. Будет пару слов и о WireMock.

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

Фантастика и фентези за два с половиной года, почти сто хороших книг

Время на прочтение22 мин
Количество просмотров244K
На этот пост меня подтолкнула публикация «Почему я ворую книги, бедные авторы, и как это исправить», а именно — скепсис и возражения на мой комментарий о том, что я не читаю плохие книги. Мне предложили рассказать, как я выбираю книги для чтения и что именно читаю. Ну я и повелся.
Оформить список было сравнительно просто, FBReader любезно хранил на GoogleDrive все скачанные книги с того момента, как там появилась эта услуга. Предлагаю вашему вниманию список прочитанного мной за 2,5 года из жанров фентези и фантастики.
Читать дальше →
Всего голосов 70: ↑66 и ↓4+62
Комментарии553

Воспринимайте жизнь как игру, и она станет более понятной

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

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

Помимо правил, в самом начале с вами поделились интересной информацией. Вероятность того, что инопланетянин достанет чёрный камень — всегда 50%. За несколько секунд до начала игры друг шепнул вам о стратегии, которой нужно придерживаться. И в результате, после бесконечного числа партий, вы оба стали победителями. Просто подфартило? Или сработала стратегия партнера?

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

Как работает ChatGPT: объясняем на простом русском эволюцию языковых моделей с T9 до чуда

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

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

Погнали →
Всего голосов 299: ↑292 и ↓7+343
Комментарии283

Свой бесплатный телеграм-бот на базе GPT4free

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

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

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

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

Алгоритм поиска в глубину для процедурной генерации лабиринтов

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

В этой статье я расскажу об алгоритме процедурной генерации лабиринтов методом поиска в глубину (Randomized depth-first search with recursive backtracking).

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

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

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

Несколько лет назад уже писал про свои поиски идеальной и недорогой панели управления умным домом (статья собрала 200 закладок), тогда в 2020 году я остановился на недорогом андроид планшете, который перепрошил на чистый андроид для выполнения удаленных команд через ADB.

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

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

Выбор пал на NSPanel из‑за цены около 3,5 тысяч рублей, а также возможности установки в подрозетник или покупки настольной подставки — как у меня на фото.

Панель в подрозетник или на стол
Всего голосов 82: ↑79 и ↓3+100
Комментарии126

7. Точность систем автоматического регулирования (ч. 2)

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

Продолжаем публикацию лекций Олега Степановича Козлова по предмету "Управление в Технических Системах".

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

1. Введение в теорию автоматического управления.2. Математическое описание систем автоматического управления 2.1 — 2.32.3 — 2.82.9 — 2.13

3. ЧАСТОТНЫЕ ХАРАКТЕРИСТИКИ ЗВЕНЬЕВ И СИСТЕМ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ РЕГУЛИРОВАНИЯ. 3.1. Амплитудно-фазовая частотная характеристика: годограф, АФЧХ, ЛАХ, ФЧХ3.2. Типовые звенья систем автоматического управления регулирования. Классификация типовых звеньев. Простейшие типовые звенья3.3. Апериодическое звено 1–го порядка инерционное звено. На примере входной камеры ядерного реактора3.4. Апериодическое звено 2-го порядка3.5. Колебательное звено3.6. Инерционно-дифференцирующее звено3.7. Форсирующее звено.  3.8. Инерционно-интегрирующее звено (интегрирующее звено с замедлением)3.9. Изодромное звено (изодром)3.10 Минимально-фазовые и не минимально-фазовые звенья3.11 Математическая модель кинетики нейтронов в «точечном» реакторе «нулевой» мощности

4. Структурные преобразования систем автоматического регулирования.

5. Передаточные функции и уравнения динамики замкнутых систем автоматического регулирования (САР).

6. Устойчивость систем автоматического регулирования. 6.1 Понятие об устойчивости САР. Теорема Ляпунова. 6.2 Необходимые условия устойчивости линейных и линеаризованных САР. 6.3 Алгебраический критерий устойчивости Гурвица. 6.4 Частотный критерий устойчивости Михайлова. 6.5 Критерий Найквиста.

7. Точность системы автоматического управления (ч.1)

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

Эти кристаллы доживают последние деньки — почему мощные процессоры и видеокарты середины нулевых умирают?

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

Думаю, многие мои читатели встречались с таким неприятным явлением, как отвал чипа. Эта поломка свойственна многим топовым и околотоповым гаджетам из нулевых: ноутбуки с «отваливающимися» видеочипами и мостами, первые ревизии Xbox 360 (три красных огня) и PlayStation 3 (жёлтый огонёк и моментальное выключение), телефоны-«ударники» и другие девайсы с достаточно горячими чипами. Недавно я листал барахолки на предмет интересных девайсов «за копейки» и наткнулся на топовый игровой ноутбук 2007 года выпуска всего за 1.000 рублей (~10$) — Toshiba <модель>, с просто дичайшими характеристиками для тех лет: GeForce GTS 7900 Go, Core Duo Txxx, 1гб DDR2 ОЗУ и аудиоподготовкой от Harman-Kardon.

Сегодня мы с вами узнаем: почему отваливаются чипы и как продлить жизнь старому топовому железу, «дунем» на видеочип, «воскресим» его на некоторое время и посмотрим, что же крутого было в топовых ноутбуках тех лет. Интересно? Тогда добро пожаловать под кат!
Читать дальше →
Всего голосов 107: ↑103 и ↓4+132
Комментарии145

Как потратить дни, чтобы сэкономить секунды: продвинутые коммиты в GitLab

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

Коммит изменения в GitLab — фоновый и рутинный процесс, на который никто не закладывает рабочего времени. Но в нем есть действия, которые съедают 18 секунд при каждом коммите. 10 коммитов — уже 3 минуты за день и 15 — за неделю. Да, немного, но на это тратится внимание. К тому же, за эти 15 минут можно сделать что-то полезное или просто выпить кофе и дать мозгу отдохнуть.

Мы в Selectel нашли способ, как упростить коммиты в GitLab и добавить им информативности — описания прямиком из Jira. Любите автоматизировать рутинные задачки? Тогда добро пожаловать под кат.
Читать дальше →
Всего голосов 26: ↑24 и ↓2+32
Комментарии17

Рецензия на книгу «Запомнить всё»

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

Hello, Habr!

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

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

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

Поглощение звука: метаповерхность из шариков для пинг-понга

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


Современные технологии делают нашу жизнь лучше. Эта избитая фраза часто соответствует действительности, но упускает маленький, но столь важный момент — современные технологии имеют побочные эффекты. Мегаполисы, многополосные дороги, аэропорты — символы глобализации и квинтэссенция достижений человеческого ума. А еще источники вредоносного низкочастотного шума, который может вызывать боль в ушах, раздражительность и даже нарушения дыхания. Ученые из Американского института физики (Колледж-Парк, США) разработали низкочастотную звукоизоляцию из массива резонаторов Гельмгольца, сделанного из простых шариков для пинг-понга. Как шарики для пинг-понга превращали в резонаторы, как работает звукоизоляция, и какие еще потенциальные применения имеет данная разработка? Ответы на эти вопросы мы найдем в докладе ученых.
Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии5

Превратите ваш телефон в продолжение вашей памяти

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

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

Зачем записывать заметки?

Ответ очень прост: вы можете забыть какие-то дела. Телефон - нет.

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

у меня завтра день рождения
Всего голосов 28: ↑16 и ↓12+10
Комментарии145

Как запускать старые игры в 2023 — VmWare/Wrapper/GoG… Или PCeMv17

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

Ещё один способ играть в старые игры на современном железе. Шок от первого использования PCeM v17. И то, как он вернул радостные ощущения от игры с настоящим «Voodoo» без NGlide Wrapper.

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

🤪 Устанавливать все игры! 🤪
Всего голосов 36: ↑35 и ↓1+47
Комментарии48

Starting Electronics: руководство по веб-серверам на Arduino. Часть 17. Завершающий урок и итоги

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


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

Это стартовая площадка, которая даёт базовое понимание ключевых технологий: микроконтроллеры, сетевое взаимодействие, структура веб-страниц, HTML, CSS, JavaScript, Ajax, Wiring, C++ и т. д. и т. п. и позволяет в дальнейшем проектировать и создавать ваши собственные IoT системы.

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

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

Как управлять финансами, чтобы выйти на раннюю пенсию, а не в окно

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

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

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

Читать далее
Всего голосов 32: ↑15 и ↓17+4
Комментарии100

Обучающая основам программирования и робототехники настолка «Битва Големов» — качаем, печатаем и играем

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

Я решил сделать детям, родителям и преподавателям подарок. Встречайте BIG BOX PNP по классической версии моей игры о боевых программируемых роботах "Битва Големов", который можно свободно скачать, распечатать и играть.

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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность