#статья дня
Пожалуйста, прекратите писать shell-скрипты.
Это не моя просьба, а автора статьи: https://pythonspeed.com/articles/shell-scripts/
1. Они по-умолчанию не останавливаются в случае ошибок
2. Использование необъявленных переменных не приводит к ошибкам
3. Пайпы не ловят, опять же, ошибки
4. Вы можете запустить встроенный шелл внутри скрипта, но работать это будет странно
Также автор указывает на те ложные причины, которые «заставляют» нас писать шелл-скрипты.
Есть перевод на русский язык: https://habr.com/ru/company/otus/blog/657841/
Всем bash!
#shell #bash #nix
Пожалуйста, прекратите писать shell-скрипты.
Это не моя просьба, а автора статьи: https://pythonspeed.com/articles/shell-scripts/
1. Они по-умолчанию не останавливаются в случае ошибок
2. Использование необъявленных переменных не приводит к ошибкам
3. Пайпы не ловят, опять же, ошибки
4. Вы можете запустить встроенный шелл внутри скрипта, но работать это будет странно
Также автор указывает на те ложные причины, которые «заставляют» нас писать шелл-скрипты.
Есть перевод на русский язык: https://habr.com/ru/company/otus/blog/657841/
Всем bash!
#shell #bash #nix
👍5😁2
Media is too big
VIEW IN TELEGRAM
#такое дня
Вы же в курсе, что почти во всех современных телефонах есть гироскоп?
Но зачем?
Ну... можно зайти на https://gyroco.de/ и понять
...или не понять
#gyroscope #api #js
Вы же в курсе, что почти во всех современных телефонах есть гироскоп?
Но зачем?
Ну... можно зайти на https://gyroco.de/ и понять
...или не понять
#gyroscope #api #js
👍11🔥5
#библиотека дня
Скучаете ли вы по тому времени, когда новые JS UI- и не очень фреймворки появлялись каждый день?
Тогда я вам принёс!
https://corset.dev/
Вы ведь так хотели объявлять UI-взаимодействия в CSS-стиле, правда?
Куда уж декларативней…
Но на самом деле, это весьма интересный концепт связывания (биндинга) DOM и действий.
#css #js #ui #framework
Скучаете ли вы по тому времени, когда новые JS UI- и не очень фреймворки появлялись каждый день?
Тогда я вам принёс!
https://corset.dev/
Вы ведь так хотели объявлять UI-взаимодействия в CSS-стиле, правда?
Куда уж декларативней…
Но на самом деле, это весьма интересный концепт связывания (биндинга) DOM и действий.
#css #js #ui #framework
🤔8👎1🤯1
This media is not supported in your browser
VIEW IN TELEGRAM
#инструмент дня
Знаете же о существовании утилиты less в Linux? Быстрый просмотр файлов.
Но текстовых файлов может быть недостаточно. С JSON тоже хочется работать удобно, находясь в терминале.
И тут на помощь придёт jless!
🌍 https://jless.io/
🐙 https://github.com/PaulJuliusMartinez/jless
Написан на Rust, имеется во многих пакетных менеджерах и в Homebrew.
Очень удобно 👍
#rust #cli #json
Знаете же о существовании утилиты less в Linux? Быстрый просмотр файлов.
Но текстовых файлов может быть недостаточно. С JSON тоже хочется работать удобно, находясь в терминале.
И тут на помощь придёт jless!
🌍 https://jless.io/
🐙 https://github.com/PaulJuliusMartinez/jless
Написан на Rust, имеется во многих пакетных менеджерах и в Homebrew.
Очень удобно 👍
#rust #cli #json
🔥5👍3
#ссылка дня
Тимлид я ещё довольно молодой, приходится учиться всему на лету и черпать знания отовсюду.
Поэтому, было весьма интересно найти роадмап (карту знаний и умений) по этой теме: https://tlroadmap.io/
Работать с ним можно буквально как с картой, выбирая нужные ветки, или же как с документом: https://tlroadmap.io/guide.html#%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D0%B8-%D0%BF%D0%BE-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8E
Всё написано понятным языком и вообще весьма интересно. И не только тимлидам, конечно же.
#teamlead #learning #roadmap
Тимлид я ещё довольно молодой, приходится учиться всему на лету и черпать знания отовсюду.
Поэтому, было весьма интересно найти роадмап (карту знаний и умений) по этой теме: https://tlroadmap.io/
Работать с ним можно буквально как с картой, выбирая нужные ветки, или же как с документом: https://tlroadmap.io/guide.html#%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D0%B8-%D0%BF%D0%BE-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8E
Всё написано понятным языком и вообще весьма интересно. И не только тимлидам, конечно же.
#teamlead #learning #roadmap
👍15
Forwarded from IT-Patriot
Я уже писал этот список в другом месте, выложу и здесь.
Тут подборочка, что коснулось именно меня.
1) Google Pay. Приходится теперь брать карточки с собой и вспоминать пинкоды. Оплата, одна большая проблема.
2) Spotify не продлить подписку
3) Strava - не работает
4) Занимался на Cambly - не оплатить. + Подорожало ~ в 3 раза .
5) JetBrains - остановил продажи и теперь не понятно как продлить лицензию
6) Netflix - не продлить подписку.
7) GoDaddy - прекращает обслуживание доменов.
8) Paypal - не работает
9) Upwork - приостанавливает работу, хотят как выводить деньги уже не понятно.
10) Hetzner - проблемы с оплатой.
Самые неприятные, это последние 3 пункта. Не прининять валюту, не расплатиться.
Т.е поделать, что-то за доллары на стороне уже не получится, а с таким курсом было бы кстати.
И за кластер не могу заплатить. Дима выше писал, что возможны swift-переводы, но я пока только переписываюсь с тех поддержкой.
Хорошо, что теперь IaC + сегодня сниму бэкапы 📦
Жду отключение хрома и пикселя 🥸
Тут подборочка, что коснулось именно меня.
1) Google Pay. Приходится теперь брать карточки с собой и вспоминать пинкоды. Оплата, одна большая проблема.
2) Spotify не продлить подписку
3) Strava - не работает
4) Занимался на Cambly - не оплатить. + Подорожало ~ в 3 раза .
5) JetBrains - остановил продажи и теперь не понятно как продлить лицензию
6) Netflix - не продлить подписку.
7) GoDaddy - прекращает обслуживание доменов.
8) Paypal - не работает
9) Upwork - приостанавливает работу, хотят как выводить деньги уже не понятно.
10) Hetzner - проблемы с оплатой.
Самые неприятные, это последние 3 пункта. Не прининять валюту, не расплатиться.
Т.е поделать, что-то за доллары на стороне уже не получится, а с таким курсом было бы кстати.
И за кластер не могу заплатить. Дима выше писал, что возможны swift-переводы, но я пока только переписываюсь с тех поддержкой.
Хорошо, что теперь IaC + сегодня сниму бэкапы 📦
Жду отключение хрома и пикселя 🥸
👍10❤2🔥1👏1🎉1
This media is not supported in your browser
VIEW IN TELEGRAM
#codepen дня
Огромных летающих 3D-заголовков заказывали?
А я всё равно принёс!
Игры с перспективой и 3d-преобразования творят чудеса, конечно.
https://codepen.io/amit_sheen/pen/BaJmWWj
#css #3d #parallax
Огромных летающих 3D-заголовков заказывали?
А я всё равно принёс!
Игры с перспективой и 3d-преобразования творят чудеса, конечно.
https://codepen.io/amit_sheen/pen/BaJmWWj
#css #3d #parallax
👍7
#фишка дня
Некоторые люди до сих пор отлаживают фронтенд через console.log(). Ещё более упоротые — через alert().
А чем верстальщики хуже? Давайте отлаживать через аутлайны!!
Не, ну правда: https://dev.to/gajus/my-favorite-css-hack-32g3
Иногда даже полезно. А главное, сниппет выглядит шикарно.
P. S. не отлаживать, а откладывать.
#css #debug
Некоторые люди до сих пор отлаживают фронтенд через console.log(). Ещё более упоротые — через alert().
А чем верстальщики хуже? Давайте отлаживать через аутлайны!!
Не, ну правда: https://dev.to/gajus/my-favorite-css-hack-32g3
Иногда даже полезно. А главное, сниппет выглядит шикарно.
P. S. не отлаживать, а откладывать.
#css #debug
😁9👍4🔥2
#инструмент дня
Снова фигнюшечки для SVG подъехали: https://svgdoodles.com/
Конкретно это — коллекция “вручную” нарисованных линий, кругов и стрелок, чёрточек…
Но на ресурсе есть ещё ссылки на генератор SVG-градиентов и весьма забавных фонов в виде волны.
#svg #generator #gradient
Снова фигнюшечки для SVG подъехали: https://svgdoodles.com/
Конкретно это — коллекция “вручную” нарисованных линий, кругов и стрелок, чёрточек…
Но на ресурсе есть ещё ссылки на генератор SVG-градиентов и весьма забавных фонов в виде волны.
#svg #generator #gradient
👍5👎1
Forwarded from Не только про яблочки
Блокировали, блокировали, да невыблокировали
В Шри-Ланке правительство ввело запрет на использование соцсетей из-за массовых протестов граждан.
Дошло в результате до того, что племянник президента запустил VPN и написал в Твиттере, что блокировки «совершенно бесполезны».
Спустя менее 16 часов запрет сняли.
Глава интернет-регулятора Шри-Ланки подал в отставку сразу после вступления в силу приказа о запрете.
Такие дела.
@applespbevent #в_мире #vpn
В Шри-Ланке правительство ввело запрет на использование соцсетей из-за массовых протестов граждан.
Дошло в результате до того, что племянник президента запустил VPN и написал в Твиттере, что блокировки «совершенно бесполезны».
Спустя менее 16 часов запрет сняли.
Глава интернет-регулятора Шри-Ланки подал в отставку сразу после вступления в силу приказа о запрете.
Такие дела.
@applespbevent #в_мире #vpn
👍4😁1
#codepen дня
Давайте немного развлечёмся. Кто-то не так давно в чате канала выкатил большой SCSS-цикл для анимации, но саму анимацию зажал (ай-яй-яй).
Давайте исправим положение и сделаем что-то насущное.
Например, сымитируем табло в аэропорту… С его задержками смены линий при смене языка.
Поехали: https://codepen.io/alinaki/pen/ZEaOdKq
Заодно использована интересная фишка CSS Grid: наложить две ячейки друг на друга без абсолюта.
#css #grid #animation #scss
Давайте немного развлечёмся. Кто-то не так давно в чате канала выкатил большой SCSS-цикл для анимации, но саму анимацию зажал (ай-яй-яй).
Давайте исправим положение и сделаем что-то насущное.
Например, сымитируем табло в аэропорту… С его задержками смены линий при смене языка.
Поехали: https://codepen.io/alinaki/pen/ZEaOdKq
Заодно использована интересная фишка CSS Grid: наложить две ячейки друг на друга без абсолюта.
#css #grid #animation #scss
🔥9👍4
#ссылка дня
О проекте Веб-стандарты вы все наверняка знаете. И о сайте, и о статьях, и о подкасте. Ну и фигура Вадима Макеева в Рунете не последняя.
Так вот, у них во всех статьях и обучающих материалах используется один словарь: https://github.com/web-standards-ru/dictionary
Без единообразия в терминах разработка была бы весьма сложной, согласитесь.
Естественно, это не единственный подобный словарь. Есть ещё как минимум у каждого курса ну или вот например ребята из доков реакта постоянно работают над своим: https://github.com/reactjs/ru.reactjs.org/issues/4
#web #dictionary
О проекте Веб-стандарты вы все наверняка знаете. И о сайте, и о статьях, и о подкасте. Ну и фигура Вадима Макеева в Рунете не последняя.
Так вот, у них во всех статьях и обучающих материалах используется один словарь: https://github.com/web-standards-ru/dictionary
Без единообразия в терминах разработка была бы весьма сложной, согласитесь.
Естественно, это не единственный подобный словарь. Есть ещё как минимум у каждого курса ну или вот например ребята из доков реакта постоянно работают над своим: https://github.com/reactjs/ru.reactjs.org/issues/4
#web #dictionary
👍2
#фишка дня
Родительский селектор aka
Пока только Safari 15.4 поддерживает полностью, но Chrome/Blink давно уже давали эту возможность “за флагом“.
Думаю, будет целая серия таких постов с приятными и удобными фишками нового селектора. Почему бы и нет.
#css #future #has
Родительский селектор aka
:has
уже так близко к нам подобрался, что пора выкатывать новые подходы к стилизации всего и вся.Пока только Safari 15.4 поддерживает полностью, но Chrome/Blink давно уже давали эту возможность “за флагом“.
Думаю, будет целая серия таких постов с приятными и удобными фишками нового селектора. Почему бы и нет.
#css #future #has
👍12
#статья и #codepen дня
Мне кажется, мы стали забывать, на что способны списки и чекбоксы в CSS.
И нет, я не про стилизацию сейчас. Например, охота вам сделать… калькулятор. Можно ли?
Можно: https://codepen.io/serg-by/pen/KKZBxpR?editors=0100
Так что counter-increment + :checked — лютая мощная дичь. Не то чтоб я рекомендовал сходу переписывать ваши калькуляторы пластиковых окон и автомоек на это, но иметь в виду очень даже стоит.
Найду примеры с пользовательскими свойствами — тоже скину.
А пока, собственно, вот: https://codersblock.com/blog/checkbox-trickery-with-css/
#css #checkbox #counter
Мне кажется, мы стали забывать, на что способны списки и чекбоксы в CSS.
И нет, я не про стилизацию сейчас. Например, охота вам сделать… калькулятор. Можно ли?
Можно: https://codepen.io/serg-by/pen/KKZBxpR?editors=0100
Так что counter-increment + :checked — лютая мощная дичь. Не то чтоб я рекомендовал сходу переписывать ваши калькуляторы пластиковых окон и автомоек на это, но иметь в виду очень даже стоит.
Найду примеры с пользовательскими свойствами — тоже скину.
А пока, собственно, вот: https://codersblock.com/blog/checkbox-trickery-with-css/
#css #checkbox #counter
Codersblock
Checkbox Trickery with CSS
Checkboxes are great. Combine them with the right CSS and you can pull off some really neat tricks. This article aims to showcase some of the creative things...
👍8😁1
#видео дня
Когда я стал работать в нормальной компании, а не в веб-студии, я внезапно узнал, что оценка задачи происходит в баллах. «Стори поинтах», story points.
И стори поинты это не часы. Это некая условная оценка сложности. И выражается, как правило, в числах Фибоначчи: 1, 2, 3, 5, 8… Близко к экспоненциальной зависимости.
Если кому интересно, статей на эту тему много. Но дальше происходит самое интересное.
Оценка сложности не нужна :) Не в том смысле, что все задачи одинаковы, нет. А в том смысле, что не имеет особого смысла их делить.
Очень часто возникает ситуация, в которой все задачи на спринт оцениваются в 3. Или даже, что чаще, в 5. Ну просто потому что. Потому что так команде удобнее.
И вот, например, доклад именно на тему оценки сложности: https://m.youtube.com/watch?v=QVBlnCTu9Ms
Стоит посмотреть. Много здравых мыслей. Как минимум, вы решите для себя: более усердно относиться к оценке или же просто ограничить число задач на спринт.
Не болейте.
#agile #teamlead #scrum
Когда я стал работать в нормальной компании, а не в веб-студии, я внезапно узнал, что оценка задачи происходит в баллах. «Стори поинтах», story points.
И стори поинты это не часы. Это некая условная оценка сложности. И выражается, как правило, в числах Фибоначчи: 1, 2, 3, 5, 8… Близко к экспоненциальной зависимости.
Если кому интересно, статей на эту тему много. Но дальше происходит самое интересное.
Оценка сложности не нужна :) Не в том смысле, что все задачи одинаковы, нет. А в том смысле, что не имеет особого смысла их делить.
Очень часто возникает ситуация, в которой все задачи на спринт оцениваются в 3. Или даже, что чаще, в 5. Ну просто потому что. Потому что так команде удобнее.
И вот, например, доклад именно на тему оценки сложности: https://m.youtube.com/watch?v=QVBlnCTu9Ms
Стоит посмотреть. Много здравых мыслей. Как минимум, вы решите для себя: более усердно относиться к оценке или же просто ограничить число задач на спринт.
Не болейте.
#agile #teamlead #scrum
YouTube
#NoEstimates (Allen Holub)
This keynote presents my (and many other's) thinking about #NoEstimates. It argues that estimation is a bad thing, particularly in the Agile world, and presents ways to plan that don't involve estimation.
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
#codepen дня
Я же обещал продолжение заглядывания в будущее с псевдоселектором
Так вот, если объединить has и контейнерные запросы, можно создавать тупо раскладку мечты: делать шрифт больше в блоке, когда картинки нет, и наоборот.
Для самых умных: да, через + тоже конкретно этот эффект прекрасно достигается :) Но полифилл на контейнерные запросы всё равно будет нужен.
https://codepen.io/una/pen/oNpoqGp
#css #future #has
Я же обещал продолжение заглядывания в будущее с псевдоселектором
:has
, помните?Так вот, если объединить has и контейнерные запросы, можно создавать тупо раскладку мечты: делать шрифт больше в блоке, когда картинки нет, и наоборот.
Для самых умных: да, через + тоже конкретно этот эффект прекрасно достигается :) Но полифилл на контейнерные запросы всё равно будет нужен.
https://codepen.io/una/pen/oNpoqGp
#css #future #has
👍11
#фишка дня
Есть псевдокласс :disabled, который выберет отключенные поля. Есть псевдокласс :read-only, который выберет недоступные для ввода поля (только для чтения).
Вот только есть нюанс.
Отключенные поля они так-то тоже для ввода недоступны. Как же тогда быть?
Использовать селектор атрибута: [readonly].
Пример: https://codepen.io/elad2412/pen/wvpmjGR
Отличие disabled-полей от readonly: первые не отправятся с формой вообще, а значение вторых просто нельзя изменить.
Скелетон вернётся с новыми подробностями о фронтенде завтра.
#css #html #input
Есть псевдокласс :disabled, который выберет отключенные поля. Есть псевдокласс :read-only, который выберет недоступные для ввода поля (только для чтения).
Вот только есть нюанс.
Отключенные поля они так-то тоже для ввода недоступны. Как же тогда быть?
Использовать селектор атрибута: [readonly].
Пример: https://codepen.io/elad2412/pen/wvpmjGR
Отличие disabled-полей от readonly: первые не отправятся с формой вообще, а значение вторых просто нельзя изменить.
Скелетон вернётся с новыми подробностями о фронтенде завтра.
#css #html #input
👍14
Media is too big
VIEW IN TELEGRAM
#видео дня
Давно стоило и пересмотреть это видео, и выкатить в канал.
Многим из вас знакома концепция DRY: Don't Repeat Yourself. Вот только многие доводят её до абсурда, плодя абстракцию за абстракцией и пытаясь объять необъятное (сам таким был).
Но есть и другой подход, буквально — WET.
Write Everything Twice.
Да-да, пиши-повторяй. Стоит ли тратить время на объединение разных сущностей до того, как это вообще понадобится, или лучше потратить его на закрытие бизнес-потребности?
И вот об этом доклад Дэна наше всё Абрамова на конференции Deconstruct'2019.
Есть транскрипт, кстати: https://www.deconstructconf.com/2019/dan-abramov-the-wet-codebase
В общем, думайте, так ли вам нужны максимально универсальные компоненты и логика. Может, стоит сначала реализовать задачу, избежав дырявых абстракций?
#video #conference #dry #wet
Давно стоило и пересмотреть это видео, и выкатить в канал.
Многим из вас знакома концепция DRY: Don't Repeat Yourself. Вот только многие доводят её до абсурда, плодя абстракцию за абстракцией и пытаясь объять необъятное (сам таким был).
Но есть и другой подход, буквально — WET.
Write Everything Twice.
Да-да, пиши-повторяй. Стоит ли тратить время на объединение разных сущностей до того, как это вообще понадобится, или лучше потратить его на закрытие бизнес-потребности?
И вот об этом доклад Дэна наше всё Абрамова на конференции Deconstruct'2019.
Есть транскрипт, кстати: https://www.deconstructconf.com/2019/dan-abramov-the-wet-codebase
В общем, думайте, так ли вам нужны максимально универсальные компоненты и логика. Может, стоит сначала реализовать задачу, избежав дырявых абстракций?
#video #conference #dry #wet
👍11
This media is not supported in your browser
VIEW IN TELEGRAM
#статья дня
Немного восьмибитности не желаете?
Я не так давно выкладывал целый сайт в стиле NES, а тут на глаза попалась статья о том, как сделать скруглённые уголки на блоках немного менее… кхрм, скруглёнными.
В стиле восьмибитных приставок: https://lukeb.co.uk/blog/2022/01/17/pixelated-rounded-corners-with-css-clip-path/
На самом деле в статье очень много информации о том, как использовать clip-path, рекомендую.
Ну и чтобы совсем куце не было, давайте ещё восьмибитных прелоадеров на чистом CSS: https://codepen.io/t_afif/full/PopjYgx
#css #clippath #8bit #preloader
Немного восьмибитности не желаете?
Я не так давно выкладывал целый сайт в стиле NES, а тут на глаза попалась статья о том, как сделать скруглённые уголки на блоках немного менее… кхрм, скруглёнными.
В стиле восьмибитных приставок: https://lukeb.co.uk/blog/2022/01/17/pixelated-rounded-corners-with-css-clip-path/
На самом деле в статье очень много информации о том, как использовать clip-path, рекомендую.
Ну и чтобы совсем куце не было, давайте ещё восьмибитных прелоадеров на чистом CSS: https://codepen.io/t_afif/full/PopjYgx
#css #clippath #8bit #preloader
👍7
#инструмент дня
Предположим, тебе заказали разработку Flutter или React Native приложения. Да даже Cordova или Ionic. Предположим, ты даже справился. Настало время собирать под iOS. И тут облом. Нужна macOS.
Можно купить старый мак, можно завести виртуальную машину, обмазавшись ютубом и tonymacx86.
А можно воспользоваться Docker и вот этим прекрасным репозиторием: https://github.com/sickcodes/Docker-OSX
Куча рецептов прямо в Read.me, куча полезных скриптов. В общем, надо брать и пробовать.
Отпишитесь потом о результатах, ок?) Тоже при случае попробую. Прост мак-то есть)
#docker #macos
Предположим, тебе заказали разработку Flutter или React Native приложения. Да даже Cordova или Ionic. Предположим, ты даже справился. Настало время собирать под iOS. И тут облом. Нужна macOS.
Можно купить старый мак, можно завести виртуальную машину, обмазавшись ютубом и tonymacx86.
А можно воспользоваться Docker и вот этим прекрасным репозиторием: https://github.com/sickcodes/Docker-OSX
Куча рецептов прямо в Read.me, куча полезных скриптов. В общем, надо брать и пробовать.
Отпишитесь потом о результатах, ок?) Тоже при случае попробую. Прост мак-то есть)
#docker #macos
👍10