Pull to refresh
-6
0
Send message

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

Reading time5 min
Views56K
Вольный перевод статьи о том, почему важно делать эскизы-зарисовки, прежде чем приступать к проектированию интерфейсов. Мне, как менеджеру проектов и, частично, проектировщику интерфейсов — статья показалась очень полезной. Крайне рекомендуется к прочтению всем участникам проектных команд.



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

Одно предложение, которое делает нас сильнее

Reading time2 min
Views93K
Это мой самый короткий топик, суть которого в одном предложении. Часто именно с этого предложения начинается успешный стартап, бизнес и любое другое начинание.

Это шаблон описания сути вашей компании или проекта в одном предложении. Я открыл его для себя во время стажировки в США. Составив его, мы реально становимся сильнее. В последствии мне это помогло выбрать правильный курс, сфокусироваться и расставить приоритеты.
Читать дальше →

Коллаборативная фильтрация

Reading time6 min
Views71K
В современном мире часто приходится сталкиваться с проблемой рекомендации товаров или услуг пользователям какой-либо информационной системы. В старые времена для формирования рекомендаций обходились сводкой наиболее популярных продуктов: это можно наблюдать и сейчас, открыв тот же Google Play. Но со временем такие рекомендации стали вытесняться таргетированными (целевыми) предложениями: пользователям рекомендуются не просто популярные продукты, а те продукты, которые наверняка понравятся именно им. Не так давно компания Netflix проводила конкурс с призовым фондом в 1 миллион долларов, задачей которого стояло улучшение алгоритма рекомендации фильмов (подробнее). Как же работают подобные алгоритмы?

В данной статье рассматривается алгоритм коллаборативной фильтрации по схожести пользователей, определяемой с использованием косинусной меры, а также его реализация на python.


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

Программисты — самые оптимистичные люди на свете!

Reading time3 min
Views21K
Мы, программисты — самые оптимистичные люди, из всех, кого я только встречал. Спросите любого из нас, сколько времени займёт сделать ту или иную вещь — и вы получите супер-оптимистеческий ответ, очень далёкий от реальности. Это не потому, что мы специально стараемся вас дезинформировать и запутать, нет. И не потому, что мы глупы. Просто мы смотрим на всё с оптимизмом.

Вот есть проект, вот наши знания и возможности, вот ваши спецификации, вот Неведомые Загадочные Вещи… Последнее, конечно, самая большая проблема. Нельзя заранее предусмотреть всего и есть большие шансы встретить в тихом болоте таких громадных чертей, что вся Королевская Рать будет их бороть очень долго. Но всегда хочется верить, что их не будет. И вот мы даём оценку времени «1 час», начинаем работать, встречается одна странность, вторая, баг в чужом компоненте — и вот уже на задачу ушел целый день, а она еще не закончена.

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

Хочешь быть iOS разработчиком? Будь им!

Reading time2 min
Views388K
На хабре в прошлом месяце была опубликована статья Конкурс ВК: Мессенджер для Android. Как это было!, в которой автор поделился своими мыслями о конкурсе и опубликовал список ресурсов и статей, которые помогли ему в создании приложения. Так как в последнее время я начал изучать разработку под iOS, то у меня скопилось некоторое количество ссылок, которые могут быть полезны для начинающих. Поэтому я последую его примеру и сделаю то же самое, только для своей платформы. Надеюсь, кому-нибудь они окажутся полезны и сэкономят немного времени.

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

Техническое задание на сайт

Reading time11 min
Views699K
UPD: Продолжение статьи с примером техзадания

Не так давно на хабре были две статьи (Согласно техническому заданию и А зачем мне ТЗ? Я и так знаю!) посвященные техническим заданиям. У меня обе статьи вызвали, мягко говоря, недоумение, в особенности статья «Согласно техническому заданию». На мой взгляд, это вообще вредная статья, которая приводит к неверному понимаю сути ТЗ. В связи с этим хочу выразить свой взгляд на этот вопрос. Не буду говорить обо всех тех. заданиях, слишком широка тема, но думаю смогу рассказать о ТЗ на сайт.

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

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

1. Обоснование необходимости ТЗ


А зачем вообще нужно ТЗ на сайт? Заказчик говорит: «Нужен следующий сайт: каталог товаров, корзина, форма заказа, доставка, мы на карте, о нас, обратная связь». Что не ясно? Ничего необычного, всё обыденно и рутинно.

Разработчик отчетливо представляет, что нужно сделать, а сделать, в его понимании нужно вот так:



Далее много букв

Ранжирование страниц по степени важности для интернет-магазина

Reading time5 min
Views4K
Есть некоторый опыт проектирования, и реализации интернет магазинов который мы решили обобщить. Мы были удивлены выводами о степени важности разделов в интернет магазине, но приняли их к сведению. В каждом новом проекте мы идем по этому списку и в этом порядке. Объясняем заказчику, почему нужно начинать с описания «аудитории», а не с «главной страницы» сайта.
Читать дальше →

Как должна работать компания по web-программированию

Reading time7 min
Views16K
imageИстория этой статьи началась лет как минимум семь назад когда поработав в одной немецкой web-компании я перешла под крылышко крупного конечного заказчика и начала работать удаленно.

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

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

И вот тогда в конечном итоге решилась эти само собой разумеющиеся, очевидные для меня вещи оформить в такой себе «манифест» (хе-хе), концепцию, описание и список того, без чего, имхо, работать компании не стоит. Уточню, что речь пойдет не о работе с клиентом, не о менеджменте как таковом, не о деньгах и бизнес-планах, а об организации работы небольшой фирмы разработчиков под веб (и, возможно, не только под веб), о том, что надо делать, чем важно заниматься чтобы работать успешно и развиваться.
Читать дальше →

Разбираем iPhone Core Data Recipes. Часть 1

Reading time9 min
Views35K

Introduction


Цель данной статьи — помочь начинающему iOS разработчику, понять, как правильно работать с SQLite базой данных используя Core Data на примере iPhone Core Data Recipes. В первой части из серии статей, будет рассмотрено взаимодействие приложения и базы данных, а также работа со связанными записями (Relationships).

Prerequisites


Для самостоятельного изучения исходных текстов данного приложения, вам необходим стандартный набор инструментов:
  • Mac OS X
  • Xcode


Данный набор позволит вам просмотреть, изменить и запустить приложение на симуляторе. В случае же, если вы захотите попробовать запустить его на настоящем iPhone, требуется участие в iOS Developer Program.

А также, что немало важно, нужно базовое понимание структуры языка Objective-C и приложения.

Ссылки на используемые материалы и инструменты предоставлены в разделе References.

Что такое iPhone Core Data Recipes?

Xcode проект от разработчиков из Apple, который дает общее представление о том, как использовать view controllers, table views и Core Data в iPhone приложениях. Конечно, данный проект также актуален для iPad, но в него необходимо внести интерфейсные изменения, для корректного отображения на iPad.

iPhone Core Data Recipes Screenshots

Скриншоты ниже, дают общее представление о интерфейсе приложения. В главном окне «Recipes» — оторбаражается список готовых продуктов. Нажав на один из них, приложение отображает информацию о том, как приготовить данный продукт, его категорию, сколько на это нужно времени, какие и в каком количестве необходимы ингредиенты, а также кнопку которая отображает текстовую инструкцию по приготовлению (скриншот не приведен). Также в приложении есть возмоность конвертации значений между граммами, фунтами и унциями, а также таблица соответствия температур (по цельсию и фаренгейту).
Читать дальше →

Оптимизация работы с SQLite под iOS

Reading time4 min
Views13K


“Think of SQLite not as a replacement for Oracle but as a replacement for fopen()”
— About SQLite


А также, скорее всего, под Android, BlackBerry и в сэнд-боксе браузеров для веб-приложений, но я не проверял.

Почему может быть нужно работать с SQLite напрямую?

Любой опытный iOS девелопер тут же упрекнёт меня за использование SQLite напрямую (вернее не напрямую, а через FmDb, но это почти всё равно что напрямую). Он скажет, что нужно использовать CoreData, т.к. оно много всяких ништяков делает автоматически, типа Undo и Redo. И в нём можно рисовать красивые схемки, которые потом приятно показывать заказчику. А в андроиде, например, есть OrmLite.

И я соглашусь – но до той поры, пока у вас база не перевалила, скажем, за 10 таблиц по 500,000 записей в каждой. А если таблиц 52, и есть особо жирные таблицы по миллиону и больше? И базу нужно синхронизировать с сервером через третий формат, к тому же заказчику критично, будет синхронизация длиться час или пять? Если вы встречали задачи такого объёма, добро пожаловать под кат! Если не встречали – то тоже, ведь никто не застрахован от проектов с большими данными, пускай даже таких мобильных и меньше.
Читать дальше →

Электронная подпись в браузере с помощью OpenSSL и СКЗИ Рутокен ЭЦП

Reading time26 min
Views23K
UPDATE. Готовое решение для электронной подписи в браузере — Рутокен Плагин

Потребность в решениях, помогающих реализовать электронную подпись в «браузере», возрастает. Главные требования к таким решениям — поддержка российких криптоалгоритмов, обеспечение безопасности ключа и нормальное usability. В данном топике мы напишем браузерный криптографический java-апплет, в который интегрирован OpenSSL ГОСТ c модулем поддержки Рутокен ЭЦП. Этот апплет не требует установки какого-либо клиентского софта (кроме java-машины, конечно) и позволяет подписывать файлы через браузер в формате PKCS#7 с ипользованием аппаратной реализации российских криптографических стандартов на «борту» USB-токена Рутокен ЭЦП. Для демонстрации в топике будет дан пример HTML-страницы, использующей данный апплет. На странице можно сгенерить ключ внутри токена, создать заявку PKCS#10 на сертификат для этого ключа, получить тестовый сертификат, записать его на токен, подписать файл.

Архитектура решения представлена на рисунке:

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

ResumUP — представьте себя

Reading time1 min
Views3.3K
«Сталкиваясь с информационными перегрузками, мы не имеем другой альтернативы кроме восприятия по образцам (стереотипам)» Маршалл Маклюэн

Привет всем! Многие уже наверное слышали, а некоторые уже пробовали сервис ResumUp.com. Вы могли слышать о нас по результатам конкурсов WebReady и TechCrunch Moscow. Мнение российских и международных экспертов, конечно, ценно, но живая обратная связь пользователей для нас куда важнее. Также, в связи с локализацией сервиса для российского рынка, мы хотим еще раз пробежаться по основной идее и функционалу сервиса.
Суть проекта — визуализация ваших профессиональных достижений и, как следствие, вашего резюме. Поэтому я постараюсь обойтись минимумом слов и представить сервис визуально.


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

Elevator Pitch или грамотная презентация проекта за 60 секунд

Reading time2 min
Views6.3K
Я хочу рассказать вам про то, как создать грамотный Elevator Pitch – одноминутную презентацию проекта потенциальному инвестору на базе собственного опыта. Когда у вас есть всего одна минута, чтобы презентовать проект, вы должны четко понимать, на что потратить эти драгоценные секунды.

Краткость — сестра таланта

Для начала попробуйте описать ваш проект и уложиться в 150-200 слов, при этом нужно, чтобы в эти 200 слов уместилось описание основной идеи, её уникальность и польза для потребителя, ваша оценка рынка, состав и опыт команды, текущий статус проекта и объем желаемого финансирования. Так как вы можете не уложиться в минуту, когда будете пересказывать этот текст, постарайтесь всё важное вложить в первый абзац и первые 20 секунд презентации.

Первое впечатление

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

Пишем свой первый gem

Reading time2 min
Views9.6K
Хочу рассказать Вам свой опыт написания gem. Данная идея возникала у меня давно, но до реализации все никак не доходила. Все упиралась в банальную лень и отсутствие достаточной мотивации. Однако неделю назад мне достался проект, связанный с сервером рассылки писем.

Выбираем генератор

На первом этапе нужно было определиться с тем, как будет создаваться библиотека: с нуля или с помощью какого-то генератора. Для первого раза, на мой взгляд, писать с нуля будет достаточно сложно и долго, поэтому рассмотрим известные генераторы. Небольшой поиск показал такие gems: hoe, newgem, bundler. Лично мне понравились два – newgem и bundler. Первый представляет полный комплект шаблонов, охватывающий множество случаев. Но я выбрал bundler за его простоту, минимальный набор сгенерированных файлов и набор rake tasks для создания пакета и его дальнейшей публикации.

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

Анимация меню при помощи CSS3

Reading time8 min
Views37K


В данной статье я хотел бы показать вам некоторые приёмы создания эффектов при помощи CSS3 на примере меню. Идея заключается в простой композиции элементов: иконки, основного названия и вторичного названия, которое будет анимировано при наведении курсора, используя только CSS-переходы и CSS-анимацию. Мы рассмотрим несколько различных эффектов для элементов.
Читать дальше →

Быстрое вступление в rack

Reading time7 min
Views47K

Что за Rack?


По словам Christian Neukirchen — автора гема rack — он создан для обеспечения минимального API для подключения веб-серверов, поддерживающих Ruby (WEBrick, Mongrel и т.д.) и ruby веб-фреймворками (Rails, Sinatra и др.).

Такие фреймворки, как например Sinatra, построены над Rack или у них есть rack-интерфейс, позволяющий серверам веб-приложений подключаться к ним.

Цель rack проста — он позволяет с легкостью обрабатывать HTTP-запросы.

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

Оформление изображений на CSS3

Reading time8 min
Views70K
При использовании свойств box-shadow или border-radius непосредственно на изображении, браузеры могут некорректно отображать заданные нами CSS стили, из-за чего внешний вид блока будет существенно отличаться от задуманного. Однако если использовать изображение в качестве фона, то этой проблемы можно запросто избежать. Из статьи вы узнаете, как с помощью jQuery сделать идеально закругленные углы у изображений, а так же какие еще способы оформления возможны с помощью таких свойств как box-shadow, border-radius и transition.
Читать дальше →

Инструкция для начинающих музыкантов

Reading time6 min
Views46K

Или как заработать на собственной музыке


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

Заранее предупреждаю, текста много, читать придется внимательно.
Читать дальше →

CSS хаки

Reading time4 min
Views126K
Браузеры и стандарты. Вечная погоня. Из-за несоответствий стандартам, из-за разных способов рендеринга страниц большая часть времени веб-дизайнера уходит на то, чтобы загладить эти несоответствия (использовать хаки). В итоге, вместо эффективной работы, дизайнер вступает в противоестественные отношения с браузерами, теряя драгоценное время.
Читать дальше →

Information

Rating
Does not participate
Location
Лимассол, Government controlled area, Кипр
Registered
Activity