Pull to refresh
0
0
Send message

Как собеседовать ИТ-специалистов

Reading time2 min
Views33K
Одна из наших основных задач — сделать IaaS простым и понятным. Для этого мы постоянно оптимизируем работу нашего провайдера и рассказываем об этом здесь. Например, мы уже писали о том, как работает API нашего IaaS-провайдера и делились опытом разработки своего DNS-менеджера.

Сегодня мы решили взглянуть на западный опыт и рассмотреть тему найма ИТ-специалистов. Для этого мы оттолкнулись от заметки Реджинальда Брэтуэйта (Reginald Brathwaite) из компании Page Duty и кратко проанализировали инсайты, которые он описал.

Читать дальше →
Total votes 48: ↑27 and ↓21+6
Comments101

Риски и проблемы хеширования паролей

Reading time11 min
Views38K
Безопасность всегда была неоднозначной темой, провоцирующей многочисленные горячие споры. И всё благодаря обилию самых разных точек зрения и «идеальных решений», которые устраивают одних и совершенно не подходят другим. Я считаю, что взлом системы безопасности приложения всего лишь вопрос времени. Из-за быстрого роста вычислительных мощностей и увеличения сложности безопасные сегодня приложения перестанут завтра быть таковыми.

Прим. перев.: для более полной картины здесь вас также будет ждать перевод Hashing Passwords with the PHP 5.5 Password Hashing API, на которую автор ссылается в статье.
Читать дальше →
Total votes 37: ↑34 and ↓3+31
Comments42

Как сделать тестовое окружение максимально похожим на боевое

Reading time7 min
Views22K
image

Одной из возможностей повышения качества выпускаемого продукта является соответствие окружений на боевых серверах и в среде тестирования. Мы постарались минимизировать количество ошибок, связанных с различием конфигураций, путем перехода от нашего старого тестового окружения, где настройки сервисов сильно отличались от боевых, к новому окружению, где конфигурация практически соответствует боевой. Сделали мы это с помощью docker и ansible, получили много профита, но и не избежали различных проблем. Об этом переходе и интересных подробностях я постараюсь рассказать в данной статье.
Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments2

Готовим ASP.NET 5, выпуск №6: Continuous Deployment с Visual Studio Team Services — полное руководство

Reading time8 min
Views12K
Вслед за замечательными анонсами с конференции Connect 2015 мы продолжаем знакомить вас со сценариями использования новых технологий и сервисов для организации непрерывной разработки и тестирования ваших приложений.

Недавно мы рассказывали о реализации непрерывных процессов разработки и тестирования с помощью Visual Studio Team Services (ранее Visual Studio Online). В статье подробно описывается как на базе репозиториев Git в Visual Studio Team Services организовать процесс разработки на базе Scrum и с помощью интеграции с Visual Studio обеспечить непрерывные процесс тестирования и разработки кода (Continuous Integration & Testing).


В этой статье мы рассмотрим следующий шаг в построении полного цикла DevOps – обеспечение непрерывного развертывания (Continuous Deployment) с помощью новых возможностей настраиваемых шаблонов сборки и публикации проектов в Visual Studio Team Services. Мы будем использовать проект на базе ASP.NET 5 и увидим как для таких проектов обеспечить полный цикл от редактирования кода до автоматической сборки и развертывания в облаке Azure (может быть любым местом).
Читать дальше →
Total votes 15: ↑13 and ↓2+11
Comments2

Подборка бесплатных инструментов для разработчиков

Reading time28 min
Views186K
Сегодня мы представляем вашему вниманию адаптированную подборку инструментов (в том числе облачных) для разработчиков, которые позволяют создавать по-настоящему качественные проекты. Здесь представлены исключительно SaaS, PaaS и IaaS сервисы, предоставляющие бесплатные пакеты для разработчиков инфраструктурного ПО.

Читать дальше →
Total votes 96: ↑89 and ↓7+82
Comments38

Оценка тестового покрытия на проекте

Reading time7 min
Views80K
Самый лучший способ оценить, хорошо ли мы протестировали продукт – проанализировать пропущенные дефекты. Те, с которыми столкнулись наши пользователи, внедренцы, бизнес. По ним можно многое оценить: что мы проверили недостаточно тщательно, каким областям продукта стоит уделить больше внимания, какой вообще процент пропусков и какова динамика его изменений. С этой метрикой (пожалуй, самой распространённой в тестировании) всё хорошо, но… Когда мы выпустили продукт, и узнали о пропущенных ошибках, может быть уже слишком поздно: на “хабре” появилась про нас гневная статья, конкуренты стремительно распространяют критику, клиенты потеряли к нам доверие, руководство недовольно.

Чтобы такого не происходило, мы обычно заранее, до релиза, стараемся оценивать качество тестирования: насколько хорошо и тщательно мы проверяем продукт? Каким областям не хватает внимания, где основные риски, какой прогресс? И чтобы ответить на все эти вопросы, мы оцениваем тестовое покрытие.
Читать дальше →
Total votes 27: ↑24 and ↓3+21
Comments19

Пишем SOAP клиент-серверное приложение на PHP

Reading time29 min
Views236K
Всем привет!
Так случилось, что в последнее время я стал заниматься разработкой веб-сервисов. Но сегодня топик не обо мне, а о том, как нам написать свой XML Web Service основанный на протоколе SOAP 1.2.

Я надеюсь, что после прочтения топика вы сможете самостоятельно:
  • написать свою собственную серверную реализацию веб-приложения;
  • написать свою собственную клиентскую реализацию веб-приложения;
  • написать свое собственное описание веб-сервиса (WSDL);
  • отправлять клиентом массивы однотипных данных на сервер.

Как вы могли догадаться, вся магия будет твориться с использованием PHP и встроенных классов SoapClient и SoapServer. В качестве кролика у нас будет выступать сервис по отправке sms-сообщений.
Интересно?
Total votes 48: ↑38 and ↓10+28
Comments26

Автоматизированное тестирование веб-приложения (MS Unit Testing Framework + Selenium WebDriver C#). Часть 1: Введение

Reading time4 min
Views63K
image

Введение

Всем Buenos Dias! В своей статье я хотел бы максимально лаконично и просто рассказать о том, как построить процесс автоматизированного тестирования web-приложения с нуля. Первым делом нужно правильно расставить приоритеты и выбрать приемлемое соотношение цена/качество. Сразу определимся — это будет не решение «на коленках» из зоопарка скриптов, которыми часто пользуются при ручном тестировании. В тоже время мы не будем тратить много усилий на проектирование нашего «фреймворка» для автоматизации. Наша цель — предоставить результаты своей бурной деятельности перед руководством в максимально короткие сроки, при этом система должна быть:
  • максимально простой, чтобы тесты могли писать даже специалисты по ручному тестированию
  • гибкой и расширяемой, поскольку мы не можем адекватно оценить весь объем работ на данном этапе
  • кроссплатформенной (Selenium WebDriver C# поддерживает Firefox, Chrome и IE)

В своем примере я буду успользовать .NET (Microsoft Unit Testing Framework) и Selenium WebDriver C#.
Читать дальше →
Total votes 25: ↑13 and ↓12+1
Comments15

Немного практической криптографии под .NET для чайников

Reading time6 min
Views68K
image

Это краткое введение в криптографию под .NET для чайников, как и следует из заголовка. Здесь будут простые вещи и никаких углубленных знаний.

Читать дальше →
Total votes 14: ↑11 and ↓3+8
Comments5

Стратегии эффективного обучения для программистов. Часть 2

Reading time7 min
Views7.6K
Продолжаем перевод статьи об использовании установки на рост для обучения программиста (первая часть здесь).

Программистам нужна установка на рост! Ключевые навыки для программистов, такие как реакция на замешательство, восстановление после заминки, желание брать на себя новые трудности, намного легче реализовываются с гибким сознанием, и намного сложнее – с фиксированным.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments0

Автоматизация workflow небольшой команды разработки (Часть 1)

Reading time5 min
Views39K
Практически во всех местах моей работы программистом для разработки использовали всего два продукта: багтрекинг и систему контроля версий. Чаще всего это были Atlassian Jira и SVN. В принципе, наличие этих двух систем здорово упорядочивает общение всех участников процесса разработки и положительно влияет на качество работы отдела и продукта.

Года 4 назад я морально, а затем и фактически дорос до уровня тимлида. Взгляды стали шире и выше текущих процессов. В голову стали приходить разные мысли о мотивации, оптимизации, автоматизации и прочих -циях. В этой статье я хотел бы поделиться опытом из разряда технических компетенций тимлида: как автоматизировать ежедневные процессы (например, автоматическая сборка продукта, выкладывание, документирование, управление правами т.д. и т.п.).

После третьей страницы текста моей статьи, я решил разделить ее на 2 блока:


Итак. Настройка ПО, сопровождающего процесс разработки



Читать дальше →
Total votes 19: ↑14 and ↓5+9
Comments39

Let's Encrypt: получение сертификата по шагам

Reading time4 min
Views464K
В данной статье будет описан реальный способ получения сертификата от Let's Encrypt в ручном режиме для его дальнейшей установки на веб-сервер Windows (IIS/Microsoft Azure) или Linux (полностью ручной режим). Из-за отсутствия официального клиента под Windows для генерации сертификата будет использоваться дистрибутив Linux.



Данная статья обновляется с создана для тех, кто хочет управлять процессом создания сертификата в полностью ручном режиме. В статье пошаговая инструкция процесса, чтобы вы уже смогли оперативно создать и начать пользоваться своим сертификатом.
Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments49

Про роль техлида

Reading time8 min
Views51K

Для кого эта статья?


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

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

image
Читать дальше →
Total votes 27: ↑22 and ↓5+17
Comments15

Повторное использование знаний

Reading time7 min
Views3K
Уже не первый раз натыкаюсь на обсуждения вопросов о том, кто и как изучает новые технологии и о том, как справится с тем огромном потоком «нововведений», которые ежегодно появляются в индустрии ПО. Однажды я уже отвечал на этот вопрос на кывт-е, и после очередного вопроса решил оформить эти мысли более структурированным образом.

Если оглядеться вокруг, то может сложиться впечатление, что отрасль разработки ПО шагает такими громадными шагами, что угнаться за ней нет никакой возможности. И если рассматривать всю отрасль в целом, то действительно это так и есть. Как-то сразу вспоминается старина Брукс со своим «Мифическим человеко-месяцем», когда он в заключении к своей книге пишет о том, как изменилась индустрия ПО в середине 90-х по сравнению с 50-ми годами. В те далекие годы (да, 90-е тоже уже далеки, так что уж говорить за эпоху зарождения индустрии сорока годами ранее) можно было прочитать все журналы (!), компьютерной тематики, которые выходили в свет. Сейчас же ежемесячно появляется десятки книг только по одной из популярных технологий, а количество статей просто не поддается счету.

Читать дальше →
Total votes 33: ↑27 and ↓6+21
Comments11

REST vs SOAP. Часть 1. Почувствуйте разницу

Reading time6 min
Views476K
Некоторое время назад я гуглил интернет по поводу “REST vs SOAP”, прочитал пару статей и вроде бы все понял, но не почувствовал от этого никакого удовлетворения. Что-то было не так, то ли я не почувствовал основную идею, то ли просто читал, одновременно слушая новый музон и думая о новой фиче в проекте. Как появилось время, решил восполнить этот пробел, заодно написав полезную статью по этому поводу.
Читать дальше →
Total votes 117: ↑106 and ↓11+95
Comments101

Веб-сервисы в теории и на практике для начинающих

Reading time9 min
Views618K

Что такое веб-сервисы?



Прежде всего, веб-сервисы (или веб-службы) — это технология. И как и любая другая технология, они имеют довольно четко очерченную среду применения.

Если посмотреть на веб-сервисы в разрезе стека сетевых протококолов, мы увидим, что это, в классическом случае, не что иное, как еще одна надстройка поверх протокола HTTP.

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

Но и сам Интернет — разнороден, т. е. различные приложения на различных узлах сети функционируют на разных аппаратно-программных платформах, и используют различные технологии и языки.

Чтобы связать все это и предоставить возможность одним приложениям обмениваться данными с другими, и были придуманы веб-сервисы.
Читать дальше →
Total votes 62: ↑61 and ↓1+60
Comments30

Построение SOAP веб-сервисов, основанных на сообщениях, с помощью WCF

Reading time15 min
Views50K
WCF очень нравится мне как фрэймворк, упрощающий создание коммуникационного слоя. Но WCF's design style меня не устраивает. Я думаю, что создание нового метода для каждого DTO — это не самое хорошее решение, поэтому попытался решить эту проблему.

WCF имеет некоторые ограничения:
  • Не поддерживает перегрузку методов.
  • Не имеет универсального API.
  • Service Contract зависит от бизнес-требований.
  • Версионность должна выполняться на уровне DataContract и методов, имя операции должно быть универсальным.
  • Другие не .NET клиенты должны создавать столько клиентов, сколько сервисов у вас есть.

Я думаю, что подход в стиле RPC (Remote Procedure Call) не самый подходящий. Сервис должен быть повторно используемым, а влияние бизнес-требований на него должно быть минимальным. Я думаю, что удаленное API должно соответствовать следующим требованиям:
  • Обладать стабильным и универсальным интерфейсом.
  • Передавать данные в соответствии с паттерном DTO.

Веб-сервис, основанный на сообщениях, преодолевает большинство ограничений WCF путем добавления абстракции сообщения.
После прочтения статьи вы узнаете, как строить повторно используемые SOAP веб-сервисы, основанные на сообщениях (и перестанете постоянно плодить новые).
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments25

Microsoft откажется от поддержки цифровых сертификатов на основе SHA-1

Reading time2 min
Views7.6K
Microsoft откажется от поддержки цифровых сертификатов, в которых используется алгоритм хэширования SHA-1, уже в середине следующего года (июнь 2016 г.). Срок поддержки этого алгоритма хэширования был урезан на полгода, поскольку изначально планировалась его поддержка до 2017 г. Подобное решение связано с обнаруженными недостатками SHA-1, которые позволяют выполнить коллизию и делают возможным подделку цифровой подписи. После указанной даты почти все цифровые сертификаты, использующие для генерации хэша SHA-1, не смогут проходить проверку в Windows и ее компонентах.



Схожее решение не так давно озвучили в Mozilla Foundation, веб-браузер Mozilla Firefox перестанет поддерживать цифровые сертификаты на основе SHA-1 с июля 2016 г. То же касается и Google Chrome.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments1

Tasks и Back Stack в Android

Reading time5 min
Views82K
Привет. Из названия темы вы могли заметить, что речь пойдет о том, как устроены Tasks и Back Stack в Android. Эта статья будет являться свободным переводом официального источника. Тема больше ориентирована на новичков, но я думаю, что и опытный разработчик сможет узнать что-то новое, т.к. тема специфична и не часто приходится кастомизировать поведение наших Activity.
Читать дальше →
Total votes 22: ↑18 and ↓4+14
Comments12

Белым по чёрному. Разгружаем глаза

Reading time12 min
Views180K
Все слышали выражение “чёрным по белому написано”. Пришло оно к нам из бумажного мира и как-бы утверждает, что именно это сочетание цветов для текста и фона дает наилучший контраст и читабельность. Предлагаю опровергнуть это предположение и чаще пользоваться противоположной цветовой схемой. В этой статье я не буду убеждать в целесообразности цветового решения “белым по чёрному” (и некоторые утверждения могут быть спорными). Цель этой статьи сделать обзор инструментов, которые позволяют быстро и удобно инвертировать яркие цвета в часто используемых приложениях с целью уменьшить нагрузку на глаза. А также предлагаю инвертировать упомянутое выражение и в эпоху ЖК дисплеев говорить “белым по чёрному написано напечатано”.
разгрузить...
Total votes 34: ↑30 and ↓4+26
Comments45

Information

Rating
Does not participate
Registered
Activity