Сьогодні в рекомендаціях два відео з Google I/O 2016 присвячені Firebase RealTime DB. У деяких випадках не варто створювати своє API, а краще використовувати цю базу. Наразі вже є Cloud Firestore, але концепції з відео не втрачають своєї актуальності.
#worth_seeing
👀 Deep Dive into the Realtime Database
👀 The key to Firebase security
#worth_seeing
👀 Deep Dive into the Realtime Database
👀 The key to Firebase security
👍5
Поділюся досвідом використання transform.tools. Частіше всього я використовую JSON To #TypeScript. Після трансформації можуть знадобитися правки, наприклад, додати enum. Приклади використання:
– додати інтерфейс події для Google Cloud Function. В ідеальному світі це вже повинно бути в SDK.
– описати інтерфейси запитів і відповідей для інтеграції зі стороннім API, у якому є текстова документація, але не специфікація. Якби була специфікація, наприклад Swagger, то правильно було б створити типи з неї.
Простий інструмент, який може заощадити час, тож про нього потрібно пам'ятати.
– додати інтерфейс події для Google Cloud Function. В ідеальному світі це вже повинно бути в SDK.
– описати інтерфейси запитів і відповідей для інтеграції зі стороннім API, у якому є текстова документація, але не специфікація. Якби була специфікація, наприклад Swagger, то правильно було б створити типи з неї.
Простий інструмент, який може заощадити час, тож про нього потрібно пам'ятати.
🔥21👍5❤1🤮1
Хочу допомогти своєму товаришу Віталію Ратушному у його збиранні грошей для ЗСУ.
Буду відвертим, цей збір ні чим не відрізняється від десятка йому подібних, за винятком:
1) Це перший збір, що я піарю на каналі.
2) Донат на 2000+грн можна обміняти на мою годинну консультацію з потрібного вам питання або мок інтерв'ю зі зворотним зв'язком. Доступно для перших п'яти.
3) Донат на 10.000+грн можна обміняти на 4-е менторинг сесії на протязі цього літа. На першій аналізуємо поточний рівень, куди хочете рухатися та складаємо план. На наступних аналізуємо прогрес і вносимо виправлення. Доступно для перших трьох.
FAQ
❓Чому саме зараз? Цього тижня я маю першу відпустку більше ніж за два роки.
❓Як зробити запит? Після донату просто напишіть мені в телеграм, я надішлю посилання на calendly, щоб ви забронювали таймслот.
❓А слоти ще лишилися? Я зроблю апдейт посту, коли закінчуватимуться.
Реквізити:
🔗 Посилання на МоноБанку
💳 Монобанк 5375 4112 0190 4310
💳 Приватбанк 4149 6090 0764 1402
💵 Payoneer v.ratyshnij@gmail.com
🔗 Банка на Wise
🔗 Пост на FB
🔗 Notion
Дякую за донати. Все буде Україна!
Update: Слоты законились
Буду відвертим, цей збір ні чим не відрізняється від десятка йому подібних, за винятком:
1) Це перший збір, що я піарю на каналі.
2) Донат на 2000+грн можна обміняти на мою годинну консультацію з потрібного вам питання або мок інтерв'ю зі зворотним зв'язком. Доступно для перших п'яти.
3) Донат на 10.000+грн можна обміняти на 4-е менторинг сесії на протязі цього літа. На першій аналізуємо поточний рівень, куди хочете рухатися та складаємо план. На наступних аналізуємо прогрес і вносимо виправлення. Доступно для перших трьох.
FAQ
❓Чому саме зараз? Цього тижня я маю першу відпустку більше ніж за два роки.
❓Як зробити запит? Після донату просто напишіть мені в телеграм, я надішлю посилання на calendly, щоб ви забронювали таймслот.
❓А слоти ще лишилися? Я зроблю апдейт посту, коли закінчуватимуться.
Реквізити:
🔗 Посилання на МоноБанку
💳 Монобанк 5375 4112 0190 4310
💳 Приватбанк 4149 6090 0764 1402
💵 Payoneer v.ratyshnij@gmail.com
🔗 Банка на Wise
🔗 Пост на FB
🔗 Notion
Дякую за донати. Все буде Україна!
Update: Слоты законились
🔥34👍3❤2
Що таке Event Loop Delay?
#nodejs_api
Node.js може обробляти одночасно кілька запитів. За це відповідає Event Loop. Синхронний код (
Чим можна вимірювати:
– існує Node.js апі perf_hooks.monitorEventLoopDelay
– це частина метрик у pm2
– prom-client та його аналоги теж збирають цю метрику
#nodejs_api
Node.js може обробляти одночасно кілька запитів. За це відповідає Event Loop. Синхронний код (
require('fs').readFileSync) або підвищене споживання CPU (обробка великого JSON) гальмуватиме Event Loop. Для вимірювання, наскільки це відбувається, використовується метрика Event Loop Delay. Наприклад, якщо якісь endpoint блочить Event Loop Delay на 100ms, то процес не може опрацювати більше 10 таких запитів на секунду. Приклад Чим можна вимірювати:
– існує Node.js апі perf_hooks.monitorEventLoopDelay
– це частина метрик у pm2
– prom-client та його аналоги теж збирають цю метрику
👍26🔥9
У друзів каналу новина: корпоративний центр навчання NIX розпочинає набір на безкоштовну освітню програму FrontEnd + JavaScript.
Курс ідеально підійде студентам і розробникам-початківцям. Ще є курси з Java, .Net, QA.
Формат — онлайн.
Старт — кінець серпня – вересень.
Більше деталей та реєстрація тут
Курс ідеально підійде студентам і розробникам-початківцям. Ще є курси з Java, .Net, QA.
Формат — онлайн.
Старт — кінець серпня – вересень.
Більше деталей та реєстрація тут
👎6
Чому погано використовувати поліфіли в Node.js?
Нагадаю значення, поліфіл (Polyfill) — це код, який реалізує функцію у браузерах, які не підтримують цю функцію. Приклад:
А ще поліфіл є окремим випадком Monkey Patching відомого так само як Code Poisoning. У браузерах використання поліфілів виправдане, оскільки вони дають більше користі, ніж шкоди.
Чому ж використання поліфілу у ноді це погано? Адже за його допомогою ми можемо додати фічу з нового ECMAScript...
Node.js розробник повинен завжди знати, на якій версії Node.js буде працювати його код. Повинен використовувати в розробці ту саму версію, що на продакшені. Dev/prod parity Тому поліфіл в Node.js середовище це просто Monkey Patching. Для додавання ECMAScript фіч краще обновляти Node.js.
Нагадаю значення, поліфіл (Polyfill) — це код, який реалізує функцію у браузерах, які не підтримують цю функцію. Приклад:
Array.prototype.myForEach = function(callback){ for(let i=0; i<this.length; i++){ callback(this[i],i,this) }}А ще поліфіл є окремим випадком Monkey Patching відомого так само як Code Poisoning. У браузерах використання поліфілів виправдане, оскільки вони дають більше користі, ніж шкоди.
Чому ж використання поліфілу у ноді це погано? Адже за його допомогою ми можемо додати фічу з нового ECMAScript...
Node.js розробник повинен завжди знати, на якій версії Node.js буде працювати його код. Повинен використовувати в розробці ту саму версію, що на продакшені. Dev/prod parity Тому поліфіл в Node.js середовище це просто Monkey Patching. Для додавання ECMAScript фіч краще обновляти Node.js.
👍31❤4
Почну зі слів подяки. Читачі каналу дякую вам 🙏🙏🙏! Я не очікував такого відгуку на збір. Низький уклін вам за довіру та підтримку. За вашою допомогою збір закрили за тиждень.
В рамках підтримки цього збору я провів 5 мок інтерв'ю. Запит у 4-х читачів був на зворотний зв'язок з технічних навичок. Ще один запит був як найкраще проводити інтерв'ю. Як ви бачите запити не включали перевірку продуктового мислення (product mindset). У стартапах для інженера це надзвичайно важлива навичка.
Сьогодні у рекомендаціях не відео, а подкаст від того самого Макса Іщенка, який зробив Dou та Djinni. Подкаст називається "Startups are hard". Сьогоднішній випуск називається #19: Як виглядає версія цієї фічі, яку можна зробити за день? Це одне з моїх улюблених питань для product mindset interview.
Рекомендую підписатися і послухати випуски, що вже вийшли
#worth_seeing
В рамках підтримки цього збору я провів 5 мок інтерв'ю. Запит у 4-х читачів був на зворотний зв'язок з технічних навичок. Ще один запит був як найкраще проводити інтерв'ю. Як ви бачите запити не включали перевірку продуктового мислення (product mindset). У стартапах для інженера це надзвичайно важлива навичка.
Сьогодні у рекомендаціях не відео, а подкаст від того самого Макса Іщенка, який зробив Dou та Djinni. Подкаст називається "Startups are hard". Сьогоднішній випуск називається #19: Як виглядає версія цієї фічі, яку можна зробити за день? Це одне з моїх улюблених питань для product mindset interview.
Рекомендую підписатися і послухати випуски, що вже вийшли
#worth_seeing
👍26❤10
Як генерувати первинний ключ?
TL;DR; використовуйте nanoid
Сьогодні поговоримо про формат первинного ключа. Почнемо з типового порівняння id VS uuid.
id, інкрементний ключ, тобто 1, 2, 3, ...
➕ простий у роботі
➕ по ньому можна сортувати
➖ Не є String. Нагадаю, що id входить до URL, який є String.
➖ Легко створити колізію. Приклад із практики: до міграції додано admin c id=1000. Це пішло у реліз.
➖ Створюють ризики для системи – її просто аналізувати: скільки сутностей, як швидко вони додаються
➖ сутності не можна переносити між оточеннями (типова проблема самописних CMS)
uuid, приклад
➕ гарантовано унікальні
➕ можна генерувати будь-де, а не тільки в БД. Нагадаю про crypto.randomUUID() і браузер, і в Node.js.
➖ довгі, тобто потрібно більше місця, щоб зберігати та передавати
➖ Людям із ними не так зручно працювати
➖ Сортування за таким ключем не має сенсу
Хорошою альтернативою uuid є nanoid. Приклад,
Посилання по nanoid:
🔗 https://www.npmjs.com/package/nanoid
🔗 https://github.com/Jakeii/nanoid-postgres
🔗 https://zelark.github.io/nano-id-cc/
TL;DR; використовуйте nanoid
Сьогодні поговоримо про формат первинного ключа. Почнемо з типового порівняння id VS uuid.
id, інкрементний ключ, тобто 1, 2, 3, ...
➕ простий у роботі
➕ по ньому можна сортувати
➖ Не є String. Нагадаю, що id входить до URL, який є String.
➖ Легко створити колізію. Приклад із практики: до міграції додано admin c id=1000. Це пішло у реліз.
➖ Створюють ризики для системи – її просто аналізувати: скільки сутностей, як швидко вони додаються
➖ сутності не можна переносити між оточеннями (типова проблема самописних CMS)
uuid, приклад
1FE577FE-9AED-4728-8B88-AAA11FA11E76➕ гарантовано унікальні
➕ можна генерувати будь-де, а не тільки в БД. Нагадаю про crypto.randomUUID() і браузер, і в Node.js.
➖ довгі, тобто потрібно більше місця, щоб зберігати та передавати
➖ Людям із ними не так зручно працювати
➖ Сортування за таким ключем не має сенсу
Хорошою альтернативою uuid є nanoid. Приклад,
V1StGXR8_Z5jdHi6B-myT. Ще він дозволяє вибрати довжину та алфавіт. Тому його часто використовують у web додатках.Посилання по nanoid:
🔗 https://www.npmjs.com/package/nanoid
🔗 https://github.com/Jakeii/nanoid-postgres
🔗 https://zelark.github.io/nano-id-cc/
👍27🔥8
Що таке дизайн система?
Іноді я розповідаю про Frontend. Сьогодні саме такий день. І так, дизайн система це набір правил для дизайнерів та готових компонентів для розробників.
Типова помилка для вебзастосунків це індивідуальний дизайн. Компанія витрачає гроші та час співробітників не на бізнес-функционал, а на індивідуальний стиль, компоненти, тощо. Якщо вона не має мільйонних обертів, то робити так – це гроші на вітер. У 99% випадків унікалізації за допомогою логотипу достатньо. Треба використовувати готову дизайн систему, до якої звикла аудиторія.
Приклади дизайн систем:
👍 material дизайн система від Google, стандарт де-факто в Angular
❤️ ant.design дизайн система від Alibaba, мій звичайний вибір для React
🔥 новинкою цього літа є cloudscape.design, дизайн система від AWS.
👉 ще 50 дизайн систем тут
Іноді я розповідаю про Frontend. Сьогодні саме такий день. І так, дизайн система це набір правил для дизайнерів та готових компонентів для розробників.
Типова помилка для вебзастосунків це індивідуальний дизайн. Компанія витрачає гроші та час співробітників не на бізнес-функционал, а на індивідуальний стиль, компоненти, тощо. Якщо вона не має мільйонних обертів, то робити так – це гроші на вітер. У 99% випадків унікалізації за допомогою логотипу достатньо. Треба використовувати готову дизайн систему, до якої звикла аудиторія.
Приклади дизайн систем:
👍 material дизайн система від Google, стандарт де-факто в Angular
❤️ ant.design дизайн система від Alibaba, мій звичайний вибір для React
🔥 новинкою цього літа є cloudscape.design, дизайн система від AWS.
👉 ще 50 дизайн систем тут
👍36
Forwarded from Google Developer Groups on Campus KPI
Привіт, друзі!👋
Ми продовжуємо проводити івенти, і цього разу запрошуємо вас на лекцію з Serverless functions від ліда GDG Cloud Kyiv!
Безсерверні функції можуть суттєво спростити життя розробнику, адже всі серверні проблеми лежатимуть на провайдері. Тож ми радимо вам ознайомитися з цим цікавим та потужним інструментом.
Ви дізнаєтесь як і коли застосовуввти безсерверні функції, а також на власні очі побачите практичне застосування AWS Lambda та Google Cloud Functions.
Івент відбудеться 30 липня, о 16:00. Реєстація за посиланням. Долучайся, буде цікаво🔥
Ми продовжуємо проводити івенти, і цього разу запрошуємо вас на лекцію з Serverless functions від ліда GDG Cloud Kyiv!
Безсерверні функції можуть суттєво спростити життя розробнику, адже всі серверні проблеми лежатимуть на провайдері. Тож ми радимо вам ознайомитися з цим цікавим та потужним інструментом.
Ви дізнаєтесь як і коли застосовуввти безсерверні функції, а також на власні очі побачите практичне застосування AWS Lambda та Google Cloud Functions.
Івент відбудеться 30 липня, о 16:00. Реєстація за посиланням. Долучайся, буде цікаво🔥
🔥16
А ви знаєте про ось ці два репозиторії?
– nodebestpractices
– javanoscript-testing-best-practices
якщо ні, то саме час їх прочитати
– nodebestpractices
– javanoscript-testing-best-practices
якщо ні, то саме час їх прочитати
👍48🔥4
Fwdays запрошує вас на онлайн-конференцію, яка присвячена практичним питанням архітектури програмного забезпечення — Software Architecture fwdays'22!
📝 Теми конференції: Solution Architecture, Cloud Architecture, System Architecture, DevOps.
🗓 Дата — 24 вересня.
Існує 2 варіанти участі:
🏷 Free Online (вільний доступ до перегляду доповідей конференції 24 вересня, доступ до презентацій доповідей)
🏷 Full Online (всі пункти free online пакету, записи всіх ефірів одразу після івенту та упродовж 3-х місяців, Q&A зі спікерами, приватний чат для спілкування з учасниками та спікерами, сертифікат участi).
Квитки та деталі події 👉https://bit.ly/3J8IG73
Fwdays шукають спікерів та спікерок. Якщо ви спеціаліст у сфері Software Architecture і хочете виступити, заповнюйте форму до 24 серпня 👉https://bit.ly/3PT7CS6
📝 Теми конференції: Solution Architecture, Cloud Architecture, System Architecture, DevOps.
🗓 Дата — 24 вересня.
Існує 2 варіанти участі:
🏷 Free Online (вільний доступ до перегляду доповідей конференції 24 вересня, доступ до презентацій доповідей)
🏷 Full Online (всі пункти free online пакету, записи всіх ефірів одразу після івенту та упродовж 3-х місяців, Q&A зі спікерами, приватний чат для спілкування з учасниками та спікерами, сертифікат участi).
Квитки та деталі події 👉https://bit.ly/3J8IG73
Fwdays шукають спікерів та спікерок. Якщо ви спеціаліст у сфері Software Architecture і хочете виступити, заповнюйте форму до 24 серпня 👉https://bit.ly/3PT7CS6
👍7
Що має вміти AWS Developer?
#aws
AWS Certified Developer цей іспит, що перевіряє знання, а не навички. Сьогодні розповім, що я вважаю треба вміти, щоб вважати себе AWS Developer:
– вибирати та правильно використовувати AWS SDK
– deploy and troubleshooting in AWS (навіть не хочу це перекладати)
– взаємодіяти з хмарними ресурсами через Management Console та AWS CLI
– перевіряти та налаштовувати IAM
– емулювати AWS сервіси за допомогою Docker та/або localstack.cloud для локальної розробки
Якщо в цьому списку навичкою замінити AWS інший Cloud (Azure/GCP/etc), то він не втратить своєї актуальності. Мій досвід показує, що перехід з однієї хмари на іншу для розробника займає не більше місяця.
#aws
AWS Certified Developer цей іспит, що перевіряє знання, а не навички. Сьогодні розповім, що я вважаю треба вміти, щоб вважати себе AWS Developer:
– вибирати та правильно використовувати AWS SDK
– deploy and troubleshooting in AWS (навіть не хочу це перекладати)
– взаємодіяти з хмарними ресурсами через Management Console та AWS CLI
– перевіряти та налаштовувати IAM
– емулювати AWS сервіси за допомогою Docker та/або localstack.cloud для локальної розробки
Якщо в цьому списку навичкою замінити AWS інший Cloud (Azure/GCP/etc), то він не втратить своєї актуальності. Мій досвід показує, що перехід з однієї хмари на іншу для розробника займає не більше місяця.
🔥12👍6
Як Node.js розробнику перевіряти мобільні додатки?
#personal_recommendation #advertising
Тестувати додатки можна по-різному. Backend розробнику важливо перевірити взаємодію з API. Перевіряти веб-додатки просто, достатньо запустити Developer Tools і перейти у вкладку Network. На мобільних такої вкладки немає, але її легко отримати за допомогою Proxyman.
Proxyman це нативна програма macOS для аналізу HTTP трафіку. Вона працює як man-in-the-middle, тому запити можна не лише логувати, а й модифікувати, ставити break-point тощо. Що використовувати замість неї для Windows, я навіть не знаю. Вона дозволяє перенаправити мобільний трафік на ваше локальне оточення. Без неї доводиться аналізувати логи на сервері, що дуже сповільнює процес розробки.
Програма платна і коштує своїх грошей. Вона має trail c сильно обмеженим функціоналом. Особисто я встановив Proxyman у рамках підписки Setapp. Там trial 7 днів, але без обмежень функціоналу у всіх 200+ программах. Залишу свою рефералку. Після вашої першої оплати і ви, і я отримаємо безкоштовний місяць.
👉 proxyman.io
👉 setapp.com
👉 setapp.com з реферальним посиланням
#personal_recommendation #advertising
Тестувати додатки можна по-різному. Backend розробнику важливо перевірити взаємодію з API. Перевіряти веб-додатки просто, достатньо запустити Developer Tools і перейти у вкладку Network. На мобільних такої вкладки немає, але її легко отримати за допомогою Proxyman.
Proxyman це нативна програма macOS для аналізу HTTP трафіку. Вона працює як man-in-the-middle, тому запити можна не лише логувати, а й модифікувати, ставити break-point тощо. Що використовувати замість неї для Windows, я навіть не знаю. Вона дозволяє перенаправити мобільний трафік на ваше локальне оточення. Без неї доводиться аналізувати логи на сервері, що дуже сповільнює процес розробки.
Програма платна і коштує своїх грошей. Вона має trail c сильно обмеженим функціоналом. Особисто я встановив Proxyman у рамках підписки Setapp. Там trial 7 днів, але без обмежень функціоналу у всіх 200+ программах. Залишу свою рефералку. Після вашої першої оплати і ви, і я отримаємо безкоштовний місяць.
👉 proxyman.io
👉 setapp.com
👉 setapp.com з реферальним посиланням
🔥13👍1
За годину розповім про те, як працюють serverless function чим вони відрізняються від containers. Роблю доповідь у рамках @dsc_kpi (Google Developer Student Club KPI), але цікавою вона може бути й Senior рівню. Тільки демо без теорії/слайдів і звичайно на Node.js. До зустрічі!
👍23🤔2
Чому NODE_ENV=beta це помилка?
TL;DR; NODE_ENV=production ENV=beta
🇺🇸 English version at dev.to
Нагадую, що третій фактор TwelveFactor App твердить: "Зберігайте конфігурацію в середовищі виконання." Ім'я змінної NODE_ENV каже, що вона визначає Node.js оточення, а не вашої програми.
Приклади, як змінюється поведінка JavaScript екосистеми при NODE_ENV=production
- команда npm install не встановлює devDepencencies
- express.js кешує шаблони та css
- Apollo Server вимикає інтроспекцію схеми
Ви не повинні використовувати NODE_ENV для визначення імені вашого середовища. Але яку змінну використовувати замість NODE_ENV? Відповідь залежить від того, чи будете ви використовувати префікс для змінних, пов’язаних із бізнес-логікою. Такі змінні є feature flags, тобто визначають бізнес-логіку.
Приклад із префіксом FOO:
Приклад без префікса:
Повернемося до NODE_ENV. Зазвичай вона має одне з таких значень:
– development – використовується, якщо не визначено явно. Встановіть це значення під час розробки на вашому комп’ютері.
– test – такі тестові фреймворки, як Jest, автоматично встановлюють це значення.
– production – використовуйте це значення під час виконання коду на сервері
Десятий фактор — Dev/prod parity. Тому треба використання NODE_ENV=production у кожному бізнес-середовищі. Dockerfile є найпростішим місцем для цього. Просто додайте
TL;DR; NODE_ENV=production ENV=beta
🇺🇸 English version at dev.to
Нагадую, що третій фактор TwelveFactor App твердить: "Зберігайте конфігурацію в середовищі виконання." Ім'я змінної NODE_ENV каже, що вона визначає Node.js оточення, а не вашої програми.
Приклади, як змінюється поведінка JavaScript екосистеми при NODE_ENV=production
- команда npm install не встановлює devDepencencies
- express.js кешує шаблони та css
- Apollo Server вимикає інтроспекцію схеми
Ви не повинні використовувати NODE_ENV для визначення імені вашого середовища. Але яку змінну використовувати замість NODE_ENV? Відповідь залежить від того, чи будете ви використовувати префікс для змінних, пов’язаних із бізнес-логікою. Такі змінні є feature flags, тобто визначають бізнес-логіку.
Приклад із префіксом FOO:
FOO_ENV=betaFOO_FEATURE_FLAG=onПриклад без префікса:
ENV=betaFEATURE_FLAG=onПовернемося до NODE_ENV. Зазвичай вона має одне з таких значень:
– development – використовується, якщо не визначено явно. Встановіть це значення під час розробки на вашому комп’ютері.
– test – такі тестові фреймворки, як Jest, автоматично встановлюють це значення.
– production – використовуйте це значення під час виконання коду на сервері
Десятий фактор — Dev/prod parity. Тому треба використання NODE_ENV=production у кожному бізнес-середовищі. Dockerfile є найпростішим місцем для цього. Просто додайте
ENV NODE_ENV=production👍26👏2🔥1
Як посадові обов'язки у Software Architect?
Визначення Software Architect відрізняється від проєкт до проєкту. Тому щоб зрозуміти, а що це за посада, краще запитати посадові обов'язки. Наведу своє розуміння.
– збір вимог важливих для архітектури
– розбиття системи на елементи та опис їх взаємодій
– вибір технічного стека
– оцінка необхідних для реалізації ресурсів (фінансові, часові, технічні)
– архітектурний нагляд, тобто регулярний аналіз реалізації архітектури
Після кожного з цих дій має залишатися артефакт. Наприклад, сторінка в Confluence. Як правило архітектурні рішення приймаються не самостійно, а узгоджуються спільно з лід інженерами та/або CTO.
Software Architect є Software Engineer-ом, тому в його обов'язки може входить писати код чи troubleshooting. Приклади інших обов'язків:
– створення Proof of Concept (R&D Engineer)
– узгодження пріоритетів та виділення ресурсів (Engineering Manager)
– налаштування технічних процесів (Tech Lead)
– аналіз та документація вже існуючої системи (Reverse Engineer)
– створення технічного контенту та просування його серед інженерів (DevRel)
Визначення Software Architect відрізняється від проєкт до проєкту. Тому щоб зрозуміти, а що це за посада, краще запитати посадові обов'язки. Наведу своє розуміння.
– збір вимог важливих для архітектури
– розбиття системи на елементи та опис їх взаємодій
– вибір технічного стека
– оцінка необхідних для реалізації ресурсів (фінансові, часові, технічні)
– архітектурний нагляд, тобто регулярний аналіз реалізації архітектури
Після кожного з цих дій має залишатися артефакт. Наприклад, сторінка в Confluence. Як правило архітектурні рішення приймаються не самостійно, а узгоджуються спільно з лід інженерами та/або CTO.
Software Architect є Software Engineer-ом, тому в його обов'язки може входить писати код чи troubleshooting. Приклади інших обов'язків:
– створення Proof of Concept (R&D Engineer)
– узгодження пріоритетів та виділення ресурсів (Engineering Manager)
– налаштування технічних процесів (Tech Lead)
– аналіз та документація вже існуючої системи (Reverse Engineer)
– створення технічного контенту та просування його серед інженерів (DevRel)
👍20🔥1
Ринок змінюється. Вікторія Придатко робить аналітику щодо тестових. Давайте їй допоможемо. Власне питання:
Як зараз ви ставитеся до тестових завдань?
Як зараз ви ставитеся до тестових завдань?
Final Results
13%
не нормально – не робитиму, навіть якщо вакансія цікава
23%
роблю тільки якщо воно займає не більше 1 години (приклади hackerrank/codility)
29%
роблю тільки в окремих випадках і то після тех інтерв'ю
30%
нормально, роблю за потреби
4%
ваш варіант у коментарях
👍2
Які npm пакети варто встановити глобально?
#list #package
Сьогодні розповім, які пакети в мене встановлені глобально. Я їх використовую як CLI утиліти.
- ngrok/localtunnel робить вашу програму доступною в Internet
- jscpd знаходить дублікати коду. Автор Андрій Кучеренко веде @mathrandomcommunity
- cost-of-modules показує розмір пакетів, що використовуються. Дозволяє швидко пояснити, чому в Dockerfile після
- sort-package-json сортує package.json до канонічного вигляду
- depcheck знаходить не використовувані або не оголошені в package.json залежності
- browser-run/bcat виводить результат роботу іншої CLI команди у браузер
- license-checker показує які open source ліцензії у пакетів в ваших залежностях
Перевірити ваш список:
#list #package
Сьогодні розповім, які пакети в мене встановлені глобально. Я їх використовую як CLI утиліти.
- ngrok/localtunnel робить вашу програму доступною в Internet
- jscpd знаходить дублікати коду. Автор Андрій Кучеренко веде @mathrandomcommunity
- cost-of-modules показує розмір пакетів, що використовуються. Дозволяє швидко пояснити, чому в Dockerfile після
npm run build необхідно робити npm prune --production.- sort-package-json сортує package.json до канонічного вигляду
- depcheck знаходить не використовувані або не оголошені в package.json залежності
- browser-run/bcat виводить результат роботу іншої CLI команди у браузер
- license-checker показує які open source ліцензії у пакетів в ваших залежностях
Перевірити ваш список:
npm list -g. А що і навіщо використовуєте ви?👍46❤2😱1💩1