Всем привет!
Стартую свой блог и канал про IT-разработку, технологии, команды и процессы. Буду делиться своим опытом и знаниями, которые накопились за годы работы в продуктовых IT-компаниях.
Постараюсь сделать что-то интересное и нескучное. Поехали)
Стартую свой блог и канал про IT-разработку, технологии, команды и процессы. Буду делиться своим опытом и знаниями, которые накопились за годы работы в продуктовых IT-компаниях.
Постараюсь сделать что-то интересное и нескучное. Поехали)
🔥3
Вопреки регулярному хайпу вокруг очередного модного языка программирования, фреймворка или подхода, выбор стека технологий оказался в моем топе наиболее важных аспектов эффективного процесса разработки только на четвертом месте.
Сам топ выглядит так:
1. Кадры и найм
2. Управление и процессы
3. Архитектура
4. Стек технологий
Подробнее можно почитать в моем блоге - https://blog.krasman.dev/chto-yavlyaetsya-glavnym-sekretom-uspeha-effektivnoj-razrabotki-it-produkta
#development #hiring #processes #team #architecture
Сам топ выглядит так:
1. Кадры и найм
2. Управление и процессы
3. Архитектура
4. Стек технологий
Подробнее можно почитать в моем блоге - https://blog.krasman.dev/chto-yavlyaetsya-glavnym-sekretom-uspeha-effektivnoj-razrabotki-it-produkta
#development #hiring #processes #team #architecture
Alexey Krasman's Blog
Что является главным секретом успеха эффективной разработки IT-продукта?
Создание нового продукта с нуля (MVP), проверка гипотез, быстрые изменения на основе обратной связи или последующая поддержка, если продукт доказал свою жизнеспособность - процессы довольно сложные и дорогостоящие. Если верить статистике, 90% стартап...
🔥3
Несколько часов назад авторы Dart и Flutter со сцены показали превью новых фичей, которые будут добавлены в SDK в ближайшем будущем. Из самого интересного:
Flutter Web 🌐
Поддержка WebAssembly - https://www.youtube.com/watch?v=zKQYGKAe5W8&t=5682s
Интеграция Flutter в обычные веб-приложения (аналог iframe) - https://www.youtube.com/watch?v=zKQYGKAe5W8&t=5796s
Поддержка Pixel Shader в браузере - https://www.youtube.com/watch?v=zKQYGKAe5W8&t=6029s
Flutter Mobile📱
3D анимация - https://youtu.be/zKQYGKAe5W8?t=7109
Dart 🎯
Поддержка RISC-V архитектуры для примитивных embedded-девайсов - https://youtu.be/zKQYGKAe5W8?list=PLjxrf2q8roU3LvrdR8Hv_phLrTj0xmjnD&t=5382
Выглядит очень круто 🔥🔥🔥
#flutter #development
Flutter Web 🌐
Поддержка WebAssembly - https://www.youtube.com/watch?v=zKQYGKAe5W8&t=5682s
Интеграция Flutter в обычные веб-приложения (аналог iframe) - https://www.youtube.com/watch?v=zKQYGKAe5W8&t=5796s
Поддержка Pixel Shader в браузере - https://www.youtube.com/watch?v=zKQYGKAe5W8&t=6029s
Flutter Mobile📱
3D анимация - https://youtu.be/zKQYGKAe5W8?t=7109
Dart 🎯
Поддержка RISC-V архитектуры для примитивных embedded-девайсов - https://youtu.be/zKQYGKAe5W8?list=PLjxrf2q8roU3LvrdR8Hv_phLrTj0xmjnD&t=5382
Выглядит очень круто 🔥🔥🔥
#flutter #development
YouTube
Flutter Forward 2023 Livestream
Preview some of our investments in the technologies of the future at Flutter Forward, streamed live from Nairobi, Kenya on January 25, 2023. The event featured a keynote, tech talks, and live Q&A session that show how Flutter is pushing UI development forward!…
🔥3
TypeScript 5.0 Beta
Позавчера зарелизили. Краткий обзор:
- Скорость сборки проектов на TS должна вырасти на 10-20% по сравнению с версией 4.9 🚀
- Главная новость - поддержка официального стандарта декораторов (version 2022-03) ECMAScript из коробки, без флага `experimentalDecorators`. Для меня, как активного пользователя декораторов в TS, это шикарная новость. Но давайте разберемся, что это значит? 🎓
1) Декораторы в TypeScript теперь могут работать в одном из двух режимов:
2)
3)
4) Типизация декораторов и соответствие текущему режиму компиляции проверяется в compile-time. Есть возможность писать strong-typed декораторы, ограничивая скоуп их использования для конечных пользователей.
Пример моей реализации декоратора "observable" для
Применение
- Так же по традиции добавлены новые возможности более строго и точно выводить типы автоматически. Самая интересная - `const Type Parameters` 🎯
Было:
Позавчера зарелизили. Краткий обзор:
- Скорость сборки проектов на TS должна вырасти на 10-20% по сравнению с версией 4.9 🚀
- Главная новость - поддержка официального стандарта декораторов (version 2022-03) ECMAScript из коробки, без флага `experimentalDecorators`. Для меня, как активного пользователя декораторов в TS, это шикарная новость. Но давайте разберемся, что это значит? 🎓
1) Декораторы в TypeScript теперь могут работать в одном из двух режимов:
experimentalDecorators: true
или experimentalDecorators: false
. 2)
experimentalDecorators: true
- экспериментальный стандарт из ранних версий пропозала ECMAScript, который так и не утвердили. Текущие версии опенсорс-библиотек с декораторами типа angular и mobx написаны на нем и они будут работать в данном режиме.3)
experimentalDecorators: false
- текущая измененная версия (2022-03) пропозала декораторов ECMAScript, которая сейчас в stage 3 и с большой вероятностью скоро станет официально частью языка. Текущие версии angular и mobx в этом режиме работать не будут. Им нужно переписать свои декораторы под новый стандарт и выпустить новые мажорные версии с breaking changes. Сделать это стоит, потому что рано или поздно новый стандарт реализуют нативно в браузерах и node.js, что позволит совсем убрать полифилы из транспиляторов.4) Типизация декораторов и соответствие текущему режиму компиляции проверяется в compile-time. Есть возможность писать strong-typed декораторы, ограничивая скоуп их использования для конечных пользователей.
Пример моей реализации декоратора "observable" для
solid-js
(версия с experimentalDecorators: false):import { createSignal } from 'solid-js'
function initObservableField(target: any, name: PropertyKey): void {
const [value, setValue] = createSignal()
Object.defineProperty(target, name, {
configurable: true,
enumerable: true,
get: () => value(),
set: (newValue) => setValue(newValue),
})
}
export function observable(_: any, context: ClassFieldDecoratorContext) {
context.addInitializer(function (this: any) {
initObservableField(this, context.name)
})
}
Применение
import { createEffect } from 'solid-js'Output
import { observable } from './mobx-solid-js/decorators/observable'
class ViewModel {
@observable
counter = 15
@observable
loaded = false
@observable
values = [1, 2, 3]
get total() {
return this.counter + this.values.length
}
}
let timerIndex = 0
const vm = new ViewModel()
const vm2 = new ViewModel()
createEffect(() => {
console.log('reaction effect', vm.counter, vm.loaded, vm.values.length, vm2.values.length)
})
setInterval(() => {
timerIndex++
console.log('timerIndex:', timerIndex)
if (timerIndex % 2) {
vm.counter += 1
} else {
vm2.values = [...vm2.values, 5]
}
}, 1000)
reaction effect: 15 false 3 3Подробнее о декораторах можно почитать тут.
timerIndex: 1
reaction effect: 16 false 3 3
timerIndex: 2
reaction effect: 16 false 3 4
timerIndex: 3
reaction effect: 17 false 3 4
timerIndex: 4
reaction effect: 17 false 3 5
timerIndex: 5
reaction effect: 18 false 3 5
timerIndex: 6
reaction effect: 18 false 3 6
- Так же по традиции добавлены новые возможности более строго и точно выводить типы автоматически. Самая интересная - `const Type Parameters` 🎯
Было:
type HasNames = { readonly names: string[] };Стало
function getNamesExactly<T extends HasNames>(arg: T): T["names"] {
return arg.names;
}
// Inferred type: string[]
const names = getNamesExactly({ names: ["Alice", "Bob", "Eve"]});
type HasNames = { names: readonly string[] };Попробовать бэта-версию на своем проекте можно уже сейчас:
function getNamesExactly<const T extends HasNames>(arg: T): T["names"] {
return arg.names;
}
// Inferred type: readonly ["Alice", "Bob", "Eve"]
// Note: Didn't need to write 'as const' here
const names = getNamesExactly({ names: ["Alice", "Bob", "Eve"] });
npm install typescript@beta#typescript #frontend #development
Microsoft News
Announcing TypeScript 5.0 Beta
Today we’re excited to announce our beta release of TypeScript 5.0! This release brings many new features, while aiming to make TypeScript, smaller, simpler, and faster. We’ve implemented the new decorators standard, functionality to better support ESM projects…
👍1👎1
Новая статья в блоге про найм в IT-командах. Уже скоро доберемся до деталей технического интервью разработчиков, а пока про процессы и мой опыт в целом - https://blog.krasman.dev/najm-v-it-postroenie-processa
#hiring #processes #team #development
#hiring #processes #team #development
Alexey Krasman's Blog
Найм в IT: Построение процесса
На мой взгляд, найм является ключевым фактором в построении успешной команды разработки. В то же время, во многих IT-компаниях не уделяют этому процессу должного внимания и считают его фоновым, стараясь отвлекаться на него лишь по мере необходимости....
👍4🔥2
Мощь TypeScript в одной картинке. Все проверяется в compile time.
Планирую в ближайшем будущем создать в блоге рубрику "TypeScript паттерны" в виде серии практических статей с примерами кода. Это для разогрева)
#typescript #development
Планирую в ближайшем будущем создать в блоге рубрику "TypeScript паттерны" в виде серии практических статей с примерами кода. Это для разогрева)
#typescript #development
🔥6🆒2
Dart на бэкенде
В последнее время все чаще прослеживается тренд на использование Dart как fullstack-языка c переиспользованием общего кода на фронтенде и бэкенде. Думаю, у этого направления есть перспективы.
Примеры:
Раз - https://www.youtube.com/watch?v=QN6juNWW3js&t=604s&ab_channel=Serverpod%F0%9F%9A%80
Два - https://www.youtube.com/watch?v=TGKipiJhpXo&ab_channel=FlutterCommunity
#dart #flutter #development #frontend #backend
В последнее время все чаще прослеживается тренд на использование Dart как fullstack-языка c переиспользованием общего кода на фронтенде и бэкенде. Думаю, у этого направления есть перспективы.
Примеры:
Раз - https://www.youtube.com/watch?v=QN6juNWW3js&t=604s&ab_channel=Serverpod%F0%9F%9A%80
Два - https://www.youtube.com/watch?v=TGKipiJhpXo&ab_channel=FlutterCommunity
#dart #flutter #development #frontend #backend
YouTube
Serverpod 1.0 🚀 Release Keynote - Art Nouveau
We are excited to announce the launch of Serverpod 1.0! Tune in on January 30th at 9AM PST to watch the keynote address.
Serverpod is an open-source framework written in Dart that allows Flutter developers to use Dart as their single language across the…
Serverpod is an open-source framework written in Dart that allows Flutter developers to use Dart as their single language across the…
TypeScript Patterns. Номинальные типы
Неделю назад анонсировал цикл статей по лучшим практикам в TypeScript. Первую часть уже можно почитать в моем блоге -
https://blog.krasman.dev/typescript-patterns-nominalnye-tipy
Продолжение следует...
#typescript #frontend #development
Неделю назад анонсировал цикл статей по лучшим практикам в TypeScript. Первую часть уже можно почитать в моем блоге -
https://blog.krasman.dev/typescript-patterns-nominalnye-tipy
Продолжение следует...
#typescript #frontend #development
Alexey Krasman's Blog
TypeScript Patterns. Номинальные типы
В этом посте я хочу начать цикл практических статей про advanced-level практики в TypeScript (далее TS).
Далеко не все осознают насколько мощный инструмент достался frontend-сообществу и какие он открывает возможности для того, чтобы писать удобный, ...
Далеко не все осознают насколько мощный инструмент достался frontend-сообществу и какие он открывает возможности для того, чтобы писать удобный, ...
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Как вам такое?
Голосуем лайками, если интересно узнать как это работает)
#typescript #showcase #short #development
Голосуем лайками, если интересно узнать как это работает)
#typescript #showcase #short #development
👍6❤1