LINUX.ORG.RU

16
Всего сообщений: 27

inversifyjs

Сабж.

Насмотрелся я тут на проекты обложенные всякими декораторами @injectable, контейнерами, символами и интерфейсами (которые реализует один единственный класс) по самое не могу, аж в глазах рябит.

Кто-то это вообще использует? Чем оно лучше ванильного js/babel/ts?

@injectable()
export class My implements MyInterface {
    public constructor(
        @inject(Symbols.Logger) private readonly _log: Logger,
    ) {
    }
}

Что это такое? Почему нельзя сделать просто:

export class My implements MyInterface {
    private readonly log: Logger;

    public constructor()
    {
        this.log = new Logger();
    }
}

И не тащить за собой лишние пакеты?

 , ,

neversleep ()

запутался в стиле кода

А как вы пишете?

С semicolon в конце строки? (;)
С отступом в 2 пробела или 4?
Длина строки 80/100/120?
В функциональном стиле или классами балуетесь?

 , ,

white_bull ()

Ищу работу удалённо, node.js junior

 , , , ,

madcore ()

Почему TypeScript, а не Dart?

Почему Google для разработки Angular взяла TypeScript, а не Dart? В чём был смысл популяризировать не свой ЯП, а ЯП конкурента?

 , , ,

KevlarBeaver ()

Присвоить undefined куда не надо в typescript

Это фича?

let x: string;

/*
{
    // Variable 'x' is used before being assigned.
    x = x;
}

{
    // Type 'undefined' is not assignable to type 'string'.
    x = undefined;
}

{
    // Type 'string | undefined' is not assignable to type 'string'.
    // Type 'undefined' is not assignable to type 'string'.
    let a: (string|undefined)[] = ["a", "b", "c"];
    x = a[0];
}
*/

{
    // Успех
    let a: string[] = ["a", "b", "c"];
    x = a[100];
}

if (x === undefined) {
    console.log("WTF?");
}

 , ,

suuaq ()

Нашли программиста

Решено.

 , , , ,

photonscore ()

Как правильно сделать роутинг без фреймворков в TS?

Я дошёл до этапа, когда у меня есть название контроллера и метода в переменной. Мне нужно используя эти переменные вызвать нужный метод

Контроллеры и методы представлены в следующем виде:

// базровый класс для всех контроллеров
class Controller {}

class Global extends Controller {

    // метод
    doStart(): object {
        return {
            status: 'ok',
            message: 'я работаю, всё ок',
        };
    }
}

Теперь нужно имея переменные controller: string и method: string вызвать нужный мне метод. Я затрудняюсь как. Кто знает — подскажите, пожалуйста :)

[hr]

Я пробовал сохранять методы в key-value массиве, чтобы метод можно было получить по строке. Вот так:

class Global extends Controller {
    _allow_method_list = {
        doStart: this.doStart,
    };
}

Этот это не подходит, потому что в этих методах почему-то нельзя использовать this, а это существенно и вообще знак что я что-то делаю не так.

 , ,

elonmusk ()

Sourcemap для typescript + webpack

А как вообще правильно это сделать? По сути я должен использовать какой-то супер sourcemap скрученный из двух...

 , ,

deterok ()

Java/Kotlin-разработчик-remote job - От 3 000 до 6 000 eur.

Обязательно:

  • Java/Kotlin - strong
  • mysql - strong
  • protobuf - strong
  • electron.js - strong

Будет плюсом:

  • experience in C/C++/GO/C#
  • experience with big systems
  • lead experience on projects

Мы ищем senior software developer, в компанию, а не на проект, нужен человек с опытом программирования нестандратных продуктов, лучше если вы сильный джава девелопер который полюбил котлин и решил еще и попилить клиент часть, интерес к своему делу и желание делать все идеально, понимание очевидных решений и стремление к простоте.

Задачи: разработка приложений на базе Spring Framework. Разработка\доработка существующих проектов.

От нас:

  • Интересные задачи
  • Высокий почасовой рейт
  • Требовательность к качеству и результату
  • Постоянный поток задач(свободно сможем загрузить вас на фулл тайм)

Другое:

  • доступность 24 x 7
  • готовность работать в выходные/праздники при необходимости
  • матстатистика не должна вызывать ужаса
  • опыт разработки веб-приложений не менее 5 лет
  • приветствуется опыт с высокой нагрузкой
  • опыт в больших проектах

Стучитесь сюда: hr@codefather.cc или телеграм @recruiteriia

 , , ,

Codefather ()

Нужно сделать скрипт для Rocket.Chat на TypeScript

Собственно нужно сделать custom slash команду для Rocket.Chat которая выполнит POST запрос.

Плачу 50 долларов.

Добавляю спецификацию, извините за английский:

I need a custom application for Rocket.Chat (v.0.71.1). The application itself will do the following:

1. A new slash command will be available: /pay.

2. The slash command will accept a single parameter which is float (currency) number: /pay 20.00.

3. Once the user hits «Enter» the application will issue a REST request (POST) with the following information:

- Originating username.

- All users in a channel (private group).

- Total amount (the parameter).

 ,

alex07 ()

JavaScript/Haxe/Flash программист г. Москва-офис

Город: Москва (Офис в пешей доступности от ст.м. Чеховская/Тверская/Пушкинская)

Формат работы: только офис Занятость: полная Зарплатная вилка: 50-130 тыс рубл. (net) в зависимости от опыта кандидата

Описание вакансии:

Ищем JavaScript программистов для участия в разработке HTML5-игр и приложений с использованием языка программирования JavaScript.

1. В одной команде ребята пишут на чистом JS 2. В другой - работают с Haxe В обоих случаях используется pixi.

Предлагаем:

  • Гибкий график, начало рабочего дня (с 9 до 12).
  • Оплачиваемые отпуск и больничные
  • Работа в команде профессионалов, готовых делиться своим опытом

Требования к кандидатам: 

  • Желание работать в офисе г. Москва на постоянной основе
  • Практический опыт работы c JavaScript от 1 года
  • Опыт работы с 2д-движками (Pixi.js/Phaser/Cocos2d)
  • Опыт работы с TypeScript/ActionScript
  • Опыт работы с 3д-движками (three.js/babylon) приветствуется
  • Если нет опыта с Haxe, то готовность с ним работать

Мы готовы рассмотреть, как опытного разработчика, так и уверенного в себе junior, подходящего под указанные требования. Также с радостью рассмотрим бывших flash-разработчиков, готовых перейти на pixi.js и/или Haxe.

Название компании: CODEFATHER

📩Контакты для связи: hr@codefather.cc или telegram @recruiteriia Когда связываетесь, указывайте по-поводу какой вакансии, пожалуйста.

 , ,

Codefather ()

Вызов асинхронной функции в конструкторе класса

Привет. Вообщем, делаю я тут приложение, читающее данные с веба. Думаю, пусть будет класс Page, там должен быть метод load (делающий то же самое что и конструктор класса), загружающий код из веба. Типа так:

var p = new Page("http://ya.ru") // вернёт объект класса Page, содержащий код страницы
p.load("http://mail.ru/") // сотрёт предыдущие данные, вернёт код страницы мейл-ру

Я знаю, что такой код будет выполняться долго, он будет блокировать приложение, но я так понимаю, если этот код обернуть в async function, то будет норм.

Я предполагаю, что async означает, что интерпретатор продолжит выполнение программы не дожидаясь окончания выполнения функции, хотя нигде в сети я не нашёл явного указания на это.

Проблема в чём: async функция возвращает promise, тогда как конструктор возвращает объект типа Page. Это значит, что возврат promise приведёт к ошибке, или я что-то не понимаю.

Конечно, можно было бы отказаться от подхода, который я выбрал, но по-моему он крут: считывание и парсинг данных одной функцией без коллбеков

 

russian-turist-2019 ()

Состояние Javascript

Завершился ежегодный опрос программистов использующих JavaScript.

Наиболее заметным изменением стал рост популярности разработанного Microsoft языка программирования Typescript.
46.7% опрошенных написали что пользовались им будут пользоваться в будущем.
Видимо с этим связан рост удовлетворённости разработчиков с 3.9 в 2016 до 4 в 2017 и 4.2 в 2018 году

По уровню удовлетворённости и популярности на первом месте библиотеки ReactJS и Vue.
Angualar хотя и имеет примерно такое-же количество пользователей но отстаёт по удовлетворённости. Авторы опроса отмечают что это может быть изза того что устаревший AngularJS не был выделен в этом году в отдельную категорию
По популярности в крупных компаниях лидируют Angular и Polymer.

Среди серверов приложений с большим отрывом лидирует Express

Подробности

Перемещено Shaman007 из development

 ,

Borg ()

Vim и вывод типов в TS/flow

subj

Есть различные плагины, которые неплохо умеют подсвечивать ошибки линтера / типов (тот же ALE или vim-flow, например), но не нашел хорошего варианта, чтобы научить vim выводить и показывать тип переменной (вроде такого: https://user-images.githubusercontent.com/1036372/29354726-049f2054-8277-11e7...). Интересуют в первую очередь Flow и Typescript.

Сейчас использую vim8, но готов переехать и на neovim.

 , , ,

ktan ()

Подскажите про Angular

Проблема с пейджером, есть таблица данные которые получают с сервера

...
dataSource = new MatTableDataSource<DialogData>([]);
    displayedColumns: string[] = [ 'id', 'name', 'description', 'num_rows', 'created' ];
    @ViewChild(MatPaginator) paginator: MatPaginator;
...
    private updateList() {
        this.getList((res) => {
            if (typeof res.rows !== 'undefined') {
                this.dataSource.data = res.rows;
            }
        });
    }

    ngOnInit() {
        this.updateList();
        this.dataSource.paginator = this.paginator;
    }

При таком раскладе

this.dataSource.data = res.rows;
пейджер все корректно определяет, но таблица пустая

если сделать так:

this.dataSource = res.rows;

то таблица полная, пейджер по нулям ;(

не подскажете как динамически обновить и пейджер и таблицу?

Перемещено leave из development

 , , , ,

httpxss ()

как работает наследование в angular?

объясните пожалуйста один момент по наследованию классов в angular2+

Есть два класса, один наследует другой. В обоих есть переменная listType. но инициализируется она только в наследнике

Помогите пожалуйста понять почему она доступна и в родителе тоже(это выражается в выводе console.log)

Живой пример тут: https://stackblitz.com/edit/angular-zdsscb

Получается, что производный класс наследуется от базового, но и базовый наследуется от дочернего? это прикол angular или нормальная ситуация для ООП вообще?

 , ,

prozaik ()

Видимость переменных в tepescript

Есть массив

export class ItemService {
    public items = new Array<Item>();
}

В нем хочу загрузить список элементов из json

http.getString("http://server/content/news/export-json").then(function (r) {
  let json = JSON.parse(r);
  // Вот тут бы мне назначить элементы в свойство класса, но не выходит

  /// Не видит this.items
  this.items.push(...)


  // если так, то ничего не возвращает, хотя объект json сожержит json данные, но возвращаются "__zone_symbol__state": null,JS:     "__zone_symbol__value": []

  return json
}).catch();

Что я делаю не так? Как из .then(function (r) получить данные?

 , ,

badil ()

NativeScript

Сталкивался ли кто с этим чудом? Интересует книги и мануалы nativescript+typescript без angular

 ,

badil ()

Стоит ли в 2017 обмазываться JS'ом и его производными?

Устал ждать этого вашего WebAssembly. Неизвестно когда из под флага вылезет (на сайте написано «может Q1 2017, а может и нет»), неизвестно сколько лет будут запиливать threads, GC / DOM integration, Coroutines, JIT и прочее.

TypeScript нормально же выглядит? Статически типизируемый, всё работает уже сегодня, разрабатывается честными людьми из организации, которая не лицемерит.

 , , , ,

MadDeer ()

Angular2 vs Angular1

Поделитесь результатми перехода. Стоит ли изучать 2-ой, или продолжать писать на 1-ом? По работе только проекты на Angular1. Google, вроде, к концу весны выкатит Angular3 уже.

Какие вообще плюсы у 2-го Angular вы заметили, после перехода с 1-го?

Немного озадачила сборка hello world angular 2 на 4 Мб Javascript'а, вебпаком, плюс собиралось 14 секунд на ssd - это жуть.

Отказался от webpack в пользу Rollup, в итоге hello world примерно 400 Кб - меня это тоже не устраивает.

Хочу Angular 2 hello world уложить максимум в 100 Кб не сжатых, чтобы сжималось в 20-40 Кб, и чтобы всё это было в одном файле-бандле, возможно такое или Angular2 выпустили специально таким жирным? Как вы собираете Angular приложухи, заморачиваетесь конечным размером или как всегда... по 5 Мб жабоскрипта и в продакшен?

P.S. Про vue и react в курсе, реакт не нравится от слова совсем. Хочу обсудить именно нишу MVC Javascript фреймворков без ФП. К TypeScript, LiveScript отношусь положительно, ещё лучше к Dart.

Перемещено leave из development

 , , , ,

menangen ()