Рубрика «TypeScript» - 4

У каждого веб-разработчика есть моменты, когда рутинные задачи съедают больше времени, чем сама разработка. Проверить редиректы, оптимизировать мета-теги, убедиться, что изображения в порядке, а заголовки везде прописаны — всё это нужно делать регулярно. И если ты ведёшь проекты с нуля и под ключ, то таких задач становится десятки.

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

Читать полностью »

createObservableStore — это продуманная и гибкая система управления состоянием, которая сочетает реактивность, типобезопасность и удобную работу с асинхронными данными. Благодаря прозрачной архитектуре и удобной обёртке для React, она помогает строить UI с точным контролем, минимальным количеством шаблонного кода и высокой отзывчивостью.

Два пакета дополняют друг друга:

Читать полностью »

Коротко расскажу о себе. С 2017 года начал заниматься обычной HTML версткой с амбициями на веб-программирование. Набираясь опыта, стал писать все более сложные проекты для e-commers. В 2020 году устроился фронтенд разработчиком Цифровые сервисы (входит в цифровой сабхолдинг РЖД-Технологии). Мы занимаемся импортозамещением иностранных сервисов и разработкой собственных решений автоматизации. Проект, которым я занимаюсь в течении пяти лет, автоматизирует процессы стратегического управления данными (Data Governance) на предприятии.

На старте данного проекта, взвесив все плюсы и минусы, принял решение использовать Vue 2 на фронтенде.

Читать полностью »

В нашей компании в процессе разработки frontend‑приложений мы иногда сталкиваемся с одной из следующих ситуаций (или с обеими сразу):

  1. Когда мы имеем достаточно объемную и часто меняющуюся спецификацию API. Тут нам поможет генерация кода на основе этой спецификации.

  2. Когда нам нужно работать с функционалом, отвечающим за обработку обращений к различным эндпойнтам, но сами запросы не работают по каким‑либо причинам. Эту проблему можно решить подстановкой в соответствующих местах mock‑объектов.

Читать полностью »

Пришел к хитрому паттерну. Делюсь.

Будет полезен тем кому нравиться или приходится работать с Vue.
В подходящей ситуации он сэкономит кучу времени и поможет избежать дублирования кода.

Контекст

  • Есть несколько компонентов.

  • Компоненты должны выполнять одинаковую сложную логику.

  • Компоненты должны принимать одинаковые свойства и эмитить одинаковые события.

  • Свойства из composable могут быть опциональными со значениями по умолчанию.

  • Каждый компонент выглядит совершенно по разному (разная вёрстка).

  • Каждый компонент, опционально, в дополнение к общему, может:

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

Часто в компонентах можно встретить такой код:

public user: User | null = null;
public posts: Post[] | null = null;
public stats: Stats | null = null;

constructor(private readonly apiService: ApiService) {}

public ngOnInit(): void {
    this.apiService.getUser().subscribe((user) => this.user = user);
    this.apiService.getPosts().subscribe((posts) => this.posts = posts);
    this.apiService.getStats().subscribe((stats) => this.stats = stats);
}

Все загрузки данных у нас происходят в ngOnInitЧитать полностью »

Предыдущая статья с подборкой моделей для русского

draw a cat which choosing LLM model

draw a cat which choosing LLM model

Читать полностью »

Как я делал автопуть для игры на Phaser (TypeScript) - 1

Пролог

Всем привет! Сразу хочу сказать, что это не гайд, и я не рассказываю, как нужно кодить — просто хочу поделиться тем, что у меня получилось, и что я использовал в процессе разработки.

Читать полностью »

(История экономиста с неоконченной Computer Science в мире Логистики)

Меня зовут Александр и я обычный менеджер по работе с ключевыми клиентами в логистической компании, которая занимается в основном контейнерными перевозками из Китая в РФ (рекламы не будет).

Читать полностью »

https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js