Как стать автором
Обновить
0
0
Рым @Rym

Пользователь

Отправить сообщение

Vue 3 на Typescript

Время на прочтение10 мин
Количество просмотров56K

vue3+ts


Популярность Typescript растет день ото дня. Javascript нетипизированный язык(или слабо типизированный, если точнее), и одна и та же переменная способна принимать и строку, и число, и даже объект. С одной стороны, это делает язык гибким, с другой, потенциально ведет к многочисленным ошибкам. Typescript создан, чтобы решить эту проблему. Vue старается не отставать от моды, и в новой версии фреймворка была значительно улучшена поддержка языка. Теперь переход на Typescript проще и приятнее, чем был раньше. Хороший повод научиться чему-то новому, тем более, что в требованиях к вакансиям он встречается все чаще и чаще.


В этой статье мы перепишем тестовое задание, которое я разбирал ранее, на Vue 3 и Typescript и вдобавок используем обновленные Vue-Router и Vuex(критики, вы были услышаны).


Update: код в статье был улучшен в соответствии с пожеланиями.

Читать дальше →
Всего голосов 3: ↑2 и ↓1+4
Комментарии18

Vuex нарушает инкапсуляцию

Время на прочтение4 мин
Количество просмотров5.2K

Когда мой проект на Vue начал разрастаться и достиг нескольких сотен компонентов, я задумался о подходе Vue и Vuex к архитектуре проекта.


Читать дальше →
Всего голосов 8: ↑6 и ↓2+7
Комментарии7

Собираем DIY шлюз для Zigbee устройств

Время на прочтение6 мин
Количество просмотров112K

Вступление


Пока крупные производители конечных устройств Zigbee в борьбе за кошельки пользователей имитируют поддержку оборудования сторонних производителей, группы энтузиастов изучают стандарты протоколов и изобретают "альтернативные" всеядные программные и аппаратные решения для работы с устройствами Zigbee.


image


Наибольший толчок развития DIY шлюзам дал проект zigbee2mqtt. На момент написания заметки в проекте реализована поддержка 785 устройства от 140 производителей.


image


Поиск показал наличие интересных конкурентных проектов AqaraHub(написан на с, похоже, что развитие приостановлено, последний коммит был 5 месяцев назад), нативная поддержка в ioBroker (проект ведет наш соотечественник Киров Илья), нативная поддержка в Home-assistant (поддержка появилась после появления библиотеки zigpy, активно развивается, но пока далека от совершенства). Обзор программных шлюзов хорошо разобран в интернете, имеется множество статей, желающий найдет информацию по тэгам в конце статьи.

Читать дальше →
Всего голосов 35: ↑35 и ↓0+35
Комментарии36

Собираем собственный аудио усилитель профессионального уровня не (очень) дорого

Время на прочтение4 мин
Количество просмотров131K

Получаем потрясающий стереозвук на основе платы 3e Audio Д-класса




Перевод статьи с сайта IEEE Spectrum, автор – Гленн Зорпет

Несколько лет назад я решил узнать, насколько дёшево можно сделать самому усилитель Д-класса аудиофильского качества. Тогда у меня получилось $523,43. Я смастерил достойный усилок, и статья на IEEE Spectrum всё ещё привлекает читателей и периодические вопросы о том, где можно достать запчасти.

Сожалею, но основные компоненты уже давно исчезли. Поэтому я направлял всех страждущих к наборам от Class D Audio, DIY Class D и Ghent Audio. И пару месяцев назад мне вдруг захотелось проверить, насколько лучше у меня получится сделать усилок сейчас, почти десять лет спустя. Часть мотивации возникла из-за ежегодных списков лучших стерео усилителей с сайта The Master Switch. В списке доминируют усилители стоимостью от $1000 (и десять из них стоят более $2000).
Читать дальше →
Всего голосов 56: ↑39 и ↓17+22
Комментарии156

Как переиспользовать код с бандлами Symfony 5? Часть 6. Тестирование

Время на прочтение8 мин
Количество просмотров3K

Поговорим о том, как прекратить копипастить между проектами и вынести код в переиспользуемый подключаемый бандл Symfony 5. Серия статей, обобщающих мой опыт работы с бандлами, проведет на практике от создания минимального бандла и рефакторинга демо-приложения, до тестов и релизного цикла бандла.


В предыдущей части мы создали конфигурацию бандла. В этой статье разберем как тестировать бандл, напишем несколько тестов и создадим внутри бандла микроприложение для их запуска.

Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии5

От Babel до GraphQL: доклады HolyJS 2019 Moscow

Время на прочтение4 мин
Количество просмотров4.4K
Если вы JS-разработчик, то браузер для вас — дом родной, но можете ли вы описать пошагово все действия браузера для отрисовки вашей прекрасной страницы? И вы наверняка уже слышали про WebAssembly, но знаете ли, что «внутри» у этой технологии?



Углубиться в эти и многие другие JS-темы помогут доклады. В ноябре прошла HolyJS 2019 Moscow, а теперь её видеозаписи открыты для всех, и мы традиционно публикуем на Хабре подборку — в общем, есть чем занять выходные на самоизоляции.
Всего голосов 15: ↑15 и ↓0+15
Комментарии0

SSL-сертификаты от Let's Encrypt с cert-manager в Kubernetes

Время на прочтение10 мин
Количество просмотров45K


В этой статье я расскажу о том, как автоматизировать заказ и продление сертификатов от Let’s Encrypt (и не только) для Ingress’а в Kubernetes с помощью дополнения cert-manager. Но начну с краткого введения в суть проблемы.
Читать дальше →
Всего голосов 30: ↑29 и ↓1+35
Комментарии17

Полный набор gRPC, RESTful JSON API, WS и Swagger из одного proto файла. От введения до нюансов и тонкостей grpc-gateway

Время на прочтение9 мин
Количество просмотров35K

В этой статье я опишу процесс создания сервера с gRPC и RESTful JSON API одновременно и Swagger документацию к нему.


Эта статья — продолжение разбора различных способов реализаций API-сервера на Golang с автогенерацией кода и документации. Там я обещал более подробно остановиться на этом подходе.


grpc-gateway — это плагин protoc. Он читает определение сервиса gRPC и генерирует обратный прокси-сервер, который переводит RESTful JSON API в gRPC. Этот сервер создается в соответствии с пользовательскими параметрами в вашем определении gRPC.


Это выглядит вот так:


Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии16

СТОП ПЕРЕКУП! Инструкция по самостоятельной сборке «медицинской маски»

Время на прочтение8 мин
Количество просмотров156K
В авторском канале и примкнувшем к нему чате, постоянно всплывают пользователи, которые просят подсказать ссылку на инструкцию по самостоятельной сборке обычной трехслойной аптечной маски. Несмотря на то, что уже тысячу раз обсудили вроде везде где только можно, что «аптечная маска — ТОЛЬКО ДЛЯ ЗАБОЛЕВШИХ», все равно появляются люди, которые ведутся на странную пропаганду (в т.ч. из гос сми) и ищут эти несчастные кусочки спанбонда. Подогревает ситуацию и то, что в различных группах/домовых чатах такая простейшая маска (купленная еще пару недель назад даже не за цент, а за доли цента) сегодня в Беларуси стоит от доллара до двух (2-4 BYN). В государственных аптеках цены пока еще отстают, но не на много. Сколько же стоит такая маска на самом деле — можете прикинуть, дочитав статью до конца… Под катом — методика создания самодельной хирургической маски.

Спаять себе медицинскую маску!
Всего голосов 81: ↑56 и ↓25+55
Комментарии221

Задержать COVID-19. Все про фильтрацию воздуха на случай пандемии

Время на прочтение44 мин
Количество просмотров372K
По материалам из телеграм-канала LAB66 и присоединенного к нему чата.

Это время для фактов, а не для страха. Это время для науки, а не слухов. Это время солидарности, а не охоты на ведьм…
директор ВОЗ Tedros Adhanom Ghebreyesus про эпидемию COVID-19
Прошло немного времени с момента публикации моей статьи про респираторную защиту во время эпидемии. За это время, отчасти благодаря активному обсуждению в «приканальном» чате выработалась некоторая система, которой бы я хотел поделится и с читателями хабра. Вынудило меня написать эту статью то, что из-за коронавируса поднялся нездоровый хайп, на волне которого на поверхность начала всплывать совсем не та информация, которая всплывать должна была бы (равно как и внезапно подскочили до х40 раз цены на респираторы, притом все без разбора). Так что нужно расставить точки над i. Под катом читаем про подбор правильного респиратора, про сборку кастомных фильтров и стерилизацию зараженных средств защиты. Ответы на вопросы.

Грантовая поддержка исследования
Фактически, в роли «научного грантодателя» для этой статьи выступают мои «меценаты» с Patreon. Благодаря им все и пишется. Поэтому и ответ они могут получить раньше всех других, и черновики увидеть, и даже предложить свою тему статьи. Так что, если интересно то, о чем я пишу и/или есть что сказать — поспешите стать моим «патроном» (картинка кликабельна):



Статью же настоятельно рекомендую «в закладки». Буду рад любому посильному распространению статьи. Краткий итоговый FAQ — в конце статьи.


Собираем полумаску под себя!
Всего голосов 62: ↑58 и ↓4+73
Комментарии290

Работаем с датчиком CO₂ Xiaomi ClearGrass Air Detector локально, без китайских серверов

Время на прочтение3 мин
Количество просмотров46K


Давно планировал внедрить в домашнюю автоматизацию датчик углекислого газа CO₂. По соотношению цена/качество/функции/внешний вид лучшим для меня оказался Xiaomi ClearGrass Air Detector. Анализатор качества воздуха содержит датчики:

  1. CO₂
  2. tVOC (летучие органические соединения)
  3. PM2.5
  4. Температуры
  5. Влажности

У ClearGrass качественный экран с большими углами обзора и аккумулятор на 6 часов автономной работы. Цена в районе 130$ за такой девайс переводит его в сегмент маст хэв! Большой обзор можно почитать на mysku.ru.

Анализатор можно добавить в родное приложение qingping+ или MiHome, в обоих случаях данные ходят через китайские сервера, что меня категорически не устраивало. Я решил разобраться, как можно получить данные с датчика локально без использования сторонних удаленных серверов.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии19

Учимся разворачивать микросервисы. Часть 2. Kubernetes

Время на прочтение17 мин
Количество просмотров62K


Привет, Хабр!


Это вторая часть из серии статей "Учимся разворачивать микросервисы". В предыдущей части мы написали 2 простеньких микросервиса — бекенд и шлюз, и разобрались с тем, как их упаковать в docker-образы. В этой же статье мы будем организовывать оркестрацию наших docker-контейнеров с помощью Kubernetes. Мы последовательно составим конфигурацию для запуска системы в Minikube, а затем адаптируем ее для деплоя в Google Kubernetes Engine.

Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии16

Методики уменьшения размеров образов Docker

Время на прочтение10 мин
Количество просмотров37K
Задавались ли вы когда-нибудь вопросом о том, почему размер Docker-контейнера, содержащего всего одно приложение, может находиться в районе 400 Мб? Или, может быть, вас беспокоили немаленькие размеры образа Docker, содержащего единственный бинарник размером в несколько десятков Мб?



Автор статьи, перевод которой мы сегодня публикуем, хочет разобрать основные факторы, влияющие на размеры контейнеров Docker. Он, кроме того, собирается поделиться рекомендациями по уменьшению размеров контейнеров.
Читать дальше →
Всего голосов 41: ↑40 и ↓1+59
Комментарии11

Визуальное руководство по диагностике неисправностей в Kubernetes

Время на прочтение11 мин
Количество просмотров48K
Прим. перев.: Эта статья входит в состав опубликованных в свободном доступе материалов проекта learnk8s, обучающего работе с Kubernetes компании и индивидуальных администраторов. В ней Daniele Polencic, руководитель проекта, делится наглядной инструкцией о том, какие шаги стоит предпринимать в случае возникновения проблем общего характера у приложений, запущенных в кластере K8s.



TL;DR: вот схема, которая поможет вам отладить deployment в Kubernetes:
Читать дальше →
Всего голосов 66: ↑66 и ↓0+66
Комментарии9

Вентиляция с рекуперацией в квартире. Без воздуховодов и СМС

Время на прочтение7 мин
Количество просмотров114K
Написать этот пост меня подтолкнула недавняя статья о приточной вентиляции в квартире. Я было хотел оставить развёрнутый комментарий, но понял что правильнее будет написать статью, т.к. мой опыт использования комнатных рекуператоров в качестве основной системы вентиляции может быть интересен многим.


Это КДПВ блок рекуперации/регенерации. Надеюсь, ни у кого нет трипофобии?

Итак, всё началось с духоты. Точнее, с утепления квартиры слоем экструзионного пенополистирола по всему периметру (панельная 9-этажка родом из 80-х, с кучей сквозящих углов). В результате чего, квартира стала условно герметичной и вопрос свежего воздуха встал в полный рост.
Читать дальше →
Всего голосов 114: ↑113 и ↓1+155
Комментарии250

Как я чуть не выкинул 150к на ветер или история установки приточной вентиляции в квартире

Время на прочтение19 мин
Количество просмотров653K

Как я пришел к покупке приточной вентиляции для квартиры с готовым ремонтом. Как купил ее за 150к и чуть не потратил деньги зря. Статья будет полезна тем, кто планирует купить очиститель воздуха, бризер или приточку.


Читать дальше →
Всего голосов 285: ↑280 и ↓5+365
Комментарии595

SSL сертификат для Docker web-app

Время на прочтение4 мин
Количество просмотров53K
В данной статье я хочу поделиться с вами способом создания SSL сертификата для вашего веб-приложения работающего на Docker, т.к. в рускоязычной части интернета — подобного решения я не нашел.

image

Подробнее под катом.
Читать дальше →
Всего голосов 8: ↑5 и ↓3+6
Комментарии26

UDP Flood от Google или как не лишить всех Youtube

Время на прочтение3 мин
Количество просмотров15K
Одним прекрасным весенним вечером, когда идти домой не хотелось, а неуемное желание жить и познавать свербило и жгло аки каленым железом, возникла идея поковырять заманчивую приблуду фичу на файрволе под названием "IP DOS policy".
После предварительных ласок и ознакомления с мануалом настроил в режиме Pass-and-Log, чтобы посмотреть вообще на выхлоп и сомнительную полезность данной настройки.
Спустя пару дней (чтобы статистика набралась, конечно, а не потому что забыл) взглянул в логи и, пританцовывая на месте, захлопал в ладоши — записей набралось по самое не балуйся. Казалось бы, чего проще — включай политику в режим блокировки всех флудящих, сканящих, устанавливающих half-open сессии с баном на час и спи себе спокойно с осознанием того факта, что граница на замке. Но 34-ый год жизни преодолел юношеский максимализм и где-то на затылочном участке мозга прозвучал тоненький голосок:«А давай-ка поднимем веки и посмотрим, а чьи же адреса наш любимый файрвол распознал как злостных флудильщиков? Ну так, в порядке бреда.»
Читать дальше →
Всего голосов 26: ↑16 и ↓10+6
Комментарии59

Решение проблемы с переключением по alt+shift в Linux, в приложениях на Electron

Время на прочтение4 мин
Количество просмотров38K
Здравствуйте, коллеги!

Хочу поделиться поделиться своим решением проблемы, которая указана в заголовке. Написанием статьи вдохновился от коллеги brnovk, который не поленился и предложил частичное (для меня) решение проблемы. Я сделал свой «костыль», который помог мне. Делюсь с вами.
Читать дальше →
Всего голосов 23: ↑20 и ↓3+17
Комментарии59

Как выучить иностранный язык

Время на прочтение10 мин
Количество просмотров115K

Я расскажу о том, как изучать иностранный язык и буду это делать на примере личного опыта изучения английского языка. Английский я начал учить в 36 лет, а уже сейчас у меня свободный английский язык (как письменный, так и устный), подтверждённый официальными сертификатами. Чтобы не быть голословным: у меня есть сертификат IELTS 7.5 баллов (это С1 level) и сертификат переводчика NAATI. Короче, я знаю о чем говорю.


Оглавление:


  1. Отступление про умных людей и прочих полиглотов
  2. Первый шаг
  3. Какой преподаватель нужен (уровень преподавателя)
  4. Где искать преподавателя
  5. Развитие навыков: слушание
  6. Развитие навыков: чтение
  7. Развитие навыков: письмо
  8. Развитие навыков: разговор: произношение
  9. Развитие навыков: разговор: языковой барьер
  10. Словарный запас
  11. Самое главное


Итак, вопрос: “Как выучить английский язык?”.

Читать дальше →
Всего голосов 97: ↑92 и ↓5+87
Комментарии158

Информация

В рейтинге
Не участвует
Откуда
Минск, Минская обл., Беларусь
Дата рождения
Зарегистрирован
Активность

Специализация

Fullstack Developer
Senior
JavaScript
HTML
Vue.js
JQuery
PHP
Zend framework
Docker
MongoDB
Nginx
Git