Обновить
0
0
Сергей Чудаков@CSRedRat

DevOps

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

Perspex — кросплатформенный UI-фреймворк с XAML и биндингами

Время на прочтение2 мин
Охват и читатели28K
TL;DR: кроссплатформенный клон WPF. От других попыток сделать нечто с XAML-ом выгодно отличается наличием полностью своей системы отрисовки со сменными бакэндами (сейчас поддерживается Direct2D и Cairo). В наличии инспектор, дизайнер (см. видео). Биндинги сделаны на стероидах под названием ReactiveExtensions (старый стиль тоже можно использовать). Умеет работать с Windows/Linux/MacOS, поддержку мобильных платформ планируется добавить в начале следующего года посредством отрисовки через MonoGame.


Читать дальше →

У нас проблемы с промисами

Время на прочтение16 мин
Охват и читатели251K
Разрешите представить вам перевод статьи Нолана Лоусона «У нас проблемы с промисами», одной из лучших по теме из тех, что мне доводилось читать.

У нас проблемы с промисами


Дорогие JavaScript разработчики, настал момент признать это — у нас проблемы с промисами.

Нет, не с самими промисами. Их реализация по спецификации A+ превосходна. Основная проблема, которая сама предстала передо мной за годы наблюдений за тем, как многие программисты борются с богатыми на промисы API, заключается в следующем:

— Многие из нас используют промисы без действительного их понимания.

Если вы мне не верите, решите такую задачку:

Вопрос: В чем разница между этими четырьмя вариантами использования промисов?

doSomething().then(function () {
  return doSomethingElse();
});

doSomething().then(function () {
  doSomethingElse();
});

doSomething().then(doSomethingElse());

doSomething().then(doSomethingElse);

Узнайте решение задачи

Почему писать скрипты для борьбы с «браузером Амиго» — зло?

Время на прочтение9 мин
Охват и читатели80K
Прочитав пост про удаление ненужного софта мне в который раз стало очень грустно. Автор предлагает «эффективное решение» по избавлению от всякого нежелательного софта, вроде упомянутого «амиго». И если некоторые части скрипта еще можно назвать, ну хотя бы безвредными, то удаление и запрет на запись "%username%\AppData\Local\Apps" выглядит как откровенный саботаж. Плохо еще и то, что такой или аналогичный по механике «полезный скрипт» некоторые всерьез считают действенной мерой. Это далеко не первая статья, от которой у меня сводит скулы, вижу что многие не понимают с чего вообще нужно начинать настройку безопасности в Windows-среде.

Представляю читателям мое видение списка минимально необходимых настроек и действий (в первую очередь для Windows-домена), чтобы никогда не видеть непонятных браузеров и свести риск вредоносного ПО к абсолютному минимуму. Некоторые описанные решения могут показаться спорными, и мало того, они таковыми и являются. Но заранее прошу, увидев первое предложение какого-то пункта, не спешите писать комментарий, прочитайте мысль до конца, возможно у вас отпадут вопросы.
Почему я не знаю как выглядит браузер Амиго?

Список команд чата Skype

Время на прочтение6 мин
Охват и читатели695K
...Skype — это дьявольски хитрая программа, написанная бесспорно талантливыми людьми...Крис Касперски

Доброго времени суток!

Skype сейчас я встречаю чаще на компьютерах чем другие IM клиенты, мне он практически заменил icq, вся рабочая переписка ведется в skype, но речь пойдет не о том, что лучше или популярней. Часто бывает так, что участвуешь сразу в нескольких чатах где количество участников превышает 10, что собственно и приводит к тому, что на рабочем столе и в трее постоянно обновляется количество новых сообщений, а также уведомления в виде всплывающих сообщений, а теперь представьте что у вас 3 окна чата с друзьями, 1 с вашим боссом, другой с девушкой — все это в сумме начинает запутывать, отвлекать и порой раздражать. Хотелось бы расставить приоритеты…

Раньше я чаще всего настраивал «политику» уведомлений только через глобальные настройки программы
Случилось так, что я узнал, что в каждом окне чата skype возможно использование команд, например /alertsoff отключит уведомления для конкретного окна чата, соответственно /alertson включит их обратно.
Поискав немного я наткнулся на некое how-to, оказывается у skype чата довольно много текстовых команд, подобие IRC команд. Далее я постарался попробовать все возможные из них на двух имеющихся у меня платформах, как оказалось не все и не везде работает… Прошу под кат.

Читать дальше →

Strace

Время на прочтение7 мин
Охват и читатели133K
В течение минуты думал над заголовком, так ничего и не придумал…
Strace. Наверное нет того человека, который бы не слышал про strace. Если кто не слышал, то strace — это утилита, отслеживающая системные вызовы, которые представляют собой механизм трансляции, обеспечивающий интерфейс между процессом и операционной системой (ядром). Эти вызовы могут быть перехвачены и прочитаны. Это позволяет лучше понять, что процесс пытается сделать в заданное время. Перехватывая эти вызовы, мы можем добиться лучшего понимания поведения процессов, особенно если что-то идет не так. Функциональность операционной системы, позволяющая отслеживать системные вызовы, называется ptrace. Strace вызывает ptrace и читает данные о поведении процесса, возвращая отчет. Детали можно прочитать в вики или официальном man. Собственно вот, ну и речь конечно же о Linux. В других ОС свои аналоги.
Так вот, лично для меня strace это как последняя инстанция. Когда уже все логи просмотрены, все debug и verbose ключи включены, а причина проблем так и не обнаружена, я достаю из широких штанин запускаю strace. Есть одно но, strace это такой инструмент который вовсе не является серебряной пулей, которая тут же все покажет и расскажет. Для работы с strace требуется наличие определенных знаний и чем шире и глубже эти знания тем больше вероятность обнаружения проблемы.
В интернетах полно вводных статей, где описываются примеры запуска strace. Я же в этой статье покажу частные проблемы и их решение с помощью strace.
Читать дальше →

Функциональные тесты: Django + Selenium WebDriver и 3 варианта на Ваш выбор

Время на прочтение8 мин
Охват и читатели20K
image

«В жизни каждого Django-разработчика наступает момент, когда он решительно рвет со своим прошлым, лишенным функционального тестирования!»

Об этом и поговорим.
Читать дальше →

Test-Driven Development — телега или лошадь?

Время на прочтение10 мин
Охват и читатели85K
Test Driven Development (TDD) – неоспоримо выдающаяся техника, дающая ряд преимуществ. Прикладные разработчики, причём вне зависимости от масштаба проекта и количества вовлеченных специалистов, в широкой массе не следуют TDD. Но есть и ярые сторонники такого подхода, причём они готовы апеллировать не только к здравому смыслу или производственной необходимости, но и на безоговорочно успешные примеры его внедрения. Одним из таких апологетов является Александр Люлин, который не только рассказывает о степени позитивного влияния TDD на разработку, но и делится экспертизой внедрения и неукоснительного каждодневного применения этой техники вплоть до исходных кодов и примеров сценариев (в своем блоге). Однако главный тормоз на пути следования принципам TDD стоит, что предсказуемо, набор чисто психологических установок. В режиме «жёсткого разговора» мы пообщаемся с Александром на тему необходимости Test Driven Development.

Test Driven Development – попытка следования моде? Слепое копирование чужих подходов?

Давайте «сразу определимся». Я не использую TDD в его классическом понимании. И не надо здесь цитировать «википедию»! Вообще, вряд ли кто-то из профессионалов рассматривает энциклопедические статьи в качестве руководства к действию. Мы свой подход «выстрадали» в рамках реализации успешного проекта, поэтому за нами реальный опыт, а не «тупое использование чужих идей». Скорее, мы используем синтез из TDD и собственных представлений о том, как нужно разрабатывать ПО. Даже если эти «внешние идеи» исходят от очень умных людей, их следует критически осмыслить и адаптировать к реальной компании, существующей команды и стратегии развития и обеспечения качества. Но я далее буду говорить «TDD», имея ввиду тот процесс “разработки через тестирования», который близко соотносится с энциклопедическим Test Driven Development, но идёт гораздо дальше него.

TDD — это попытка поставить всё с ног на голову. В классике инженерного дела сначала создаётся установка/техническая система/машина/агрегат. Конечно, методика испытаний имеется в виду при проектировании… но всё-так, программисты – это какой-то особый вид инженеров? Генетически ущербных? Сами себя таким не считаете?


Читать дальше →

Как развивать облачный сервис

Время на прочтение2 мин
Охват и читатели4.3K
Аналитические отчеты по теме говорят о том, что прямой корреляции размера бизнеса и степени использования облачных сервисов пока не наблюдается. В этом есть логика: облако — это универсальный инструмент, который позволяет компаниям оптимизировать свои бизнес-модели.

Читать дальше →

Философия ценообразования для облачных сервисов

Время на прочтение3 мин
Охват и читатели4K
Мы уже неоднократно делились практическими кейсами оптимизации нашей собственной ИТ-инфраструктуры, но совсем не затрагивали тему ценообразования. Попробуем начать разговор на эту тему с краткого рассуждения применительно к сфере облачных сервисов.

Читать дальше →

Как замена UI-элемента может повлиять на выручку

Время на прочтение2 мин
Охват и читатели13K
IaaS должен быть доступным даже для тех, кто не сталкивался с ИТ-сферой. Для этого мы оптимизируем служебные сервисы и делимся своим опытом здесь. Пара примеров:


Сегодня мы рассмотрим классический usability-кейс, которым поделился Джаред Спул (Jared Spool).

Читать дальше →

4 must-have-элемента тестирования ПО

Время на прочтение4 мин
Охват и читатели19K
29 сентября «Универсариум» запустил курс «Основы тестирования ПО». Надо отдать должное Алексею Петрову – автору курса, директору по качеству Почта@Mail.ru. Он в течение 17 лекций планомерно приводит слушателя к мысли о том, что тестирование – это не просто (а, если честно, то вообще не) сверка реализованного кода со спецификацией. Это процесс, сопровождающий продукт от самой идеи его создания почти до полного исчезновения и прекращения использования. Скажем больше – это целая философия, конечной целью которой является создание Продукта Вашей Мечты.

image

Сегодня мы раскроем основные пункты тестирования, без которых невозможно создание качественного продукта:
Читать дальше →

Как быстро и бесплатно получить доступ к windows на osx или linux

Время на прочтение2 мин
Охват и читатели48K
Среди разработчиков нередка ситуация, когда основной рабочий компьютер это mac или linux, но время от времени нужен доступ к windows: запустить специфичную программу, проверить верстку в internet explorer, поставить триальную версию corel draw для конвертации в .svg.

“Классический” способ решения этой задачи — установить одну из популярных виртуальных машин, скачать 90-дневную триал версию windows и установить ее в виртуальноый машине. Но у этого способа есть один большой минус — о необходимости деражать под рукой такую виртуальную машину разработчик обычно вспоминает в тот момент когда “о, тут нужна винда!”. А ставится windows не то чтобы очень быстро. И 90-дневный триал, что характерно, имеет обыкновение заканчиваться в самый неподходящий момент. Даже с rearm. Недавно Microsoft пошла на встречу разработчикам и сделала интересный сервис, позволяющий очень быстро и бесплатно получить доступ к нужной версии windows.
Подробности - под катом

Как не потерять данные в PostgreSQL

Время на прочтение5 мин
Охват и читатели65K
PostgreSQL предлагает несколько вариантов резервирования данных. Обо всех них уже рассказано не раз, в том числе и на хабре. Но в основном рассказывается про технические особенности методов. Я же хочу постараться рассказать про общую стратегию резервного копирования, объединив все методы в эффективную систему, которая поможет вам сохранить все данные и уменьшить число погибших нервных клеток в критических ситуациях.
Вводные данные: сервер PostgreSQL 9.2, База размером >100Gb.
Читать дальше →

Третий лишний: как мы реализовали сбор почты с использованием OAuth 2.0

Время на прочтение9 мин
Охват и читатели18K


«Может тебе еще и ключ от квартиры, где деньги лежат?» — примерно так выглядит нормальная реакция человека, у которого посторонний сервис требует пароль от основной почты. Тем не менее, большинству из нас регулярно приходится сообщать пароль сторонним сервисам. Сегодня я хочу рассказать о том, как мы реализовали процедуру авторизации при сборе писем с наших ящиков через OAuth 2.0, тем самым избавив пользователей Mail.Ru от необходимости доверять «ключи» от своей почты третьей стороне.
Читать дальше →

Как получить Blue Card или вид на жительство в Германии и сколько это стоит

Время на прочтение4 мин
Охват и читатели13K
Поскольку вопрос получения разрешения на работу всегда очень важен, мне удалось по знакомству выйти на немецкую фирму, которая оказывает услуги релокации специалистам, приезжающим на работу в Германию. Предлагаю вашему вниманию следующую информацию включая примерные сроки и тарифы, Сроки и тарифы примерные, потому что как правило все случаи индивидуальны и очень часто окончательное решение за должностным лицом, которое рассматривает заявление.
Читать дальше →

Взаимодействие bash-скриптов с пользователем

Время на прочтение4 мин
Охват и читатели149K
Любой приказ, который может быть неправильно понят, понимается неправильно (Армейская аксиома)

Редкий скрипт лишен необходимости общения с пользователем. Мы ожидаем, что программа (утилита) будет выполнять то, что нам от нее хочется. Следовательно, нужны инструменты влияния на них, да и программа сама должна объяснить, как продвигается ее работа.
Данным топиком я хочу рассмотреть несколько способов взаимодействия bash-скриптов с пользователем. Статья рассчитана на новичков в скриптинге, но, надеюсь, люди опытные тоже найдут что-нибудь интересное для себя.
Итак, приступим...

Подпольный рынок кардеров. Перевод книги «KingPIN». Глава 10. «Cris Aragon»

Время на прочтение11 мин
Охват и читатели22K
Кевин Поулсен, редактор журнала WIRED, а в детстве blackhat хакер Dark Dante, написал книгу про «одного своего знакомого».

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

Начало и план перевода тут: «Шкворень: школьники переводят книгу про хакеров».

Логика выбора книги для работы со школьниками у меня следующая:
  • книг про хакеров на русском языке мало (полторы)
  • книг про кардинг на русском нет вообще (UPD нашлась одна)
  • Кевин Поулсен — редактор WIRED, не глупый товарищ, авторитетный
  • приобщить молодежь к переводу и творчеству на Хабре и получить обратную связь от старших
  • работать в спайке школьники-студенты-специалисты очень эффективно для обучения и показывает значимость работы
  • текст не сильно хардкорный и доступен широкому кругу, но затрагивает вопросы информационной безопасности, уязвимости платежных систем, структуру кардингового подполья, базовые понятия инфраструктуры интернет
  • книга иллюстрирует, что «кормиться» на подпольных форумах — плохо заканчивается

Кто хочет помочь с переводом других глав пишите в личку magisterludi.

(По поводу очередности мне задают много вопросов и советуют публиковать главы по очереди. Я бы тоже так хотел, но увы, так как работаю с с множеством людей, которые, например, уже перевели 80% главы, а потом у них случается форсмажор на 2 недели. С одной стороны на них давить не хочется, с другой стороны откладывать публикацию тех людей, которые перевели уже следующую главу — не совсем честно по отношению к ним. Поэтому, то что есть, публикую.)

Глава 10. «Cris Aragon»

(за помощь с переводом спасибо хабраюзеру Find_The_Truth)

Крис Арагон
imageМакс встретил своего будущего друга и напарника по криминалу, Криса Арагона, в маленькой Италии Сан-Франциско — Норт Биче, где обшарпанные стрип-бары и гадалки сосуществовали с приятными, безвкусными пекарнями и летниками с горячей пастой. Встреча была назначена в кафе неподалеку от книжного магазина Сити Лайтс, колыбели поколения битников в 50х годах, по направлению к кафе Везувио, стены которого украшали росписи с винными бутылками и символами мира. Ниже по холму, над финансовым районом, упираясь в небо, стояла Пирамида Трансамерика.

Норминтон представил Криса Максу под приглушенные стуки кофейных чашек и блюдец. Эти двое поладили сразу. Сорокаоднолетний Крис был студентом восточной духовной школы, вегетарианцем, который занимался йогой для концентрации ума. Макс с его замашками хиппи, казалось, нашел родственную душу. Они даже читали общие книги. И, как и Макс, Крис неоднократно имел проблемы с полицией.
Читать дальше →

Предотвращение ошибок: Desk Check и стартовая встреча

Время на прочтение4 мин
Охват и читатели3.5K


При работе над пользовательскими историями (user story) очень легко допустить оплошность. Если не выявить ошибку до начала разработки, желаемого результата можно не получить вовсе. В голове аналитика детали проекта просты и понятны, но на практике не всегда могут быть адекватно выражены в виде user story.

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

zsh и bash: что выбрать

Время на прочтение5 мин
Охват и читатели122K
Для тех, кто ещё не знаком с Z Shell, а так же тем, кто находится на распутье в выборе шелла для повседневных задач, посвящается эта заметка.
Надо сказать, о преимуществах zsh написано уже достаточно много материалов. Что касается этой скромной заметки, она призвана показать читателю возможности обеих оболочек на конкретных примерах конфигурационных файлов. Упор сделан таки на zsh, ибо в понимании автора bash, как правило, пригоден к использованию изначально, zsh без собственных настроек лучше не использовать вовсе.
Полные конфигурационные файлы автора можно забрать с github.
Читать дальше →

15 тривиальных фактов о правильной работе с протоколом HTTP

Время на прочтение7 мин
Охват и читатели249K
Внимание! Реклама! Пост оплачен Капитаном Очевидность!

Ниже под катом вы найдёте 15 пунктов, описывающих правильную организацию ресурсов, доступных по протоколу HTTP — веб-сайтов, «ручек» бэкенда, API и прочая. «Правильный» здесь означает «соответствующий рекомендациям и спецификациям». Большая часть ниженаписанного почти дословно переведена из официальных стандартов, рекомендаций и best practices от IETF и W3C.



Вы не найдёте здесь абсолютно ничего неочевидного. Нет, серьёзно, каждый веб-разработчик теоретически эти 15 пунктов должен освоить где-то в районе junior developer-а и/или второго-третьего курса университета.

Однако на практике оказывается, что великое множество веб-разработчиков эти азы таки не усвоило. Читаешь документацию к иным API и рыдаешь. Уверен, что каждый читатель таки найдёт в этом списке что-то новое для себя.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Пермь, Пермский край, Россия
Дата рождения
Зарегистрирован
Активность