Pull to refresh
2
0
Яков Степанов @Yakor

web dev

Send message

Play Store теперь принимает прогрессивные веб-приложения (PWA)

Reading time15 min
Views38K

Дисклеймер: я не связан с Google Play, Chrome или любой упомянутой компанией. Это не официальное заявление. Логотип и названия используются только для иллюстрации.

В Chrome 72 для Android реализована долгожданная функция Trusted Web Activity. Это означает, что теперь мы можем распространять PWA через каталог Google Play и запускать Chrome без UI в автономном режиме для нативных пакетов! Я некоторое время поигрался с этой функцией, копаясь в API, а здесь расскажу, о чём речь, чего ожидать и что доступно уже сегодня.
Total votes 30: ↑30 and ↓0+30
Comments10

Как я опубликовал PWA на Svelte в Google Play

Reading time3 min
Views11K

Мне нравится метал музыка разных направлений. Для отслеживания новинок я сделал парсер, который ищет свежие альбомы и складывает их в базу. За время существования приложения парсер я почти не трогал, хотя он и далек от идеала, а вот фронтенд был переделан несколько раз.


metalz.web.app

Под катом рассказ о том, как я переписал приложение с react-native на Svelte и опубликовал его в Google Play.

Читать дальше →
Total votes 32: ↑27 and ↓5+22
Comments21

Сделаем это по-быстрому: голосовой бот на Dialogflow и Voximplant

Reading time4 min
Views11K
Голосовые боты были и остаются полезной фичей для общения с клиентами. Потому что если что-то возможно автоматизировать, то надо срочно это делать. Подтверждение заказов и информация о них, запись обратной связи от клиентов, распознавание голоса и действия согласно тому, что распозналось и т.д. Кстати, о последнем – сделать бота с распознаванием в 2018 году стало еще проще: Voximplant отлично умеет распознавать и транскрибировать речь, а инструмент Dialogflow от “корпорации добра” хорошо анализирует текст. Ниже я покажу, как можно быстро собрать демо-бота, который расскажет о погоде в названном городе.


Total votes 29: ↑27 and ↓2+25
Comments0

Размещение веб-приложения на Amazon Web Services. Дёшево. Возможно ли это?

Reading time3 min
Views33K

Наверняка все слышали про Amazon Web Services (AWS). А некоторые даже заглянули на страницу Pricing. И заметили, что цены там заметно выше, чем на DigitalOcean, Linode, Hetzner Cloud и др. Вот таблица для сравнения цен:


Тип RAM CPUs Диск Трафик Цена
DigitalOcean - 4 GB 2 vCPUs 80 GB 4 TB $20
Linode Linode 4GB 4 GB 2 vCPUs 80 GB 4 TB $20
AWS t2.medium 4 GB 2 vCPUs - - $40

Amazon берёт деньги за трафик, причём цены тоже не низкие:



Так для чего же тогда выбирать Amazon? Вот какие причины вижу я:


  1. Большое количество полезных сервисов.
  2. Free Tier.

О втором и пойдет речь в этой статье.

Читать дальше →
Total votes 34: ↑30 and ↓4+26
Comments58

Шпаргалка по работе с Tmux (терминальный мультиплексор)

Reading time2 min
Views447K

На Хабрахабре Tmux (ти-макс) упоминался неоднократно, тем не менее, решил написать еще одну шпаргалку, т.к. в других некоторые важные моменты не показаны.

Tmux (терминальный мультиплексор) позволяет работать с несколькими сессиями в 1 окне. Вместо нескольких окон терминала к серверу — вы можете использовать одно. Позволяет подключаться/отключаться к текущему состоянию сессии. Запущенные программы и процессы продолжают работать. (Можно использовать вместо nohup, dtach).

Например, на работе правим файлы в Vim. Окно терминала с открытыми файлами, процессами. Отключаемся от сессии. Далее подключаемся к этой сессии из дома и получаем те же окна с открытыми файлами в Vim, процессами и т.д. Можно продолжить работу с того же момента, на котором остановились. Также удобно при разрыве связи. Дополнительно можно работать совместно с другими в терминале, если подключены к одной сессии. Каждый видит, что делает другой.
Читать дальше →
Total votes 28: ↑17 and ↓11+6
Comments20

Метаданные для организации хранения фото-архива

Reading time8 min
Views44K
Привет, хабр!
Наверное, не ошибусь, если скажу, что у многих пользователей хабра скопился небольшой архив фото- и видео- материалов, которые хранят воспоминания о различных моментах собственной жизни, или жизни близких людей. У некоторых этот архив, возможно, уже занимает не один жёсткий диск. Но многие ли из вас задумывались, как лучше хранить все эти фотографии, как с архивом распорядятся ваши дети? Хочу затронуть скользкую и не очень тематическую тему «организации хранения личного фото-архива», в которой много вопросов и мало ответов, много текста и мало картинок.
Читать дальше →
Total votes 23: ↑20 and ↓3+17
Comments67

The state of CSS

Reading time15 min
Views23K
В ежегодном опросе «The state of JavaScript» разработчики рассказывают о том, что они используют здесь и сейчас. Вопросы там знакомы и привычны фронтенд-сообществу. В 2019 году появился опрос «The state of CSS», который ввёл разработчиков в ступор. Оказывается, многие технологии разработчикам не знакомы, хотя большинство из них уже активно используются. Возможно, разработчики используют привычные инструменты и технологии, и не стремятся применять что-то новое? Возможно, просто нет задач под новые технологии? Зачем использовать CSS Grid, CSS Multi columns, там, где проще построить все на Flexbox? Возможно, это все касается старичков, а джуны уже и не знают про Flexbox и Float и в опросах не участвуют?



Сергей Попов (popovsergey), руководитель Лиги А, спикер и организатор конференций задался этими вопросами, провел свой мини-опрос и даже получил результаты от организаторов «The state of CSS». Всю информацию Сергей обработал, структурировал и получил срез фронтенд-сообщества: кто что знает и использует, где учатся верстальщики и сколько зарабатывают, какие технологии актуальны, а какие пора сдавать в переработку, и что изучать, чтобы применять всю мощь CSS. Расшифровка доклада — один из вариантов отчета по актуальному состоянию CSS, вместе с оригинальным отчетом «The state of CSS» подскажет, куда двигаться и какие технологии применять.

Осторожно, под катом много диаграмм и картинок, действительно много, но они все по делу. В хорошем качестве они тут.
Total votes 50: ↑50 and ↓0+50
Comments9

Чат-боты — отстой

Reading time12 min
Views16K


Друзья, мы предлагаем вашему вниманию сокращённый перевод любопытного выступления, посвящённого проблематике создания чат-ботов: каковы особенности этой задачи, какие трудности встают на пути разработчиков и как их можно решать. А ещё мы попросили прокомментировать этот материал эксперта Центра машинного обучения «Инфосистемы Джет». Его мнение вы найдёте в конце статьи.
Читать дальше →
Total votes 40: ↑34 and ↓6+28
Comments12

Сниппеты для Chrome DevTools

Reading time5 min
Views31K
Возможности встроенного в браузер инструмента Chrome Developer Tools можно расширить с помощью сниппетов. Это ускоряет разработку и упрощает рабочий процесс. Хорошая коллекция сниппетов есть на GitHub'е.

Сниппеты в Google Chrome


Подробно о функциях сниппетов можно почитать в официальной документации Chrome. А вот краткая инструкция:

  1. Зайти в «chrome://flags» — Отметить «Enable Developer Tools experiments».
  2. Открыть DevTools: «Settings» — «Developer Tools Experiments» — Отметить «Snippets support».
  3. После перезагрузки во вкладке DevTools «Sources» появится «Snippets», где можно управлять сниппетами:

image
Читать дальше →
Total votes 51: ↑49 and ↓2+47
Comments13

Краткая шпаргалка по tmux (менеджеру терминалов)

Reading time1 min
Views416K
tmux — это менеджер терминалов, к которому удобно подключаться и отключаться, не теряя при этом процессы и историю. Как screen, только лучше (в первую очередь потому, что использует модель клиент—сервер).

image

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

Читать дальше →
Total votes 59: ↑53 and ↓6+47
Comments50

Взламываем Asus RT-AC66U и подготавливаемся к SOHOpelesslyBroken CTF

Reading time9 min
Views88K
Наконец-то настал июль, время собираться на DEFCON. Фолловьте @defconparties в твиттере и определяйтесь, какие местечки посетить и на какие доклады сходить.

В этом году будет новое соревнование — SOHOpelesslyBroken, от ISE и EFF. Цель Track 0 состоит в том, чтобы показать ранее неизвестные уязвимости в домашних беспроводных роутерах. Track 1 будет проходить в режиме CTF прямо во время DEFCON. CTFы всегда очень веселые, а конкретно этот подразумевает взлом реального железа, что веселее вдвойне!

image
Ага, это мое рабочее место =P

Меня очень интересует EFF Open Wireless Router (переводчика, к слову, тоже), но они пока ничего не рассказывают об устройстве. В правилах соревнования значится ASUS RT-AC66U (HW Ver. A2) [Version 3.0.0.4.266] в качестве возможного устройства для взлома. У меня есть лишний RT-AC66U дома, поэтому я решил написать небольшой туториал для всех участников соревнования CTF
Читать дальше →
Total votes 51: ↑51 and ↓0+51
Comments11

Используем GPG для шифрования сообщений и файлов

Reading time9 min
Views165K

Кратко о том, как создавать ключи, шифровать и подписывать файлы и отправлять ключи на сервер ключей.



GPG (также известный как GnuPG) создавался как свободная альтернатива несвободному PGP. GPG используется для шифрования информации и предоставляет различные алгоритмы (RSA, DSA, AES и др.) для решения этой задачи.

Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments13

Старикам здесь не место? Программируем после тридцати пяти

Reading time8 min
Views168K



Привет, меня зовут Дмитрий, мне 35 лет. Раньше я часто слышал, что программист — профессия для молодых. Тем не менее прошлым летом я получил приглашение в Яндекс и перебрался работать в Москву.


В этой статье я хотел бы затронуть вопрос, который не раз обсуждался на Хабре: насколько реально быть программистом после 35–40 лет? Не ведущим архитектором, не тимлидом, не менеджером проекта, а именно программистом? Я не согласен с мнением, что программирование — это удел молодых. Считаю его вредным и сейчас расскажу почему.


Существует несколько доводов, на которые опирается этот миф. Давайте-ка их подробно рассмотрим.

Читать дальше →
Total votes 238: ↑222 and ↓16+206
Comments657

Lazydocker — GUI для Docker прямо в терминале

Reading time3 min
Views33K


Два года назад мы уже делали обзор GUI-интерфейсов для работы с Docker, однако мир любителей подобных решений не стоит на месте. На днях до версии 0.2 обновился, а вместе с тем и получил широкую огласку, молодой проект lazydocker, позиционирующий себя как «более ленивый путь управлять всем в Docker». Утилита стремительно набирает популярность — ещё вчера количество его GitHub stars не достигало 3000, а уже сегодня перевалило за 4000.
Читать дальше →
Total votes 49: ↑48 and ↓1+47
Comments16

Начало работы в Kubernetes с помощью Minikube

Reading time7 min
Views88K


Предисловие переводчика: Minikube — удобный инструмент, который мы применяем в компании для локальных экспериментов с Kubernetes (в частности, для выполнения лабораторных работ по этой системе при обучении сотрудников). Эта статья показалась мне полезной во время моего знакомства с Kubernetes. Она написана год назад автором, использующим Mac OS X, а я проделывал все операции в Ubuntu 16.04 совсем недавно и с актуальными версиями основного софта: Minikube 0.20, Docker 17.06.0-ce, kubectl 1.7.0. Поэтому все выводы команд были переделаны под новые версии и незначительно отличаются от приведённых в оригинальной статье.
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments4

Garden v0.10.0: Вашему ноутбуку не нужен Kubernetes

Reading time4 min
Views11K
Прим. перев.: С Kubernetes-энтузиастами из проекта Garden мы познакомились на недавнем мероприятии KubeCon Europe 2019, где они произвели на нас приятное впечатление. Этот их материал, написанный на актуальную техническую тему и с заметным чувством юмора, — наглядное тому подтверждение, а посему мы решили его перевести.

Он рассказывает о главном (одноименном) продукте компании, идея которого — автоматизация рабочих процессов и упрощение разработки приложений в Kubernetes. Для этого утилита позволяет легко (буквально одной командой) разворачивать в dev-кластере новые изменения, сделанные в коде, а также предоставляет разделяемые ресурсы/кэши для ускорения сборки и тестирования кода командой. Две недели назад у Garden состоялся релиз 0.10.0, в котором стало возможным использовать не только локальный Kubernetes-кластер, но и удаленный: именно этому событию и посвящена данная статья.


Меньше всего я люблю работать с Kubernetes на своем ноутбуке. «Кормчий» поглощает его процессор и аккумулятор, заставляет кулеры вращаться без остановки и сложен в обслуживании.


Фотография со стока в тему для пущего эффекта
Читать дальше →
Total votes 35: ↑35 and ↓0+35
Comments11

Готовить Kubernetes-кластер просто и удобно? Анонсируем addon-operator

Reading time6 min
Views8.6K


Вслед за shell-operator мы представляем его старшего брата — addon-operator. Это Open Source-проект, который используется для установки в кластер Kubernetes системных компонентов, которые можно назвать общим словом — дополнения.
Читать дальше →
Total votes 32: ↑31 and ↓1+30
Comments0

Java, Istio, Kubernetes, Docker — приглашаем на митапы IBM в Москве и Санкт-Петербурге

Reading time6 min
Views2K


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

Напоследок перед летними каникулами решили порадовать уважаемых подписчиков серией митапов! На следующей неделе их будет целых три! И не только в Москве…

  • 19 июня в 18:00 (Москва) в офисе IBM митап по Java технологиям. У нас будет Java Champion, Себастиан Дашнер. Будем обсуждать использование Java в новых облачных реалиях.
  • 20 июня в 18:00 (Москва) в офисе IBM митап по Service Mesh — Istio. Давно хотели сделать и тут к нам приезжают основные контрибьюторы проекта. К примеру, Вадим Айзенберг входит в топ-5 людей — контрибьюторов Istio.
  • 20 июня в 18:00 (Санкт-Петербург) — Себастиан Дашнер выступит совместно с Денисом Цыплаковым на площадке DataArt по темам Java и микросервисных архитектур

Для детальной программы и регистрации (количество мест, к сожалению, ограничено!) — смотрите далее!
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments1

Kubernetes 1.15: обзор основных новшеств

Reading time8 min
Views12K


В понедельник должен был официально состояться (но пока этого не случилось… ОБНОВЛЕНО 20.06: в блоге K8s появился анонс) очередной релиз Kubernetes — 1.15. По сложившейся для нашего блога традиции, рассказываем о наиболее значимых изменениях в новой версии.

Информация, использованная для подготовки этого материала, взята из таблицы Kubernetes enhancements tracking, CHANGELOG-1.15 и сооветствующих issues, pull requests, а также Kubernetes Enhancement Proposals (KEP). Поскольку на следующей неделе пройдет конференция KubeCon в Шанхае, у этого релиза был сокращённый 11-недельный цикл (вместо 12 недель), что на количество значимых изменений, впрочем, заметно не повлияло. Итак, поехали!..
Читать дальше →
Total votes 38: ↑37 and ↓1+36
Comments8

Основы Kubernetes

Reading time13 min
Views842K
В этой публикации я хотел рассказать об интересной, но незаслуженно мало описанной на Хабре, системе управления контейнерами Kubernetes.

image

Что такое Kubernetes?


Kubernetes является проектом с открытым исходным кодом, предназначенным для управления кластером контейнеров Linux как единой системой. Kubernetes управляет и запускает контейнеры Docker на большом количестве хостов, а так же обеспечивает совместное размещение и репликацию большого количества контейнеров. Проект был начат Google и теперь поддерживается многими компаниями, среди которых Microsoft, RedHat, IBM и Docker.
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments86

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

Frontend Developer, Fullstack Developer
Lead
JavaScript
Vue.js
Linux
Server administration
Node.js
Web development
CSS
HTML
Ajax
PHP