Pull to refresh
13
0.2
Send message

Я себе это представляю одним из двух вариантов:

  • если информатика/программирование даётся на базовом уровне -> это онлайн IDE типа Scratch, где ничего настраивать не надо.

  • если на более продвинутом уровне -> это что-то типа Turbo Pascal, ну или VS Code, если это какая-то современная школа. В первой снова ничего настраивать не надо, а вторую - в 12-14 лет дети будут способны её поставить, да.

У меня ребёнок в 16 лет сам бы не поставил.

Это немного грустно.

ажиотаж создали далеко не геймеры

Вроде бы это очевидно?

Отсюда

за пять лет

Может быть до сих пор просто никто не жаловался? https://news.ycombinator.com/item?id=44884709

Качественные датчики воздуха стоят дорого.

Как альтернатива есть AirGradient за $125 (или $225 если сертифицированный и откалиброванный), open source.

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

Будьте внимательны.

А давайте. Возьмите вот такой код:

var services = new ServiceCollection();
services.AddTransient<IFoo, Foo>();
services.AddTransient<Lazy<IFoo>>();

using var sp = services.BuildServiceProvider();
var foo = sp.GetRequiredService<Lazy<IFoo>>();
Console.WriteLine(foo.IsValueCreated);

interface IFoo;
class Foo : IFoo;

Что будет выведено в консоль? Почему True? ;)

Могут. Только ваш Apache-проект должен линковаться с LGPL-кодом динамически, либо "заразиться" и перейти на *GPL, иначе вы всё ещё нарушаете лицензию.

Нет, не достаточно: у FFmpeg и rockchip-mpp несовместимые лицензии (LGPL и Apache).

Далеко вам до джаваскрипта))

Да не, это в статье примеры топорные. Вот рандомный пример на джабаскрипте:

// A thenable is an object with a `then()` function. The
// below thenable behaves like a promise that fulfills with
// the value `42` after 10ms.
const thenable = {
  then: function(onFulfilled) {
    setTimeout(() => onFulfilled(42), 10);
  }
};

const v = await thenable;
v; // 42

А вот то же самое на C#:

var v = await new Awaitable();
Console.WriteLine(v); // 42

class Awaitable
{
    public TaskAwaiter<int> GetAwaiter()
    {
        return Task.Delay(10).ContinueWith(_ => 42).GetAwaiter();
    }
}

Тоже один метод, только называется по-другому. Все вот эти приседания со своими собственными "объектами-awaiter" - это как переизобретение промизов. Можно, иногда нужно, но не часто.

С таким полётом фантазии не забывайте носить шапочку из фольги.

где-то очень замудренный интерфейс сделанный вообще не понятно для кого (привет Anki).

Есть такое. Но основная ценность Anki - и почему есть смысл посидеть, поплеваться, но разобраться в интерфейсе - это алгоритмы интервального повторения. Сколько карточек показывать в день, как скоро их повторять после правильного ответа, а как скоро после неправильного - всё это чертовски важно, чтобы запоминать эффективно.

т.к. никто не написал готовых метод, и приходится писать свой.

Написали. Не в стандартной библиотеке, но есть несколько функциональных либ для .NET.

Но вообще Pipe/Select/Map элементарно пишется самостоятельно. Да, нужно написать, но ведь один раз всего.

Я ввел абстракцию VisorDbType (единый Enum типов).

Но ведь уже есть System.Data.DbType?

В примере нет ничего про локализацию и языки, это требование придумал комментатор с Хабра.

Я согласен, что какофония из функций в примере "после" никуда не годится. Но решением является выкинуть данный пример и придумать более подходящий, а не локализация.

Как читатель, вы должны уметь отделять котлеты от мух. Локализация, цикл жизни приложения, рефакторинг - всё это в главе про содержательные имена несущественно.

ну или вообще запретят расширять операторы

Нет, конечно. Extension operators - это не "случайно так получилось, что теперь с этим делать?", а фича.

Уже печально известный .IsNullOrEmpty в виде свойства 

Не работает это, компилятор резолвит "".IsNullOrEmpty как method group.

Помните анекдот про HR, который выбросил в мусорку половину резюме, даже не взглянув, мол, "а зачем нам неудачники?" Тоже вот несправедливый, но какой-никакой критерий отсева.

1
23 ...

Information

Rating
2,547-th
Registered
Activity