Поздравьте меня! Мою статью про XState опубликовали на habr. Теперь я полноправный юзер Хабра. 2 недели на модерации висела. Не обошлось без токсичных адептов mol :)
https://habr.com/ru/post/675672/
https://habr.com/ru/post/675672/
Хабр
Разрабатываем универсальную форму на React и XState или новые приключения конечного автомата
Предисловие Вопреки мнению, которое я видел в комментах к статьям о конечных автоматах, я не считаю, что их применение это какой-то "спагетти". Наоборот, они позволяют реализовать довольно сложную...
👍20🔥8👏7
This media is not supported in your browser
VIEW IN TELEGRAM
Автодополнение для alias в bash
Раньше я перезагружал сервис в docker stack руками - через docker ps брал id контейнеров и рестартил.
Затем я почитал доку :) и нашел там такую команду
Для удобства сделал alias в .bashrc
Нашел восхитительную утилиту https://github.com/cykerway/complete-alias
Пишем в .bashrc следующий код
#tutorials #bash #devops
Раньше я перезагружал сервис в docker stack руками - через docker ps брал id контейнеров и рестартил.
Затем я почитал доку :) и нашел там такую команду
docker service update --force --update-parallelism 1 --update-delay 30s redis
Очень удобно, ничего не скажешь...Для удобства сделал alias в .bashrc
alias service-restart='docker service update --force --update-parallelism 1 --update-delay 30s '
Теперь уже лучше. Для перезагрузки контейнеров нужно всего лишь написать service-restart huntica_front
Но хотелось бы автокомплита, чтобы подставлял сервисы...Нашел восхитительную утилиту https://github.com/cykerway/complete-alias
Пишем в .bashrc следующий код
source ~/.bash_completion.d/complete_alias
alias service-restart='docker service update --force --update-parallelism 1 --update-delay 30s '
complete -F _complete_alias service-restart
И magic...#tutorials #bash #devops
👍7
Архитектура frontend
В отличие от бека, инфы про архитектуру фронта очень мало.
Но все-таки есть хорошие материалы.
Мне очень нравиться цикл статей https://khalilstemmler.com/articles/client-side-architecture/introduction//
Он поможет разобраться в принципах, философии и реализации архитектуры на фронте.
Так же могу посоветовать https://feature-sliced.design/ но там есть свои нюансы, о которых постараюсь написать позже.
#frontend #architecture #ddd
В отличие от бека, инфы про архитектуру фронта очень мало.
Но все-таки есть хорошие материалы.
Мне очень нравиться цикл статей https://khalilstemmler.com/articles/client-side-architecture/introduction//
Он поможет разобраться в принципах, философии и реализации архитектуры на фронте.
Так же могу посоветовать https://feature-sliced.design/ но там есть свои нюансы, о которых постараюсь написать позже.
#frontend #architecture #ddd
Khalilstemmler
Client-Side Architecture Basics [Guide] | Khalil Stemmler
Though the tools we use to build client-side web apps have changed substantially over the years, the fundamental principles behind designing robust software have remained relatively the same. In this guide, we go back to basics and discuss a better way to…
👍9🔥6
This media is not supported in your browser
VIEW IN TELEGRAM
Debugger it
Значит занимаюсь с учеником, смотрю он console.log дебажит.
Говорю ему, используй debugger.
Он - какой debugger? Я - ну, обычный debugger.
Не понимает :) И таких случаев много было. Решил написать, вдруг кто тоже не знает.
Значит в js есть такое выражение - debugger
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/debugger
1. Пишешь в любом месте кода, и по-сути создаешь брейкпоинт (точка остановки)
2. Затем открываем любой отладчик, например dev tools в браузере и voilà, открываеться панель sources и приложение останавливается.
Таким образом, для дебага нужен только браузер и слово "debugger"
Из коментов комрадов:
— не забываем ставить линты на debugger, чтобы не утекло в репозиторий
— можно использовать дебаггер чисто для первой остановки, и потом точки ставить дальше в браузере
— setInterval(()=>{debugger}, 1) в проде усложнит жизнь мамкиным хацкерам
#frontend #debugger
Значит занимаюсь с учеником, смотрю он console.log дебажит.
Говорю ему, используй debugger.
Он - какой debugger? Я - ну, обычный debugger.
Не понимает :) И таких случаев много было. Решил написать, вдруг кто тоже не знает.
Значит в js есть такое выражение - debugger
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/debugger
1. Пишешь в любом месте кода, и по-сути создаешь брейкпоинт (точка остановки)
2. Затем открываем любой отладчик, например dev tools в браузере и voilà, открываеться панель sources и приложение останавливается.
Таким образом, для дебага нужен только браузер и слово "debugger"
Из коментов комрадов:
— не забываем ставить линты на debugger, чтобы не утекло в репозиторий
— можно использовать дебаггер чисто для первой остановки, и потом точки ставить дальше в браузере
— setInterval(()=>{debugger}, 1) в проде усложнит жизнь мамкиным хацкерам
#frontend #debugger
👍21👎1
Усталость, отдых и кислота
Наткнулся на статью https://news.mail.ru/society/52587508/ Теперь многое стало понятно. Особенно, почему нужно работать помидорами и хорошо отдыхать. А так же, почему в конце рабочего дня растет количество багов :)
Во всем виноватаглупоглутаминовая кислота.
В следующий раз, когда твой ПМ будет заставлять работать ночью или в выходные, скинь ему эту статью :)
P.S. какими помодоро таймерами или техниками вы пользуетесь?
P.P.S. похоже, твой ПМ поставил дизлайк...
Наткнулся на статью https://news.mail.ru/society/52587508/ Теперь многое стало понятно. Особенно, почему нужно работать помидорами и хорошо отдыхать. А так же, почему в конце рабочего дня растет количество багов :)
Во всем виновата
В следующий раз, когда твой ПМ будет заставлять работать ночью или в выходные, скинь ему эту статью :)
P.S. какими помодоро таймерами или техниками вы пользуетесь?
P.P.S. похоже, твой ПМ поставил дизлайк...
🔥10👍2👎1
Forwarded from Сова пишет…
git.bradwoods.io
Git Time
A game that introduces the version control system Git.
🔥12👍3👎1
Чувак, который дизлайк поставил, в комментах плз напиши, что тебе не нравится :)
👎19👏5😢1
BUSIER или зависания Linux
В последнее время моя Ubuntu часто стала зависать наглухо. При чем проблема обычно всегда одна и та же - утечки памяти в Chrome или IDEA. Такой штуки как вызов диспетчера задач как в винде, тут нету (можно запилить, но с бубном). По-этому тупо перезагружал комп. Но вчера обнаружил такую тему как System Request.
Зажимаем Alt + SysReq(PrtSc) и кнопку, например - F - и отправляете команду напрямую в ядро "убить самый жрущий процесс"
А вот последовательность REISUB (BUSIER для запоминания) - gracefull reboot, намного лучше, чем бахнуть кнопку на компе.
R: Switch to XLATE mode
E: Send Terminate signal to all processes except for init
I: Send Kill signal to all processes except for init
S: Sync all mounted file-systems
U: Remount file-systems as read-only
B: Reboot
Но вся эта магия не сразу из коробки работает, нужно заменить 176 на 244 тут
Upd. от камрада @artalar - "Можно ещё в обход иксов запустить терминал Ctrl + Alt + F1 to F6. По моему опыту зависают чаще всего именно они (икс сервер для отрисовки гуя)"
Тут инфа
https://askubuntu.com/a/36717
#devops #linux #ubuntu #advices
В последнее время моя Ubuntu часто стала зависать наглухо. При чем проблема обычно всегда одна и та же - утечки памяти в Chrome или IDEA. Такой штуки как вызов диспетчера задач как в винде, тут нету (можно запилить, но с бубном). По-этому тупо перезагружал комп. Но вчера обнаружил такую тему как System Request.
Зажимаем Alt + SysReq(PrtSc) и кнопку, например - F - и отправляете команду напрямую в ядро "убить самый жрущий процесс"
А вот последовательность REISUB (BUSIER для запоминания) - gracefull reboot, намного лучше, чем бахнуть кнопку на компе.
R: Switch to XLATE mode
E: Send Terminate signal to all processes except for init
I: Send Kill signal to all processes except for init
S: Sync all mounted file-systems
U: Remount file-systems as read-only
B: Reboot
Но вся эта магия не сразу из коробки работает, нужно заменить 176 на 244 тут
sudo nano /etc/sysctl.d/10-magic-sysrq.confДальше выполняем команду
echo 244 | sudo tee /proc/sys/kernel/sysrqДальше жмем Alt+SysReq+F и убиваем какую нить вкладку хром)
Upd. от камрада @artalar - "Можно ещё в обход иксов запустить терминал Ctrl + Alt + F1 to F6. По моему опыту зависают чаще всего именно они (икс сервер для отрисовки гуя)"
Тут инфа
https://askubuntu.com/a/36717
#devops #linux #ubuntu #advices
Ask Ubuntu
What should I do when Ubuntu freezes?
All operating systems freeze sometimes, and Ubuntu is no exception. What should I do to regain control when...
just one program stops responding?
nothing at all responds to mouse clicks or key pres...
just one program stops responding?
nothing at all responds to mouse clicks or key pres...
👍4🔥4👎1
Forwarded from Сова пишет…
🔥6
IMUTENVRV
Я в свободное от работы время принимаю участие в progressive metal группе https://vk.com/imutenvrv в качестве вокалиста.
У нас только что вышел дебютный сингл TAVION.
Послушать можно тут https://vk.com/imutenvrv или на любой стриминговой площадке https://band.link/imutenvrv
А так же на ютубчике https://www.youtube.com/watch?v=ODZm-1b4llc
Если вам будет интересно, позже скину пост со всем своим творчеством.
#music #imutenvrv
Я в свободное от работы время принимаю участие в progressive metal группе https://vk.com/imutenvrv в качестве вокалиста.
У нас только что вышел дебютный сингл TAVION.
Послушать можно тут https://vk.com/imutenvrv или на любой стриминговой площадке https://band.link/imutenvrv
А так же на ютубчике https://www.youtube.com/watch?v=ODZm-1b4llc
Если вам будет интересно, позже скину пост со всем своим творчеством.
#music #imutenvrv
🔥9👍3👏2👎1
Вакансия
Нам в Huntica требуется верстальщик, у которого есть желание эволюционировать в Vue Frontend Developer.
Если вы работаете в конвеерной web студии - это ваш шанс вырваться из этой пучины :)
От нас:
- удаленка или офис в мск (но вся команда на ремоуте)
- деньги (40-80к рублей в зависимости от занятости, можно фултайм, можно парттайм)
- профессиональный рост со мной (можно вырасти в Frontend и Fullstack developer, разбираться в архитектуре и бизнесе)
- работа в продукте с современным стеком (Vue, Nuxt, NestJS, Laravel, Flutter, Docker, Kubernetes)
никакой бюрократической возни
- обучим JS,TS
От вас:
- восхитительная, четкая и быстрая верстка (1 макет в неделю и 100 правок после приемки не подойдет)
- визуальное мышление (программист сделал технический макет фичи, а вы можете сделать из этого красиво аналогично стилям сайта)
- умение в БЭМ (понимаете, когда использовать блок, элемент, модификатор, микс и вот это все)
- навык приемки дизайна (тот вариант, когда дизайнер дает дизайн, который хорошо смотрится на его 13' макбуке и больше нигде и нужно это грамотно ему донести)
- опыт работы с webpack (ну то есть можете сконфигурировать сборку с гуглом и стек оверфлоу, использовать плагины)
- базовые навыки работы с terminal (можете зайти в проект, собрать, запустить его)
- опыт работы с git (базовый - можете склонить, спулить - смержить, пулркевесты там)
- SCSS на уровне написания и использования variables, mixins
- понимание принципов адаптивного дизайна и верстки (умеете из desktop макета сделать сносный адаптив)
- flexbox (умение строить сложные интерфейсы)
- готовность вджобывать и обучаться самостоятельно
- не бояться самостоятельно принимать решения
- выполнять обещания (или во время предупредить, что не можете выполнить)
Вообще замечательно, если есть опыт работы с Vue, Vuetify, Vite, Nuxt (2,3)
Первый этап - автоматическое собеседование на платформе Huntica. Заодно познакомитесь с продуктом, с которым планируете работать (это вообще большой плюс при найме, когда вы изучили компанию).
https://huntica.works/v/1030 - ссылка на собес.
По всем вопросам пишите мне @bearlogin
#vacancy #frontend
Нам в Huntica требуется верстальщик, у которого есть желание эволюционировать в Vue Frontend Developer.
Если вы работаете в конвеерной web студии - это ваш шанс вырваться из этой пучины :)
От нас:
- удаленка или офис в мск (но вся команда на ремоуте)
- деньги (40-80к рублей в зависимости от занятости, можно фултайм, можно парттайм)
- профессиональный рост со мной (можно вырасти в Frontend и Fullstack developer, разбираться в архитектуре и бизнесе)
- работа в продукте с современным стеком (Vue, Nuxt, NestJS, Laravel, Flutter, Docker, Kubernetes)
никакой бюрократической возни
- обучим JS,TS
От вас:
- восхитительная, четкая и быстрая верстка (1 макет в неделю и 100 правок после приемки не подойдет)
- визуальное мышление (программист сделал технический макет фичи, а вы можете сделать из этого красиво аналогично стилям сайта)
- умение в БЭМ (понимаете, когда использовать блок, элемент, модификатор, микс и вот это все)
- навык приемки дизайна (тот вариант, когда дизайнер дает дизайн, который хорошо смотрится на его 13' макбуке и больше нигде и нужно это грамотно ему донести)
- опыт работы с webpack (ну то есть можете сконфигурировать сборку с гуглом и стек оверфлоу, использовать плагины)
- базовые навыки работы с terminal (можете зайти в проект, собрать, запустить его)
- опыт работы с git (базовый - можете склонить, спулить - смержить, пулркевесты там)
- SCSS на уровне написания и использования variables, mixins
- понимание принципов адаптивного дизайна и верстки (умеете из desktop макета сделать сносный адаптив)
- flexbox (умение строить сложные интерфейсы)
- готовность вджобывать и обучаться самостоятельно
- не бояться самостоятельно принимать решения
- выполнять обещания (или во время предупредить, что не можете выполнить)
Вообще замечательно, если есть опыт работы с Vue, Vuetify, Vite, Nuxt (2,3)
Первый этап - автоматическое собеседование на платформе Huntica. Заодно познакомитесь с продуктом, с которым планируете работать (это вообще большой плюс при найме, когда вы изучили компанию).
https://huntica.works/v/1030 - ссылка на собес.
По всем вопросам пишите мне @bearlogin
#vacancy #frontend
👍5👎1👏1
Mailcatcher
Очень удобная штука для разработки функционала связанного с почтой https://mailcatcher.me/
Можно использовать локально, или на stage окружении и не бояться, что test@test.com опять получит ваше супер важное сообщение :)
Просто поднимаете сервис, например через docker, и кидаете письма на smtp://127.0.0.1:1025.
И просматриваете в веб интерфейсе эти письма или получаете через API, что отлично подходит для интеграционных тестов.
P.S. Камрады еще советуют https://github.com/mailhog/MailHog
#advices #backend
Очень удобная штука для разработки функционала связанного с почтой https://mailcatcher.me/
Можно использовать локально, или на stage окружении и не бояться, что test@test.com опять получит ваше супер важное сообщение :)
Просто поднимаете сервис, например через docker, и кидаете письма на smtp://127.0.0.1:1025.
И просматриваете в веб интерфейсе эти письма или получаете через API, что отлично подходит для интеграционных тестов.
P.S. Камрады еще советуют https://github.com/mailhog/MailHog
#advices #backend
👍6🔥6👎1
Чот не нашел чатика архитекторов в телеге, сделал свой https://news.1rj.ru/str/software_architecture_chat, кто интересуется архитектурой ПО - залетайте. Будем холиварить за DDD, Clean Architecture и прочие аггрегаты с микросервисами.
Telegram
Архитекторы программного обеспечения (мы тут программисты тип, вот не дома строим, а программы, стрелочки и квадратики рисуем)
Холивары, DDD, Clean Architecture, архитектурные стили, микросервисы, монолит, Event Driven.
Дома не строим, автокады не устанавливаем.
С рекламой - в лес. Вакансии в лс @bearlogin
Дома не строим, автокады не устанавливаем.
С рекламой - в лес. Вакансии в лс @bearlogin
👎1🔥1