Объем текста и объем кода должны заставлять нас не махнуть рукой, а заставлять ии делать меньше бюрократии
💯8👍3❤2
На кого учиться, если все профессии отберут роботы? Где пределы экспансии искусственного интеллекта? Что останется кожаным?
https://youtu.be/BQRDr71Yaaw
https://youtu.be/BQRDr71Yaaw
YouTube
Встречайте революцию! | Олег Хомяк, Тимур Шемсединов | @TimurShemsedinov
Карты для благодарностей
Монобанка: https://send.monobank.ua/jar/ASQws2PAJw
4441111017027206 👉 (налаштовуйте регулярний платіж)
Конверт Привата: https://www.privat24.ua/send/49zm0
5168752167933251
USDT (TRC-20): TUxYbEtvmN4Esa3hKPwHZALUs3BQikMgKR
На студію…
Монобанка: https://send.monobank.ua/jar/ASQws2PAJw
4441111017027206 👉 (налаштовуйте регулярний платіж)
Конверт Привата: https://www.privat24.ua/send/49zm0
5168752167933251
USDT (TRC-20): TUxYbEtvmN4Esa3hKPwHZALUs3BQikMgKR
На студію…
❤9👍4👀2
Какой сейчас размер вашей команды? Не компании и не IT отдела, а именно продуктовой команды.
Anonymous Poll
6%
Я работаю один на себя
3%
Я работаю один на компанию
17%
Команда 2-3 человек
32%
Команда 4-7 человек
17%
Команда 8-15 человек
12%
Команда >15 человек
12%
Я не работаю
Тип компании, где я работаю
Anonymous Poll
10%
Стартап
39%
Продукт
19%
Аутсорс
7%
Enterprise
7%
Банк/FinTech
1%
Консалтинг
5%
Работаю сам
3%
Государственная
2%
Фриланс
7%
Другое
Если взять одно, что я хочу в JavaScript, то это будет Block Expression. При чем в V8 все готово, чтобы это сделать, в каждом блоке последнее выражение отдельно сохраняется в структуре V8, я даже согласен на do-expression, но зачем этот do?
Сейчас приходится либо выносить функцию или использовать IIFE или let снаружи - это отвратительно:
Промежуточные переменные не загрязняют scope, а можно было бы:
Вместо IIFE только представьте как можно было бы переписать:
Но лучше всего в try/catch, представьте это как перепишем:
А теперь представьте литерал объекта:
Или вызов функции:
Сейчас приходится либо выносить функцию или использовать IIFE или let снаружи - это отвратительно:
let price;
if (user.isAdmin) {
price = 0;
} else if (user.hasDiscount) {
const discount = calculateDiscount(user);
price = basePrice * (1 - discount);
} else {
price = basePrice;
}
Промежуточные переменные не загрязняют scope, а можно было бы:
const id = {
const normalized = name.trim().toLowerCase();
const separator = normalized.includes("-") ? "-" : "_";
const parts = normalized.split(separator);
parts.join(":");
};Вместо IIFE только представьте как можно было бы переписать:
const config = (() => {
const env = process.env.NODE_ENV ?? 'development';
const production = env === 'production';
// do something...
return { env, host, port, secure: production };
})();Но лучше всего в try/catch, представьте это как перепишем:
let data;
try {
const text = await readFile(path, 'utf8');
data = JSON.parse(text);
} catch {
data = 'default value';
}
А теперь представьте литерал объекта:
const response = {
user,
permissions: {
const roles = await getRoles(user);
if (roles.includes('admin')) ['read', 'write", 'delete'];
else if (roles.includes('editor')) ['read', 'write'];
else ['read'];
},
displayName: { ... some calculations },
};Или вызов функции:
render({
const width = container.clientWidth;
const columns = Math.max(1, Math.floor(width / 300));
const gap = columns > 3 ? 24 : 16;
{ width, columns, gap };
});🔥13❤3🤷♂2👍2🤯2🤩1
Reslop 0.3.0
- Экспериментальная поддержка запуска агентов из reslop с планами: cloude code, cursor, codex, antigravity, opencode
- Запуск npm, git, агентов и всего остального в фоновом режиме, UI не блокируется
- Импорт issue из GitHub, GitLab в задачи
- Много оптимизаций и теперь все летает
- Проработан UX: tasks, agents, run
https://reslop.it/
- Экспериментальная поддержка запуска агентов из reslop с планами: cloude code, cursor, codex, antigravity, opencode
- Запуск npm, git, агентов и всего остального в фоновом режиме, UI не блокируется
- Импорт issue из GitHub, GitLab в задачи
- Много оптимизаций и теперь все летает
- Проработан UX: tasks, agents, run
https://reslop.it/
❤8🔥6🤝1