На стоит превозносить open-source разработчиков и молиться на них как бескорыстных альтруистов.
Ездящий по конференциям с рюкзачком очкарик Эван живет в недешевом Сингапуре и коллекционирует спортивные машины не только в масштабе 1:12. Его ставка, по-моим оценкам, должна начинаться от $300/час. Он может месяц консалтить коммерческих заказчиков, потом год отдыхать в опен сорсе.
Никаких претензий, - Эван полностью заслужил это своим трудом и талантом. И большинство опен сорс разрабов именно так делает себе имя и резюме, которые потом приносят им деньги. Ина завод в
Развели детский сад, понимаешь...
#opensource #esse
Ездящий по конференциям с рюкзачком очкарик Эван живет в недешевом Сингапуре и коллекционирует спортивные машины не только в масштабе 1:12. Его ставка, по-моим оценкам, должна начинаться от $300/час. Он может месяц консалтить коммерческих заказчиков, потом год отдыхать в опен сорсе.
Никаких претензий, - Эван полностью заслужил это своим трудом и талантом. И большинство опен сорс разрабов именно так делает себе имя и резюме, которые потом приносят им деньги. И
Anthony Fu
с Johnson Chu
вполне, уверен, востребованы на рынке, при их желании заработать. Поэтому слышать их нытье о депрессии от того, что много работы и мало денег - странно. И нытье о плохих отзывах тоже странно - пошли всех вместе с проектом нахрен и занимайся своим психическим здоровьем, если эмоционально не тянешь. Иди Facebook
в их дружелюбный коллектив.Развели детский сад, понимаешь...
#opensource #esse
О, Боже-ш ты мой!
И сразу попалось свежее интервью
Вот здесь она жалуется, что
Что вообще не слышно голосов с конструктивной критикой
Что все как медом намазано на конференциях
И это после полугода кошмара с
Кому-то надо промыть уши
#tepluhina #vuejs #interview
И сразу попалось свежее интервью
Vue Core
member Натальи Теплухиной
Вот здесь она жалуется, что
Vue
мало критикуютЧто вообще не слышно голосов с конструктивной критикой
Что все как медом намазано на конференциях
И это после полугода кошмара с
Volar
Кому-то надо промыть уши
#tepluhina #vuejs #interview
YouTube
DejaVue #E020 - Documentation and Migration: From Vue 2 to Vue 3 (with Natalia Tepluhina)
For the 20th episode we surprise you with a "in-person" podcast episode! Alex is joined by Principal Engineer and Vue Core Team Member Natalia Tepluhina to talk about two important topics - Documentation and the Migration from Vue 2 to Vue 3.
Learn in this…
Learn in this…
Как организовать конфигурационные параметры в приложении?
Наиболее удобна, имхо, следующая конфигурация конфигов.
Есть, грубо говоря,
Локально используется
При
Есть два варианта распределения параметров по конфиг файлам.
- Первый -
- Второй - в каждом из них хранится полная конфигурация.
У обоих свои плюсы и минусы. Первый - удобней, можно легко добавлять общие конфигурационные параметры и не просить всех разработчиков обновить свой
Данная система позволяет, например, легко переключиться и поработать на локальном фронтенде со
В такой системе никто случайно не запушит свой конфиг в репозиторий, никто не имеет доступа к секретам и чужим параметрам.
Доступ к конфигу в приложении:
#tip #cicd
Наиболее удобна, имхо, следующая конфигурация конфигов.
Есть, грубо говоря,
.env
, .env.staging
, .env.local
Локально используется
.env.local
, он в гитигноре, и у каждого разработчика свой. Если работаешь один, или у всех локально одна конфигурация - .env.local
не нужен.При
CI/CD
.env.staging
заменяет .env
. При этом используются / добавляются в конфиг (для бэка) нужные секреты. У CI/CD
свой конфиг.Есть два варианта распределения параметров по конфиг файлам.
- Первый -
.env
хранит основные параметры, а .env.local
и .env.staging
только переопределяют нужные (merge).- Второй - в каждом из них хранится полная конфигурация.
У обоих свои плюсы и минусы. Первый - удобней, можно легко добавлять общие конфигурационные параметры и не просить всех разработчиков обновить свой
.env.local
. Второй - наглядней, при CI/CD
можно просто заменять файлы. Данная система позволяет, например, легко переключиться и поработать на локальном фронтенде со
staging
бэкендом вместо локального. Можно просто написать скрипт для этого в package.json
.В такой системе никто случайно не запушит свой конфиг в репозиторий, никто не имеет доступа к секретам и чужим параметрам.
env
/ dotenv
- довольно старая штука и недостаточно гибка для реализации удобных конфигов, поэтому я храню конфиги в json
/ js
файлах. Их легко объединять в коде и, вообще, закладывать нужную тебе логику. Ну и древовидная система конфигурационных параметров намного читабельней и удобней в работе в коде.Доступ к конфигу в приложении:
import { config } from "@/app-config"
#tip #cicd
Не всегда только
Оно позволяет корректировать размер шрифта. Для чего это нужно?
Представим, у вас основной шрифт, и фолбэк шрифт. Даже если они одного размера (
#css
Safari
и Firefox
тормозят прогресс в веб деве. В последнем Chrome
появилось то, что в них было давно - CSS
свойство font-size-adjust
.Оно позволяет корректировать размер шрифта. Для чего это нужно?
Представим, у вас основной шрифт, и фолбэк шрифт. Даже если они одного размера (
font-size
), визуально они могут сильно отличаться, и при загрузке основного шрифта могут происходить дёргания экрана. Чтобы этого не было можно подогнать font-size-adjust
фолбэк шрифта.#css
codepen.io
After: font-size-adjust ch-width
...
В третьей стадии находится пропозал о декораторах в
Если его примут, задание реактивных переменных возможно "упростится" до:
Правда, после этого
#js #tc39 #decorators
JavaScript
Если его примут, задание реактивных переменных возможно "упростится" до:
@reactive
let count = 0;
@shallowReactive
let messages = [];
Правда, после этого
js
перестанет быть js
-ом...#js #tc39 #decorators
Много лет Google Tasks был таким сирым и убогим отпрыском в семействе продуктов
Из-за чрезмерной упрощенности
Выглядит удобоваримо. И семантика поправилась: "Позвонить Маше" - это, всё-таки, задача, а не событие.
Используя их
#google #tasks #pet
Google
. Из плюсов в нём был доступный API
.Из-за чрезмерной упрощенности
Google Tasks
ранее не пригождался, и для небольших напоминаний я давно использовал Google Calendar
события + Google Keep
или TickTick
(который на телефоне постоянно выгружается из памяти), но тут обнаружил, что Google Tasks
сильно переделали и привели в соответствующий эпохе вид. Даже в "канбан" доску засунули.Выглядит удобоваримо. И семантика поправилась: "Позвонить Маше" - это, всё-таки, задача, а не событие.
Используя их
API
можно, кстати, сделать свои Задачи
, и, с моей точки зрения, это намного более полезный пет-проект для фронтендера, нежели стандартный магазин. Потому что магазин ты слабал и выкинул, при собеседовании на них даже не смотрят, понимая, что 99% это просто чужая копия. А вот хорошо сделанными Задачами
можно пользоваться самому или распространять их для других. Мне такие качественные приложения встречались.#google #tasks #pet
This media is not supported in your browser
VIEW IN TELEGRAM
Если человек самостоятельно и добровольно выбрал
"Большой Лебовский" - культовый фильм братьев Коенов. У них хватает культовых фильмов, и на первых местах в них выступают диалоги, поэтому Коэнов надо смотреть в оригинале, пусть и с субтитрами. Дубляж (перевод голосом) убивает половину впечатлений от любого фильма.
Большинство фильмов Коенов символичны и наполнены метафизикой. Если вы её не видите, значит, вы её не видите.
Еще один шедевр братьев - "Фарго" (фильм, не сериал). Но их жемчужиной однозначно является "Старикам здесь не место".
Парадоксально, что этот фильм немногие смотрели, в то же время он очень высоко оценен кинокритиками, безупречно качественно сделан, и трудно не согласиться с теми, кто поделился в интернете своими впечатлениями, что это самый психологически страшный триллер/вестерн/боевик, который они когда-либо видели.
#movie #offtop
Vue.js
- у него есть хороший вкус. А вкус - это абсолютная мера, она не бывает только в каком-то одном направлении. Значит и кино он любит правильное."Большой Лебовский" - культовый фильм братьев Коенов. У них хватает культовых фильмов, и на первых местах в них выступают диалоги, поэтому Коэнов надо смотреть в оригинале, пусть и с субтитрами. Дубляж (перевод голосом) убивает половину впечатлений от любого фильма.
Большинство фильмов Коенов символичны и наполнены метафизикой. Если вы её не видите, значит, вы её не видите.
Еще один шедевр братьев - "Фарго" (фильм, не сериал). Но их жемчужиной однозначно является "Старикам здесь не место".
Парадоксально, что этот фильм немногие смотрели, в то же время он очень высоко оценен кинокритиками, безупречно качественно сделан, и трудно не согласиться с теми, кто поделился в интернете своими впечатлениями, что это самый психологически страшный триллер/вестерн/боевик, который они когда-либо видели.
#movie #offtop
Тут еще один вариант портировать через
Выглядит пока малоизведано
#mobile #desktop
WebView
своё веб-приложение на мобильные и десктопные платформы нарисовался - Socket RuntimeВыглядит пока малоизведано
#mobile #desktop
Очень интересное интервью ведущего разработчика
Поговорили о том, полезен ли
Кратко:
#nodejs #interview #video
Yandex Cloud
Андрея Мелихова о состоянии дел с Node.js
. Поговорили о том, полезен ли
Node.js
на бэкенде, нужна ли сквозная типизация между фронтом и бэком, мёртв ли PHP
и многом другом.Кратко:
Node.js
только для Next.js
(BFF
), для бэкенда есть много других более подходящих языков, включая PHP
#nodejs #interview #video
YouTube
Есть ли будущее у Node.js? / Андрей Мелихов #6
Node.js — мощный инструмент, который часто используется как для фронтенда, так и для бэкенда. В этом видео вместе с Андреем Мелиховым, Lead Developer в Yandex.Cloud@devschacht, обсудим, как Node.js помогает создавать BFF (Backend For Frontend), проблемы…
Еще один вариант для "умного" бэкенда как альтернатива
П.С. Попробовав разные `BaaS` решения пришел к выводу, что баловство всё это. Для сколь-нибудь серьезного продукта нужен свой сервер, своя база и свой бэк.
#baas #firebase #supabase #convex
Firebase
и Supabase
- ConvexOpen source
, можно сделать self-hosted
, есть бесплатный тарифный план, но реализует все по-своему (= сильная привязка)П.С. Попробовав разные `BaaS` решения пришел к выводу, что баловство всё это. Для сколь-нибудь серьезного продукта нужен свой сервер, своя база и свой бэк.
#baas #firebase #supabase #convex
Convex
Convex | The reactive database for app developers
Convex is the reactive database for app developers. Everything you need to build your full-stack project.
Если говорить о действительно маст-хэвных скиллах фронтендера, то это никакие не VueUse-ы, а, например, UML.
Умение читать и составлять 3-4 основных типа диаграмм сильно помогает в описании структуры программы, потоков выполнения кода, умении сформулировать и выполнить задачу.
Визуальное представление очень облегчает понимание и декомпозицию сложных систем.
#uml #architevture
Умение читать и составлять 3-4 основных типа диаграмм сильно помогает в описании структуры программы, потоков выполнения кода, умении сформулировать и выполнить задачу.
Визуальное представление очень облегчает понимание и декомпозицию сложных систем.
#uml #architevture