Pull to refresh
11
0
Send message

Как убеждать людей в сети: семнадцать малоизвестных джедайских трюков

Reading time11 min
Views306K


Хотите узнать, как на просторах интернета убеждать людей и получать от них желаемое?

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

В этой статье не будет ни слова о взаимном обмене, дефиците, социальном доказательстве и прочих широко известных принципах убеждения. Вы наверняка и так все о них знаете
Читать дальше →
Total votes 149: ↑108 and ↓41+67
Comments78

Отслеживаем удаление файлов на PowerShell

Reading time11 min
Views27K
Привет, Хабр! Тема моего поста уже поднималась здесь, но мне есть, что добавить.

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

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

В процессе поиска решения задачи прочитал статью за авторством Deks. Решил взять ее за основу, но некоторые моменты меня не устраивали.
  • Во-первых, время генерации отчета за четыре часа на 2-терабайтном хранилище, с которым одновременно работает около 200 человек, составило около пяти минут. И это притом, что лишнего у нас в логи не пишется. Это меньше, чем у Deks, но больше, чем хотелосю бы, потому что...
  • Во-вторых, все то же самое нужно было реализовать еще на двадцати серверах, гораздо менее производительных, чем основной.
  • В-третьих, вызывал вопросы график запуска генерации отчетов.
  • И в-четвертых, хотелось исключить себя из процесса доставки собранной информации конечным потребителям (читай: автоматизировать, чтобы мне с этим вопросом больше не звонили).

Но ход мыслей Deks мне понравился...
Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments34

Continuous Delivery в Яндексе. Как разогнать свой цикл разработки, используя только Open Source решения

Reading time8 min
Views58K
Перед тестированием всегда стояли и стоят две задачи – помочь команде поддерживать высокий уровень качества разработки и делать это, не задерживая весь процесс. И это справедливо не только для наших проектов в Яндексе, где мы работаем над очень большим количеством сервисов. Часто основная задача и вовсе формулируется как увеличение скорости тестирования при сохранении должного уровня качества. Скорость процесса разработки, приверженность ценностям частых и быстрых релизов – это основополагающие факторы для успеха любого продукта. У команды больше возможностей маневра, команда быстрее находит и исправляет ошибки, быстрее получает фидбек. Как же ускоряться, не теряя качества, как достичь дзена непрерывной доставки изменений?



Сегодня мы покажем, что Continuous Delivery — это просто и весело! А пользу от него можно получить, встроив его даже частично. Мы в тестировании Яндекса уже несколько лет используем подобный подход для наших библиотек с открытым исходным кодом — Allure Framework или Yandex QATools. Процесс прост, значительно масштабируем и может применяться как для огромных команд из одного человека, так и для маленьких командочек из десятков человек. А самое главное — весь инструментарий доступен в Open Source!

Кстати, до 30 сентября можно подать заявку и поступить в нашу Школу автоматизации процессов разработки в Питере. Обучение в ней бесплатное и будет состоять не только из курса лекций — обязательным этапом станет командная работа над учебным проектом.

А теперь вернёмся к теме. Представьте картину: уютное рабочее место, вы пишете код, добавляете юнит-тесты и отправляете изменения в систему контроля версий, а через пару часов они «выезжают» на боевые сервера. И все при этом работает.
Читать дальше →
Total votes 85: ↑82 and ↓3+79
Comments25

Как подружить ежа и ужа: опыт использования PowerShell в web-приложениях

Reading time10 min
Views26K
imageЭта статья не претендует на полноценное руководство по программированию на PowerShell или пошаговую инструкцию по разработке высоконагруженных сервисов .NET. Но в ней собраны полезные приемы и разъяснение некоторых особенностей интеграции PowerShell с .NET, которые пока сложно или даже невозможно найти в Сети.
Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments12

Тестирование в Яндексе. Сам себе web-service over SSH, или как сделать заглушку для целого сервиса

Reading time10 min
Views23K
Вы практикующий маг менеджер. Или боевой разработчик. Или профессиональный тестировщик. А может быть, просто человек, которому небезразличны разработка и использование систем, включающих в себя клиент-серверные компоненты. Уверен, вы даже знаете, что порт это не только место, куда приходят корабли, а «ssh» это не только звук, издаваемый змеёй. И вы в курсе, что сервисы, расположенные на одной или нескольких машинах, активно между собой общаются. Чаще всего по протоколу HTTP. И от версии к версии формат этого общения нужно контролировать.



Думаю, каждый из вас при очередном релизе задавался вопросами: «Точно ли мы отсылаем верный запрос?» или «Точно ли мы передали все необходимые параметры этому сервису?». Всем должно быть известно и о существовании негативных сценариев развития событий наравне с позитивными. Это знание должно активно порождать вопросы из серии «Что если..?». Что если сервис станет обрабатывать соединения с задержкой в 2 часа? Что если сервис ответит абракадабру вместо данных в формате json?

О таких вещах нередко забывается в процессе разработки. Из-за сложности проверки проблем подобного рода, маловероятности таких ситуаций и еще по тысяче других причин. А ведь странная ошибка или падение приложения в ответственный момент могут навсегда отпугнуть пользователя, и он больше не вернётся к вашему продукту. Мы в Яндексе постоянно держим подобные вопросы в голове и стремимся максимально оптимизировать процесс тестирования, используя полезные идеи. О том, как мы сделали такие проверки легкими, наглядными, автоматическими и пойдет речь в этой статье.
Читать дальше →
Total votes 45: ↑43 and ↓2+41
Comments2

Модуль Mock: макеты-пустышки в тестировании

Reading time6 min
Views120K
Mock на английском значит «имитация», «подделка». Модуль с таким названием помогает сильно упростить тесты модулей на Питоне.

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

Такое поведение — уже не надувные ракетные установки, а целая надувная земля, вокруг которой могут летать испытуемые ракеты и самолёты.

Российские надувные макеты ракетных и радарных установок

Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments19

Дайджест статей по анализу данных и big data

Reading time2 min
Views33K
Частенько читаю Хабр и заметил что в последнее время появились Дайджесты новостей по многим тематикам, таким как веб-разработка на php, разработка на Python, мобильные приложения, но не встретил ни одного подборки по популярному сейчас направлению, а именно анализу данных и big data.

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

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

Читать дальше →
Total votes 45: ↑42 and ↓3+39
Comments15

Математика для тестировщиков

Reading time17 min
Views41K
Доклад Никиты Налютина на конференции SQA Days – 13, 26-27 апреля 2013 г. Санкт-Петербург, Россия

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



Читать дальше →
Total votes 32: ↑26 and ↓6+20
Comments6

Автоматическое тестирование Parallels Cloud Server

Reading time5 min
Views6.7K
Я хочу рассказать как тестируется один из продуктов компании Parallels Inc., в которой я работаю,
— Parallels Cloud Server. Думаю некоторым хабрачитателям этот продукт уже знаком по статьям Parallels рассекретила Cloud Server, FastVPS: Как мы меняли платформы виртуализации и Собери сам: как мы сделали хранилище Amazon-style для небольших хостеров. Если нет, то рекомендую статьи выше к прочтению.

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

Если у меня получилось вас заинтересовать — добро пожаловать под кат.
Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments1

Сколько английских слов вы знаете?

Reading time5 min
Views351K
Оценка количества выученных и запомненных слов иностранного языка прежде всего интересна для понимания того, насколько далеко человек продвинулся в «пассивном» восприятии информации: тексты, речь, фильмы, и т.д. Предлагаю ознакомиться с несколькими способами, которые я применял, найденные в сети и «самопальные». Внизу — парочка тестов для оценки vocabulary, методика для поиска важных слов, которые пока не зацепились в мозгу, несколько рассуждений и немного ссылок.

Читать дальше →
Total votes 85: ↑81 and ↓4+77
Comments100

13 причин не быть управленцем

Reading time12 min
Views464K
Так уж сложилось, что последние несколько лет я занимал самые разнообразные руководящие должности в полудюжине компаний, занимающихся разработкой программного обеспечения разного рода. Довелось побывать и тимлидом, и менеджером проекта, и группы проектов, руководителем отдела и руководителем технического направления; подопечных бывало от двух до ста пятидесяти человек, да и размеры компании варьировались от трёх до двухсот тысяч работников. Неизменным оставалось только одно: чисто управленческая работа, постепенный и окончательный отход от технических задач.

А сейчас, в период между Рождеством и Новым Годом, когда особенно обострена склонность к углублённой рефлексии, приходит понимание того, что, знай я некоторые «инсайдерские» подробности управленческой деятельности заранее – сделал бы совсем другой выбор лет эдак семь назад.

Вот поэтому и родился этот немного хаотичный и очень разнокалиберный список моментов, которые очень хотелось бы передать куда-то обратно, примерно в 2005 год – дайте знать, если кто-то вдруг уже научился это делать! А пока, может быть кто-то найдёт некоторые из перечисленных ниже пунктов не до конца очевидными, или даже полезными для себя; было бы приятно осознавать, что удалось помочь кому-то сделать более осознанный выбор профессии – или просто о чём-нибудь важном задуматься.
Итак, поехали
Total votes 441: ↑410 and ↓31+379
Comments340

Что не пишут в википедии о глобальных навигационных спутниковых системах

Reading time8 min
Views44K
Вдохновлённый серией постов «Теория радиоволн», я решился на аналогичный пост о системах спутникового позиционирования. Я работаю в структуре, которая занимается обеспечением функционирования системы ГЛОНАСС, поэтому постараюсь рассказать о ней и её конкурентах с несколько другой точки зрения. Пост будет именно об их устройстве, попутно хотелось бы развеять несколько мифов.
Читать дальше →
Total votes 178: ↑174 and ↓4+170
Comments161

Диалоги на английском — знакомьтесь, общайтесь и повышайте уровень языка!

Reading time2 min
Views53K


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

С сегодняшнего дня выражения «языковой барьер» больше не существует. У обитателей «Саванны» на LinguaLeo.ru появилась возможность общения в формате диалогов. Вся переписка — исключительно на английском, с интересными собеседниками и только на любимые темы. Уровень языка значения не имеет.

Готовы обсудить последние новости? Тогда вперед!
Читать дальше →
Total votes 101: ↑79 and ↓22+57
Comments62

Как из болота вытягивать ITшника или об общении в стрессовых ситуациях

Reading time21 min
Views274K

Неприятности случаются… Неожиданно плохой фидбек, проблемы с заказчиком или коллегами, не повысили зарплату, странные баги, внезапный овертайм или закрытие проекта — подобные события запускают цепочку реактивных реакций:

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

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

  • Как узнать каждое состояние и предугадать следующее?
  • Как помочь выйти себе и собеседнику из цепочки?
  • Что не делать, чтобы не усугубить ситуацию?
Читать дальше →
Total votes 199: ↑186 and ↓13+173
Comments88

Практика рефакторинга в больших проектах

Reading time4 min
Views14K
Некоторое время назад я попал в геймдев, где столкнулся с проектами по 2 млн. строк кода, которые пишут десятки программистов. При таких масштабах кодобазы возникают проблемы неведомого мне ранее характера. Об одной и них я хочу вам сейчас рассказать.

Итак, представьте себе следующую ситуацию. Так уж случилось, что вам надо отрефакторить очень большой кусок кода, целую подсистему. Строк, эдак, на 200К. Причем рефакторинг явно выглядит очень крупным, затрагивающим базовые концепции, по которым построена ваша подсистема. Фактически надо переписать всю архитектуру, сохранив бизнес логику. Такое бывает, если, например, вы сделали один проект и у вас впереди новый, и вы хотите в нём исправить все ошибки прошлого. Допустим, по первым прикидкам, на рефакторинг надо месяца 2, не меньше. В процессе рефакторинга всё должно работать, в том числе нельзя мешать другим программистам добавлять новые фичи и чинить баги в подсистеме. Часто такой рефакторинг бывает насколько сложен, что совершенно невозможно замерджить старый код в новый, а также невозможно выкатить результат по частям. Фактически вам надо заменить двигатель самолёта на лету.

Примеры из практики, как моей, так и моих коллег:
  • Переделать всю работу с базой данных с чистого JDBC на Hibernate.
  • Переделать архитектуру сервиса с отсылки-приёмки сообщений на удалённый вызов процедур (RPC).
  • Полностью переписать подсистему трансляции XML файлов в рантайм объекты.


Что делать? С какой стороны подойти к проблеме? Ниже представлен набор советов и практик, которые нам помогают справиться с этой проблемой. Сначала более общие слова, а потом конкретные методики. В общем-то ничего сверхъествественного, но кому-то может помочь.
Читать дальше →
Total votes 55: ↑50 and ↓5+45
Comments51

Искусство переговоров — это просто бизнес, ничего личного

Reading time11 min
Views56K
Неожиданным результатом публикации предыдущей статьи стало то, что многие из моих знакомых, коллег и друзей прочитали указанную в ней книгу. За этим последовали интересные дискуссии в скайпе. Я понял, что люди часто рассматривают один и тот же вопрос под разными углами и делают выводы отличные от моих, но не менее ценные. Данный пост написан не только с целью поделиться знаниями и опытом освоения искусства переговоров, но и с надеждой на то, что с помощью читателей мне откроются идеи, которых самому узреть не удалось.

Итак, сегодня я хочу поговорить о книге профессора Гэвина Кеннеди «Договориться можно обо всём» и о том, как навык ведения переговоров помогает в профессиональной деятельности и повседневных активностях. Саму книгу я прочитал довольно давно, но только сейчас накопилось достаточное количество ярких примеров того, что указанные в ней практические советы эффективны и действуют почти безотказно.

Читать дальше →
Total votes 150: ↑143 and ↓7+136
Comments61

Понимаем декораторы в Python'e, шаг за шагом. Шаг 1

Reading time6 min
Views440K

На Хабре множество раз обсуждалась тема декораторов, однако, на мой взгляд, данная статья (выросшая из одного вопроса на stackoverflow) описывает данную тему наиболее понятно и, что немаловажно, является «пошаговым руководством» по использованию декораторов, позволяющим новичку овладеть этой техникой сразу на достойном уровне.

Итак, что же такое «декоратор»?


Впереди достаточно длинная статья, так что, если кто-то спешит — вот пример того, как работают декораторы:
def makebold(fn):
    def wrapped():
        return "<b>" + fn() + "</b>"
    return wrapped
 
def makeitalic(fn):
    def wrapped():
        return "<i>" + fn() + "</i>"
    return wrapped
 
@makebold
@makeitalic
def hello():
    return "hello habr"
 
print hello() ## выведет <b><i>hello habr</i></b>

Те же из вас, кто готов потратить немного времени, приглашаются прочесть длиииинный пост
Total votes 119: ↑106 and ↓13+93
Comments39

Функциональное и экономическое сравнение российских операторов предоставляющих облачные услуги

Reading time12 min
Views16K

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

Итак, операторы, предоставляющие облачные услуги, с которыми велась данная работа:
Читать дальше →
Total votes 83: ↑75 and ↓8+67
Comments69

Централизованный syslog

Reading time6 min
Views44K
Привет. В виду растущего количества серверов которые админю, и всяких других девайсов (роутеры, IP телефоны и тд.) в своей IT инфраструктуре, появилась необходимость собирать логи в одном месте и иметь более-менее читабельный интерфейс для их вывода. Возможно я изобретаю велосипед, но в то время не удалось нагуглить по-быстрому чего нибудь подходящего, да и самому захотелось что нибудь сотворить.
Читать дальше →
Total votes 32: ↑29 and ↓3+26
Comments51

Срочная инвентаризация. Или хочу всё знать

Reading time7 min
Views219K
Захотелось поделится с хабросообществом парой способов провести инвентаризацию техники быстро и без особых усилий. Сподвигла меня вот эта статья, но как сторонник UNIX-way я расскажу способы сделать всё то же самое и даже больше без необходимости окружать себя гомогенной сетью из одинаковых рабочих станций или привязки к одной технологии.

Что мы хотим?


Мы хотим сделать перепись имеющегося оборудования в зависимости от требований руководства или наших собственных порывов обладать исчерпывающей информацией о своих владениях.
Я не буду претендовать на исчерпывающее руководство, но пару быстрых способов я подскажу.
Читать дальше →
Total votes 35: ↑29 and ↓6+23
Comments34
2

Information

Rating
Does not participate
Date of birth
Registered
Activity