Pull to refresh
0
0
Send message

Кнопка LinguaLeo в Яндекс.Баре для удобного перевода и освоения незнакомых английских слов в интернете

Reading time 2 min
Views 6.1K
LinguaLeo и команда Яндекс.Бара представляют новое приложение — браузерная кнопка LinguaLeo.



Профит от приложения — можно кликать по незнакомым словам в англоязычном интернете и незаметно для себя расширять словарный запас.
Читать дальше →
Total votes 38: ↑30 and ↓8 +22
Comments 40

Рунетология (100): стартап-менеджер и публицист Антон Носик

Reading time 1 min
Views 633
Антон Носик — о ранних годах российского интернет-бизнеса и его прародителях, о работе над «Газетой.ру», «Лентой.ру» и другими знаковыми медиастартапами, о благотворительности в Сети и за ее пределами, о перипетиях внутри «Рамблера» в первой половине 2000-х, о своем отношении к власти и о том, почему не привязан к материальным благам.
Читать дальше →
Total votes 33: ↑24 and ↓9 +15
Comments 9

Идеология и проблемы разработки финансовых систем. Часть 2

Reading time 5 min
Views 552
В прошлый раз я попытался рассказать о некоторых мелочах, связанных с авторизацией и планировании прав доступа, о которых обычно забывают при планировании структуры финансовой системы.

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

Рассмотрим пример.
Допустим имеется несколько таблиц в базе данных вашей системы. Одна из них — справочник юридических лиц. Вам как разработчику/аналитику необходимо спроектировать функционал для работы с некоторым типом документов. Для примера предположим что вам необходимо разработать функционал для создания и редактирования платежных поручений. Допустим 1 платежное поручение должно иметь следующие поля:

1. уникальный номер
2. дата и время создания
3. дата и время оплаты
4. юридическое лицо (контрагент) которому была произведена оплата
5. сумма
6. тип платежа

Сразу отмечу что почти никогда не стоит связывать уникальный номер документа с id записи в таблице БД. Дело тут вот в чем: пользователи имеют свойство ошибаться. Логика пользователей иногда весьма своеобразна, к примеру, периодически им легче удалить неправильно созданный документ и создать его по новой (особенно это касается новых сотрудников, которые боятся “накосячить”). После подобных действий у вас в системе будет множество пустых “дыр” между номерами документов. Казалось бы мелочь, но любая проверка со стороны “заинтересованных” лиц найдет в этом тайный умысел. (Если хотите реальных примеров, погуглите “Прайм-ТАСС подало в суд на мэрию Москвы”. Вся их доказательная база — номера документов шли по порядку, но в общественном доступе есть только часть из них). Лучше всего, по нашему мнению, вновь создаваемому документу присваивать номер = максимальный уникальный номер в системе по данному типу документов + 1.
Но вернемся к нашему примеру. Обратим внимание на поле №4 — юридическое лицо. Коль скоро у нас имеется справочник юридических лиц, то очевидным является записывать в это поле ссылку на запись в этом справочнике.
А теперь представим себе несколько возможных ситуаций:
1) Платежное поручение было создано в 2009 году. Платеж был произведен ООО “Кровать”. В январе 2010 фирма была переименована в ООО “Стулья”. Получается что если мы откроем форму платежного поручения в конце 2010 года, то увидим что платеж был произведен фирме, которой в 2009 году физически не существовало.
2) Допустим в марте 2010 года произошло слияние ООО “Кровать” и ЗАО “Диваны”, результатом стало ОАО “Диваны и кровати”. Что могут сделать пользователи? А они могут переименовать фирму ООО “Кровать” в ОАО “Диваны и кровати”, а еще они могут переименовать ЗАО “Диваны” в “Диваныи кровати”. Самое интересное начнется при первом же отчете, когда окажется что все платежи между разным юридическим лицами (3мя фактическими и 4мя в базе) перемешались и отличить их могут только люди, которые производили оплату (которые, к сожалению, попали под сокращение штата и уже несколько месяцев не работают в вашей фирме).
Читать дальше →
Total votes 2: ↑2 and ↓0 +2
Comments 1

Идеология и проблемы разработки финансовых систем. Часть 1

Reading time 6 min
Views 771
По моему скромному опыту, у нас в стране нет разделения на разработчиков программного обеспечения и разработчиков финансовых систем. Самое бОльшее что я встречал на собеседованиях — вопрос имел ли я дело с информационными системами, которые работают под высокими нагрузками (Первый канал, Яндекс и т.д.). В остальном всегда интересуются лишь знанием определенных информационных технологий. По моему же мнению, разработка информационных систем — это целая культура разработки и проектирования архитектуры. При этом на первом месте всегда должна стоять архитектура: ее сбалансированность, гибкость, безопасность и продуманность насчет будущего развития системы (в том числе и возможная интеграция со сторонними системами, у которых не будет той гибкости, той продуманности и той заточенности под бизнес-процесс).

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

Создается система финансового учета и аудита. Система, что называется, все в одном. Система разрабатывается, принимается заказчиком, развивается и дорабатывается. Через пару лет заказчик придумывает разделить весь бизнес процесс на две обособленные составляющие, а именно: финансовая служба делится на две части: финансовую и бухгалтерию. Под это дело планируется разделение систем: заказчик хочет чтобы старая система осталась, но некоторый функционал (связанный с бухгалтерской деятельностью) полностью проходил в 1С-Бухгалтерии. И тут сразу же встает вопрос интеграции двух систем. 1С-Бухгалтерия — замечательная финансовая система, вернее даже не 1С-Бухгалтерия, а весь фреймворк. Я даже не буду говорить про существенные проблемы 1С: часть встроенного функционала настолько “вшита” что изменить ее без последствий в будущем не получится; очень сложно интегрировать хоть один справочник из внешней базы. Скажу только что “на лету” подгружать в нее все изменения из основной системы — довольно нетривиальная задача. Но вернемся к нашей системе и зададимся вот каким вопросом: коль скоро у нас теперь не одна система, а целых две (три, четыре, пять,..) то что делать с сущностями, которые становятся общими для этих систем. Мы даже можем опустить те сущности создание, редактирование и удаление которых разрешено только в одной из систем (тут бизнес процесс можно расписать даже на уровне баз данных). А вот что делать, скажем, с общими для обеих систем справочниками? Ведь пользователи — это такие люди, которых хлебом не корми — дай только задвоить какую-нибудь информацию. Результаты этого могут быть если не катастрофическими, то отберут довольно много человеко-часов, которые потребуются на решение этих, казалось бы, маленьких проблем. А еще окажется что выяснилось это в конце декабря, когда начали собирать отчетность за год, а данные, скажем, по договорам расползаются. Пользователи же, отвечающие за эти данные, конечно же не помнят по какой причине несколько месяцев назад они сделали именно то что сделали. Логика product owner’а обычно сводится к тому что “это проблема системы, вы за нее отвечаете — вы и решайте проблему”, забывая что проблема может быть не столько в системе, сколько в данных. Всего бы этого не случилось при одном условии — архитектура системы и регламент взаимодействия были бы продуманы с самого начала.
Читать дальше →
Total votes 3: ↑3 and ↓0 +3
Comments 0

Как Google тестирует ПО

Reading time 9 min
Views 40K
Прослушав вебинар «How Google Tests Software» я был так вдохновлен, что решил записать некоторые тезисы. Эта статья и есть мой конспект. Прежде всего, я должен внести ясность относительно ее содержания. Это не дословный перевод. Здесь описаны только те вещи, которые показались мне важными. Проще говоря, здесь описано не все, что прозвучало в вебинаре. Так же существует вероятность, что я понял что-то не до конца или даже понял неправильно. Поэтому горячо рекомендую прослушать вебинар самостоятельно.
Его ведет Джэймс Витакер, который в данный момент занимает пост технического директора по тестированию ПО в Google. Джэймс совместно с коллегами готовится выпустить одноименную книгу. В ней можно будет получить исчерпывающую информацию о том, как проводят тестирование GoogleMaps, Google+, ChromeOS, Android и т.д…
Читать дальше →
Total votes 224: ↑217 and ↓7 +210
Comments 52

Книги, видео и другие материалы по разработке под iOS

Reading time 4 min
Views 114K
«Хочу программировать под iPhone — говори, что почитать...»
Любимая девушка


Когда решаешься заняться разработкой под iOS, то трудно выбрать литературу и ресурсы, которые действительно были бы полезны. Хорошо еще, что Apple предоставляет множество учебных материалов и программ с открытым исходным кодом в своем центре для разработчиков. В остальных книжках можно если и не утонуть, то порядочно захлебнуться. Сейчас я жалею, что потратил время на пару «мануалов». Не буду делать им антирекламу, а лучше порекомендую хорошие материалы по программированию под iOS.

Под катом книги, видеокурсы и блоги, которые будет полезно прочитать/посмотреть.
Читать дальше →
Total votes 105: ↑99 and ↓6 +93
Comments 58

Как меняется отрасль

Reading time 7 min
Views 764
Отрасль меняется. С начала кризиса произошли изменения, которые начали проявляться еще до кризиса.
Что это за тренды? А вот:
— с 2007 все больше инвесторов стали требовать от стартапов наличия СТО в команде и в эквити,
— с 2007 года фонды стали пренебрегать мелкими сделками, средняя инвестиция ранних стадий выросла с $800-900к до $1.3м, а потом и еще выше,
— стоимость разработки ПО начала падать из-за наличия готовых библиотек и большого количества опен сорс решений,
— в отрасли сформировалась экосистема медиа, которая позволяет получить клиентов, не прибегая к большим вливаниям в рекламу, а просто нащупав интересную проблему,
— с развитием социальных сетей появилась возможность привлекать трафик из социальных сетей, при удачном старте проекта он получается очень дешевым,
— платежеспособность интернет-населения выросла и появилось большое количество инструментов, которые позволяют собирать деньги с клиентов,
— наличие разных рекламных инструментов (от контекстной рекламы до традиционных баннерных сетей и партнерских программ) позволяет легко конвертировать трафик в деньги. В Штатах появились целые отрасли, в которых «трафик=деньги» работает,
— все больше развивается тренд создания credit card funded startups.

Что у нас на инвесторской стороне поля?
Читать дальше →
Total votes 99: ↑82 and ↓17 +65
Comments 45

Tiggr: в помощь бизнес-аналитику

Reading time 4 min
Views 2.7K
tiggr logo
Привет! Хотел бы немного попиарить разработку компании (Exadel), в которой я работаю, и т.к. к этому проекту я тоже причастен.
Итак, Tiggr — инструмент для прототипирования и создания макетов пользовательских интерфейсов.
Начну с перечисления основных фич приложения:
  • Приличный набор контролов. Тут стоит отметить, что в Tiggr с недавних пор помимо десктопных элементов интерфейса, появились UI контролы для мобильных телефонов.
  • Tiggr – это онлайн приложение, поэтому доступ к своему проекту можно получить с любого воркстейшена без установки дополнительного ПО – только браузер.
  • Настраиваемость – у всех контролов есть дополнительные настройки, которые позволят управлять видом, положением и т.п. компонента.
  • Набор контейнеров для формирования лэйаута.
  • Удобный (на мой взгляд) подход для работы с картинками.
  • Поддержка совместной работы: несколько пользователей могут одновременно работать над одним проектом, макетом.
  • Из статических скринов можно получить динамический, кликабельный прототип.
  • Управление пользователями и доступом к проекту.

Читать дальше →
Total votes 34: ↑28 and ↓6 +22
Comments 59

Прогнозирование временных рядов

Reading time 3 min
Views 38K
Привет.
Я хочу рассказать об одной задаче, которая очень заинтересовала меня в свое время, а именно, о задаче прогнозирования временных рядов и решении этой задачи методом муравьиного алгоритма.

Для начала вкратце о задаче и о самом алгоритме:
Читать дальше →
Total votes 45: ↑38 and ↓7 +31
Comments 15

Information

Rating
Does not participate
Registered
Activity