Как стать автором
Обновить
2
0
Роман @werediver

Software Engineer

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

Этот Zed, получается, коммерческий closed-source проект? На их сайте слова "open" и "source" вообще не встречаются, что намекает на то, что авторы и не планируют его открывать. Это не интересно от слова "совсем".

Что значит не рекомендуется?

Значит, что не рекомендуется использовать непосредственно (R.11), если вы не пишете какой-то специфический код для управления ресурсами (ES.60).

Слово пропустил важное, действительно.

Вобще-то, в современном C++ (C++11 и новее; вероятно, можно с более старыми стандартами с boost) использовать new и delete в любом случае не рекомендуется, в большенстве случаев. См. C++ Core Guidelines:

(быстрый поиск по "new and delete"; вероятно, есть и другие релевантные пункты)

Имеется в виду, что в большенстве случаев следует использовать умные указатели (smart pointers; std::unique_ptr, std::shared_ptr).

Про другие особенности использования C++ с Unreal Engine ничего сказать не могу.

Что вы имеете в виду под "notion.new", где почитать? Попытался нагуглить, но что-то не пойму, о чём речь.


Вижу, что домен notion.new редиректит на notion.so и открывает новую пустую страницу, но если там есть какие-то особые фичи, то где они задокументированы?

Тоже использую Emacs (doom-emacs) + org-mode + deft (для навигации между org-файлами).


org-roam подключен, но я, создаю очень мало ссылок между файлами, поэтому org-roam практически бесполезен. Мне очень нравится идея сильно-связанного "облака" заметок, но мой текущий workflow просто другой.


В последнее время стал использовать Notion для некоторых заметок. Главным образом потому, что у него есть неплохой мобильный клиент и удобно работать с картинками (в Emacs можно, но не очень удобно, IMHO).


Evernote вяло использую много лет — практически никогда для заметок, почти исключительно для сохранения интересного веб-контента (у него отличный web-clipper).


Когда переезжал с Chrome на Firefox стал использовать Raindrop, чтобы коллекция ссылок не была привязана к конкретному браузеру. Очень нравится, что ссылки можно органиховывать по тэгам, не только по "папкам".

Кстати, Notion отображает обратные ссылки (backlinks) между страницами.

Почему pi, а не e (основание натурального логарифма) или какая-то физическая константа (ведь линия водорода обусловлена физикой, а не чистой математикой)?

Это очень важное пояснение, мне не было очевидно при бегом просмотре. Спасибо.


Может быть, стоит поместить в статью?

Я тарюсь электронными компонентами на Distrelec, у них много региональных дистрибьютеров: https://www.distrelec.com/global/ Очень быстро обрабатывают заказы и цены обычно не самые высокие.

Это, практически, определение киберпанка.

Статья напомнила мне про ведро с магнетроном. Давно про него слышно не было; видимо, никакой новой (да и старой) физики там не оказалось.

Кому-то может быть интересно обсуждение оригинала на Hacker News: news.ycombinator.com/item?id=14858250

Независимо от того, стилизуете ли вы компонент через Interface Builder, из кода непосредственно, через UIAppearance или с помощью какого-то фреймворка, компонент, который изменяет свой внешний вид, должен иметь параметры отображения для каждого своего состояния.


К примеру, если у вас есть on/off button, то у неё должны быть свойства onColor и offColor. Вы можете задать им нужные значения любым доступным способом, а кнопка сама будет выбирать, цветом из какого свойства покраситься :)

Не вполне ясно, о чем вопрос. В примере выше есть BodyLabel, подкласс UIView с двумя стилями. Очевидно, вы можете изменить декларацию этого подкласса, если имеете доступ к коду. Вы также можете изменить реализацию стилей.


Можно добавить дополнительные стили (protocol conformance) через extension.


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

Около полугода назад опубликовал на GitHub решение для стилизации UIView/NSView, (микро-) фреймворк StyleSheet — идея перекликается со статьёй.


Стили ассоциируются с (пустыми) протоколами-маркерами и привязываются к подклассам UIView/NSView через protocol conformance:


// Style-marker protocols
protocol BodyFontStyle {}
protocol MultilineLabelStyle {}

func appStyle(palette p: PaletteProtocol) -> StyleProtocol {
    return StyleSheet(styles: [
        // Styles implementation for different base-classes.

        Style<BodyFontStyle, UILabel> { $0.font = p.font.body },
        Style<BodyFontStyle, UITextField> { $0.font = p.font.body },
        Style<BodyFontStyle, UITextView> { $0.font = p.font.body },

        Style<MultilineLabelStyle, UILabel> {
            $0.numberOfLines = 0
            $0.lineBreakMode = .byWordWrapping
        },
    ])
}

final class BodyLabel: UILabel, BodyFontStyle, MultilineLabelStyle {}

// Perform on app initialization
try! RootStyle.autoapply(style: appStyle(palette: DefaultPalette())) // Specify `mode: .appearance` to use `UIAppearance`-hitchhiking

Таблицы стилей могут каскадироваться. Что такое "стиль" и "таблица стилей" описано в Style.swift.


Автоматическое применение стилей реализуется одним из двух механизмов, на выбор: через swizzling или через UIAppearance-hitchhiking (см. RootStyle.swift). В обоих случаях применение стилей происходит так же, как при использовании UIAppearance (доступно для iOS и tvOS).


Автоматическое применение использовать не обязательно, но удобно. Установка через Carthage и CocoaPods.


Используется в production и приносит пользу :)

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

Информация

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