Pull to refresh
28
0
Илья @Krofes

QA Engineer

Send message

Используйте голову

Reading time8 min
Views26K
Какой главный инструмент работы айтишника? Компьютер? Я думаю иначе. Прежде всего мы работаем головой. А как работает мозг? Почему-то об этом нам не рассказывают в школе, университете и на работе, или рассказывают очень мало. Чтобы работать эффективно, нужно не только уметь прекрасно пользоваться необходимым программным обеспечением, но и знать, как настроить свой мозг на работу.

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

Доступен черновик Programming Windows Phone 7 Series

Reading time1 min
Views933
image

Узнаете это довольное лицо? Да это же старый добрый Чарльз Петцольд. Есть еще порох в пороховницах, осенью выходит его новая книга на актуальную тему Programming Windows Phone 7 Series. Уже доступна бесплатная черновая версия размеров 153 страницы и 6 глав:
Читать дальше →

Как начать программировать с использованием WPF или Silverlight: Путь обучения для новичков

Reading time4 min
Views47K
Итак, вы новичок в WPF или Silverlight и желаете знать с чего вам начать? Здесь описан мой путь изучения “Как начать с WPF и Silverlight”. Я предполагаю, что вы знаете что из себя представляют эти технологии (на высоком уровне), но не знаете как использовать их.
Читать дальше →

Артефакты, необходимые для тестирования

Reading time3 min
Views121K
Дисклаймер. Данная статья не является претензией на объективность, а отражает только мое сугубо личное мнение. Также прошу обратить внимание на то, что мое мнение не является статичным и может меняться. Статья написана только для того, чтобы не отвечать много раз на одни и те же вопросы, а просто дать ссылку.

Итак попробую ответить на вопрос: какие артефакты необходимы для обеспечения процесса тестирования (имеется ввиду разрабатываемые самим тестировщиком).
Читать дальше →

Добавляем свои поисковые системы

Reading time2 min
Views53K
Что мне нравится в Google Chrome, так это возможность очень удобной работы с разными поисковыми системами: ввел ключевое слово, пробел и печатаешь запрос. Однако этой функцией пользуются на 100% далеко не все.

Сегодня я хочу рассказать, как добавлять свои «поисковые системы» (это, на самом деле, могут быть не только поисковые системы) и тем самым повысить производительность работы в Интернете.

4.75 КБ

Где это все настраивается? Смотрим картинку:
Читать дальше →

Виды тестирования и подходы к их применению

Reading time5 min
Views272K
Из институтского курса по технологиям программирования я вынес следующую классификацию видов тестирования (критерий — степень изолированности кода). Тестирование бывает:
  • Блочное (Unit testing) — тестирование одного модуля в изоляции.
  • Интеграционное (Integration Testing) — тестирование группы взаимодействующих модулей.
  • Системное (System Testing) — тестирование системы в целом.
Классификация хорошая и понятная. Однако на практике выясняется, что у каждого вида тестирования есть свои особенности. И если их не учитывать, тестирование станивится обременительным и им не занимаются в должной мере. Здесь я собрал подходы к реальному применению различных видов тестирования. А поскольку я пишу на .NET, ссылки будут на соответствующие библиотеки.
Подходы к тестированию

Тестирование производительности ПО

Reading time1 min
Views10K
На сайте тестировщиков недавно появилась статья, которая описывает один из подходов к тестированию ПО. Я считаю, что он является наиболее правильным и разработчикам нужно обязательно взять её на вооружение при тестировании собственных продуктов.

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

Попутно хочу задать вопрос разработчикам, которые читают Хабр: а вы тестируете свои программные продукты на производительность? Какой алгоритм для этого испольуете? Инструментарий?

Первые тесты желательно проводить на са...

Бизнес 160 байт. Часть вторая, техническая

Reading time5 min
Views11K
В первой части намеченной серии статей мы рассмотрели некоторые общие вопросы работы с СМС-сообщениями, теперь с небольшой задержкой публикуем очередную статью. Итак, вспомним: сообщения могут быть входящими и исходящими, за обработку сообщений отвечают СМС-центры, есть возможность подменить отправителя сообщения.

Начнем вторую часть с самого важного — с протокола. Конечно, для работы с СМС-сообщениями разработан свой протокол — SMPP (Short Message Peer-to-Peer Protocol), на котором и происходит общение между СМС-центрами. Разработкой протокола занимается организация SMSforum, публикующая его спецификации. Для работы с этим протоколом существует целый ряд библиотек на разных языках [1][2][3], но наиболее популярным open source решением является сервер kannel, который реализует все основные аспекты работы с СМС и одновременно является WAP-шлюзом. СМС-центры могут передавать сообщения не только через SMPP, но и через любой другой протокол — HTTP, OSCAR, XMPP или почтовый протокол для отправки на электронную почту. Для работы с различными веб-проектами используется трансформация в HTTP-протокол, наиболее удобный и привычный для веб-разработчика. Поэтому, как было верно отмечено в комментариях к первой части, знать и использовать SMPP разработчику вовсе не обязательно.
Читать дальше →

Бизнес 160 байт. Часть первая, вводная

Reading time3 min
Views13K
СМС-сообщения не только являются удобным и простым средством связи, но и открывают обширные возможности для бизнеса. Только в России рынок СМС-платежей составляет 300 миллионов долларов, и это при максимальном размере сообщения в 160 байт.

Если вы еще не видели предложения отправить СМС по телевизору, в Интернете или хотя бы в спаме по ICQ, то скорее всего вы живете на необитаемом острове без всех прелестей современной жизни. Полагаю, немногим из вас повезло решить квартирный вопрос с подобным размахом, разделавшись заодно и с невсегда полезными плодами цивилизации. Тем не менее человеческие познания о дополнительных возможностях СМС довольно ограничены, и по сему давайте попробуем развеять некоторые мифы, почерпнув заодно много интересной информации.

Начнем с простого. Что такое СМС замечательно описывает статья в Википедии, там есть и история, и технические детали, так что не будем повторяться. Из этой статьи, однако, нам важно запомнить, что СМС могут быть двух типов — отправленные с телефона (MO — Mobile Originated) и полученные на него (MT — Mobile Terminated), далее мы встретим эти термины и в других смыслах.

При помощи СМС-протокола мы можем:
Читать дальше →

Тестирование пользовательского интерфейса

Reading time1 min
Views7.4K
Речь пойдет об инструменте, который с сегодняшнего дня помогает мне тестировать пользовательский интерфейс. Простой, как угол дома, но экономит столько времени!

Уверен, что многие это знают, но для меня это стало просто откровением. Своего рода панацея. Даже решился записать свой первый видеокаст:



PS. Открыл топик для всех. Думаю людям с других платформ тоже любопытно, чем нас балуют инструменты для разработки.

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

GTM познал юнит-тесты для UI
Нативные инструменты из iPhone SDK (Unit Testing Applications)

WPF, Поле ввода с подсказкой

Reading time8 min
Views28K
Иногда бывает полезно создать эффект для поля ввода, выводящий подсказку в тот момент, когда текст отсутствует.
Например, вот такой:
Пример поля ввода с подсказкой

Это полезно в те моменты, когда надо сэкономить место, выделить особое поле или просто лишний раз дать подсказку совсем ничего не понимающим пользователям.
Сделаем, используя WPF?

Технический писатель: ты мне — я тебе

Reading time4 min
Views18K
Итак, чем же может заниматься технический писатель? Традиционно технические писатели участвуют в создании:

  • “онлайн-справок” для помощи в использовании программного продукта, пример такой справки — все, что появляется в любой программе по нажатию кнопки “Help”;


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

Знакомство с NDepend

Reading time4 min
Views9.3K
Проблема связанности в архитектуре приложений в последнее время получила очень много огласки, и породила большое количество фреймворков DI-характера и приложений для статического разбора и «умного рефакторинга». Об одном таком приложении под названием NDepend я и хочу рассказать.

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

Структуры данных: бинарные деревья. Часть 2: обзор сбалансированных деревьев

Reading time6 min
Views247K
Первая статья цикла

Интро


Во второй статье я приведу обзор характеристик различных сбалансированных деревьев. Под характеристикой я подразумеваю основной принцип работы (без описания реализации операций), скорость работы и дополнительный расход памяти по сравнению с несбаланчированным деревом, различные интересные факты, а так же ссылки на дополнительные материалы.
Читать дальше →

Алгоритмы на графах — Часть 2: Сортировка сетей

Reading time5 min
Views23K

Пролог

В продолжение опубликованной на выходных статьи.

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

Структуры данных: бинарные деревья. Часть 1

Reading time6 min
Views380K

Интро



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

В своих статьях я буду приводить примеры кода сразу на двух языках: на Java и на Haskell. Благодаря этому можно будет сравнить императивный и функциональный стили программирования и увидить плюсы и минусы того и другого.

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

MonoTouch: пишите для iPhone на C# и Silverlight

Reading time1 min
Views8K
image
Доступна регистрация на preview opensource инструмента MonoTouch, который позволит вам писать для iPhone программы на C#. Далее перевод с официального сообщения:
«MonoTouch — это статический компилятор для C# и других статических CIL-языков, который позволит разработчикам использовать C# для разработки приложений для iPhone с полной поддержкой имеющегося API Apple для разработки iPhone-приложений.

При написании приложений будут доступны сборка мусора, многопоточность и другие CLR-фичи, но вместе с тем будут и ограничения того, что Mono сможет сделать на iPhone из-за ограничений безопасности платформы. Здесь вы сможете найти больше информации про эти ограничения.

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

MonoTouch — это коммерческий продукт, основанный на open source проекте Mono и после релиза будет лицензирован по принципу „одна лицензия на разработчика“. Мы планируем запустить MonoTouch в последней неделе сентября 2009 года.»

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

Silverlight для iPhone — это следствие развития продукта MonoTouch, роадмап которого предполагает выпуск компилятора Silverlight для iPhone на базе платформы.

От себя добавлю, что дело Mono живет и побеждает, вопреки всем завистникам. Поддержка iPhone — это крупная победа, которая к тому же принесет на iPhone поддержку silverlight, чему я особенно рад.

Перевод: разработка для Android vs Windows Mobile

Reading time7 min
Views6.6K

Вступление переводчика


Занимаясь разработкой для платформы Windows Mobile в течение последних двух лет, я не мог не слышать о новых платформах, таких как Apple IPhone, Google Android, Palm Pre. Какое-то время назад я натолкнулся на блог разработчика Windows Mobile, который вел свой блог в достаточно издевательском стиле, пародируя «30 days of Windows Mobile», его посты из той серии назывались «30 Days of Bitching about .NET CF», что переводится как «30 дней сплетен за спиной у .NET CF». В этих постах он описывал подводные камни, с которыми сталкивался при разработке.

Несколько месяцев назад этот блоггер приобрёл HTC G1 и погрузился в мир Android девелопмента. Выпустив пару приложений на Android Market, Кушик Дутта (а именно так его зовут) решил написать сравнительный анализ опыта разработки для Windows Mobile vs Android.
Читаем перевод

Моя объединенная теория багов

Reading time6 min
Views6.3K

Этот перевод является продолжением серии статей про тестирование:

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


Я думаю, что баги можно разделить на три базовые категории:
  1. Логические. Логические баги наиболее популярны и часто встречающиеся. Это ваши if'ы, циклы и другая подобная логика в коде. (Мысли: это работает неверно).
  2. Баги взаимодействия. Баг взаимодействия — когда два разных объекта неправильно взаимодействуют между собой. Например, выход одного объекта является не тем, что ожидает следующий объект в цепочке. (Мысли: данные к месту назначения пришли испорченными).
  3. Баги отображения. Баг отображения — когда вывод (обычно некоторый пользовательский интерфейс, UI) отображается некорректно. Ключевой момент — в том, что это человек определяет, что есть правильно, а что — нет. (Мысли: это «выглядит» неправильно)

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

Программирование потоков под Compact Framework

Reading time2 min
Views2.2K
Наверно, каждый человек, кто программирует под .NET Framework или Compact Framework, хоть раз в жизни сталкивался с потоками (Thread). И часто возникала проблема запуска функции с вызовом статического метода, в особенности это касается тех методов, где происходит изменение контролов формы. В этой статье я расскажу, как решить данную проблему.
Далее...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity