Search
Write a publication
Pull to refresh
16
0
Владимир Изотов @Vladimir_Izotov

User

Send message

Нефункциональные требования к программному обеспечению. Часть 1

Reading time10 min
Views365K

Введение


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

В этой статье я расскажу о следующем:
  • какими бывают нефункциональные требования,
  • как определять нефункциональные требования,
  • откуда берутся численные значения для нефункциональных требований.

итак, все о НФТ

[кейс] Как навести порядок снизу: за 90 дней от бардака к проектному офису

Reading time2 min
Views32K
Не так давно мы проводили опрос по проблемам в проектах для нашей новой программы “Формула управления проектами”. Получили более 600 ответов, которые распределились в темы работы с заказчиком, оценок работ, сроков, коммуникаций и прочих безусловно нужных проектных вещей.

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

Мы пригласили в студию нашего эксперта по управлению проектами Ивана Селиховкина (selikhovkin) и попросили поделиться историей наведения порядка. В итоге Иван рассказал историю о том, как он с коллегами по шагам за 90 дней привел компанию от хаоса к работающему проектному офису. Находясь при этом не на должности ТОП-менеджера. Все изменения шли СНИЗУ.



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

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

P.S. Если поможете нам с опросом по проблемам проектов — будем отдельно благодарны.

P.P.S. Краткое содержание истории по шагам — под катом:

По шагам: за 90 дней от хаоса к порядку

Монады с точки зрения теории категорий

Reading time9 min
Views36K

Введение

Кажется, монады в программировании стали загадкой века. И для этого есть две причины:
  • недостаточное знание теории категорий;
  • многие авторы стараюстся не упоминать категории вообще.
Это как говорить об электричестве не используя мат. анализ. Достаточно для замены предохранителя, не хватит, чтобы спроектировать усилитель.

Мы начнём с простого введения в категории и функторы, затем дадим определение монады, приведём простые примеры монад в категориях и в конце приведём монадическую терминологию используемую в языках программирования.

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

Содержание

  1. Категория
  2. Функтор
  3. Естественное преобразование
  4. Монада
  5. Монады исключения и состояния
  6. Монады в программировании
  7. Ссылки
Читать дальше →

Грабли, на которые не стоит наступать

Reading time5 min
Views80K
От переводчика: Это перевод статьи авторства Джоэля Спольски (Joel Spolsky). Через 2 года эта статья уже сможет получить автомобильные права в США, а еще через два — и не только там. Да, ей 14 лет (а точнее 14 лет и 11 дней), но актуальности она не потеряла ни грамма. Я регулярно вижу, как программисты (да и я сам, временами) порываются наступить на эти грабли. Тот факт, что я не нашел ее перевода на Хабре, вполне может свидетельствовать о том, что я плохо искал. Об ошибках перевода прошу сообщать в ЛС

UPD: Оказывается перевод статей Джоэля, в т. ч и этой, есть еще в бумажном издании «Джоэл о программировании»

Наконец выходит первая публичная бета-версия Netscape 6.0. Версии 5.0 не существует. Предыдущий мажорный релиз — версия 4.0 — был выпущен почти три года назад. Три года — это невероятно большой срок в мире интернета. Все это время в Netscape сидели и беспомощно наблюдали за тем, как уменьшается их доля рынка.

Это немного подло с моей стороны критиковать их за столь долгое ожидание между релизами. Они ведь не специально это сделали, правда?
Читать дальше →

Обзор специализированных способов обхода блокировок в интернете

Reading time4 min
Views919K
Представляю вашему вниманию обзор и мои субъективные оценки некоторых специализированных способов обхода блокировок со стороны провайдеров или сетевых администраторов.

1. Аддоны для браузеров


ZenMate (Chromium-based, Firefox, Android, iOS)

  • Удобство использования: 5/5
  • Скорость: 5/5
  • Шифрование трафика: Да (TLS)
  • Анонимность: Да
  • Проксирование всего трафика: Да
  • Выборочное проксирование: Да

    Описание:
        Хороший, быстрый аддон.
        На момент тестирования было доступно 5 прокси в разных странах.

    Плюсы:
        Высокая скорость работы аддона
        Быстрые прокси

    Минусы:
        Требуется регистрация в сервисе
Читать дальше →

Почему в России почти нет гражданского/коммерческого высокотехнологичного производства?

Reading time27 min
Views412K
Статью с обзором ситуации с микроэлектроникой в России я закончил утверждением, что сейчас в России есть технические возможности для создания любых военных микросхем (если не считаться с ценой). Однако и в комментариях к той статье, и во многих других — всех больше волновал вопрос отсутствия (на уровне погрешности измерений) производства чисто-коммерческих (гражданских) высокотехнологичных продуктов. Этот вопрос волновал и меня, потому я постоянно мучил вопросами всех, кто так или иначе связан с высокими технологиями и бизнесом в России.

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

Под катом попробуем разобраться чем отличаются «высокотехнологичные» компании от «низкотехнологичных», что нужно, чтобы высокотехнологичные компании могли рождаться и выживать, почему с софтом у нас лучше, чем с хардом, с чего начиналась кремниевая долина в США и можно ли её «скопировать», почему Китай всех рвет, а также — окинем взором все, что происходит в Сколково, Роснано, фонде перспективных исследований и приведут ли они к расцвету российских инноваций. Безусловно, я где-то могу ошибаться — буду рад дополнениям в комментариях.

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

Логика мышления. Промежуточный итог

Reading time3 min
Views29K


Итак, на сегодня в сеть выложены 17 статей из цикла «Логика мышления». Сам цикл – это попытка построить достаточно полную модель работы мозга. То есть, не просто описать отдельные механизмы, но и показать, как из их взаимодействия может рождаться человеческое мышление. То, что уже опубликовано – это фундамент излагаемой концепции. В нем показывается, как на уровне нейронов реализуются основные информационные механизмы. Этот фундамент определенным образом задает правила всей дальнейшей игры. Он определяет, каким инструментарием мы располагаем для реализации более сложных процессов. Я постарался показать, что, оставаясь в рамках биологически достоверных идей, можно создать модель, обладающую высокими вычислительными возможностями. Как пример было показано соответствие между свойствами коры и возможностями реляционной алгебры.
Читать дальше →

Логика мышления. Часть 16. Пакетное представление информации

Reading time10 min
Views19K


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

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

Чтобы понять, какой формат описаний использует мозг, проследим последовательность зрительного восприятия. Разглядывая изображение, мы «сканируем» его быстрыми движениями глаз, называемыми саккадами (рисунок на КДПВ). Каждая из них помещает в центр зрения один из фрагментов общей картины. На зонах зрительной коры возникают описания, соответствующие тому, что мы видим в этот момент в центре, что видит периферия и каково смещение в результате только что проделанной саккады. Каждая следующая саккада порождает новую картину. Эти описания сменяют друг друга одно за другим.

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

Логика мышления. Часть 13. Ассоциативная память

Reading time8 min
Views31K


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

В предыдущей части мы показали как может выглядеть распределенная память. Основная идея заключается в том, что общий волновой идентификатор может объединить нейроны, которые своей активностью формируют запоминаемую картину. Чтобы воспроизвести конкретное событие достаточно запустить по коре соответствующий идентификатор воспоминания. Его распространение восстановит ту же картину активности, что была на коре на момент фиксации этого воспоминания. Но главный вопрос — это как нам получить требуемый идентификатор? Ассоциативность памяти подразумевает, что по набору признаков мы можем отобрать события, в описании которых присутствовали эти признаки. То есть должен существовать нейронный механизм, который позволит по описанию в определенных признаках, получить идентификатор подходящего под эти признаки воспоминания.

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

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

Логика мышления. Часть 10. Пространственная самоорганизация

Reading time13 min
Views25K


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

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

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

Логика мышления. Часть 2. Факторы

Reading time11 min
Views81K


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

Логика мышления. Часть 1. Нейрон

Reading time10 min
Views320K


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

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

1000+ KPI

Reading time27 min
Views13K
Привет. Если Вы хотя бы раз сталкивались с задачей создания системы ключевых показателей эффективности (KPI) для сотрудников или проектов, то скорее всего согласитесь, что задача эта не из легких. Решения «в лоб» здесь не работают, многие очевидные показатели на проверку оказываются неинформативными, дают искаженное представление о ситуации или могут быть легко искажены сотрудниками.
Что бы сократить драгоценное время, сохранить нервные клетки здоровыми и дать «вдохновение», предлагаю ознакомится со списком популярных KPI для IT. Возможно некоторые из них помогут с решением вашей задачи.
Читать дальше →

Научные издательства удалили более 120 статей, сгенерированных на компьютере

Reading time2 min
Views40K
Вот уже два года учёный Сирил Лаббе (Cyril Labbé) из университета Гренобля (Франция) исследует сборники публикаций крупнейших научных издательств и составляет список «фальшивых» научных статей, составленных при помощи генераторов научных текстов.

Как оказалось, троллинг научной прессы — явление более массовое, чем можно было предполагать. На его работу уже обратили внимание сами издательства — и начали постепенно удалять «фейковые» статьи из архивов и сборников по результатам научных конференций. Так, немецкий Springer и американская IEEE к настоящему моменту удалили более 120 научных статей за 2008-2013 годы.
Читать дальше →

SyncNet: децентрализованный peer-to-peer браузер на основе BitTorrent Sync

Reading time2 min
Views29K

Децентрализованная стая скворцов :)

Анонимность в Сети всегда была важным моментом для многих из нас, а после скандала с АНБ это вообще едва ли не проблема №1 для пользователей Сети. Сейчас массово стали появляться анонимные сети, не менее анонимные peer-to-peer сервисы, а теперь появился и децентрализованный браузер, основанный на BitTorrent Sync. Идея, лежащая в основе этого браузера, SyncNet, чем-то похожа на идею, реализованную в TOR.

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

Шпаргалка по шаблонам проектирования

Reading time2 min
Views1.5M

Перевод pdf файла с сайта http://www.mcdonaldland.info/ с описанием 23-х шаблонов проектирования GOF. Каждый пункт содержит [очень] короткое описание паттерна и UML-диаграмму. Сама шпаргалка доступна в pdf, в виде двух png файлов (как в оригинале), и в виде 23-х отдельных частей изображений. Для самых нетерпеливых — все файлы в конце статьи.

Под катом — много картинок.

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

Взаимодействие Android-устройств в локальной сети

Reading time6 min
Views63K


Предположим, мы пишем игру для Android, которая подразумевает некое сетевое взаимодействие между устройствами. Причем наши устройства находятся в одной сети и мы хотим, чтобы взаимодействие между ними осуществлялось быстро, а значит вариант с обменом данными через интернет нам не подходит. Ах да, еще одна маленькая ложка дегтя — мы хотим охватить максимально возможную аудиторию, для чего нам необходимо поддерживать Android 2.3.
Что же нам делать? Давайте поговорим об этом, а заодно рассмотрим относительно новые возможности Android SDK для соединения двух и более устройств.
Читать дальше →

Первые восемь видео из нашей книги в открытом доступе

Reading time1 min
Views34K
image
Книга для детей «Простая Наука» появилась на свет в середине декабря 2013 года, о чем я писал ранее. К ней прилагается DVD со всеми опытами, вошедшими в книгу. И сегодня я публикую первые восемь из них в открытый доступ. До конца января, таким образом, будут опубликованы все 32 ролика.
Читать дальше →

Объектная гимнастика

Reading time7 min
Views37K
В первых двух абзацах оригинального текста автор описывает как он пил пиво с друзьями. Я заменил их пятничной картинкой о гимнастике из детства.

Объектная гимнастика (англ. Object Calisthenics) — это упражнения в программировании, которые состоят из 9 правил, которые Джефф Бей описал в своей книге «The ThoughWorks Anthology». Пытаясь как можно точней следовать этим правилам, вы измените свои привычки написания кода. Это не значит, что вы должны постоянно соблюдать все эти правила. Найдите баланс и используйте только те, которые вам удобны.

Эти правила сфокусированы на читаемости, тестируемости, понятности и поддерживаемости вашего кода. Если вы уже пишите код, который читаем, тестируем, понятен и поддерживаем, тогда эти правила помогут сделать его более читаемым, тестируемым. Понятным и поддерживаемым.

Ниже я прокомментирую этих 9 правил:
  1. Только один уровень отступа в методе
  2. Не используйте Else
  3. Оберните все примитивные типы и строки
  4. Коллекции первого класса
  5. Одна точка на строку
  6. Не используйте сокращения
  7. Сохраняйте сущности короткими
  8. Никаких классов с более чем 2 атрибутами
  9. Никаких геттеров, сеттеров и свойств

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

3G-интернет на 33 км

Reading time5 min
Views198K
Один мой друг, большой поклонник идеи родовых поместий, примерно год назад стал обживать свой участок земли вдали от сел и городов. Построил деревянный дом, баню, организовал подсобное хозяйство. Обзавелся красавицей-женой, собакой модели «хаскоалабай» и кошкой Кусей. И все вроде хорошо, можно жить и развиваться, но здорово не хватает подключения к интернету — ездить каждый раз за 70км в город, чтобы почитать форумы по строительству, солнечной энергетике, садоводству да и просто пообщаться с друзьями онлайн стало неудобно и накладно.

С этой проблемой он обратился ко мне. Я приступил к решению задачи, уточнив вводные условия:
  • Из сотовых 3G-операторов голосовая связь работает только у Билайна, и то, если подойти к окошку. Ловится еще TELE2, но у него нет 3G;
  • Интернет через USB-модем у соседей загружает среднюю страницу по 10 минут;
  • Ближайший населенный пункт в 7км, ближайший «крупный» (28 тыс.человек) — в 30км;

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

Information

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