На самом деле есть, надо просто присмотреться к правому краю в двух средних рядах. Просто расположение кнопок со стрелками там слегка специфичное. Такое решение встречается в некоторых старых моделях клавиатур, ещё когда отдельный Т-образный блок стрелок не стандартизировали.
По поводу перевода термина watermark есть сложности. Переводить «водяной знак» не совсем корректно, так как в русском это означает средство для защиты от подделки. Есть другой перевод: «отметка уровня воды». Длиннее, но отражает реальную суть термина в этом контексте: это метка времени, по «заполнении» которой события обрабатываются.
Вообще-то, у гита есть свои алиасы, но я понятия не имею, как их добавлять, т.к. мне лень изучать вопрос.
Уже за это хочется поставить минус. Лень прочитать документацию — зачем вообще тогда берёшься за инструмент? Эта инфа есть в man git-config.
Лично я в указанной ситуации (а у меня она часто возникает) делаю так: создаю коммит, где в сообщении добавляю префикс[to_squash], заканчиваю работу над веткой, делаю полный ребейз ветки на мастер (git rebase -i master) и переношу этот коммит под тот, к которому данная правка относится, с пометкой s (squash).
Открой для себя autosquash! Почитай про git rebase --autosquash и git commit --fixup/--squash. Всё есть в man git-rebase и man git-commit. Если не лень изучать, кочнечно.
Поэтому аналогом nohup на чистом шеле является такая конструкция: script.sh >&- 2> stderr.log <&- & disown. Такая команда закроет stdin и stdout, перенаправит stderr в файл лога, отправит задачу в фон и отсоединит от шела.
А это уже смотря какие отношения строятся с женой, какой у вас контракт в отношениях. Ведь в отношениях между женой и мужем (как, впрочем, в любых других отношениях) обязательно существует некий контракт, очень часто негласный.
Опять вопрос в целеполагании. Если есть цель поддержать хорошие отношения с женой и она важнее карьеры, то входящее дело от жены «подвезти до работы» становится автоматически приоритетнее, потому что это дело приблизит тебя к этой цели.
Так и смысл все входящие фильтровать. Наверняка большинство дел совершенно для вас не важны и их можно смело выкинуть или делегировать. Я недавно для себя понял, насколько важно иметь перед глазами чёткую цель. Например: построить дом, выстроить карьеру, выстроить отношения в семье, развиться профессионально и как личность. Главное, чтобы их было немного, чтобы их удержать в себе и не распыляться, они должны быть чёткими и ясными, как яркий свет в конце туннеля. Тогда каждое новое входящее дело рассматривается сквозь призму высшей цели, то понятие «важное» vs «неважное» из абстрактных становятся очень конкретными. Либо это дело приближает лично тебя к твоей цели, и тогда она важное и его нужно распланировать и делать. Либо не приближает или, того хуже, отдаляет тебя, тогда оно автоматически отсеивается, выбрасывается в топку. Когда множество дел категоризируются как выжные, это первый признак того, что нет чётких ориентиров в жизни, либо целей слишком много, и силы распыляются. А силы (тут речь об умственных и духовных) у людей не безграничны.
На самом деле есть методики, позволяющие произвольно входить-выходить из потока. Одна из них, как ни странно, самая обычная медитация. На более простом и практичном уровне помогают всякие простые методики тайм-менеджмента, вроде «помидорки». При достаточной самодисциплине и прокачанной силе воли можно по желанию, сознательно входить в поток, и потом из него спокойно выходить, и при этом не испытывать жуткую выжатость и усталость.
Отвечал с телефона, автодополнение не всегда меня понимает правильно. Так что извините за странные опечатки. Надеюсь, из контекста понятно, что имелось в виду :)
В первом случае запятая после последнего элемента запрещена, во втором — обязательна. Вместе эти варианты покрывают оба случая, делая запятую в конце опциональной.
Верно, нельзя. Чтобы реализовать трейт, нужно чтобы либо трейт, либо тип был в данном крейте.
Можно сделать такую обёртку (паттерн называется newtype: struct NewType(OldType);). Нет, автоматически ничего само не реализуется, надо самому реализовать для нового типа нужные трейты. Можно облегчить себе участь, если реализовать трейт Deref, тогда трейты, методы которых принимают старый тип по ссылке (&self, &mut self), реализуются автоматом через Deref coercion.
Да, можно. Через динамическую диспетчеризацию. Тип контейнера будет List<&(Animal + Filing)>. Тип элемента будет называться trait-object. Доступ к методами будет идти через таблицу виртуальных методов, на это есть строгие ограничения для трейтов (они должны быть object-safe). Полнее отвечать очень долго, лучше почитать доки, искать по западным ключевым словам :)
Всё хорошо, только вот в статье перидочески путаются типажи и типы.
Request, Response, IronRequest, IronResult, IronError, Iron, Mime, Chain — это всё типы, а не типажи.
Это очень важное отличие, типажи нельзя инстанциировать, они определяют только поведение, интерфейс.
Пример для испанского — копипаста для русского.
На самом деле есть, надо просто присмотреться к правому краю в двух средних рядах. Просто расположение кнопок со стрелками там слегка специфичное. Такое решение встречается в некоторых старых моделях клавиатур, ещё когда отдельный Т-образный блок стрелок не стандартизировали.
Тот случай, когда о сервисе узнаёшь из новости из его закрытии…
По поводу перевода термина watermark есть сложности. Переводить «водяной знак» не совсем корректно, так как в русском это означает средство для защиты от подделки. Есть другой перевод: «отметка уровня воды». Длиннее, но отражает реальную суть термина в этом контексте: это метка времени, по «заполнении» которой события обрабатываются.
Блин, зачем эта статья нужна? Есть же документация. Да и тема давно много раз обсосона с разных сторон. Ещё одна статья про метаклассы...
После десятка уже выученных языков C# уже может показаться достаточно простым.
Истина где-то рядом с каждым из этих случаев, просто «рядом» с разных сторон.
Уже за это хочется поставить минус. Лень прочитать документацию — зачем вообще тогда берёшься за инструмент? Эта инфа есть в
man git-config
.Открой для себя autosquash! Почитай про
git rebase --autosquash
иgit commit --fixup/--squash
. Всё есть вman git-rebase
иman git-commit
. Если не лень изучать, кочнечно.Поэтому аналогом
nohup
на чистом шеле является такая конструкция:script.sh >&- 2> stderr.log <&- & disown
. Такая команда закроет stdin и stdout, перенаправит stderr в файл лога, отправит задачу в фон и отсоединит от шела.А это уже смотря какие отношения строятся с женой, какой у вас контракт в отношениях. Ведь в отношениях между женой и мужем (как, впрочем, в любых других отношениях) обязательно существует некий контракт, очень часто негласный.
Опять вопрос в целеполагании. Если есть цель поддержать хорошие отношения с женой и она важнее карьеры, то входящее дело от жены «подвезти до работы» становится автоматически приоритетнее, потому что это дело приблизит тебя к этой цели.
Так и смысл все входящие фильтровать. Наверняка большинство дел совершенно для вас не важны и их можно смело выкинуть или делегировать. Я недавно для себя понял, насколько важно иметь перед глазами чёткую цель. Например: построить дом, выстроить карьеру, выстроить отношения в семье, развиться профессионально и как личность. Главное, чтобы их было немного, чтобы их удержать в себе и не распыляться, они должны быть чёткими и ясными, как яркий свет в конце туннеля. Тогда каждое новое входящее дело рассматривается сквозь призму высшей цели, то понятие «важное» vs «неважное» из абстрактных становятся очень конкретными. Либо это дело приближает лично тебя к твоей цели, и тогда она важное и его нужно распланировать и делать. Либо не приближает или, того хуже, отдаляет тебя, тогда оно автоматически отсеивается, выбрасывается в топку. Когда множество дел категоризируются как выжные, это первый признак того, что нет чётких ориентиров в жизни, либо целей слишком много, и силы распыляются. А силы (тут речь об умственных и духовных) у людей не безграничны.
На самом деле есть методики, позволяющие произвольно входить-выходить из потока. Одна из них, как ни странно, самая обычная медитация. На более простом и практичном уровне помогают всякие простые методики тайм-менеджмента, вроде «помидорки». При достаточной самодисциплине и прокачанной силе воли можно по желанию, сознательно входить в поток, и потом из него спокойно выходить, и при этом не испытывать жуткую выжатость и усталость.
Отвечал с телефона, автодополнение не всегда меня понимает правильно. Так что извините за странные опечатки. Надеюсь, из контекста понятно, что имелось в виду :)
В первом случае запятая после последнего элемента запрещена, во втором — обязательна. Вместе эти варианты покрывают оба случая, делая запятую в конце опциональной.
Верно, нельзя. Чтобы реализовать трейт, нужно чтобы либо трейт, либо тип был в данном крейте.
Можно сделать такую обёртку (паттерн называется newtype:
struct NewType(OldType);
). Нет, автоматически ничего само не реализуется, надо самому реализовать для нового типа нужные трейты. Можно облегчить себе участь, если реализовать трейт Deref, тогда трейты, методы которых принимают старый тип по ссылке (&self, &mut self), реализуются автоматом через Deref coercion.List<&(Animal + Filing)>
. Тип элемента будет называться trait-object. Доступ к методами будет идти через таблицу виртуальных методов, на это есть строгие ограничения для трейтов (они должны быть object-safe). Полнее отвечать очень долго, лучше почитать доки, искать по западным ключевым словам :)Прекрасный перевод. Спасибо!
Что-то этот fosshub настолько популярен, что я первый раз узнал про него из этого поста.
Зачем здесь поднимать тяжёлый перл, если sed-а хватит за глаза?
Ну в арчике из оф.реп ставится стабильный раст и карго. Растап нужен для найтли и бет разве что.
Всё хорошо, только вот в статье перидочески путаются типажи и типы.
Request, Response, IronRequest, IronResult, IronError, Iron, Mime, Chain — это всё типы, а не типажи.
Это очень важное отличие, типажи нельзя инстанциировать, они определяют только поведение, интерфейс.