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

ИТ

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

Проверяем формы по стандартам с Validation API

Время на прочтение7 мин
Количество просмотров9K
В свое время мне почти всем нравился Angular 2+, это хорошо спроектированный фреймворк, который на голову выше остальных популярных фронтенд фреймворков по инженерному уровню исполнения. Но были у него и весьма странные недоработки. Одна из них это невозможность ручного вызова валидации или ревалидации формы, которая наблюдалась как минимум, до 8ой версии. Нельзя сказать чтобы там сильно увлекаются реактивностью, но вот в этой подсистеме похоже какие-то реактивные соображения побудили разработчиков реализовать валидацию только через привязку, вынудив разработчиков прикладных решений обращаться к костылям навроде установки состояния “нетронуто” для полей и вообще усложняя написание сложных валидаторов с продвинутой логикой и участием нескольких полей сразу. Опыт борьбы с ангуляровским валидатором и некоторыми другими особенностями фреймворка усилил мое впечатление от того насколько элегантным и простым оказалось после этого использование HTML5 API для валидации форм, которое “просто работает” в любом современном браузере даже без подключения фреймворков и библиотек.
Читать дальше →
Всего голосов 4: ↑2 и ↓2+2
Комментарии3

Среда разработки PHP на базе Docker

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

Решение на базе Docker, которое позволит создать на локальном компьютере универсальную среду разработки на PHP за 30 - 40 минут. Несколько версий PHP — 7.3 и 7.1 с набором наиболее востребованных расширений. Готовый к работе монитор процессов Supervisor. Предварительно сконфигурированный веб-сервер Nginx. Базы данных: MySQL 5.7MySQL 8PostgreSQLMongoDB 4.2Redis. Настройка основных параметров окружения через файл .env. Возможность модификации сервисов через docker-compose.yml.

Читать далее
Всего голосов 18: ↑16 и ↓2+19
Комментарии38

Как быстро увеличить размер раздела диска на сервере

Время на прочтение3 мин
Количество просмотров88K
Всем привет! Недавно столкнулся с простой на первый взгляд задачей — увеличить «на горячую» размер диска на сервере Linux.

Описание задачи


Есть сервер в облаке. В моем случае, это Google Cloud — Compute Engine. Операционная система — Ubuntu, файловая система ext4 (подойдет для всех ext). Сейчас подключен диск размером 30 Гб. База растет, файлы пухнут, поэтому нужно увеличить размер диска, допустим, до 50 Гб. При этом мы ничего не отключаем, ничего не перезагружаем.
Читать дальше →
Всего голосов 48: ↑25 и ↓23+2
Комментарии63

Новый билд Nemesida WAF Free для NGINX

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

В прошлом году мы выпустили Nemesida WAF Free — динамический модуль для NGINX, блокирующий атаки на веб-приложения. В отличие от коммерческой версии, основанной на работе машинного обучения, бесплатная версия анализирует запросы только сигнатурным методом.

Особенности релиза Nemesida WAF 4.0.129


До текущего релиза динамический модуль Nemesida WAF поддерживал только Nginx Stable 1.12, 1.14 и 1.16. В новом релизе добавлена поддержка Nginx Mainline, начиная с 1.17, и Nginx Plus, начиная с 1.15.10 (R18).

Зачем делать еще один WAF?

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

Исследование быстродействия СУБД MS SQL Server Developer 2016 и PostgreSQL 10.5 для 1С

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

Цели и требования к тестированию «1С Бухгалтерии»


Основной целью проводимого тестирования является сравнение поведения системы 1С на двух разных СУБД при прочих одинаковых условиях. Т.е. конфигурация баз данных 1С и первоначальная заполненность данными должны быть одинаковыми при проведении каждого тестирования.

Основными параметрами, которые должны быть получены при тестировании:

  • Время выполнения каждого теста (снимается отделом Разработки 1С)
  • Нагрузка на СУБД и серверное окружение во время выполнения теста снимается- администраторами СУБД, а также по серверному окружению системными администраторами

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

Для выполнения тестирования разработан алгоритм в виде скрипта сценарного тестирования, для конфигурации 1С Бухгалтерия 3.0, в котором выполняется последовательный ввод тестовых данных в систему 1С. Скрипт позволяет указать различные настройки по выполняемым действиям и количеству тестовых данных. Детальное описание ниже по тексту.

Описание настроек и характеристик тестируемых сред


Мы в компании Fortis решили перепроверить результаты, в том числе с помощью известного теста Гилева.

Также нас подстегнуло к тестированию в том числе и некоторые публикации по результатам изменения производительности при переходе от MS SQL Server к PostgreSQL. Такие как: 1С Батл: PostgreSQL 9,10 vs MS SQL 2016.
Читать дальше →
Всего голосов 57: ↑53 и ↓4+49
Комментарии113

Zimbra и защита сервера от перегрузок

Время на прочтение6 мин
Количество просмотров4.8K
Электронная почта основательно закрепилась в качестве стандарта делового общения. Благодаря высокой экономической эффективности электронных писем, а также ряду особенностей, связанных с цитированием текста и прикреплением вложений, именно электронные письма как нельзя лучше подходят на роль универсального способа для обмена документами и вежливого делового общения. Эти же особенности стали причиной, по которой электронную почту так полюбили спамеры. В результате, на сегодняшний день электронная почта представляет из себя огромный бушующий океан спама, в водах которого лишь изредка встречаются деловые письма. Именно поэтому одной из первоочередных задач администратора любого почтового сервера является защита от спам-рассылок. Давайте же посмотрим на то, что с этим можно сделать в Zimbra Collaboration Suite Open-Source Edition.

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

Запуск SAP GUI из браузера

Время на прочтение8 мин
Количество просмотров13K
Эту статью я сначала написал в свой блог, чтобы потом опять не искать и не вспоминать, но поскольку блог никто не читает, то этой информацией захотелось поделиться со всеми, вдруг кому пригодиться.

Во время работы над идеей сервиса по сбросу пароля в системах SAP R/3 возник вопрос — а как запустить SAP GUI с нужными параметрами из браузера? Поскольку в этой идее подразумевалось использование веб-сервиса, сначала отрабатывающего по запросу SOAP из SAP GUI и отправляющего письмо со ссылкой на веб-страницу со скриптом сброса пароля на начальный, а потом уже отображение пользователю сообщения об успешном сбросе пароля и отображение этого самого начального пароля, то хотелось, чтобы на этой странице была еще и ссылка на запуск SAP GUI. Причем, чтобы эта ссылка открывала нужную систему, да еще, желательно, сразу с заполненными полями логина и пароля: пользователю оставалось бы только дважды заполнить продуктивный пароль.

Запуск SAP Logon — для нашей цели был не интересен, а при запуске sapgui.exe невозможно было указать мандант и имя пользователя, зато можно было запустить систему не определенную в SAP Logon. С другой стороны, запуск SAP GUI с произвольными параметрами сервера был не особенно актуален: уж если мы решаем задачу сброса пароля пользователя, то скорее всего у него в SAP Logon уже есть нужная строка, с нужными ему настройками и не надо лезть со своими. Зато заданным требованиям удовлетворяла технология SAP GUI Shortcut и собственно программа sapshcut.exe, которая давала возможность запускать SAP GUI с использованием определенного «ярлыка».
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии16

База данных штрихкодов скачать бесплатно без регистрации (и прочей хурмы)

Время на прочтение5 мин
Количество просмотров88K
Добрый день. В открытом доступе наконец-то появился огромный справочник штрихкодов с наименованиями товаров, категориями и брендами.

Мы работаем над ним лет 8 и теперь в нем около 3 миллионов штрихкодов в стандартах EAN (EAN-13, EAN-8) и UPC (UPC-A, UPC-E).
Читать дальше →
Всего голосов 114: ↑114 и ↓0+114
Комментарии54

Изучаем блокчейн на практике

Время на прочтение12 мин
Количество просмотров55K
Вы читаете эту статью потому, что, как и я, с горячим интересом наблюдаете за возрастающей популярностью криптовалюты. И вам хочется понять, как работает блокчейн — технология, которая лежит в ее основе.

Но разобраться в блокчейне не так-то просто, по крайней мере, по моему опыту. Я корпел над заумными видео, продирался через туториалы и с нарастающей досадой отмечал недостаток иллюстрирующих примеров.

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


Читать дальше →
Всего голосов 26: ↑24 и ↓2+22
Комментарии9

Нейронные сети, типографика и вёрстка: Дайджест интересных материалов о создании писем и работе с email на Хабрахабре

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


Сегодня мы решили подготовить подборку самых читаемых материалов по темам, связанным с почтовыми сервисами, дизайном почтовых рассылок и советами по написанию самих писем. В подборку вошли как публикации из блога «Печкина», так и статьи других авторов Хабрахабра. Приятного чтения!
Читать дальше →
Всего голосов 8: ↑6 и ↓2+4
Комментарии0

Грамотная настройка сервера отправки почты для скриптов PHP, настройка функции mail()

Время на прочтение8 мин
Количество просмотров274K
В этом топике вы узнаете, как грамотно настроить, сервер исходящей почты и в частности функцию mail() в PHP. Сам являюсь жутким педантом. Люблю, что бы везде было все на своих местах, не терплю халтуры. Увидев один раз полную чушь в заголовках письма со своего сервера я разобрался с этим кардинально и безоговорочно. Под грамотной настройкой я подразумеваю такую, которая удовлетворяет потребности спам фильтров крупных почтовых систем, и просто выглядело красиво и осмысленно.

Как известно протокол SMTP не подразумевает никаких средств защиты от спама и аутентификации пользователя, поэтому крупными и не очень компаниями были придуманы «фиксы» безопасности протокола.
Если вы устанавливаете выделенный сервер с доменом размещенным на нем, очень рекомендуется выполнить данные настройки, что бы все было как надо.

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

Название заголовка выбрал именно такое, так как вначале своего пути я искал что-то вроде этого. Настраивать будем postfix, php, dns (ptr, spf), и другое.

Эта статья будет интересная людям, настраивающим выделеные сервера, но не менее интересна для обычных программистов.
К слову данную инструкцию я использую для своих проектов. Системы автоматизированного получения приглашений и получения виз в страны Шенгена: https://goingrus.com/ru, весь софт крутится на виртуальной машине.

Подробности под катом
Читать дальше →
Всего голосов 97: ↑71 и ↓26+45
Комментарии73

AngularJS против Backbone.js против Ember.js

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

1 Введение


В статье мы сравним три популярных MV* фреймворка для веб-разработки: AngularJS, Backbone и Ember. Выбор подходящего фреймворка для проекта кардинально влияет на вашу возможность выполнять задачи вовремя и поддерживать ваш код в будущем. Вам нужен надёжный, проверенный фреймворк, но вы не хотите, чтобы он вас ограничивал. Веб быстро развивается, и старые методики уходят в прошлое. Займёмся же подробным их сравнением.

2 Познакомьтесь с фреймворками


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

AngularJS родился в 2009 как часть большего коммерческого продукта GetAngular. Вскоре после этого Миско Хевери, один из инженеров-основателей GetAngular, сумел воссоздать при помощи этого продукта веб-приложение, состоявшее из 17 тысяч строк кода и делавшееся в течение 6 месяцев, всего за 3 недели, и уложиться при этом в тысячу строк кода. В Google впечатлились таким фактом и стали спонсировать проект с открытым кодом AngularJS. Среди его возможностей – двустороннее связывание данных, инъекции зависимостей, простой для тестирования код и расширение возможностей HTML при помощи директив.

Backbone.js – легковесный MVC-фреймворк, родившийся в 2010. Популярность набрал в качестве альтернативы тяжёлым фреймворкам вроде ExtJS.

Ember родом из 2007 года. Он начинался как SproutCore MVC фреймворк, и сначала его разрабатывали SproutIt, затем – Apple. В 2011 году его форкнул Иехуда Кац, один из главных программистов в проектах jQuery и Ruby on Rails.
Читать дальше →
Всего голосов 33: ↑19 и ↓14+5
Комментарии21

Знакомство с Rock Validate

Время на прочтение6 мин
Количество просмотров4.7K
Валидация данных является одной из множества практик в разработке безопасного web-приложения. Даже совсем «юный» разработчик при первом своём знакомстве с html-формой пытается вывести красивое сообщение об ошибке. Что уж говорить про модель в каком-нибудь навороченном фреймворке. А потому…

Предлагаю вашему вниманию библиотеку для валидации данных с кастомизацией, интернационализацией и иными «плюшками». Используя известный инструмент Respect/Validation с множеством вбитых по ходу костылей, я в какой-то момент сказал себе: Хватит!

Были поставлены задачи:
  • сохранить элегантный синтаксис (сцепной принцип для правил);
  • реализовать «лёгкую» и гибкую альтернативу;
  • добавить интернационализацию;
  • предоставить возможность добавлять свои правила;
  • подготовить фундамент для санитизатора — обеспечить единый стиль реализации для обеих библиотек.

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

Дайджест интересных материалов из мира Drupal #3

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

Мы отобрали для вас самое интересное и полезное из мира Drupal за первые недели 2015 года.

Druplicon

По-русски



  1. Во-первых, в тестовом режиме запустилась новая площадка сообщества DrupalifeCommunity. Слово автору:
    Сразу скажу о судьбе проекта. Им я не претендую заменить Drupal.ru, это совершенно отдельное и самостоятельное начинание. Скажем так, альтернативное сообщество, как каким-то пытался стать DrupalSN.

    На новой площадке уже замечено несколько друпал-гуру, а это хороший знак :)
  2. Чуть ли не первая серьёзная статья на русском, в которой одновременно встречаются слова Drupal и Postgres: «Тестирование производительности Drupal: MySQL vs PostgreSQL часть 1». Очень ждём следующих частей!
  3. Продолжая тему баз данных, Роман Агабеков подробно пишет про репликацию master-slave MySQL.
  4. Как же без Panels: в этот раз «Добавляем поддержку Token'ов в настройки Panel Pane».
  5. Рубрика «Антиквариат»: код либрусека пятилетней выдержки.

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

Дайджест интересных материалов из мира Drupal #6

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

Самое интересное и полезное из мира Drupal за прошедшие 3 недели.


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

PHP-Дайджест № 56 – интересные новости, материалы и инструменты (25 января – 8 февраля 2015)

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


Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.

Приятного чтения!
Читать дальше →
Всего голосов 48: ↑44 и ↓4+40
Комментарии12

Пример приложения с использованием библиотеки AQuery

Время на прочтение11 мин
Количество просмотров13K
Нас постоянно спрашивают, почему мы используем библиотеку AQuery в своих проектах. В конце концов нам надоело отвечать и мы решили показать, на что способна AQuery в бою.

Но писать какой-то странный псевдокод в духе hello world скучно и неинтересно и поэтому мы решили сделать какое-нибудь небольшое, но полезное приложение. Недавно от Хабра отделился проект Мегамозг и в комментариях к новости высказывали предложение объединить RSS поток со всех ресурсов. Этим мы и займемся.

В конце получится такой прототип приложения IT News (rss с хабра, гиктаймс, мегамозга и с силиконруса/роем упорядоченные по дате):

image

Ссылки для торопыжек:
github: github.com/recoilme/itnews
google play: play.google.com/store/apps/details?id=org.freemp.itnews
Пишем агрегатор новостей на AQuery за пару часов
Всего голосов 20: ↑20 и ↓0+20
Комментарии19

Дайджест интересных материалов из мира Drupal #2

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

В этом выпуске вас ждут более 30 новостей, материалов, интересных модулей — всё самое интересное и свежее из мира Drupal.


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

Обработка и оформление отчетов в Excel на PHP

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

Не редко при разработке некоего проекта, возникает необходимость в формировании отчетной статистики. Если проект разрабатывается на Delphi, C# или к примеру, на С++ и под Windows, то тут проблем нет. Всего лишь необходимо воспользоваться COM объектом. Но дела обстоят иначе, если необходимо сформировать отчет в формате excel на PHP. И чтобы это творение функционировало на UNIX-подобных системах. Но, к счастью, не так все плохо. И библиотек для этого хватает. Я свой выбор остановил на PHPExcel. Я уже пару лет работаю с этой библиотекой, и остаюсь доволен. Поскольку она является кроссплатформенной, то не возникает проблем с переносимостью.


PHPExcel позволяет производить импорт и экспорт данных в excel. Применять различные стили оформления к отчетам. В общем, все на высоте. Даже есть возможность работы с формулами. Только необходимо учитывать, что вся работа (чтение и запись) должна вестись в кодировке utf-8.

Читать дальше →
Всего голосов 40: ↑33 и ↓7+26
Комментарии28

Дайджест интересных материалов из мира Drupal #1

Время на прочтение4 мин
Количество просмотров7.3K
В последнее время в веб-разработке уследить за всеми техническими новинками и трендами становится практически невозможно из-за их взрывного роста. А держать руку на пульсе все-таки хочется, так как, я думаю, двигаться вперед и предлагать конкурентоспособный продукт можно только аккумулируя опыт других людей – кроме, конечно, случаев счастливых озарений или случайности.
На Хабре в последнее время стали популярны дайджесты с обзорами изменений, которые происходят в мире каждый день по самой различной тематике – и это, признаться, становится едва ли ни единственным окном в мир смежных знаний, которые мне любопытны.
Хочу продолжить славную традицию очередным дайджестом – на этот рад по фреймворку из мира PHP – о Drupal.
Надеюсь, что данный дайджест найдет своего читателя, как среди людей постоянно практикующих эту систему, так и из смежных технологий, фреймворков. На собственном опыте, я знаю, как полезно бывает почерпнуть знания из других систем, так как бывают материалы абсолютно универсальные: посвященные архитектуре приложений, оценкам, работе с требованиями, заказчиком, HTML/CSS/JS, виртуализации, сервисам и т.п.
Читать дальше →
Всего голосов 15: ↑12 и ↓3+9
Комментарии6
1
23 ...

Информация

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