Перейти к содержимому
Технологии IT обновлён 26.02.2024

HowProgrammingWorks - JavaScript and Node.js Programming

HowProgrammingWorks - JavaScript and Node.js Programming - это канал, посвященный программированию на JavaScript и Node.js. Мы предлагаем уникальный подход к изучению и практике программирования, который поможет вам углубить свои знания и навыки в этих языках. В нашем канале вы найдете обзоры, уроки, советы и практические примеры программирования на JavaScript и Node.js. Мы также активно поддерживаем сообщество программистов и инженеров, которые интересуются разработкой на JavaScript и Node.js в рамках сообщества Метархия. Присоединяйтесь к нашему каналу, чтобы быть в курсе последних новостей, получать полезные материалы и общаться с единомышленниками. Будьте частью нашего сообщества программистов и развивайтесь вместе с HowProgrammingWorks - JavaScript and Node.js Programming.

Публикации канала

Самое сложное сейчас в программировании с AI: не формировать долгосрочных привычек. Нельзя надолго привязываться к IDE, моделям, агентам, подпискам, инструментам, собственным workflow. Все меняется быстрее, чем мы успеваем наладить это как нужно. Главная привычка сегодня - не создавать привычек. Нужно постоянно экспериментировать, пересматривать решения, пробовать новые подходы и без сожалений выбрасывать вчерашний тулинг. Иначе можно обложиться своими и чужими инструментами, все идеально настроить, автоматизировать, интегрировать и застрять в этом уютном мире на 3-6 месяцев. Пока внешние обстоятельства не выбьют тебя оттуда. И окажется, что индустрия уже ушла далеко вперед, а ты все это время занимался оптимизацией собственного комфорта. Такие зависимости гораздо опаснее, чем зависимости на npm или любые другие библиотеки. Это не касается навыков мышления: декомпозиция, проверка гипотез, архитектурные принципы, критическое мышление нужно сохранять и развивать, они не плывут как инструментальные привычки. Сегодня опаснее всего слишком хорошо обустроиться в текущих технологиях. Тут подробнее https://gm.nexttick.it/go/timur-tg-metarhia

Открыть в Telegram

🏛 Открыт новый набор в NextTick - Сейчас это 700+ инженеров - Ведущие Илья Климов и Тимур Шемсединов - Ваши затраты: 2 часа в неделю + $50/месяц - Каждый месяц 2 стрима: по архитектуре и по коммуникациям - Калибровка поможет за 15 минут понять, что вам нужно - Три видео в неделю помогут с AI, архитектурой и коммуникациями - Чат, где вам помогут по рабочим вопросам ведущие и коллеги ✔️ https://gm.nexttick.it/go/timur-tg-metarhia

Открыть в Telegram

📦 reslop@0.3.4 (отличия от 0.3.0) - Поддержка 12 агентов через ACP: - Добавлены Junie by JetBrains, Copilot, Pi, Kiro by AWS, Cline, Windsurf, Kilo Code, Antigravity - Переведены с CLI на ACP: Claude Code, Codex, Cursor, OpenCode - Помогает установить эти 12 агентов на выбор, SDK и ACP для них, если нужно, из npm и пакетных менеджеров - Авторазрешение конфликтов git rebase - Поддержка git worktrees - Улучшена фоновая работа команд, тестов, агентов - Улучшения UI/UX (горячи клавиши, пап-ап меню, редакторы) и многое другое https://github.com/tshemsedinov/reslop

Открыть в Telegram

Тут говорят, что у программистов забрали, самое интересное, а оставили рутину, а я думаю, что как раз наоборот - заблали рутину и оставили самое интересное. Программирование это же не про то, как написать цикл, функцию и класс, а про то, как придумать принцип по которому они будут написаны, например, выделить характеристики кода, как: иммутабельность, идемпотентность, гранулярность, зацепленность, ленивость... и придумать, что эта характеристика дает нам полезного, пока AI не придумал ни одной новой парадигмы программирования, ни одного нового паттерна или приема, ни одного обобщения. Программирование в его наиболее интеллектуальной части - это не код, а создание принципов, по которым код должен быть устроен. Циклы, функции, классы, промисы - это механизмы. А иммутабельность, идемпотентность, композируемость, гранулярность, связность, зацепленность -характеристики, через которые мы управляем свойствами кода. - Иммутабельность дает упрощение конкурентного исполнения - Мутабельность - скорость и экономию памяти, но много опасностей - Идемпотентность - устойчивость к повторам - Слабое зацепление - гибкость через заменяемость - Композируемость - повторное использование и порождение новых абстракций Такие и подобные вещи формируют модель мышления, которое позволяет создавать целые классы программ иначе. ИИ уже участвовал в открытии новых алгоритмов, обнаружил более эффективные алгоритмы сортировки, новые алгоритмы умножения матриц и оптимизации вычислений. Но это не то же самое, что создание новой парадигмы программирования. Можно выделить четыре уровня интеллектуальной деятельности: 1. Реализация -написать код по заданным правилам 2. Проектирование - выбрать известные принципы, паттерны и ограничения 3. Обобщение - обнаружить общий принцип в разных решениях и сформулировать новую абстракцию 4. Изобретение - предложить новый принцип организации вычислений, который открывает ранее недоступные возможности или существенно меняет подход к разработке ИИ уверенно работает на первых двух уровнях, способен неплохо помогать на третьем и демонстрирует скромные результаты на четвертом, прежде всего в алгоритмических задачах. Но общепризнанной новой фундаментальной парадигмы программирования, да что там... даже нового паттерна или приема созданного ИИ мы не видим. Настоящий прорыв в AI-assisted programming - это переход от генерации реализаций к генерации и проверке принципов. Наивно писать "сделай мне архитектуру с SOLID", нужно стремиться к "найди характеристику системы, которую мы еще не формализовали, выведи из нее полезные следствия, предложи новый способ организауии кода и докажи, что он работает и дает полезные характеристики кодовой базы".

Открыть в Telegram

https://www.youtube.com/watch?v=ffUWw_cZt6E YouTube Поговорим о перформансе сайта nexttick.it Видео создано благодаря подписчикам проекта на нашем Patreon. Хотите получать контент на 3 месяца раньше остальных? Присоединяйтесь! https://patreon.com/javascriptninja

Открыть в Telegram

Reslop 0.3.0 - Экспериментальная поддержка запуска агентов из reslop с планами: cloude code, cursor, codex, antigravity, opencode - Запуск npm, git, агентов и всего остального в фоновом режиме, UI не блокируется - Импорт issue из GitHub, GitLab в задачи - Много оптимизаций и теперь все летает - Проработан UX: tasks, agents, run https://reslop.it/

Открыть в Telegram

https://youtu.be/ZRrq3DuXvd4 YouTube 🏛️ #AI, Архитектура и #JavaScript — Можно ли доверить #ИИ разработку архитектуры? Где заканчивается быстрое прототипирование и начинается полноценная инженерия? Почему код, написанный AI, может хорошо работать сегодня, но стать серьезной проблемой при развитии системы? Продолжение в боте: https://gm.nexttick.it/go/data-structures-code…

Открыть в Telegram

Если взять одно, что я хочу в JavaScript, то это будет Block Expression. При чем в V8 все готово, чтобы это сделать, в каждом блоке последнее выражение отдельно сохраняется в структуре V8, я даже согласен на do-expression, но зачем этот do? Сейчас приходится либо выносить функцию или использовать 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 }; });

Открыть в Telegram

Тип компании, где я работаю Anonymous Poll 10% - Стартап 39% - Продукт 19% - Аутсорс 7% - Enterprise 7% - Банк/FinTech 1% - Консалтинг 5% - Работаю сам 3% - Государственная 2% - Фриланс 7% - Другое

Открыть в Telegram

Какой сейчас размер вашей команды? Не компании и не IT отдела, а именно продуктовой команды. Anonymous Poll 6% - Я работаю один на себя 3% - Я работаю один на компанию 17% - Команда 2-3 человек 33% - Команда 4-7 человек 16% - Команда 8-15 человек 12% - Команда >15 человек 12% - Я не работаю

Открыть в Telegram

На кого учиться, если все профессии отберут роботы? Где пределы экспансии искусственного интеллекта? Что останется кожаным? https://youtu.be/BQRDr71Yaaw YouTube Встречайте революцию! | Олег Хомяк, Тимур Шемсединов | @TimurShemsedinov Карты для благодарностей Монобанка: https://send.monobank.ua/jar/ASQws2PAJw 4441111017027206 👉 (налаштовуйте регулярний платіж) Конверт Привата: https://www.privat24.ua/send/49zm0 5168752167933251 USDT (TRC-20): TUxYbEtvmN4Esa3hKPwHZALUs3BQikMgKR На студію…

Открыть в Telegram

Комментарии

0

Комментарии пишут вошедшие — так видно, кто автор.

Войти

Комментариев пока нет

Будьте первым, кто расскажет о канале другим.

Пожаловаться на канал

Расскажите, что не так: модератор проверит канал и примет решение. Подпись не нужна, но почту можно оставить — тогда ответим.

Причина Что не так (необязательно) Почта для ответа (необязательно)
Открыть в Telegram