Від Атомного Дизайну до Релятивістичних Інтерфейсів

pic

Уявіть світ, де інтерфейс вашого смартфона адаптується до ваших емоцій, де ваші розумний будинок інтуїтивно налаштовує свої керування в залежності від часу доби, і де дашборди бізнесу морфуються в реальному часі, щоб керувати критичними рішеннями під час кризи. Це не наукова фантастика - це обіцянка Релятивістичного UI, наступного покоління дизайну інтерфейсу.

Сучасні інтерфейси користувача борються, щоб встигнути за складностями наших цифрових життів. Вони часто залишаються статичними в динамічному світі, жорсткими перед різними потребами користувачів, і відокремленими від складних бізнес-доменів, яким вони служать. Переходячи від одного пристрою до іншого, перемикатися між різними контекстами і вимагаючи більше від наших цифрових інструментів, стає … Читати далі

Прості та безпечні прямі завантаження у файлове сховище S3 з сучасних браузерів.

Привіт, я Тейлор Х'юз. Я є інженером-програмістом. Я працював над додатками і вибудовував команди в компаніях Facebook, Google, Clubhouse та багатьох стартапах між ними.

Проблема з надання користувачам можливості завантажувати файли в корзину S3 виникає в кожному проєкті. Однак, визначити правильні JavaScript компоненти і налаштування, щоб зробити все це працюючим разом, видається справжнім відкриттям.

Документація AWS порадила б вам налаштувати додатковий сервіс аутентифікації та імпортувати весь SDK AWS JS у ваш клієнтський код — але цього насправді не потрібно!

Замість цього, ми можемо використовувати попередньо підписані URL та сучасні веб-API, щоб легко завантажувати файли безпосередньо в S3 з … Читати далі

Чи Nginx мертвий? Чи Traefik v3 на 20% швидший, ніж Traefik v2?

pic

Фото на doc.traefik.io

Подивление на те, як веб-додатки стають більш складними і інтенсивними з точки зору трафіку, вибір високопродуктивного сервера оберненої проксі-напрямної дії є критичним для надання швидкого та надійного контенту користувачам. Traefik v3 та Nginx - це два широко використовувані сервери оберненої проксі, що пропонують потужні можливості роботи з HTTP. Однак їх підходи до обробки HTTP-запитів та відповідей можуть значно відрізнятися, що призводить до різниці в пропускній здатності, часі відповіді та використанні ресурсів.

У цій статті я порівняю HTTP-продуктивність Traefik v3 та Nginx, зосереджуючись на метриках, таких як швидкість запиту, час відповіді та використання ресурсів. Я також розгляну фактори, … Читати далі

Як Amazon та Google розглядають CI/CD у зовсім різний спосіб Як Amazon і Google дивляться на CI/CD зі зовсім різних ракурсів

pic

Якщо Medium робить цей контент доступним лише за плату, ви також можете переглянути його тут (LinkedIn).

Я був технічним керівником інфраструктури для інтеграційного тестування в усій компанії як в Amazon, так і в Google протягом багатьох років, і спосіб, як ці дві компанії мислять про CI/CD, суттєво відрізняється.

Я працював у Amazon понад 11 років (2009–2020). Я був головним інженером в організації засобів розробника, яка володіла всією інфраструктурою та засобами CI/CD для компанії. Ми були відповідальні за весь програмний засіб, який використовували десятки тисяч співробітників Amazon кожен день для написання коду, рецензування коду, збирання коду, тестування коду та впровадження … Читати далі

Чи можна з Postgres замінити Redis для кешування?

Twitter | LinkedIn | YouTube | Instagram
Ця стаття також доступна на YouTube!

image

Сьогодні я вирішив запитати у людей на Twitter, яка система черг повідомлень (Message Queue) першою приходить їм на думку. І, на моє здивування, однією з відповідей була: Postgres.

Я відкрив посилання і був здивований не лише можливістю використовувати Postgres як брокер повідомлень (Message Broker):

"Використовуйте Postgres як чергу повідомлень із параметром SKIP LOCKED замість Kafka (якщо вам потрібна лише черга повідомлень)". — Стефан Шмідт

Але також… можливістю використовувати Postgres як кеш на заміну Redis:

"Використовуйте Postgres для кешування замість Redis за допомогою UNLOGGED таблиць і текстового типу

Читати далі

__proto__, prototype, [[Prototype]], Prototype Chain __proto__, prototype, [[Prototype]], Prototype Chain

Прототип

Я вирішив поговорити про це, оскільки вважаю, що це одна з найбільш заплутаних тем в JS. У середньому, під час кожного інтерв'ю, принаймні одне запитання обов'язково стосується цієї теми.

Прототип

Примітка: "Прототип" - це спеціальне властивість, доступна лише для об'єктів-функцій.

Ця властивість автоматично надається функціям при їх запуску.

Майже кожен об'єкт пов'язаний з іншим об'єктом. Ця зв'язок встановлюється за допомогою прототипу. Об'єкти успадковують методи та властивості батьківського об'єкта через прототип.

Властивість prototype є в самій функції (Animal), а не в її екземплярах (Dog).

Щоб краще зрозуміти, давайте спробуємо розібрати наступний приклад крок за кроком:… Читати далі

Я закрив свій стартап. Поділюсь гіркою правдою.

Сьогодні я оголошую про закриття Zencape Health. Після чотирьох років роботи, двох серйозних змін напрямку, безлічі експериментів, десятків тисяч річного доходу, одного запущеного додатка, тисячі взаємодій з пацієнтами та багатомільйонного партнерства з провідною лікарнею ми підходимо до кінця нашого шляху.

Будувати компанію - це не для слабкодухих, а створювати її в галузі жіночого здоров'я, зокрема з фокусом на проблеми, що стосуються маргіналізованих спільнот, мабуть, вимагає трохи безумства. І я точно був(ла) досить безумним(-ою), щоб спробувати.

Коли я починав(ла) Zencape Health, у мене за плечима був десятирічний шлях боротьби за потрібний мені догляд. Все починалося з безлічі годин у медпункті в … Читати далі

Контроверсійна правда про технічній борг

З усіх модних термінів, які вигадав софтверний бізнес, технічний борг є найбільш дратівливим. Я знаю, що це буде спірно, і вже можу уявити, як ревнителі чистої архітектури лютують. Тож дозвольте мені пояснити свою думку.

pic

Що таке технічний борг?

Я запитую під час співбесіди "Яке визначення технічного боргу?" і дивно, що кожен кандидат дає різну відповідь. Схоже, що галузь ще не зійшлася на єдиному визначенні. Я класифікував відповіді наступним чином:

pic

Ось кілька проблем з цими відповідями:

  • Відповіді є вагомими, наприклад, що таке "старий код"? 6 місяців, рік...
  • Відповіді фокусуються на симптомах, а не на кореневі причині. Наприклад, "код, який ніхто не
Читати далі

Розвиток ноутбуків мертвий: чому віддалена розробка – це майбутнє

Розвиток інструментів для розробки

pic

Я провів десять років у керівництві командами розвитку інструментів. Протягом цього часу я спостерігав за стрімким зростанням та спадом популярності Vagrant та запровадженням Docker та безліччю інших інструментів для збірки. Я пам'ятаю, коли більшість розробників мали під своїми столами два настільних комп'ютери, і я допомагав у переході на ноутбуки Mac. Також я допомагав у розробці внутрішніх платформ для самообслуговування обчислень на AWS. Усі ці інструменти мали на меті наблизити виробниче середовище до розробки та забезпечити просту конфігурацію та масштабованість локального середовища. Проте жоден з них не зміг досягти цієї мети.

Після Palantir я спілкувався з багатьма … Читати далі