Pull to refresh

Внедрение и развитие сервисного подхода. Приглашаем на вебинар

Reading time 2 min
Views 140
ИТ Гильдия corporate blog

"ИТ Гильдия" приглашает своих читателей и всех, кому интересен сервисный подход, на вебинар "Внедрение и развитие сервисного подхода: с чего начать и какие инструменты использовать".

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

Но с чего начать? С составления регламентирующих документов, внедрения систем, поддерживающих управление услугами «из коробки», а может, нужно делать всё одновременно? Эксперты компании ИТ Гильдия знают, как применить сервисный подход, начиная с самых первых шагов, и поделятся своим опытом на вебинаре.  

На этом вебинаре вы не услышите, как строить Service Desk c нуля. Мы расскажем, как работает сервисный подход за рамками ИТ, в таких отделах, как HR, закупки, бухгалтерия, АХО.  

 Что будет на вебинаре:  

1.Расскажем, что  такое сервисный подход.  Как заменить процедуры на услуги?  

2.Объясним, почему  вам нужна единая точка контакта.  SPOC (Single Point of Contact) и её составляющие.  

3.Покажем, как внедрить сервисный подход: кейсы, проблемы, решения  

4.Расскажем, как найти услуги в своей деятельности и формализовать их 

5.Продемонстрируем в реальных условиях управление услугами в системе автоматизации 

6.Покажем на практике с помощью системы 4me, как масштабироваться на все сервисные подразделения без разделения доступов и ролей пользователей.    

Читать далее
Total votes 3: ↑3 and ↓0 +3
Comments 0

Лёгкий сайт или как посадить браузер на диету

Reading time 14 min
Views 144K
Website development *Client optimization *HTML *
Translation

А что если объединить профессионалов, работавших над крупными web проектами, чтобы создать исчерпывающее руководство по оптимизации front-end разработки?
И получить в результате не скучную инструкцию, а что то поинтереснее? А если позвать Briza Bueno (Americanas.com), Davidson Fellipe (Globo.com), Giovanni Keppelen (ex-Peixe Urbano), Jaydson Gomes (Terra), Marcel Duran (Twitter), Mike Taylor (Opera), Renato Mangini (Google), и Sérgio Lopes (Caelum) чтобы собрать лучшие практики?

Именно это мы и сделали! Мы научим вас создавать быстрые сайты.

Zeno Rocha, руководитель проекта.


Читать дальше →
Total votes 193: ↑179 and ↓14 +165
Comments 80

Три правила хорошего программирования

Reading time 4 min
Views 59K
Website development *
Sandbox
В последнее время я видел мало действительно хорошего кода, много посредственного и очень много — плохого. (Много того, что я писал раньше — особенно, когда я только начинал — относится к последним, увы.) Читая случайные статьи в интернете и профессиональные книги, я пришел к выводу, что писать хороший код — легко. Невероятно трудно, но в то же время легко. На самом деле, это настолько просто, что сводится к трем правилам.
Читать дальше →
Total votes 70: ↑55 and ↓15 +40
Comments 20

Никто не умеет обрабатывать ошибки

Reading time 9 min
Views 112K
Website development *Programming *.NET *
Из одной книги в другую, из статьи в статью кочует мнение о том, что выражение

try {
   //do something
}
catch(Exception ex) {
}

является плохой практикой. Возврат кодов – также плохая практика. Но становится ли нам, программистам, жить легче с этими знаниями и так уж ли они неоспоримы? И самый забавный вопрос – кто-нибудь в мире умеет грамотно обрабатывать ошибки, возникающие по ходу работы приложения? (под этим я понимаю обработку только тех ошибок, которые имеет смысл обрабатывать и вывод сообщений об ошибках, которые соответствуют действительно произошедшей, которые не вводят пользователя в замешательство, а в идеале и предлагают решение возникшей проблемы).
Подробности под катом
Total votes 70: ↑59 and ↓11 +48
Comments 121

Пятничный формат: Как писать код, который никто не сможет сопровождать

Reading time 16 min
Views 95K
Фонд развития интернет-инициатив corporate blog Website development *Programming *Game development *
Translation


Благодаря советам экспертов в области Java вы научитесь писать код, который будет настолько сложно сопровождать, что любому, кто будет с ним работать после вас, потребуются годы, чтобы внести даже малейшие правки. Более того, если будете неизменно следовать этим правилам, вы сможете гарантировать себе пожизненное рабочее место, так как никто кроме вас не сможет разобраться в вашем коде.
Читать дальше →
Total votes 89: ↑74 and ↓15 +59
Comments 119

Разработка JavaScript API: 5 принципов написания встраиваемых скриптов

Reading time 3 min
Views 21K
Website development *JavaScript *API *
Sandbox

Наверняка вы сталкивались с принципами (пусть и противоречивыми) о написании модулей и классов на JavaScript. Когда мне понадобилось написать встраиваемый в веб-страницу cкрипт, который предоставляет API для работы определённого сервиса, то я не смог найти достойных рекомендаций о проектировании подобных скриптов.


Итак, вот (довольно очевидные) требования к скрипту, с которыми я столкнулся: 


  • он будет встраиваться в страницы сторонних веб-приложений;
  • он должен выполнять свою работу качественно;
  • он должен загружаться быстро;
  • он не должен (непредсказуемо) влиять на работу веб-приложения;
  •  должен соответствовать требованиям безопасности;
  • … // много чего ещё :)

image


Из реальной практики родились принципы, описанные ниже. Это не полностью уникальные идеи, а скорее сборка лучших практик, которых я видел в чужих решениях, например в библиотечках google analytics и jquery.

Читать дальше →
Total votes 26: ↑21 and ↓5 +16
Comments 35

Как по маслу, или анимируем со скоростью 60 FPS на CSS 3

Reading time 5 min
Views 60K
Website development *CSS *HTML *
Tutorial
Translation

Изображения и текст принадлежат их авторам.


Анимация элементов в мобильных приложениях — это просто. Правильная анимация тоже может быть простой… если вы последуете представленным в статье советам.


Сегодня кто только не использует CSS 3 анимацию в своих проектах, тем не менее не только лишь все, но мало кто может делать это правильно. Даже описаны так называемые «лучшие практики», но люди продолжают делать всё по-своему. Скорее всего потому, что просто не понимают, почему всё устроено именно так, а не иначе.


Читать дальше →
Total votes 51: ↑49 and ↓2 +47
Comments 27

Как сделать Java код проще и нагляднее

Reading time 7 min
Views 22K
Wrike corporate blog Programming *Java *Perfect code *
Вы все пишите блистательно,
а я потом добавлю шероховатости.

х/ф Трамбо

Написать Java код не просто, а очень просто. Трудности начинаются, когда его запускают или, хуже того, если его требуется изменить. Открыв свой код двухлетней давности, каждый хотя бы раз задавался вопросом: кто же все это написал? Мы в Wrike разрабатываем продукт и делаем это уже более десяти лет. Подобные ситуации случались с нами неоднократно. За это время мы выработали ряд принципов в написании кода, которые помогают нам сделать его проще и нагляднее. Хотя в нашем подходе нет ничего экстраординарного, он во многом отличается от того, как принято писать код на Java. Тем не менее, кто-то может найти нечто полезное в нашем подходе и для себя.


Читать дальше →
Total votes 26: ↑15 and ↓11 +4
Comments 38

ITSM ликбез: 7 способов диагностики причин IT инцидентов и проблем

Reading time 6 min
Views 8.5K
IT Terminology Service Desk *
Translation
image Перевод любопытной статьи Стюарта Рейнса, дающей обзор некоторых подходов и техник поиска причин инцидентов и проблем. Обзор поверхностный, но и такого уровня погружения достаточно, чтобы зародить интерес к затронутой теме.

Автор: Стюарт Рейнс (Stuart Rance)
Опубликовано 31.10.2017 в блоге SysAid раздел ITSM
Ссылка на оригинал: 7 Ways to Diagnose IT Incidents and Problems

Необходимо обучать сотрудников службы поддержки и остальной ИТ персонал техникам диагностики инцидентов и проблем, а также сопровождать их применение. Наличие достаточных технических знаний и навыков работы в ITSM процессах без навыков этих техник не достаточно для результативного выполнения задач диагностики.
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Comments 2

Veeam Backup & Replication: полезные советы по обеспечению жизнеспособности бэкапов и реплик

Reading time 8 min
Views 10K
Veeam Software corporate blog Virtualization *Server Administration *Data recovery *Backup *
Translation
Сегодня я снова с удовольствием представляю вам полезные советы от моего коллеги Евгения Иванова, тим-лида команды технической поддержки Veeam. На этот раз Женя поделился рекомендациями для работы с бэкапами и репликами. Надеюсь, они помогут вам избежать типичных ошибок, и ваши реплики и бэкапы никогда не будут «слабым звеном» в процессе восстановления, если таковое потребуется.

Итак, добро пожаловать под кат.


Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Comments 2

Представлен Polaris для поддержания кластеров Kubernetes в здоровом состоянии

Reading time 4 min
Views 6.8K
Флант corporate blog System administration *DevOps *Kubernetes *
Translation
Прим. перев.: Оригинал этого текста написал Rob Scott — ведущий SRE-инженер компании ReactiveOps, которая и стоит за разработкой анонсируемого проекта. Нам очень близка идея централизованной валидации того, что деплоится в Kubernetes, поэтому мы с интересом следим за подобными инициативами.



Рад представить Polaris — проект с открытым исходным кодом, который помогает поддерживать «здоровье» кластера Kubernetes. Мы создали Polaris для автоматизации некоторых из лучших практик, используемых в ReactiveOps для поддержания безопасной и надежной работы кластеров у большого числа клиентов. Пришло время открыть исходный код.
Читать дальше →
Total votes 35: ↑35 and ↓0 +35
Comments 5

Автоматизация импортов в Python

Reading time 7 min
Views 20K
Abnormal programming *Open source *Python *Programming *Perfect code *
До После
import math
import os.path

import requests

# 100500 other imports

print(math.pi)
print(os.path.join('my', 'path'))
print(requests.get)
import smart_imports

smart_imports.all()

print(math.pi)
print(os_path.join('my', 'path'))
print(requests.get)
Так получилось, что аж с 2012 года я разрабатываю open source браузерку, являясь единственным программистом. На Python само собой. Браузерка — штука не самая простая, сейчас в основной части проекта больше 1000 модулей и более 120 000 строк кода на Python. В сумме же с проектами-спутниками будет раза в полтора больше.

В какой-то момент мне надоело возиться с этажами импортов в начале каждого файла и я решил разобраться с этой проблемой раз и навсегда. Так родилась библиотека smart_imports (github, pypi).

Идея достаточно проста. Любой сложный проект со временем формирует собственное соглашение об именовании всего. Если это соглашение превратить в более формальные правила, то любую сущность можно будет импортировать автоматически по имени ассоциированной с ней переменной.

Например, не надо будет писать import math чтобы обратиться к math.pi — мы и так можем понять, что в данном случае math — модуль стандартной библиотеки.

Smart imports поддерживают Python >= 3.5 Библиотека полностью покрыта тестами, coverage > 95%. Сам пользуюсь уже год.

За подробностями приглашаю под кат.
Читать дальше →
Total votes 45: ↑36 and ↓9 +27
Comments 31

Больше разработчиков должны знать это о базах данных

Reading time 19 min
Views 42K
Флант corporate blog Programming *Database Administration *
Translation
Прим. перев.: Jaana Dogan — опытный инженер из Google, которая в данный момент занимается вопросами наблюдаемости production-сервисов компании, написанных на Go. В этой статье, снискавшей большую популярность у англоязычной аудитории, она в 17 пунктах собрала важные технические детали, касающиеся СУБД (а иногда — распределённых систем в целом), которые полезно учитывать разработчикам крупных/требовательных приложений.



Подавляющее большинство компьютерных систем отслеживают свое состояние и, соответственно, нуждаются в некой системе хранения данных. Я накапливала знания о базах данных в течение длительного времени, попутно совершая ошибки при проектировании, приводившие к потере данных и перебоям в работе. В системах, обрабатывающих большие объемы информации, базы данных лежат в сердце системной архитектуры и выступают ключевым элементом при выборе оптимального решения. Несмотря на то, что работе БД уделяется пристальное внимание, проблемы, которые пытаются предусмотреть разработчики приложений, часто оказываются лишь верхушкой айсберга. В этой серии статей я делюсь некоторыми идеями, которые будут полезны для разработчиков, не специализирующихся в этой области.
Читать дальше →
Total votes 68: ↑67 and ↓1 +66
Comments 27

Принципы PDD — Panic Driven Development

Reading time 2 min
Views 16K
Agile *
Sandbox
Привет, Хабр! Уважаемые читатели, сие есть перевод замечательной статьи за авторством Мауро Фрезза. Надеюсь, он доставит вам истинное наслаждение и поддержит вас в курсе современных тенденций в методологиях разработки.

image

После того как прошла волна успеха методологий разработки из семейства Agile, проверку временем выдержали лишь немногие из них. Но среди них есть одна особая техника: PDD Panic Driven Development — Разработка через панику.

Эта техника разделяет основные принципы методологии разработки Agile, но она лишена бесполезных церемоний и технологической нагрузки, которые лишь снижают скорость работы команды. Давайте подробнее ознакомимся с принципами этой методологии.
Читать дальше →
Total votes 25: ↑24 and ↓1 +23
Comments 19

Внедрение рекомендаций по структуре кода с использованием ArchUnit

Reading time 5 min
Views 1.7K
Java *
Tutorial
Translation

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

Например, обычно я хочу следовать приведенным ниже рекомендациям для моих приложений на основе Java:

1. Следуйте трехуровневой структуре (уровни веб, сервис, репозиторий), где любой уровень может взаимодействовать только с непосредственным нижним уровнем, а нижний уровень не должен взаимодействовать с верхним уровнем. т.е. веб-уровень может взаимодействовать с уровнем сервиса, уровень сервиса может взаимодействовать с уровнем репозитория. Но уровень репозитория не может взаимодействовать с сервисным или веб-уровнем, сервисный уровень не может взаимодействовать с веб-уровнем.

2. Если приложение большое, мы могли бы захотеть следовать структуре Package-By-Feature, где только компоненты Web и Service являются public, а остальные компоненты должны быть package-private.

3. При использовании внедрения зависимостей Spring не используйте внедрение на основе поля и предпочитайте внедрение на основе конструктора.

Таким образом, может быть много правил, которым мы хотим следовать. Хорошая новость заключается в том, что мы можем проконтролировать выполнение этих рекомендаций с помощью JUnit тестов с использованием ArchUnit.

Читать далее
Total votes 9: ↑9 and ↓0 +9
Comments 2

Java Optional не такой уж очевидный

Reading time 9 min
Views 15K
Programming *Java *ООP *Functional Programming *
Translation

NullPointerException - одна из самых раздражающих вещей в Java мире, которую был призван решить Optional. Нельзя сказать, что проблема полностью ушла, но мы сделали большие шаги. Множество популярных библиотек и фреймворков внедрили Optional в свою экосистему. Например, JPA Specification возвращает Optional вместо null.

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

Читать далее
Total votes 15: ↑13 and ↓2 +11
Comments 33

React: лучшие практики

Reading time 19 min
Views 58K
Website development *JavaScript *Programming *ReactJS *
Translation


Разрабатываете на React или просто интересуетесь данной технологией? Тогда добро пожаловать в мой новый проект — Тотальный React.

Введение


Я работаю с React уже 5 лет, однако, когда дело касается структуры приложения или его внешнего вида (дизайна), сложно назвать какие-то универсальные подходы.

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

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

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

Предлагаемые подходы не являются истинной в последней инстанции. Это всего лишь мое мнение. Существует много разных способов решения одной и той же задачи.
Читать дальше →
Total votes 13: ↑9 and ↓4 +5
Comments 6

9 лучших практик для обработки исключений в Java

Reading time 8 min
Views 18K
Java *
Tutorial
Translation

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

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

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

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

Читать далее
Total votes 7: ↑6 and ↓1 +5
Comments 1

Как писать хорошую документацию

Reading time 14 min
Views 12K
Plesk corporate blog Technical Writing *

Несколько лет назад я услышал от одного коллеги историю. Он в то время работал начальником отдела технической документации в IT компании. Дело было на собрании, посвященном знакомству с новым техническим директором. Тот, пожав моему коллеге руку и узнав о его роли, пошутил: “Документация? Так ее же не читает никто! Двадцать первый век на дворе”.

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

Читать далее
Total votes 16: ↑16 and ↓0 +16
Comments 16

Лучшие практики написания комментариев к коду

Reading time 7 min
Views 11K
VK corporate blog Programming *System Analysis and Design *Designing and refactoring *
Tutorial
Translation

Известный профессор МТИ Гарольд Абельсон сказал: «Программы нужно писать для того, чтобы их читали люди, и лишь случайно — чтобы их исполняли машины». Хотя он намеренно преуменьшил важность исполнения кода, однако подчёркивает, что у программ две важные аудитории. Компиляторы и интерпретаторы игнорируют комментарии и с одинаковой лёгкостью воспринимают все синтаксически корректные программы. У людей всё иначе. Одни программы нам воспринимать легче, чем другие, и мы ищем комментарии, которые помогут нам разобраться.

Есть множество источников информации, помогающих программистам писать более качественный код — книги, сайты, статические анализаторы. Но гораздо меньше источников посвящено повышению качества комментариев. Легко измерить их количество в программе, но качество оценить сложно, и два этих параметра не обязательно взаимосвязаны. Плохой комментарий хуже отсутствия комментария. Вот несколько правил, которые помогут вам найти золотую середину.
Читать дальше →
Total votes 34: ↑31 and ↓3 +28
Comments 6