Рубрика «best practices» - 6

Пишем красивый идиоматический Python
Иногда сложно найти в Сети правильные, а главное актуальные «best practices» для языка. Документация, конечно же, содержит всю необходимую информацию, но отсеять нужную вещь в абзацах подробного (на то она и документация) описания, довольно сложно. Но недавно мне улыбнулся поиск Google, и я наткнулся на очень полезные «паттерны» языка Python от одного из core разработчиков — Raymond Hettinger.

Примечание: Все рекомендации даны в нескольких вариантах: сначала идут самые «плохие» варианты, а дальше предлагается лучшая альтернатива. Актуально для версии языка 2.7, отличия для версии 3.3 читайте в примечаниях к конкретному «паттерну».
Читать полностью »

image

Эффективность персонала передней линии – это очень важно. Однако личную эффективность относительно несложно измерить только для работников, занимающихся активными продажами. Обычно это выполнение плана продаж, средний размер чека, реже – конверсия. Для всех остальных работников передней линии (операционисты, кассиры, клиентские менеджеры и т.п.) показателем личной эффективности является удовлетворённость клиентов, которая зависит, в первую очередь, от качества обслуживания. Поэтому, чтобы управлять личной эффективностью работников передней линии, не занимающихся активными продажами, абсолютно необходимо контролировать качество обслуживания клиентов. В дополнение к этому желательно контролировать эмоциональную лояльность клиентов (насколько они в целом удовлетворены приобретёнными товарами или услугами и готовы ли рекомендовать компанию своим знакомым) и уметь быстро диагностировать корневые причины их недовольства и низкой лояльности.
Читать полностью »

Всем привет!

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


image
Java — это язык с мощными стандартными возможностями, но «Большая сила налагает большую ответственность». Я видел много java-кода, в котором чрезмерно (и зачастую — неправильно) использовались «редкие» свойства языка, в то время как основы основ были почти полностью проигнорированы. Эти наблюдения и послужили стимулом к написанию статьи.

Это не список обязательных к использованию каждым программистом особенностей языка. Скорее наоборот. Я разделил их на 3 группы: "для каждодневного использования", "для периодического использования" и "только для фреймворков и библиотек!". Правило простое: если вы понимаете, что используете указанные свойства чаще, чем рекомендуется, то, скорее всего, ваш код развивается по неправильному пути. Если же наоборот — вы редко используете какие-то свойства, чем я рекомендую, значит вы упускаете какие-то интересные и важные возможности языка.

Обратите внимание, что я говорю о разработке типичных серверных бизнес-приложений (JVM, JDK, вот это все) и не даю рекомендаций относительно каких бы то ни было фреймворков.
Читать полностью »

thoughtbot (с маленькой буквы) — одна из ведущих американских консалтинговых фирм, ориентированных на веб разработку с помощью Ruby on Rails. thoughtbot эксплуатирует распространенную в этой среде бизнес-модель, и зарабатывает не только за счет консалтинга, но и за счет своих больших вкладов в Open Source, активного участия в жизни сообщества (например, подкаст Giant Robots Smashing into Other Giant Robots), образовательной деятельности (воркшопы, менторство), внутренних продуктов и литературы.

На их счету до сегодняшнего дня числилось две полноценных книги: The Playbook — исчерпывающий справочник по внутреннему распорядку и трудовым хитростям thoughtbot (бесплатна для изучения на их сайте), и Backbone.js on Rails — не менее исчерпывающее руководство по использованию JS фреймворка Backbone вместе с Ruby on Rails.

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

Сегодня они объявили о начале работы над новой книгой, под названием «Ruby Science. The reference for writing fantastic Rails applications». Более того, начать чтение книги и принять участие в её развитии можно уже сейчас.
Ruby Science: руководство по созданию качественных приложений на Ruby on Rails от thoughtbot
Читать полностью »

Я хочу рассказать об особенностях работы с компонентом Intelligent Disaster Recovery, входящем в состав Symantec Backup Exec Этот компонент обеспечивает быстрое восстановление после сбоев и позволяет при своевременно сделанном бэкапе быстро поднять машину из состояния «чистое рабочее железо» в состояние «все работает».
Эта статья – о работе с IDR, встречающихся проблемах и способах их решения и известных мне подводных камнях.
Картинка для привлечения внимания
Работа с Intelligent Disaster Recovery в Symantec Backup Exec

Читать полностью »

Многие компании задумываются о разработке мобильных клиентов для своих сервисов для Windows Phone и Windows 8. В большинстве случаев мобильные клиенты для iOS/Android уже написаны и задача компании — портировать их на мобильные платформы Windows. О том, с какими вопросами / проблемами / особенностями могут столкнуться компании и разработчики мне бы хотелось поговорить в этой статье.
Сделайте также!

Самая частая постановка задачи, с которой нам приходилось сталкиваться, звучит таким образом: вот клиент для Android/iOS, сделайте так же.

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

Читать полностью »

Part Time — это зло.
Не абсолютное, конечно, зло, но в 90% случаев это так.

Под part time я имею ввиду «параллельную» работу над разными задачами в рамках разных проектов и/или в одном проекте но в рамках различных областей компетенций. «Параллельная» в кавычках т.к. по имеет место переключение между задачами до их их полного завершения.

Давайте попробуем разобраться в причинах и последствиях такого широко распространенного явления.
Читать полностью »

KnockoutJS: фильтрация списка с сохранением состояния. Ищем Лучшие практики

Если вы хорошо смыслите в KnockoutJS и JavaScript не проходите мимо!, нам нужны ваши знания.

Новичок, не пропусти. В комментариях к этому посту будут советы о том, как правильно писать на KnockoutJS.

Есть: фильтрация списка с сохранением состояния фильтров в Cookie.
Ищем: Лучшие практики KnockoutJS, чтобы не плодить плохой код.

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

Скриншот

KnockoutJS: фильтрация списка с сохранением состояния. Ищем Лучшие практики

Читать полностью »

При разработке приложений с модульной структурой на JavaScript возникает две проблемы:

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

Обе эти задачи решаются при использовании подхода Asynchronous Module Definition. Он сводится к описанию модулей функцией define и подключению их с помощью require. На данный момент есть несколько инструментов, реализующих AMD. Я начал своё знакомство с ними с RequireJS и был удивлён, на сколько удобно и просто можно описывать зависимости модулей. Расскажу, как это работает, на простом примере.Читать полностью »

Один французский «исследователь безопасности» этим летом опубликовал невиданно много найденных им уязвимостей типа arbitrary file upload в разных «написанных на коленке», но популярных CMS и плагинах к ним. Удивительно, как беспечны бывают создатели и администраторы небольших форумов, блогов и интернет-магазинчиков. Как правило, в каталоге, куда загружаются аватары, резюме, смайлики и прочие ресурсы, которые пользователь может загружать на сайт — разрешено выполнение кода PHP; а значит, загрузка PHP-скрипта под видом картинки позволит злоумышленнику выполнять на сервере произвольный код.

Выполнение кода с правами apache — это, конечно, не полный контроль над сервером, но не стоит недооценивать открывающиеся злоумышленнику возможности: он получает полный доступ ко всем скриптам и конфигурационным файлам сайта и через них — к используемым БД; он может рассылать от вашего имени спам, захостить у вас какой-нибудь незаконный контент, тем подставив вас под абузы; может, найдя параметры привязки к платёжной системе, отрефандить все заказы и оставить вас без дохода за весь последний месяц. Обидно, правда?

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js