habrahabr
Люди не понимают ООП

«ООП для меня означает лишь обмен сообщениями, локальные ограничения и защиту, сокрытие состояния процесса и крайне позднее привязывание», — Алан Кэй (человек, придумавший термин «объектно-ориентированное программирование»)1 Похоже, многим не нравится объектно-ориентированное программирование. Первое, что приходит в голову, когда слышишь эту трёхбуквенную аббревиатуру — это пример с автомобилем, наследование, геттеры, сеттеры и ObjectFactoryFactorySingleton. Мне это всегда казалось довольно …

  • пятница, 9 февраля 2024 г. в 00:00:23
golang
Go 1.22: Интерактивные заметки к релизу

Вчера вышел Go 1.22, и многие новые фичи можно попробовать прямо из браузера. Давайте пройдемся по ним! Хабр не разрешает встраивать интерактивные примеры кода в статью, поэтому я сделал их внешними ссылками. Починили счетчик цикла в замыканиях Раньше переменные, объявленные в цикле for, создавались один раз и обновлялись на каждой итерации. Это приводило к ошибкам вроде использования счетчика в горутинах: // go 1.21 values := []int{1, 2, 3, 4, 5} for _, val := range values { go func() { …

  • пятница, 9 февраля 2024 г. в 00:00:21
golang
Domain Driven Design в Go – это почти не больно

Как выглядят паттерны DDD (Domain Driven Design) в большом проекте? А самое главное, стоит ли их вообще использовать? Рассмотрим, какими инструментами можно реализовать DDD на Go и оценим, насколько это больно.Меня зовут Илья Сергунин, я backend-сочинитель в Авито: занимаюсь тем, что передаю смартфоны в хорошие руки. В этой статье попытаюсь объяснить, как можно натянуть DDD на Go без синтаксического сахара и магии Java-подобных языков, и без больших крутых ORM c Data mapper, которые также отсу…

  • пятница, 9 февраля 2024 г. в 00:00:20
javascript
Strict Mode в ECMAScript. Полный справочник

По поводу строго режима существует множество информации. Но, к сожалению, очень мало статьей, покрывающих весь спектр особенностей строго режима. Поэтому, я решил составить свой справочник всех ограничений, исключений и отличий в исполнении "строгого" кода от "не строгого", в полном соответствии со спецификацией ECMA-262.Что такое строгий режимВ спецификации ECMA-262 существует два понятия: "нестрогий режим" (non-strict mode) и "строгий режим" (strict mode). Каж…

  • пятница, 9 февраля 2024 г. в 00:00:19
javascript
VR-тур на A-Frame + React

Всем привет! Меня зовут Егор Молчанов, я разработчик в команде CRM для менеджеров ипотечного кредитования в компании Домклик. Хочу поделиться своим опытом создания VR‑тура с помощью фреймворка A‑Frame и библиотеки React. Для этого написал свой небольшой pet‑проект, который мы сейчас разберём.Подробнее про инструментыA‑Frame — это фреймворк для разработки виртуальной реальности. Простой и эффективный инструмент разработки VR‑контента. Он основан на HTML, что упрощает работу. У него огромное кол…

  • пятница, 9 февраля 2024 г. в 00:00:18
javascript
Next.js. Технология современной веб-разработки

Современная веб-разработка требует эффективных инструментов, способных справляться с высокими стандартами производительности и пользовательского опыта. В этой статье мы рассмотрим Next.js, мощный JavaScript-фреймворк и новаторское решение для создания современных веб-приложений на основе React, созданный компанией Vercel. Узнаем, как он помогает разработчикам создавать высокопроизводительные, масштабируемые и SEO-дружественные веб-приложения. Мы также глубоко погрузимся в его функциональность,…

  • пятница, 9 февраля 2024 г. в 00:00:17
javascript
Страдания по VueUse

VueUse - популярная библиотека, состоящая из небольших утилит и в среде Vue разработчиков, идущая как "must have" наряду с Pinia. Нисколько не умаляя вклад Anthony Fu в экосистему Vue, опишу, почему я не использую её и не рекомендую для серьезных проектов и опытных разработчиков.Все утилиты в ней - небольшие. Под "небольшие" я подразумеваю, что аналогичный свой код будет в 10-50 строк. В зависимости от обстоятельств и требований, свой код может быть и в пять строк (аналог onCli…

  • пятница, 9 февраля 2024 г. в 00:00:16
github
go-acme / lego

Let's Encrypt/ACME client and library written in Go

  • пятница, 9 февраля 2024 г. в 00:00:15
github
run-llama / llama-hub

A library of data loaders for LLMs made by the community -- to be used with LlamaIndex and/or LangChain

  • пятница, 9 февраля 2024 г. в 00:00:13