Search
Write a publication
Pull to refresh
7
0
Send message

Если Вы на территории РФ, то да, так как по решению РКН refactoring guru заблокирован на территории РФ :(

Недавно на паре проходили. АПМДЗ - это СЗИ, а любое СЗИ подлежит сертификации, насколько знаю. Однако, могу ошибаться

TypeScript и рядом не компилируемый, если уж так. Он транспилируемый. В противном случае, мы бы на выходе получали не js файл, а объектный файл

Есть выражение, которое применимо к презентациям, правда, но всё же: "Если после презентации не возникло вопросов, то либо презентация настолько хороша, что ответила на все возможные вопросы, либо презентация настолько плохая, что её никто не понял"

Я Вас поддерживаю, статья действительно очень интересная. Возможно, в будущем комментарии появятся ¯\_(ツ)_/¯

Начинал с неё, ибо был слабый ПК раньше. Достаточно хороший дистрибутив. Но потом решил, что пора менять что-то в своей жизни. Очень долго пытался выбрать удобный для себя дистрибутив, и mint не особо подходил. Сначала пробовал Ubuntu. Окрестился и решил попробовать другой корень. Долго выбирал, пытал Fedora, а позже вообще перешёл на Manjaro. Сейчас всё устраивает. Тут пока писал комментарий, нашёл возрождение Unity, кажется. Кому интересно можно посмотреть тут

Картинка с официального сайта
Картинка с официального сайта

Unity7 ain’t ded ;)

Если всё пойдёт гладко с возрождением, то мы сможем увидеть Ubuntu в лице "великого и ужасного" Unity. По картинке UI достаточно приятен глазу

По поводу классовых компонентов. У них есть одна проблема, которая описана в этой статье. Сейчас проверил - она до сих пор актуальна.

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

Звучит на самом деле логично. Я, если честно, сам не встречался с тем, что где-то нужен был приватный конструктор. Может быть я не в правильном сообществе нахожусь (сейчас не про Хабр, не подумайте), но набирает популярность factory method pattern.

С асинхронными конструкторами тоже не встречался

Если я не ошибаюсь, то асинхронных конструкторов нет и в других языках. По крайней мере поиск не дал результатов на язык C#.

Если я где-то упоминал про асинхронные конструкторы, то процитируйте, пожалуйста, а-то, вроде, всю статью перечитал - не нашёл :D

Под "асинхронным созданием экземпляра класса" я имел ввиду, что может случится примерно следующий кейс:

class Payment {
  constructor(props) {
		this.#props = props;
  }
  
  #props;
  
  static async fromServer(link) {
    const data = await fetch(link).then(res => res.json());

    return new Payment(data);
  }
}

Я думал привести подобный пример, но чувство, что меня за это архитекторы ПО в подворотне испинают :D

Тут и поспорить трудно. Однако пример из статьи на Flow ныне выдаёт ошибку абсолютно на каждых строках. Что это: ошибка или тактический ход - не знаю :D

Реалии TS, к сожалению, таковы, что unsoundness можно получить даже, казалось бы, в абсолютно нормальном коде. Недавно смотрел выступление, в котором приводился очень яркий пример с котиками и собачками. Если попытаетесь запустить, то получите ошибку в рантайме. Однако, если так посмотреть, TypeScript и не ставит своей целью обезопасить написание кода с помощью типов. TypeScript - хороший инструмент, но такой инструмент эффективен только в хороших руках. У меня не такие, поэтому родилась эта статья :D
Соглашусь с Вами, акцент на слове "осторожном" действительно нужно сделать

Для корректной работы возвращаемого значения Вам нужно будет "урезать" тип string[], который возвращает метод str.split(sep) до более узкого типа Split<T, S> . То есть, это обычное преобразование типов. Однако без явного преобразования типа TS скажет, что string[] и Split<T, S> несовместимы. Это некоторый хак, который верен с теоретической точки зрения.
То есть, если алгоритм работы функции split будет неверным в практическом плане, то мы соответственно получим ошибку в рантайме, но при этом TS нам уже ничего подсказать на этапе разработки не сможет. Отсюда и предупреждение в статье:

Данный подход опасен, но при осторожном использовании может быть очень мощным средством

Посмотреть, как работает вывод типов можно здесь: Песочница

Касаемо своего варианта: пробивать потолок дальше и как можно сильнее. В кликерах есть очень интересная вещь, когда ты достиг максимума своих возможностей и дальше уже трудно продвигаться, тебе предлагают вариант: сбросить прогресс с некоторым модификатором - тут почти тоже самое. Когда ты достигаешь верхушки своих возможностей, то может стоит взглянуть на другие технологии? Возможно что-то будет новым для тебя? Сбросить прогресс и получить некий модификатор в виде накопленного опыта

Они ещё и баг с утечкой памяти пофиксить не могут. Правда тут сложно сказать, их ли это баг, потому что он проявляется только на windows, а на linux его нет (предположительно). Причём сегодня с ним столкнулся посмотрел, оказалось, что память поедается процессом GPU Firefox'а. Причём ещё и баг не всегда проявляется - прям странности какие-то :D

А не Сергей Шахов у Вас случаем был ментором?)

Не подскажете, где могу узнать подробнее о реализации трамплинов на типах? Поиски выдавали только конкретные реализации на JS и TS. Интересно было бы прочитать

Посмотрел, спасибо, и правда проще намного

Да, сталкивался с таким плагином в официальной онлайн песочнице TS, но детально не изучал его. Сейчас глянул на список задач, нашёл среди задач extreme вида парсер JSON. Впервые я что-то весомое решил в своей жизни. А-то на том же Codewars задачи от 6 kyu и ниже не могу решить :D

Баг с полем типа number лет 5 же не могут решить (если не больше)

1

Information

Rating
Does not participate
Location
Ярославль, Ярославская обл., Россия
Date of birth
Registered
Activity