Pull to refresh
4
0
Артур @ar2rsoft

User

Send message

Самые простые конечные автоматы или стейт-машины в три шага

Reading time4 min
Views16K

image Привет, Хабр!
Перейдем сразу к делу, но небольшая предыистория все таки нужна: полтора года назад возникла необходимость реализовать простую стейт — машину (конечный автомат), владея теорией с университета, я был уверен в тривиальности данной задачи (все мы оптимисты).

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


Вскоре я наткнулся на эту статью, которая подтвердила отсутствие удобных решений.

Читать дальше →
Total votes 13: ↑9 and ↓4+13
Comments14

Понятнее о S.O.L.I.D

Reading time8 min
Views62K
Большинство разработчиков с разговорами о принципах архитектурного дизайна, да и принципах чистой архитектуры вообще, обычно сталкивается разве что на очередном собеседовании. А зря. Мне приходилось работать с командами, которые ничего не слышали о S.O.L.I.D, и команды эти пролетали по срокам разработки на многие месяцы. Другие же команды, которые следовали принципам дизайна и тратили очень много времени на буквоедство, соблюдение принципов чистой архитектуры, код-ревью и написание тестов, в результате значительно экономили время Заказчика, писали лёгкий, чистый, удобочитаемый код, и, самое главное, получали от этого кайф.

Сегодня мы поговорим о том, как следовать принципам S.O.L.I.D и получать от этого удовольствие.



Что такое S.O.L.I.D? Погуглите — и получите 5 принципов, которые в 90% случаев описываются очень скупо. Скупость эта потом выливается в непонимание и долгие споры. Я же предлагаю вернуться к одному из признанных источников и хотя бы на время закрыть этот вопрос.

Источником принципов S.O.L.I.D принято считать книгу Роберта Мартина «Чистая архитектура». Если у Вас есть время прочесть книгу, лучше отложите эту статью и почитайте книгу. Если времени у Вас нет, а завтра собес — велком.
Читать дальше →
Total votes 22: ↑14 and ↓8+10
Comments37

Несколько интересностей и полезностей для веб-разработчика #13

Reading time4 min
Views46K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Colour Schemes


image
Репозиторий уже набрал более 4000 старов на GitHub. Автор проекта — Dayle Rees — один из участников команды Laravel PHP, где люди убеждены, что «код должен приносить удовольствие разработчикам, а не только пользователям, принимающим вашу трудную работу». Сolour Schemes на сегодняшний день это 56 различных тем для: Sublime Text (2 & 3), Sublime Text UI (2 & 3), Textmate, Coda 2, VIM, Jetbrains Editors (inc. PHPStorm), Google Code Prettify, Highlight.js и Xcode.

Читать дальше →
Total votes 86: ↑77 and ↓9+68
Comments11

Лучшие GitHub-репозитории для веб-разработчиков

Reading time5 min
Views28K
Программист тратит многие часы на разработку некоего функционала и на то, чтобы код соответствовал передовым практическим приёмам, принятым в той или иной среде. В эти часы не должно входить регулярное написание шаблонных конструкций. Программист может сильно помочь себе в деле правильной организации работы, избавив себя от ненужных дел и вложив время в изучение правильных инструментов. Хорошим подспорьем может оказаться и знание о ценных ресурсах, список которых всегда полезно держать под рукой.



Автор материала, перевод которого мы публикуем сегодня, предлагает рассмотреть несколько GitHub-репозиториев, которые, если иногда в них заглядывать, позволят веб-разработчикам улучшить свои знания и навыки, окажут содействие в написании более качественного кода, помогут работать быстрее.
Читать дальше →
Total votes 33: ↑28 and ↓5+41
Comments5

Благодаря двухфакторной аутентификации я лишился всех вложенных денег и 3 лет работы

Reading time2 min
Views214K
Пост о том, как привязанный к аккаунту сервиса Яндекс.Почта телефон, помог угнать домен созданного мной сетевого издания "Банки Сегодня". Отмечу, что в это издание я вложил все свои накопленные деньги, душу и 3 года кропотливой работы.
Читать дальше →
Total votes 343: ↑326 and ↓17+309
Comments670

Простой нагрузочный тест с Apache JMeter

Reading time7 min
Views287K
По моим наблюдениям, разработчики довольно редко делают нагрузочное тестирование сайтов и веб-приложений. И бывает так, что выставят проект в Интернет, а тут вдруг посетители начнут ходить (хабраэффект, к примеру, случился), и сайт в самый подходящий момент ложится или начинает не по-детски тормозить.

Почему бы не избежать этих неприятностей, прогнав нагрузочный тест?

Наверное, кого-то останавливает неверное представление о том, что нагрузочное тестирование — это очень сложное дело, требующее специальных знаний. Однако не боги горшки обжигают. Если выбор — тестировать не слишком профессионально, или не тестировать вовсе, я бы выбрал первое. Тем более, что организовать примитивный тест производительности очень даже просто. Можно воспользоваться онлайн-средствами (см., например, Нагрузочное тестирование по-быстренькому), а можно замутить все своими руками, это ненамного сложнее.

Под катом рассказываю, как с нуля организовать незамысловатый нагрузочный тест сайта при помощи Apache JMeter.
Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments14

Замолвим слово об отладке и профилировании [PHP]

Reading time5 min
Views40K
Все идет от лени. Вы получили чужой очень большой проект в котором нужно сделать небольшие правки, или же написали скрипт и сразу не очевидно, что в нем еще требует оптимизации. Как быть? Читать и анализировать код, выводить каждый шаг на экран или в файл (var_dump() и т.д.) не всегда эффективно, ведь можно воспользоваться средствами отладки, которых на сегодняшний день очень много. Кратко перечислю часто встречающиеся…
Читать дальше →
Total votes 35: ↑31 and ↓4+27
Comments7

Google Chrome — убираем рутину с помощью кастомного поиска

Reading time1 min
Views61K
Disclaimer: речь — о давно существующей функции, но, судя по комментам на Хабре, недооцененной, поэтому решил все-таки написать.

Google Chrome позволяет очень сильно ускорить рутинные задачи, связанные с различным поиском. используя адресную строку.

Например:


Как настроить?
Total votes 120: ↑108 and ↓12+96
Comments73

Магический круг: CSS головоломка

Reading time4 min
Views43K
Доброго времени суток, уважаемые хабравчане. Недавно Hugo Giraudel, он же CSS гоблин, SASS хакер и Margin псих опубликовал в своем блоге очень интересную CSS задачку на смышленость.

image

Сможете заверстать подобное учитывая следующие правила?

  • Круг в центре должен быть прозрачным, чтобы был виден background
  • Расстояние между левыми и правыми блоками, как между верхними и нижними должно быть одинаковое
  • При наличии потомков в блоке, содержимое должно отображаться
  • DOM должен выглядеть следующим образом: ul > li > section > header + footer
  • Нельзя использовать JavaScript и изображения
  • Дополню еще от себя: нельзя использовать CSS Shape и Clip Path

Чтобы не было очень лень — каркас уже есть.

Сделали?

А тремя способами?
Total votes 59: ↑45 and ↓14+31
Comments16

Распределенная брутфорс-атака на CMS с точки зрения хостера

Reading time5 min
Views28K
Не секрет, что попытки подбора пароля методом перебора (брутфорс) — постоянное явление. Подбирают пароли к серверам и виртуальным машинам, к админкам сайтов и FTP-аккаунтам, к почтовым ящикам и социальным сетям.

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

1 августа началась, пожалуй, самая мощная в рунете брутфорс-атака на сайты, созданные с помощью самых распространенных бесплатных CMS: Wordpress, Joomla! и др.

Графики из мониторинга нагрузки

И вот как это было:
Читать дальше →
Total votes 34: ↑30 and ↓4+26
Comments38

Crossfilter.js, dc.js и D3.js для визуализации Данных

Reading time4 min
Views35K
Приветствую ценителей красивой и функциональной визуализации данных! Предлагаю вашему вниманию небольшой обзор нескольких JavaScript библиотек, которые вкупе с D3.js позволят создать интерактивную визуализацию многомерных данных с возможностью применения фильтрации «на лету».


Заинтересовались, тогда добро пожаловать под кат.
Читать дальше →
Total votes 54: ↑52 and ↓2+50
Comments15

Оцениваем идею вашего мобильного приложения

Reading time17 min
Views55K
Disclaimer:
Данная статья представляет собой вольный художественный пересказ-перевод первой главы книги "App Savvy
Turning ideas into ipad and iphone apps customers really want
"

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

Оглавление
Введение
Стратегия
Глава 1: Оцениваем идею вашего мобильного приложения
Глава 2: Что должно быть в вашем приложении?
Глава 3: От идеи к концепту

Разработка
Глава 4: Поиск команды: вам нужна помощь
Глава 5: Получаем рабочее приложение
Глава 6: Улучшаем приложение перед тем, как добавить его в App Store

Запуск
Глава 7: Готовимся к загрузке приложения в App Store
Глава 8: Строим нашу маркетинговую стратегию
Глава 9: Оцениваем успех и обдумываем будущие разработки


Чтобы полностью оценить жизнеспособность идеи вашего приложения, сначала вы должны понять текущую ситуацию с приложениями в App Store, оценить стоимость запуска вашего приложения, и реалистично смотреть на возможность попадания вашего приложения в каталог App Store. Под «вами» и «вашей идеей» я подразумеваю не только лично вас, а всех людей — родственников, друзей и коллег — с которыми вы прорабатываете вашу идею. Оцениваете ли вы идею в одиночку, или с кем-то, я хочу предложить вам схему, следуя которой вы сможете получить более структурированную оценку вашего приложения. В конце статьи будут приведены ссылки на полезные ресурсы и инструменты, которые помогут вам оценить вашу идею.
Читать дальше →
Total votes 22: ↑17 and ↓5+12
Comments6
2

Information

Rating
Does not participate
Location
Алматы (Алма-Ата), Алма-Атинская обл., Казахстан
Registered
Activity

Specialization

Backend Developer, Fullstack Developer
Middle
From 4,000 $
JavaScript
PHP
MySQL
MongoDB
Git
Linux
OOP
Yii framework
Laravel
Nginx