Как стать автором
Обновить
0
0

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

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

Я сделал PWA и выложил в трёх магазинах приложений. И вот что я выяснил

Время на прочтение12 мин
Количество просмотров49K
Перевод I built a PWA and published it in 3 app stores. Here’s what I learned.

Недавно я опубликовал прогрессивное веб-приложение Chavah Messianic Radio, музыкальный проигрыватель вроде Pandora, и выложил его в трёх магазинах приложений (Google Play, iOS App Store, Windows Store).







Процесс выкладывания был тяжёлый и поучительный. Вот что я выяснил.
Читать дальше →
Всего голосов 44: ↑41 и ↓3+38
Комментарии61

Простое объяснение принципов SOLID

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


Принципы SOLID — это стандарт программирования, который все разработчики должны хорошо понимать, чтобы избегать создания плохой архитектуры. Этот стандарт широко используется в ООП. Если применять его правильно, он делает код более расширяемым, логичным и читабельным. Когда разработчик создаёт приложение, руководствуясь плохой архитектурой, код получается негибким, даже небольшие изменения в нём могут привести к багам. Поэтому нужно следовать принципам SOLID.

На их освоение потребуется какое-то время, но если вы будете писать код в соответствии с этими принципами, то его качество повысится, а вы освоите создание хорошей архитектуры ПО.

Чтобы понять принципы SOLID, нужно чётко понимать, как использовать интерфейсы. Если у вас такого понимания нет, то сначала почитайте документацию.

Я буду объяснять SOLID самым простым способом, так что новичкам легче будет разобраться. Будем рассматривать принципы один за другим.
Читать дальше →
Всего голосов 46: ↑38 и ↓8+30
Комментарии201

Как я начал любить Vue

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

Вступление



Данный пост — это логическое продолжение моего поста/статьи — Как я перестал любить Angular / How I stopped loving Angular.
Рекомендуется к ознакомлению перед прочтением.


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

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

Система автоматического документирования REST-API в Laravel проектах

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

Преамбула


Для того, чтоб описать и задокументировать правила клиент-серверного
взаимодействия используя Rest-api можно выделить три основных метода:


  1. Описывать своим коллегам правила обращения к серверу на пальцах
    Этот метод быстр и не требует долгосрочной поддержки, но высока вероятность, что вас за это будут бить.
  2. Руками составлять Google-docs/Wiki/Readme в проекте
    Удобно тем, что однажды написанная документация не требует повторного объяснения. Её можно показать коллегам и даже иногда заказчику. Минусом данного метода является долгосрочная поддержка такой документации. Когда Api в проекте вырастает до таких размеров, что сама мысль "А когда же я обновлял документацию?" вызывает холодок по спине, тогда вы понимаете, что дальше так продолжаться не может. Формально вы можете обновлять документацию очень часто и маленькими фиксами, но это до первого отпуска.
  3. Использовать систему автодокументирования
    И вот для того, чтобы решить минусы первых двух методов человечество придумало системы автоматического документирования. Основная идея заключается в том, что к проекту пристыковывается некий плагин, который собирает информацию по вашему коду, сам составляет документацию и обёртывает её в удобочитаемый формат. Но большинство решений по этому методу не идеальны. Давайте попробуем сделать инструмент, который поможет получить документацию нашего проекта с минимальным количеством телодвижений

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

Комментирование кода: хороший, плохой, злой

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


Вы наверняка это слышали: «Хороший код является самодокументированным».

Я больше 20 лет зарабатываю написанием кода, и слышал эту фразу чаще всего. Это клише.

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

Она истинна? Да.

Означает ли она, что вы никогда не должны комментировать код? Нет.

В этой статье мы рассмотрим разные аспекты комментирования кода.
Читать дальше →
Всего голосов 75: ↑67 и ↓8+59
Комментарии25

Когнитивные тренировки: «апгрейд» памяти и мышления

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


Наш мозг — удивительная система, которая постоянно показывает занятные фокусы. Знаком ли вам эффект «красной машины»? Человек покупает красную машину и вдруг начинает все время видеть на улице красные машины. Такое искажение называется «иллюзия частоты» или «феномен Баадера-Майнхоф» и происходит из-за селективного внимания мозга и склонности всегда подтверждать свою точку зрения (confirmation bias). 

Мозг не только подвержен когнитивным иллюзиям, но и способен гибко реагировать на внешние раздражители. Можно ли в таком случае «накачать разум», оказывая на него стимулирующее воздействие? Метаанализ Калифорнийского университета показал, что краткосрочные когнитивные тренировки ведут к положительным эффектам в важных когнитивных функциях, измеряемых лабораторными тестами.
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии10

Docker. Начало

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


Примерно такие же эмоции я и мои коллеги испытывали, когда начинали работать с Docker. В подавляющем большинстве случаев это происходило от недостатка понимания основных механизмов, поэтому его поведение казалось нам непредсказуемым. Сейчас страсти поутихли и вспышки ненависти происходят все реже и все слабее. Более того, постепенно мы на практике оцениваем его достоинства и он начинает нам нравиться… Чтобы снизить степень первичного отторжения и добиться максимального эффекта от использования, нужно обязательно заглянуть на кухню Docker'a и хорошенько там осмотреться.
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии31

4 совета по работе с Vue.js

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

Вот несколько советов по работе с Vue.js которые я выработал за последний год.


Используйте стрелочные функции в компонентах


ES6 подарил нам новый способ объявления функций с удобным биндингом текущей области видимости. При использовании старого способа, this может ссылаться не на то что вы ожидаете.


Например:

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

Своими руками. Как я сделал сервис сбора статистики цен на туры

Время на прочтение4 мин
Количество просмотров15K
Работа — работой, но иногда хочется отдохнуть. Предположим, вы собрались в отпуск в жаркие края. Перед вами сразу возникает несколько вопросов, основные из которых:

1) Куда поехать отдыхать
Действительно, нужно перечитать множество источников, чтобы определиться, где сейчас (или когда вы там собрались) тепло, нужна ли для въезда в страну виза, сколько стоит путёвка и т.д.

2) Когда поехать отдыхать
Допустим, вы знаете, что хотите провести свой отпуск в Египте, но не знаете когда. Самый важный вопрос для многих — когда дешевле всего туда ехать? Так же важно знать, какая там погода и т.д.

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

Vue.js и как его понять

Время на прочтение8 мин
Количество просмотров47K
В своей работе, мне относительно недавно пришлось столкнуться с фреймворком Vue.js, т.к. до этого, я занимался в основном backend разработкой, пришлось со многим разбираться и многое было сложновато понять, особенно, когда раньше использовал только jQuery. В рамках данной статьи, я хочу помочь своему читателю разобраться с теми проблемами в понимании, с которыми столкнулся я. Конечно проблемы на этапе изучения чего-то нового у всех возникают разные, но и не мало тех, у кого они будут похожи, именно на это и будет направлена данная статья.
Читать дальше →
Всего голосов 18: ↑15 и ↓3+12
Комментарии15

Оповещение в Telegram и Slack в режиме реального времени. Или как сделать Alert в Splunk — Часть 2

Время на прочтение3 мин
Количество просмотров17K
Мы продолжаем тему алертинга в Splunk. Ранее мы говорили о том, как настроить отправку оповещений на электронную почту, а сегодня покажем Вам, как отправлять уведомления в мессенджеры, такие как Telegram и Slack.

В статье вы найдете пошаговую инструкцию по настройке.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии3

Прямая трансляция с Vue.js Moscow Meetup #1

Время на прочтение1 мин
Количество просмотров5.5K
Для тех, кто не смог до нас доехать, мы запускаем прямую трансляцию с первого москвоского митапа по Vue.js, которая начнется в 19:00


Всего голосов 13: ↑13 и ↓0+13
Комментарии8

Руководство по SEO JavaScript-сайтов. Часть 2. Проблемы, эксперименты и рекомендации

Время на прочтение13 мин
Количество просмотров16K
В первой части перевода этой статьи мы говорили о том, как веб-мастер может взглянуть на свой ресурс глазами Google, и о том, над чем стоит поработать, если то, что увидит разработчик сайта, окажется не тем, чего он ждёт.

image

Сегодня, во второй части перевода, Томаш Рудски расскажет о наиболее распространённых SEO-ошибках, которым подвержены сайты, основанные на JavaScript, обсудит последствия грядущего отказа Google от механизма AJAX-сканирования, поговорит о предварительном рендеринге и об изоморфном JavaScript, поделится результатами экспериментов по индексированию. Здесь, кроме того, он затронет тему особенностей ранжирования сайтов различных видов и предложит вспомнить о том, что помимо Google есть и другие поисковики, которым тоже приходится сталкиваться с веб-страницами, основанными на JS.
Читать дальше →
Всего голосов 27: ↑27 и ↓0+27
Комментарии5

Как написать одностраничное приложение (SPA) с использованием Vue.js

Время на прочтение7 мин
Количество просмотров129K
Одностраничные приложения

Одностраничные приложения (SPA) имеют мнжество преимуществ, таких как скорость, по-настоящему хороший UX, и полный контроль HTML-разметки. Становится всё больше и больше сайтов SPA; всё больше инструментов, которые упрощают процесс разработки SPA. Вы, вероятно уже читали о молодом и перспективном фреймворке Vue.js. Предлагаю вам глубже погрузиться в Vue и на конкретном примере разобраться с простым SPA.

Мы напишем клиент-серверное приложение простейшего блога. Приложение будет отображать список записей а также полный текст каждой отдельной записи. И само собой, всё это будет происходить без перезагрузки страницы.

Ознакомившись с примером этого приложения, вы научитесь извлекать данные в Vue, создавать роуты и разберётесь с интересной особенностью Vue — однофайловыми компонентами.
Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии28

Разрабатываем игру на SVG + React. Часть 1

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

TL;DR: в этих сериях вы узнаете, как заставить React и Redux управлять SVG элементами для создания игры. Полученные в этой серии знания позволят вам создавать анимацию не только для игр. Вы можете найти окончательный вариант исходного кода, разработанного в этой части, на GitHub.


image

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

Ох уж эти модальные окна или почему я полюбил render-функции в VueJs

Время на прочтение19 мин
Количество просмотров53K
Привет всем!
Моя первая публикация прошла с неприятным осадком. Я обещал исправить это недоразумение и на ваш суд представляю свою первую статью-урок по VueJs. Надеюсь, она окажется полезной. Мыслей много, опыта тоже немало. Всю жизнь учусь по чужим статьям, урокам. Пришло время тоже делиться знаниями.
А будем мы творить модальные окна. Да опять они. Но не такие простые, как описаны в первой моей (не моей) публикации.

Много уже их создано для Vue. Пользовался всякими. И видимо, когда достигаешь какого-то определенного уровня владения инструментом (в данном случае Vue), сразу хочется сделать велосипед, но конечно со своими прибамбасами, типа, чтобы круче всех и т.д. И я не стал исключением из правил.

Из всех доступных модальных компонентов, использовал в основном этот — Vuedals.
Но решил я его проапгрейдить. В принципе от основы остался только EventBus и взаимодействие событий связанных с открытием-закрытием окон. Основной компонент переписан и стал оберткой-контейнером и добавлен новый компонент — само модальное окно.
Но обо всем по порядку. И статья получится очень немаленькая, кто осилит, тот красавчик :)
Читать дальше →
Всего голосов 15: ↑11 и ↓4+7
Комментарии21

Пунктирные вау-эффекты: о магии простыми словами

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


Продолжаем смотреть технические приемы создания различных анимаций в интерфейсах. Мы уже познакомились с частицами, масками и изменением форм различных объектов — настал черед рисовать пунктирные линии.

Перед тем, как перейти к статье, сделаю небольшое отступление. Эта серия статей предназначена для разработчиков (в первую очередь начинающих), которые хотят делать красивые вещи, но совершенно запутались в сложных инструментах. Каждый раз мы затрагиваем какой-то один прием использования того или иного инструмента и смотрим, к созданию какиих эффектов его можно применить. Комментарии о том, что “во времена флеша было лучше” или что “нужно анимации рисовать в AfterEffects” безусловно имеют право на существование, но будут вырваны из контекста и совершенно не помогут начинающим в решении их задачи.
Всего голосов 60: ↑60 и ↓0+60
Комментарии15

Разворачиваем связку Nginx+Php-Fpm+MySQL с magento2 на борту и раскладываем по контейнерам в Docker

Время на прочтение6 мин
Количество просмотров81K
Добрый день!

Все чаще стучась в различные компании разработчиков в качестве DevOps инженера, я получаю приблизительно одни и те же тестовые задания. Они отличаются друг от друга версиями PHP или проектами которые надо запустить.

Но в целом они упираются в одну связку это Nginx\Appache, SQL (тут вариаций много, все зависит от предпочтений заказчика), PHP и желательно чтобы это было разложено по контейнерам.
Поэтому я решил рассказать на примере, как все это поднять без особых усилий.

Возможно кому-то это поможет понять, на простом примере, что к чему. Описывать что такое Docker я не буду, т.к. статей на эту тему вагон и маленькая тележка.

В данной статье, мы подготовим небольшую структуру:

  • В качестве вэб сервера будет использоваться Nginx с минимальной настройкой для запуска проекта.
  • В качестве SQL будет использовать MySQL.
  • PHP7.0-fpm версия c небольшими надстройками для запуска нашего проекта.
  • В качестве проекта который мы будем разворачивать — берем magento2.
Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Комментарии14

Частичные вау-эффекты: о магии простыми словами

Время на прочтение6 мин
Количество просмотров17K
Существует такая категория сайтов, которые мы обычно называем «вау-сайтами». Они не предназначены для непосредственного потребления контента, а скорее производят впечатление на посетителя. Эти сайты обычно уникальны в своем дизайне, содержат экспериментальные решения для взаимодействия с пользователем, ломают стереотипы и изобилуют разными анимациями. Особый интерес представляют различные трюки с SVG и анимации, основанные на большом количестве частиц, о которых и пойдет речь в этой статье.



В целом идея воссоздания различных объектов в виде набора частиц существует уже давно. Но из-за того, что практическое применение этой идеи сильно ограничено, а каждая конкретная реализация завязана на конкретный контент, нет единой структурированной базы знаний, в которой можно было бы быстро ознакомиться со всеми приемами. В результате многие разработчики не понимают, что в основе всего лежат очень простые идеи. Их под силу реализовать каждому, кто более-менее знаком с JS.
Всего голосов 15: ↑15 и ↓0+15
Комментарии3

Создание REST API на Falcon

Время на прочтение4 мин
Количество просмотров21K
Перевод статьи Create a scalable REST API with Falcon and RHSCL автора Shane Boulden.

В этой статье мы создадим REST API на основе фреймворка Python Falcon, потестируем производительность и попробуем его масштабировать, чтобы справиться с нагрузками.

Для реализации и тестирования нашего API нам понадобятся следующие компоненты:


Почему Falcon?


Falcon — это минималистичный веб-фреймворк для построения веб API, согласно сайту Falcon он до 10 раз быстрее чем Flask. Falcon быстрый!
Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии13
1
23 ...

Информация

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