Как стать автором
Обновить
17
0
Роман Ахмадуллин @saggid

Программист, ну и немного того, немного сего.

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

Отправляем рутину и бюрократию в прошлое или как большим и средним предприятиям оставаться на вершине айсберга

Время на прочтение5 мин
Количество просмотров5.2K
Довольно часто так случается, что с ростом предприятие превращается из динамично развивающегося в медленно разлагающееся. Предприятие обрастает формализмом и от него истощается болотистый запах и вроде цели благородные – спасти от злого умысла внешних или внутренних угроз, но в итоге предприятие зарастает сводом приказов, в которых и разобраться, то довольно проблематично, я уже не говорю про то, чтобы исполнять. Т. е. с одной стороны рынок диктует условия, в которых нужно упростить жизнь потребителю, с другой стороны защита предприятия должна выдерживать напасти окружающей среды. И как же здесь быть?

Как сделать так, чтобы предприятие постоянно динамично развивалось, и сотрудники получали адекватную оплату в соответствии со своими трудовыми вложениями? Как быть с проблемой неравномерной нагрузки на сотрудников предприятия, разной эффективностью подчиненных одного ранга при одинаковой оплате труда? Кто хочет, чтобы его работа в основе своей была творческой? Если Вы руководитель, то готовы ли Вы потратить свое драгоценное время в большом количестве до запуска УБПС (Управленческой Бонусно-Процессной Системы), чтобы после получить мощное ускорение развития предприятия и увеличение прибыли?
Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии8

Архитектура чистого кода и разработка через тестирование в PHP

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

Перевод статьи Vitalij Mik Clean Code Architecture and Test Driven Development in PHP

Понятие «архитектура чистого кода» (Clean Code Architecture) ввел Роберт Мартин в блоге 8light. Смысл понятия в том, чтобы создавать архитектуру, которая не зависела бы от внешнего воздействия. Ваша бизнес-логика не должна быть объединена с фреймворком, базой данных или самим вебом. Подобная независимость даёт ряд преимуществ. К примеру, при разработке вы сможете откладывать какие-то технические решения, например выбор фреймворка, движка/поставщика БД. Также вы сможете легко переключаться между разными реализациями и сравнивать их. Но самое важное преимущество такого подхода — ваши тесты будут выполняться быстрее.

Просто подумайте об этом. Вы действительно хотите пройти роутинг, подгрузить абстрактный уровень базы данных или какое-нибудь ORM-колдовство? Или просто выполнить какой-то код, чтобы проверить (assert) те или иные результаты?
Читать дальше →
Всего голосов 23: ↑18 и ↓5+13
Комментарии38

Рендеринг двунаправленного текста с поддержкой диакритиков

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

Введение


В этой статье я поделюсь опытом как в собственный TextBox была добавлена поддержка двунаправленного текста с правильным отображением диакритиков с использованием FriBidi и HarfBuzz. Это вторая статья на эту тему, а первой была Добавление поддержки двунаправленного текста в собственный TextBox. В ней я описывал особенности добавления арабского в собственный текст с использованием FriBidi.

Пример арабского текста

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

Почему ваш любимый мессенджер должен умереть

Время на прочтение18 мин
Количество просмотров328K
image
Кладбище мессенджеров, на котором обязательно должны оказаться Skype, Viber, WhatsApp, Hangouts, ooVoo, Apple iMessage, Telegram, Line, Facebook messenger и еще сотни мессенджеров, которым только предстоит выйти в ближайшее время.

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

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

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

image

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


Читать дальше →
Всего голосов 260: ↑230 и ↓30+200
Комментарии357

В клиенте OpenSSH обнаружена серьёзная уязвимость CVE-2016-0777

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

Сегодня стало известно о новой уязвимости в клиенте OpenSSH получившей идентификаторы CVE-2016-0777 и CVE-2016-0778. Ей подвержены все версии программы от 5.4 до 7.1.

Обнаруженный баг позволяет осуществить атаку, приводящую к утечке приватного ключа. Аутентификация ключа сервера предотвращает атаку типа man-in-the-middle, так что злоумышленникам понадобится сначала получить доступ к машине, на которую вы пытаетесь зайти. Хотя, при подключении к машине впервые, не сверяя ключ, MITM возможен.

До тех пор пока вы не обновите уязвимые системы рекомендуется использовать следующий фикс:
echo -e 'Host *\nUseRoaming no' >> /etc/ssh/ssh_config

Обновления для различных ОС уже выходят, в том числе выпущена portable версия OpenSSH 7.1p2.

Клиент OpenSSH версий от 5.4 до 7.1 содержит код экспериментальной функции «roaming», позволяющей продолжать сессии. Серверная часть этой функциональности никогда не была опубликована, но существующий код клиента уязвим — злоумышленники могут получить часть памяти клиентской машины, содержащую приватный ключ. По умолчанию эта функция включена, поэтому узявимость достаточно серьёзна.
Читать дальше →
Всего голосов 33: ↑30 и ↓3+27
Комментарии29

Коллекция практических советов и заметок по вёрстке

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

CSS Refresher


Это большая коллекция практических советов и заметок по вёрстке. Своеобразная памятка для тех, кто каждодневно использует CSS. Освещаются самые разные темы, от деталей поведения плавающих элементов до использования SVG и спрайтов. Проект постоянно обновляется, активное сообщество github также принимает в нем участие, там добавляются интересные замечания, о которых, возможно, вы и не слышали.

От переводчика


Приветствую всех, меня зовут Максим Иванов, и сегодня я подготовил для вас перевод заметок разработчика из Сан-Франциско Васанта Кришнамурти (Vasanth Krishnamoorthy) «CSS Refresher». Web-программирование одна из самых быстро развивающихся отраслей в наше время. Казалось бы, возьми какой-нибудь видеокурс на tuts+ и освой html-верстку, однако, как говорил разработчик Opera Software Вадим Макеев, выступая на конференции CodeFest, они все равно это делают плохо. Но давайте посмотрим, может мы итак все это знаем.

Содержание


  1. Позиционирование (position)
  2. Отображение элемента в документе (display)
  3. Плавающие элементы (float)
  4. CSS селекторы
  5. Эффективные селекторы
  6. Переотрисовка и перерасчет
  7. CSS3 свойства
  8. CSS3 медиа-запросы
  9. Адаптивный web-дизайн
  10. CSS3 переходы
  11. CSS3 анимации
  12. Масштабируемая векторная графика (SVG)
  13. CSS спрайты
  14. Вертикальное выравнивание
  15. Известные проблемы

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

Перевод: Трагедия common lisp

Время на прочтение3 мин
Количество просмотров16K
Вашему вниманию предлагается перевод письма Марка Миллера, одного из участников комитета по стандартизации JavaScript. В этом письме Марк рассказывает, к чему может привести «ползучий фичеризм» при дизайне языков программирования. И почему он не хочет добавлять в javascript синтаксис «let-block».
Почитать, что придумал гранд-мастер оправданий
Всего голосов 33: ↑31 и ↓2+29
Комментарии8

Охота на грызунов под Linux

Время на прочтение4 мин
Количество просмотров17K
Существует масса средств мониторинга операционной системы, но особый смысл имеет задача отловить момент возникновения проблемы и поймать причину высокой нагрузки или источник проблем c производительностью. Я называю это охотой на «грызунов» ресурсов.

Для этого я сочинил для себя несложный скрипт ratcatcher.sh который вы сможете модифицировать под свои системы и задачи.

Принцип работы несложный — скрипт запускается с заданной периодичностью, проверяет уровень Load Average (вы можете использовать другие контрольные параметры) и в случае превышения заданной величины скрипт выполняет заданный набор диагностических команд с созданием отчета который высылается на указанный вами почтовый адрес.
Читать дальше →
Всего голосов 26: ↑14 и ↓12+2
Комментарии11

Большой обзор красивых многоуровневых меню с codepen

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


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

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

Раньше я их выкладывал в группе продукта облачной IDE mr. Gefest, это были сборки из 5-8 решений. Но теперь у меня стало скапливаться по 15-30 скриптов в разных тематиках (кнопки, меню, подсказки и так далее).

Такие большие наборы следует показывать большему числу специалистов. Поэтому выкладываю их на Хабр. Надеюсь они будут Вам полезны.
Читать дальше →
Всего голосов 22: ↑19 и ↓3+16
Комментарии33

Случайности не случайны?

Время на прочтение12 мин
Количество просмотров11K
Аннотация
Статья посвящена систематизации основных положений о случайных и псевдослучайных последовательностях (СП и ПСП) чисел. Дан краткий обзор известных подходов к тестированию на случайность генерируемых последовательностей. Прикладное значение данной тематики определяется тем, что ПСП широко используются в криптографических системах защиты информации для выработки ключевой и вспомогательной информации (случайные числа, векторы инициализации и пр.).



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

Как мы перешли со Scala на Go

Время на прочтение6 мин
Количество просмотров44K
Перевод статьи технического директора компании CrowdStrike, о том, как и почему они перешли со Scala на Go по мере роста компании с 5 до 200+ человек.

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

Я перешёл из компании Gravity, которая достаточно активно использовала Scala. Это был основной язык в компании. Я привык к нему, мне он нравился, я видел его мощь и был уверен, что смогу предотвратить некоторые из сложностей, которые я видел в Scala, по мере того, как CrowdStrike будет расти. Мы делали высоконагруженную аналитику, batch-задачи на Hadoop и наш Chief Architect (привет, Биссел!) использовал лямбда-архитектуру задолго до того, как это стало модно.

Недавняя цитата от одного из наших senior-разработчиков заставила меня таки написать этот пост, описывающий, почему мы перевели большую часть нашего стека на Go, и почему новые сервисы мы по-умолчанию теперь пишем именно на Go.
Читать дальше →
Всего голосов 75: ↑50 и ↓25+25
Комментарии300

Черный пиар Telegram. Кому верить?

Время на прочтение11 мин
Количество просмотров51K
image Недавно на Geektimes подняли шум со статьей «Плохой Telegram» или Как я не взял денег за черный пиар Telegram на Хабрахабре. В итоге выяснили, что знакомый Бурумыча читает переписку дочери и что приветствие «Добрый день» лучше чем «Доброго времени суток».

Дабы вбросить в вентилятор полезной информации, мы со специалистами компании Edison сделали подборку публикаций про Telegam и безопасные мессенджеры, чтобы пытливый читатель мог самостоятельно сделать вывод (а не получить «проплаченную» экспертизу) чему стоит доверять и чем пользоваться для своих целей. Про уровень доверия/желтизны СМИ предлагаю решить читателю самостоятельно.

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

Какими критериями пользоваться для оценки безопасности мессенджеров, можно подсмотреть у борцов за цифровую неприкосновенность — Electronic Frontier Foundation (EFF). Кстати, вопрос, являются ли эти критерии исчерпывающими или нужны дополнительные (например, про маскировку метаданных)?

Чтобы повысить градус объективности и независимости, прошу высказаться в комментах тех, кто разбирается в вопросе по поводу безопасности мессенджеров.

На основе каких данных можно делать выводы?
Читать дальше →
Всего голосов 52: ↑31 и ↓21+10
Комментарии74

Достаточно Git-а, чтобы быть (менее) опасным

Время на прочтение23 мин
Количество просмотров131K
imageТы просто-напросто ненавидишь Git? Ты абсолютно счастлив с Mercurial (или, фу, с Subversion), но раз в месяц тебе приходится отважно сталкиваться с Git, потому что каждый, даже его чертова собака, теперь использует GitHub? Тебя терзают смутные подозрения, что половина всех команд Git на самом деле удалят всю твою работу навсегда, но ты не знаешь какие именно и не хочешь проводить три недели, углубляясь в документацию?

Хорошие новости! Я написал тебе этот изумительный Интернет-пост. Я надеюсь, что смогу размазать достаточно Git-а по твоему лицу, чтобы понизить вероятность сделать что-то непоправимое, а так же уменьшить твой страх что-то сломать. Этого должно быть также достаточно, чтобы сделать документацию Git немного более понятной; она крайне тщательно и глубоко проработана и очень глупо, если ты все еще не прочитал половину.

Я постараюсь излагать коротко, но также, чтобы это было потенциально полезно тем людям, кто вообще никогда не сталкивался с контролем версий, поэтому повсюду будет разбросан 101 совет. Не бойся! Я не думаю, что пользователи Mercurial понятия не имеют, что такое патч.
Но подожди! Там еще...
Всего голосов 131: ↑103 и ↓28+75
Комментарии365

Стиль именования коммитов

Время на прочтение4 мин
Количество просмотров119K
the Octobi Wan Catnobi

Про многие моменты разработки есть очень много информации. Как писать комментарии, как именовать классы, методы, какие паттерны использовать и т.д. и т.п. Но есть одна область, в которой многие даже и не задумываются о том, что можно что-то улучшить — это написание коммитов.
Читать дальше →
Всего голосов 59: ↑43 и ↓16+27
Комментарии51

Двухпанельный веб-файл менеджер Cloud Commander

Время на прочтение9 мин
Количество просмотров62K
Файловых менеджеров много, но есть один, о котором, думаю, будет многим интересно узнать. Ведь он двухпанельный, работает в браузере, оснащён редактором (с подсветкой синтаксиса) и консолью, состоит из клиента и сервера, а написан на JavaScript/Node.js.



Читать дальше
Всего голосов 96: ↑86 и ↓10+76
Комментарии50

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №186 (15 — 22 ноября 2015)

Время на прочтение8 мин
Количество просмотров27K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости

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

PHP-Дайджест № 74 – интересные новости, материалы и инструменты (5 – 22 ноября 2015)

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


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

Приятного чтения!
Читать дальше →
Всего голосов 41: ↑34 и ↓7+27
Комментарии9

Flexbox для интерфейсов во всей красе: Реализация Tracks (Часть 1)

Время на прочтение7 мин
Количество просмотров15K
Дни ухищрений с float и margin наконец позади, так как сегодня CSS предлагает разработчикам новые улучшенные возможности, которые отлично подходят для деликатных раскладок. Такие функции раскладок, как вертикальное выравнивание, равномерное распределение свободного пространства, управление порядком исходного кода и прочие шаблоны, вроде «липких» футеров, довольно легко воплотить с помощью flexbox.

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

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

Flexbox для интерфейсов во всей красе: Реализация Tracks (Часть 2)

Время на прочтение7 мин
Количество просмотров14K
Продолжаем перевод статьи smashingmagazine, в котором подробно рассмотрены все нюансы разработки интерфейсов с помощью flexbox на примере сайта Tracks.

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

400 потрясающих бесплатных сервисов

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

Рад представить дополнение оригинального списка из 300 потрясающих бесплатных сервисов. Автор оригинальной статьи Ali Mese добавил ещё +100 новых сервисов, которые помогут найти все — от источников вдохновения и редакторов фотографий до создания опросов и бесплатных иконок.

И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные веб-сайты

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly: Конструктор веб-сайтов.
  • Layers: Создание сайтов на WordPress (new).
  • Bootstrap Zero: Самая большая коллекция бесплатных шаблонов Bootstrap (new).
  • Landing Harbor:  Продвижение мобильного приложения c помощью бесплатного лендинга (new).
Читать дальше →
Всего голосов 108: ↑89 и ↓19+70
Комментарии38

Информация

В рейтинге
Не участвует
Откуда
Уфа, Башкортостан(Башкирия), Россия
Дата рождения
Зарегистрирован
Активность

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

Специалист
Senior