Pull to refresh
37
0
Kirill @gatech

User

Send message

SketchFlow: прототипирование интерфейсов по-новому

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

Как вы, наверное, замечали, прототипы могут быть представлены в разнообразных формах: от каких-то набросков на салфетке, до дизайна созданного в профессиональном пакете, который выглядит очень близко к желаемому результату. Несмотря на такое количество вариантов, мы можем выделить два основных типа прототипов: малодостоверные (Low fidelity) и высокодостоверные (High fidelity ). Малодостоверный прототип – это простое описание, набросок на рисовальной доске или скетч, которые приблизительно показывают кусочек пользовательского интерфейса. Пример такого прототипа представлен на рис. 1.


Рис. 1 – Пример малодостоверного прототипа, который демонстрирует форму входа в систему

Читать дальше →
Total votes 128: ↑108 and ↓20+88
Comments71

Если хотите стать программистом

Reading time2 min
Views23K
Хочу опубликовать одну старую статью, которую я уже как то публиковал на одном из сайтов. Сразу скажу — авторство не мое, статья древняя, но актуальная.
Благодаря этому уникальному упражнению, вы, совершенно не зная ни одного языка программирования, сможете почувствовать себя настоящим программистом-профессионалом!
Поехали
Total votes 147: ↑108 and ↓39+69
Comments88

Я — специалист, или «водить машину и лечить людей умеет каждый»

Reading time5 min
Views13K
Жена готовит яичницу на завтрак.
Вдруг на кухну вбегает муж:
— Осторожно, — он говорит, — ОСТОРОЖНО! Положи больше масла!
Боже мой! Ты жаришь очень много яиц сразу! СЛИШКОМ МНОГО!!!
Переверни их! ПЕРЕВЕРНИ ИХ ПРЯМО СЕЙЧАС!!! Нужно больше масла! О Боже мой!
ГДЕ нам взять БОЛЬШЕ МАСЛА? Сейчас они ПРИЛИПНУТ!!!
Осторожно! ОСТОРОЖНО! Я сказал — Осторожно!
Ты НИКОГДА меня не слушаешь когда делаешь яичницу!!! НИКОГДА!!!
Переверни их! БЫСТРО!!! Да ты что, психованная?!!!
Ты совсем спятила?!!! Не забудь посолить!
Ты всегда забываешь посолить! Используй СОЛЬ!
ИСПОЛЬЗУЙ СОЛЬ! С-О-О-О-О-ЛЬ!!!

Жена удивленно смотрит на мужа:
— Да что с тобой сегодня?!
Ты думаешь я не в состоянии приготовить элементарную яичницу?
Муж спокойно объясняет:
— Я хотел показать тебе, что Я испытываю, когда вожу машину…


Навеяно вот этим постом «95% сделано».
За четыре года работы фрилансером (переводчик и программист) у меня только один или два раза были недовольные заказчики.

Что для этого нужно делать
Total votes 129: ↑98 and ↓31+67
Comments95

Как правильно говорить с «трудным» клиентом

Reading time3 min
Views62K
Многим из нас время от времени попадаются «привередливые», «неадекватные» и «трудные» заказчики, партнёры, начальники, подчинённые и т.д. В этом посте я расскажу:
  • Как добиться своего в конфликтных ситуациях
  • Как вести разговор, не вызывая негативной реакции собеседника
  • Как держать конфликтную ситуацию под контролем
  • Как не допустить развития конфликта и как его устранить
Читать дальше →
Total votes 96: ↑87 and ↓9+78
Comments81

«Скрытые» полезности С#

Reading time8 min
Views8.2K
Предлагаю мой вольный перевод вопроса с stackoverflow, который мне показался полезным и сидит в фаворитах. Что-то я взял с MSDN (в основном вырезки из русской редакции), что-то -с блогов.
Все мы, С# разработчики, знаем базовые комманды C#. Я имею ввиду объявления, условия, циклы, операторы и т.д.
Некоторые из нас знают даже про Generics, anonymous types, lambdas, linq,…

Но, каковы реально скрытные возможности и трюки C#, про которые даже фанаты и эксперты не всегда знают?
Составим список некоторых из них:
Total votes 83: ↑62 and ↓21+41
Comments56

Объединение пропускной способности двух интернет каналов и простая отказоустойчивость

Reading time5 min
Views83K
Есть у меня своя домашняя сеть, с linux сервером, и подключена она к интернет с помощью беспроводного соединения — на крыше антена и роутер, к серверу подключено витой парой. Все вобщем то неплохо, канал с гарантированой полосой в обоих направлениях, постоянный IP адрес, довольно надежный — падает редко. Но вот есть у него один минус — цена кусается.
Ценовая политика провайдера построена так, что для того, чтоб увеличить скорость в два раза — платить тоже надо в два раза больше. А скорости хочется больше! И надежности тоже — как то во время сильных заморозков роутеру стало «холодно» и интернета вечером и ночью небыло.
Поэтому задумал я провести домой второй интернет-канал, выбар пал на одного известного на Украине провайдера, предоставляющего доступ по ADSL. У него и тарифы недорогие и модем ADSL стоит недорого. Так я и сделал, подключился, воткнул ADLS модем в свич — все работает. Но от старого доброго беспроводного канала отказываться мне нехотелось, поэтому задумал я сделать так, чтоб интернет трафик шел сразу по обеим каналам, так, чтоб я мог воспользоваться суммарной пропускной способностью. Да еще и чтоб при падении одного канала всю нагрузку на себя брал другой.

Читать дальше →
Total votes 105: ↑100 and ↓5+95
Comments106

Три с половиной уровня структурности проекта

Reading time3 min
Views2.9K
Недавно я для себя открыл простую модель, которая обьясняет, какие инструменты нужны менеджеру и команде для ведения и управления проектами.

Все проекты можно разделить на три уровня, по потребности в структуризации и формализации потоков информации и команд. Почему именно это лежит в основе модели? Потому что структура проекта, на мой взгляд, это первое что следует за «стилем управления» и другими неформализируемыми человеческими вопросами.

Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments54

Прогрессивные технологии, как способ выжать из сервера максимум

Reading time5 min
Views12K

Вступление


Просто красивый rrdtool =)
Забавно, но когда программист разрабатывает какой-либо продукт, он редко задумывается над вопросом могут ли на одну кнопку в один момент времени нажать одновременно 2000 человек. А зря. Оказывается могут. Как ни странно но большинство движков, написанных такими программистами, очень плохо ведут себя под большими нагрузками. Кто бы подумал, а всего один лишний INSERT, не проставленный index, или кривая рекурсивная функция могут поднять load averages чуть ли не на порядок.

В этой статье я опишу как мы, разработчики проекта, сумели выжать из одного сервера с Pentium 4 HT / 512Mb RAM, максимум, держа одновременно 700+ пользователей на форуме и 120,000 на трекере. Да, проект этот — торрент трекер. Предлагаю сразу оставить в стороне разговоры о копирайтах и правах, мне это не интересно, что действительно интересно — это HighLoad.
читать дальше
Total votes 318: ↑314 and ↓4+310
Comments184

Мотивация менеджеров проектов

Reading time3 min
Views13K
Довольно много написано о мотивации программистов, и как-то маловато информации о мотивации менеджеров. Итак, тезис: в IT-аутсорсе отсутствует мотивация менеджеров проектов. Вообще.

UPD: Перенес в Менеджмент проектов. Спасибо за карму!

Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments24

Первые шаги с Unity: DI/IoC & AOP

Reading time7 min
Views70K

Введение


Если Вы когда-нибудь слышали такие слова, как IoC, DI, AoP, но не имеете четкого понимания этих терминов, надеюсь, эта статья поможет в них разораться на примере работы с Microsoft Unity контейнером.
Читать дальше →
Total votes 37: ↑33 and ↓4+29
Comments19

Cisco. Второй выпуск. Используем Packet Tracer 5.0 для моделирования сети. Скринкаст.

Reading time2 min
Views28K

Сегодня в выпуске:


Packet Tracer 5. Изучаем возможности программы.
Выпуск выполнен в виде скринкаста.
За 20 минут вы познакомитесь с основными функциями PT5.

image

На повестке дня:

Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments62

Cisco. Нулевой выпуск.

Reading time2 min
Views10K

Ура, товарищи!!



Это – нулевой выпуск колонки Cisco-любителей и Cisco-профессионалов!

image

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

Читать дальше →
Total votes 99: ↑85 and ↓14+71
Comments105

Поиск кода Google /* что нового? */

Reading time2 min
Views1K
Дмитрий Барашев, инженер Google Санкт-Петербург

«В какой же строке определяется этот метод? Их же тут тысячи! Может попробовать текстовый поиск? Это не определение, это вызов, это тоже вызов… а, вот он! Принимает параметром какой-то класс… А его где искать? В начале файла написано import com.example.*; Ну кто так делает?!»

Известно, что значительную часть своего рабочего времени программист тратит на чтение кода, своего или чужого. Как правило, чтение не ограничивается одним файлом. Требуется найти файл, в котором определен тот или иной класс или функция, требуется отыскать нужную строчку кода, и так далее. При больших объёмах исходников эта задача становится сложной, и программисты всегда мечтают о том, чтобы поиск и навигация по коду были легче. Для исходников на локальной рабочей машине можно использовать всю мощь современных сред разработки, но вот просматривать открытый код, лежащий в больших количествах в репозиториях и архивах в сети, до недавнего времени было не так-то просто.
Читать дальше →
Total votes 64: ↑54 and ↓10+44
Comments11

Процессы и потоки in-depth. Обзор различных потоковых моделей

Reading time10 min
Views117K
Здравствуйте дорогие читатели. В данной статье мы рассмотрим различные потоковые модели, которые реализованы в современных ОС (preemptive, cooperative threads). Также кратко рассмотрим как потоки и средства синхронизации реализованы в Win32 API и Posix Threads. Хотя на Хабре больше популярны скриптовые языки, однако основы — должны знать все ;)
Далее
Total votes 64: ↑62 and ↓2+60
Comments45

Панацея ли Scrum — 2!

Reading time7 min
Views9.8K
Этот топик, есть продолжение вот этого топика: habrahabr.ru/blogs/pm/39308

Итак. Продолжим повествование на тему Скрама.

Перед тем, как описать саму методологию, чуть коснёмся классификации. Часто приходится слышать: у нас XP методология, а у нас Скрам, а у нас Agile девелопмент. Всё это имеет право на жизнь. Но, на мой взгляд, желательно правильно соотносить эти понятия.

XP — это набор принципов и подходов, меняющих традиционное отношение к разработке современного программного продукта.

Agile – это общее название группы гибких и достаточно успешных методик организации ведения проектов. Методик, которые, как правило, опираются на принципы XP и предполагают быструю итеративную разработку, тесное общение с заказчиком и, за счёт тесного общения членов команды, минимизацию создания дополнительных сущностей (артефактов/документов), которые традиционно создавались в процессе работы над проектом. Минимизацию всего того, что создаётся помимо самого программного кода.

Scrum – это одна из конкретных Agile-методик. То есть чёткий шаблон (каркас) организации управления проектом. Со своими терминами и понятиями. Если вы близко следуете именно этому шаблону, то можно сказать, что вы ведёте разработку по Скрам.

Я часто сталкиваюсь с другой классификацией, когда XP называют Agile методологией. Сложно сказать…
Читать дальше →
Total votes 69: ↑63 and ↓6+57
Comments25

Мал, да удал: Trojan-Downloader.Win32.Tiny

Reading time9 min
Views23K
Доброго дня всем.
В сегодняшнем выпуске много технических подробностей. Так что уж извините, если их слишком много :)

Письмо


Итак, начинаем. На входе у нас письмо с текстом «Journalist shot in Georgia! See attached video. Password is 123» и с приложенным файлом «Georgia.zip».

Для более или менее полного анализа нам понадобятся:
— Самый Лучший дизассемблер в мире IDA
— Неплохой Отладчик Windbg
— python 2.5 (строго говоря, подойдет любой, просто у меня 2.5)
— Visual Studio какая-нибудь и Microsoft SDK, чтобы собрать небольшую программу на с++.
— упаковщик программ upx
— ну и чего-то еще по мелочи.

Распаковываем присланный нам файл, и видим, что наши подозрения оправданы: видео там и рядом не ночевало.
joined.exe (md5:607af96b03addadf28cf9280701df191)
Dr.Web: Trojan.Packed.151
Kaspersky: Trojan-Downloader.Win32.Agent.abqe

Читать дальше →
Total votes 355: ↑346 and ↓9+337
Comments118

C# vs R#: использование var вместо явного указания типа

Reading time2 min
Views24K


В своей работе с замечательным дополнением ReSharper в Visual Studio я постоянно сталкивался с предложением вместо явного объявления типа переменных использовать объявления типа в неявной форме с использованием var. Сначала меня это несколько удивило, но я особо не обратил внимание. Но по прошествии некотрого времени такие предложения стали уже напрягать и я решил разобраться в чем же суть такой оптимизации.

Ответ был найден в блоге у создателей R# по этому адресу. По катом мой перевод статьи Ильи Рыженкова (Ilya Ryzhenkov).
Читать дальше →
Total votes 27: ↑24 and ↓3+21
Comments57

MySQL Performance real life Tips and Tricks

Reading time9 min
Views37K
Пообещал вчера написать статью о реальных случаях оптимизации БД MySQL.
Пришлось сегодня вставать утром пораньше чтобы воплотить обещанное в жизнь.
Централизованное управление мыслями поддерживать еще сложно, поэтому не судите строго за казусы и ляпсусы в моей статье.

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

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

Читать дальше →
Total votes 143: ↑139 and ↓4+135
Comments93

Information

Rating
Does not participate
Location
США
Date of birth
Registered
Activity