Hacker News Digest

Обновлено: 19 ноября 2025 г. в 14:43

Постов: 4309 • Страница 93/431

Result is all I need (rockyj-blogs.web.app)

Автор отмечает, что хотя ИИ хорошо справляется с рутинными задачами, он все еще уступает в организации кода. Качественный код требует четкой структуры, которую автор предлагает делить на три уровня: интерфейсный (контроллеры, работа с БД, HTTP-клиенты), сервисный (изолированная бизнес-логика) и шаблонный (логирование, авторизация). Основная проблема — при связывании этих компонентов приходится постоянно обрабатывать исключения и нулевые значения, что приводит к громоздкому коду с множеством проверок.

Решением автор предлагает паттерн Result — "обертку", которая инкапсулирует обработку ошибок и нулевых значений. В примере показано, как традиционный imperative-стиль с многочисленными if-try-catch блоками заменяется на более элегантное решение с использованием Result. Такой подход позволяет писать более чистый, тестируемый и поддерживаемый код, где основная логика не теряется в море проверок на null и обработке исключений.

by rockyj • 25 октября 2025 г. в 11:40 • 98 points

ОригиналHN

Комментарии (70)

  • Обсуждение показало, что вопросы вокруг Result/Either в разных языках и экосистемах (Kotlin, Java, TypeScript, Rust, Scala) вызывают много споров: отсутствие стандартного Result в Java, влияние на производительность, сигнатуры типов и то, как библиотеки влияют на эргономику кода.

  • Участники поделились опытом с такими библиотеками как Vavr, Effect-TS, neverthrow и другими, а также обсудили, как языки вроде Rust и Kotlin встроенные типы Result делают эти вопросы менее болезненными.

  • Были затронуты темы производительности, где обсуждались традиционные исключения против возвращаемых значений-оберток вроде Result/Either, и как это влияет на написание кода и его читаемость.

  • Также обсуждались такие темы, как то, что встроенные типы вроде Try в Scala или Result в Kotlin могут быть использованы для упрощения кода клиентов API и как это влияет на дизайн библиотек и фреймворков.

  • В конце обсуждение сошлось на то, что в конечном счете, выбор между исключениями и возвращаемыми значениями-обертками часто сводится к тому, что контекст важнее: внутренние библиотеки языка, экосистема и то, как сообщество будет использовать API.

React vs. Backbone in 2025 (backbonenotbad.hyperclay.com) 🔥 Горячее 💬 Длинная дискуссия

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

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

Для 99% приложений, не имеющих тысячи компонентов на странице, такая сложность может быть избыточна. Фундаментальная задача "событие + состояние = UI" остается простой, но современные фреймворки создают ненужные абстракции, мешающие пониманию и отладке. Возможно, сообществу стоит искать более прозрачные и "взламываемые" решения, подобные Backbone и jQuery.

by mjsu • 25 октября 2025 г. в 09:43 • 259 points

ОригиналHN

#reactjs#backbonejs#javascript#dom#state-management

Комментарии (193)

  • Обсуждение показало, что споры между сторонниками React и Backbone часто сводятся к сравнению простых примеров, что не отражает реальную сложность больших приложений и может вводить в заблуждение.
  • Участники подчеркнули, что React и Backbone решают разные задачи: первый предлагает сложную, но мощную систему управления состоянием, тогда как второй предоставляет прямой и прозрачный контроль над DOM.
  • Несколько человек отметили, что выбор между инструментами должен зависеть от характера проекта и команды, а не от сравнения "Hello World" примеров.
  • Обсуждение также затронуло вопрос о том, что разработчики могут переоценивать или недооценивать сложность, связанную с управлением состоянием, и как это влияет на выбор инструмента.
  • Наконец, было высказано мнение, что выбор между React и Backbone должен быть основан на факторах, таких как размер команды, сложность проекта и долгосрочная поддерживаемость, а не на сравнение простых примеров кода.

ChatGPT's Atlas: The Browser That's Anti-Web (anildash.com) 🔥 Горячее 💬 Длинная дискуссия

OpenAI представила браузер Atlas, который автор называет "анти-веб" браузером, поскольку он активно борется с принципами открытого интернета. По умолчанию Atlas не ведет пользователей на реальные веб-страницы, а подменяет их контентом, сгенерированным ИИ. Когда автор искал "Taylor Swift showgirl", получил результат, похожий на веб-страницу, но без единой ссылки на официальный сайт певицы. Это создает "внутренний сад" из ИИ-контента, где пользователь заперт, не имея доступа к реальной информации.

Интерфейс браузера требует от пользователей угадывать команды вместо использования интуитивных кликабельных ссылок, что автор сравнивает с устаревшими текстовыми интерфейсами 1980-х годов. "Atlas - это браузер, но не веб-браузер. Это анти-веб браузер", - подчеркивает автор. Хотя при запуске есть предупреждение о возможной неточности информации, оно не отражает того факта, что браузер может полностью fabrircate контент, выдавая его за реальные веб-результаты.

by AndrewDucker • 25 октября 2025 г. в 09:08 • 741 points

ОригиналHN

#openai#atlas#browser#llm#privacy#data-collection#web

Комментарии (301)

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

Комментарии (37)

  • Пользователи обсуждают, что OpenAI требует верификацию личности для доступа к GPT-5, что вызывает обеспокоенность конфиденциальностью и возможной дискриминацией.
  • Некоторые участники упоминают альтернативные модели, такие как GLM-4 и Kimi, которые не требуют верификации и могут быть более доступны.
  • Обсуждается, что OpenAI может использовать верификацию для сбора персональных данных и что это может быть связано с мировым проектом Worldcoin.
  • Участники также обсуждают, что OpenAI может быть использует верификацию для ограничения доступа к моделям и создания барьеров для конкурентов.
  • Некоторые участники выражают обеспокоенность по поводу того, что OpenAI может быть использует верификацию для сбора персональных данных и что это может быть связано с мировым проектом Worldcoin.

Customize Nano Text Editor (shafi.ddns.net)

У меня нет статьи или контента для пересказа. Вы предоставили только имя и должность человека: Rayhan Aziz Chowdhury Shafi — DevOps & Full-Stack Engineer. Чтобы я мог создать точный и ёмкий пересказ в формате Markdown на русском языке, пожалуйста, предоставьте ссылку на статью или текст материала, который нужно обработать.

by shafiemoji • 25 октября 2025 г. в 08:52 • 146 points

ОригиналHN

#nano#vim#emacs#chezmoi#devops

Комментарии (49)

  • Обсуждение показало, что nano оказался куда более настраиваемым, чем большинство пользователей думает, включая поддержку мыши и макросов.
  • Участники поделились ссылкой на официальный cheatsheet и примеры конфигураций, а также обсудили, как синхронизировать их между машинами.
  • Несколько человек отметили, что nano остаётся их инструментом выбора для быстрого редактирования конфигов, даже если они привыкли к vim/emacs.
  • Были упомянуты ограничения: нет LSP и плагинов, но и нет встроенного синтаксического подсвета, что делает его менее привлекательным для программирования.
  • Несколько человек поделились ссылкой на инструмент chezmoi для синхронизации конфигов между машинами.

Why your social.org files can have millions of lines without performance issues (en.andros.dev)

Org Social решает проблему производительности при работе с большими файлами лент через трехслойный подход. Традиционный метод загрузки всех лент последовательно приводит к потере пропускной способности и блокировке интерфейса, так как приходится скачивать до 300KB данных для обработки 1500 постов, когда пользователю нужны лишь 10 последних. Новая система использует одновременную обработку до 20 лент в очереди с автоматическим восстановлением при ошибках.

Второй слой - HTTP Range-запросы, позволяющие загружать только нужные части файлов вместо полной загрузки. Система сначала определяет заголовок и размер файла, затем скачивает только свежие посты. Для платформ без поддержки Range (Cloudflare, Codeberg) предусмотрен автоматический переход к полной загрузке. Третий слой - алгоритм, который находит нужные посты, минимизируя объем данных. В результате вместо 27KB загружается всего 3KB, что значительно повышает производительность.

by andros • 25 октября 2025 г. в 07:27 • 79 points

ОригиналHN

#org-mode#http-range-requests#cloudflare#codeberg#decentralized-social-networks#performance-optimization

Комментарии (8)

  • @dietr1ch критикует использование HTTP range requests для выборочного доступа к данным, предлагая вместо этого использовать файловую систему для эффективной выборки документов.
  • @ChrisArchitect предоставляет контекст, указывая, что Org-social — это децентрализованная социальная сеть, работающая на базе Org Mode.
  • @mjmas исправляет опечатку, заменяя "Lines" на "Millions of Lines".
  • @pshirshov задает вопрос о популярности проекта.
  • @dang благодарит за исправление.

Simplify your code: Functional core, imperative shell (testing.googleblog.com) 🔥 Горячее 💬 Длинная дискуссия

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

При таком разделении добавление новых функций становится проще - достаточно создать новые чистые функции и переиспользовать существующие. Например, для напоминаний о подписке можно создать функцию generateReminderEmails, используя уже существующую getExpiredUsers. Этот паттерн, впервые описанный Гэри Бернхардтом, помогает создавать более тестируемый, поддерживаемый и адаптивный код, избегая "спагетти" из смешанной логики и побочных эффектов.

by reqo • 25 октября 2025 г. в 07:07 • 385 points

ОригиналHN

#functional-programming#imperative-programming#testing#software-architecture#google#code-refactoring#code-maintainability#bash

Комментарии (170)

  • Обсуждение вращается вокруг идеи "functional core, imperative shell" (FCIS) и противоположного ей подхода "generic core, specific shell", а также влияния этих подходов на тестируемость, производительность и читаемость кода.
  • Участники обсуждают, что FCIS делает код более тестируемым, но может привести к проблемам с производительностью при работе с большими объемами данных, особенно если язык не поддерживает ленивые коллекции.
  • Также обсуждается, что важно разделять логику и эффекты, но пример кода в статье вызывает вопросы, потому что он не демонстрирует лучшие практики, такие как пагинация или фильтрация на уровне базы данных.
  • Некоторые участники подчеркивают, что важно не только следовать паттерну, но и использовать здравый смысл, чтобы не плодить сущности, которые не масштабируются, и не создавать ситуаций, где пример кода в статье может быть использован как оправдание для плохого кода.

Euro cops take down cybercrime network with 49M fake accounts (itnews.com.au)

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

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

by ubutler • 25 октября 2025 г. в 06:48 • 121 points

ОригиналHN

#cybercrime#europol#shadowserver-foundation#sim-cards#fraud#malware

Комментарии (64)

  • Совместная операция Europol и Shadowserver Foundation привела к крупнейшему в истории закрытию сети из 49 млн фальшивых аккаунтов, что стало самым крупным в истории.
  • В ходе операции были конфискованы 1200 SIM-боксов с 40 000 активными SIM-картами, что вызвало дискуссию о том, как операторы могут отличить обычных пользователей от ферм, если вообще могут.
  • Обсуждение вызвало вопросы о том, какие именно преступления были совершены, и какова роль операторов в этом, а также о том, что считается преступлением в контексте использования фальшивых аккаунтов и какова роль операторов в этом.
  • Участники обсуждали, что такое "фальшивые аккаунты" и какова роль операторов в этом, а также о том, что считается преступлением в контексте использования фальшивых аккаунтов.
  • В конце концов, обсуждение пришло к выводу, что важно различать фальшивые аккаунты и что операторы должны играть свою роль в предотвращении злоупотреблений.

How the brain's activity, energy use and blood flow change as people fall asleep (massgeneralbrigham.org)

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

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

by XzetaU8 • 25 октября 2025 г. в 05:30 • 148 points

ОригиналHN

#neuroscience#brain-activity#energy-use#blood-flow#sleep-research#massgeneralbrigham

Комментарии (82)

Interesting study, but it mostly reinforces what we already know about sleep mechanics.Of particular importance is how sensory regions remain metabolically active while higher-order regions downshift during NREM sleep. That suggests the benefit of sleep depends less on how long w

Meet the real screen addicts: the elderly (economist.com) 🔥 Горячее 💬 Длинная дискуссия

by johntfella • 25 октября 2025 г. в 04:09 • 274 points

ОригиналHN

#youtube#facebook

Комментарии (296)

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