Pull to refresh
0
0
Владимир @hooper

User

Send message

XBRL: Просто о сложном − Глава 1. Введение

Reading time6 min
Views40K

Комментарий от переводчика


В 2015 году Центральный Банк РФ запустил проект перехода некредитных финансовых организаций (НФО) на электронный формат представления отчетных данных в формате XBRL с 01.01.2018. Сроки уже подходят, а НФО только начинают осознавать масштабы грядущих изменений. Качественных материалов про XBRL на русском языке достаточно мало (могу разве что рекомендовать книгу XBRL для чайников, перевод которой был инициирован ЦБ, правда выполнен не в лучшем виде). Хочу восполнить этот пробел и предлагаю вашему вниманию свою адаптацию неплохой брошюры XBRL in Plain English от компании Batavia, которая рассказывает об основах XBRL.


Перевод веду от лица автора, немного дополняю текст полезными ссылками. Стараюсь придерживаться терминологии ЦБ РФ со ссылкой на оригинальные термины. Начну с первых глав, и если тема будет вам интересна, завершу перевод. Комментируйте, задавайте вопросы − расскажу все, что знаю.


Роман Удальцов




1. Введение


В этой главе представлена сама книга и основные понятия XBRL


1.1. Что ожидать


Если вы начали читать эту книгу, значит вы уже слышали о новом способе формирования бизнес-отчетности − XBRL. Если вы взглянули на спецификацию XBRL, то знаете, что она представляет собой 158-страничный документ, полный формальных определений. Такой документ нужен для корректного определения XBRL. Его можно считать расслабляющим чтивом на ночь для математиков. Но не для нас, нормальных людей.

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

XBRL: просто о сложном − Глава 6. Погружение в XBRL − Часть 1. Приступаем

Reading time14 min
Views9.8K

6. Погружение в XBRL


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


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


Примечание: Мы не будем создавать базы ссылок определений (definition linkbase) и базы ссылок на реcурсы (reference linkbase). В реальной жизни вы могли бы создать по крайней мере одну из них, чтобы более подробно описать свои концепты, но для целей данной главы они не нужны. После того, как вы освоите базы ссылок ярлыков (label linkbase) и презентаций (presentation linkbase), с пониманием баз ссылок определений и ресурсов не должно возникнуть никаких проблем.


6.1. Приступаем


Начнем с простой таксономии для нашего примера.

Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments0

Нахождение похожих имен средствами MySQL+PHP

Reading time20 min
Views15K
Тема, озвученная в заголовке статьи, не нова. На просторах Интернета можно найти множество вопросов, как ее реализовать, а вот ответов несколько меньше. И не редко они сводятся к советам использовать продукты сторонних разработчиков, например, Sphinx. Но зачастую в использовании таких громоздких надстроек нет необходимости.
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments23

Быстрый старт на React Native

Reading time2 min
Views53K

Какие горизонты открывает React? Single Page Application (и веб-приложения, и десктопные приложения на Electron) — это цветочки. Очень заманчиво выглядит разработка мобильных приложений на React Native. Лозунг "learn once, write anywhere" стоит того, чтобы приложить некоторые усилия. Go!

Читать дальше →
Total votes 12: ↑9 and ↓3+6
Comments14

Делаем быстрый поиск по турам на основе ClickHouse

Reading time12 min
Views22K
В этой статье мы рассмотрим способы создания поиска по базе туров (тур из себя представляет набор из отеля и перелета) и рассмотрим две опции — ClickHouse и MySQL (два движка — InnoDB и MyISAM).

В чем сложность поиска по турам


Туроператоры (TezTour, TUI, Natalie Tours, etc) продают свои путевки неочевидным, на первый взгляд, способом:

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

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

Несмотря на то, что общее количество туров (комбинаций) исчисляется сотнями миллионов, на каждый фиксированный набор параметров (город вылета, тип размещения, страна) приходятся, в худшем случае, десятки миллионов вариантов. Но даже по такому количеству туров не так просто осуществлять поиск, потому что нужно найти записи, которые удовлетворяют свободным критериям, которые задают пользователи, и сортировка может быть более-менее произвольной (как правило, сортировка делается по цене, но это не единственный возможный критерий). В этой статье мы рассмотрим упрощенную архитектуру реалтайм-поиска по турам на основе MySQL и ClickHouse, без учета стопов (сленговый термин, который означает, что по каким-то вариантам закончились номера или места в самолете, и такие туры нужно исключить из выдачи). Мы научимся делать поиск быстрым и уметь показывать результаты с сортировкой по любым полям.
Читать дальше →
Total votes 43: ↑37 and ↓6+31
Comments19

Как выбрать оптимальное серверное решение и не ошибиться

Reading time8 min
Views20K

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


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



Вам стоит ознакомиться с этим руководством потому что:

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

Читать дальше →
Total votes 13: ↑10 and ↓3+7
Comments11

Платежи в переписке: чат-боты как отдельные сервисы и финтех-решения внутри мессенджеров

Reading time7 min
Views10K
imageПодавляющее большинство чат-ботов сегодня находится на платформах социальных мессенджеров. К примеру, с апреля по ноябрь 2016-го в Facebook Messenger их количество выросло за полгода до 34 000.

Чат-боты хорошо подходят для мобильных устройств — возможно, даже больше, чем приложения. Обмен сообщениями лежит в основе использования мобильных устройств, и универсальный, единый интерфейс чата для общения с различными компаниями привлекает пользователей — им не нужно устанавливать новое приложение и разбираться, как оно работает — достаточно воспользоваться уже знакомым мессенджером, будь то FB Messenger, Slack или Viber.

В то время как мобильные приложения получили широкое распространение, в случае спонтанных покупок, когда клиент обращает внимание на акцию в социальной сети, не каждый из перешедших по ссылке готов установить ещё одно приложение, чтобы произвести оплату. А благодаря чат-ботам загружать приложения становится необязательно — воспользоваться функционалом платёжного сервиса или акционным предложением того или иного бренда можно в привычном мессенджере, используя чат-бот.
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments2

Книга «Стек MEAN. Mongo, Express, Angular, Node»

Reading time7 min
Views20K
image Обычно при веб-разработке на всех уровнях стека используются разные языки программирования. База данных MongoDB, фреймворки Express и AngularJS и технология Node.js вместе образуют стек MEAN — мощную платформу, на всех уровнях которой применяется всего один язык: JavaScript. Стек MEAN привлекателен для разработчиков и бизнеса благодаря простоте и экономичности, а конечные пользователи любят MEAN-приложения за их скорость и отзывчивость.

JavaScript достиг зрелости. Благодаря ему теперь можно создать веб-приложение от начала до конца с помощью всего одного языка программирования. Стек MEAN включает в себя лучшие в своем классе технологии в данной области. В качестве БД вы получаете MongoDB, в качестве серверного фреймворка веб-приложений — Express, в качестве клиентского фреймворка — AngularJS, а в качестве серверной платформы — Node.

Эта книга познакомит вас с каждой из этих технологий, а также с тем, как заставить их работать вместе в качестве стека. На протяжении этой книги мы создаем работающее приложение, сосредотачиваясь по очереди на каждой технологии, наблюдая, как она вписывается в общую архитектуру приложения. Так что эта книга ориентирована на практику, на то, чтобы вы освоились со всеми перечисленными технологиями и их совместным использованием.
Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments19

Cкринкастинг на сайте по WebRTC из браузера Chrome

Reading time11 min
Views16K

Cкринкастинг в Chrome


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

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

Для его включения необходимо воспользоваться Chrome Desktop Capture API и мы покажем в этой статье как это сделать.

Расширение для скринкастинга


Чтобы скринкастинг заработал, юзер должен установить ваше расширение (Chrome Extension), которое создано специально для вашего сайта (домена).
Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments6

Пошаговый курс по созданию продающего Landing Page c нуля. Часть 5: Строим воронку продаж и создаем призыв к действию

Reading time7 min
Views14K


Отлично! Теперь мы знаем, что хотят наши потенциальные клиенты. Самое время определиться по какой бизнес модели будем работать — это позволит нам поставить цель перед нашим лендингом. Поэтому лендинг мы будем делать специально под решение одной конкретной цели. Давайте построим воронку продаж и разработаем призыв к действию.
Читать дальше →
Total votes 6: ↑5 and ↓1+4
Comments2

О чем забывают 90% при написании заголовков секций у лендинга? Какие цены и скидки привлекают и помогают продавать?

Reading time6 min
Views18K


Наверняка видели десятки лендингов с заголовками секций в виде «Как мы работаем», «Чем мы лучше других», «Этапы работы», «Наши выгоды», «О нас», «О компании» и т.д. Без слез не взглянешь. Такие заголовки абсолютно не работают. Потому что вы пишите не оглавление книги для чтения, а текст, с помощью которого хотите продать продукт своим потенциальным клиентам. Для этого нужно использовать различные схемы и методики, которыми мы хотим поделиться.
Читать дальше →
Total votes 11: ↑9 and ↓2+7
Comments20

7 стратегий, который помогут вам избавиться от прокрастинации

Reading time6 min
Views45K
Я сильно подозреваю, что вы тянете время, чтобы не браться за какое-нибудь важное дело даже в данный момент, читая эту статью. Получается какой-то парадокс, но не беда. Это даже хорошо. Здесь вы познакомитесь с простыми стратегиями, которые в будущем сможете применять для эффективной борьбы с прокрастинацией.



Читать дальше →
Total votes 26: ↑22 and ↓4+18
Comments52

+500 бесплатных инструментов для запуска вашего стартапа в 2017 году

Reading time40 min
Views155K


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

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

Итак, мы нашли в интернете бесплатные и условно-бесплатные инструменты для роста вашего бизнеса. Когда они дадут вам желаемый результат, вы можете оформить платную подписку.
Читать дальше →
Total votes 74: ↑60 and ↓14+46
Comments26

Как добавить AppIcon и LaunchScreen в приложение на React Native

Reading time7 min
Views26K

Не занимаясь никогда ранее нативной разработкой под мобильные платформы, и в этот раз решил пойти "легким путем" — освоить React Native. Наибольшей трудностью стало добавление иконки приложения(AppIcon) и экрана загрузки (Launch Screen). О чем и хочу рассказать в данной статье тем, кто осваивает React Native.

Читать дальше →
Total votes 19: ↑14 and ↓5+9
Comments13

Создание десктопного приложения с помощью Webix и Electron

Reading time22 min
Views24K

Статья представляет собой пошаговое описание моего опыта создания кроссплатформенного десктопного приложения с помощью Webix, Electron и Node.js.


image

Однажды мне пришла в голову светлая мысль создать десктопное приложение на базе стека веб-технологий, который мне хорошо знаком. Знаю, что программисты, пишущие под десктоп, обычно используют C++, Java, C#, а на стек веб-технологий для этих целей смотрят свысока. Но, поскольку я писал приложение для себя, то справедливо решил, что использование знакомых инструментов ускорит процесс. Ну и конечно захотелось «скрестить ужа с ежом» и посмотреть что получится. Если вкратце, то получившийся результат можно запускать и как обычное веб-приложение, и как десктоп.

Код уже готового приложения можно скачать с GitHub.
Читать дальше →
Total votes 21: ↑16 and ↓5+11
Comments34

Нужны ли людям онлайн-конструкторы бизнес-приложений

Reading time4 min
Views12K
Мы создаём онлайн-конструктор учетно-отчетных систем, который позволяет без программирования создать веб-приложение. Помимо нашего продукта на рынке есть еще десятки конструкторов как от небольших и средних компаний (Zoho Creator, QuickBase, Caspio, Zengine), так и от гигантов (Oracle Application Express, Microsoft PowerApps).

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

О конструкторах баз данных и бизнес приложений

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

Бизнесу зачастую проще выстроить весь процесс самостоятельно, чем подстраиваться под готовую систему. При этом желательно чтобы процесс строили, запускали в использование и отлаживали сами бизнес-пользователи, без программистов.
Читать дальше →
Total votes 18: ↑12 and ↓6+6
Comments44

Оптимизируем свои трудозатраты при разработке приложения в Google Material Design

Reading time3 min
Views22K


Данный материал может быть полезен как профессиональным дизайнерам интерфейсов, так и разработчикам, чьи познания в графических пакетах находятся ниже уровня “продвинутого пользователя”.

Итак, перед нами стоит задача: опираясь на готовые решения в открытом доступе, максимально оптимизировать затраченный труд на разработку приложения в стиле Google Material Design.
что удалось откопать...
Total votes 22: ↑18 and ↓4+14
Comments16

Реализация MVC паттерна на примере создания сайта-визитки на PHP

Reading time16 min
Views719K
mvc

Как вы уже догадались из названия статьи, сегодня речь пойдет о самом популярном, разве что после Singleton, шаблоне проектирования MVC, хотя такое сравнение не совсем уместно. Понимание концепции MVC может помочь вам в рефакторинге и разрешении неприятных ситуаций в которые, возможно попал ваш проект. Дабы восполнить пробел, мы реализуем шаблон MVC на примере простого сайта-визитки.

Читать дальше →
Total votes 80: ↑46 and ↓34+12
Comments175

M в MVC: почему модели непоняты и недооценены (перевод)

Reading time14 min
Views74K
(статья очень старая, по поднятые в ней вопросы актуальны по сей день и регулярно поднимаются в различных обсуждениях)

Многие из вас наверняка заметили, что я пишу книгу о Zend Framework. Недавно я закончил черновики двух глав: «Архитектура приложений на Zend Framework» и «Понимая Zend Framework». В первой главе объясняется архитектурный шаблон Model-View-Controller (MVC) и причины, по которым он стал стандартом де-факто для веб-приложений. Во второй исследуется связь MVC с компонентами Zend Framework, их структурой и взаимодействием.

Завершив обе главы я осознал, что большую часть времени описывал модель и ее фактическое отсутствие в Zend Framework. На самом деле ни один веб-фреймворк не предлагает нам полноценную модель (по причинам, которые я объясню чуть позже). И ни в одном из них не дается внятного объяснения этому обстоятельству. Вместо этого они последовательно связывают понятие модели с родственным, но не идентичным понятием доступа к данным, что изрядно всех запутывает.

Эта сторона фреймворков никогда не привлекала особого внимания. И все же именно она лежит в основе целого класса проблем в тех приложениях, которые пытаются использовать MVC по образу и подобию фреймворков для веб-приложений. Более того, попытки донести идею модели до других разработчиков нередко напоминают битье головой о стену. Я не хочу сказать, что все разработчики тупые или не понимают саму идею, просто никто из них (вне зависимости от того, работают они с PHP или нет) не связывает модели с той областью, которая наделяет их смыслом — принципами объектно-ориентированного программирования.
Читать дальше →
Total votes 59: ↑54 and ↓5+49
Comments53

Пишем ORM для Delphi

Reading time9 min
Views17K
Всем привет!
Сегодня я расcкажу вам о своем опыте написания ORM для Delphi с использованием RTTI под влиянием практик работы с Doctrine и Java EE.

Зачем?


Под мою власть недавно попал старый проект на Delphi7 в котором ведется активная работа с базой данных под Interbase 2009. Код в этом проекте радовал, но ровно до тех пор, пока речь не заходила о самом взаимодействии с бд. Выборка данных, обновление, внесение новых записей, удаление — все это занимало немало строк в логике приложения, отчего разобраться в коде порой становилось довольно сложно (спасение в добросовестном разработчике, который круглосуточно отвечал на мои глупые вопросы). В мои руки проект был передан с целью устранения старых бед и добавления в него нового модуля, задача которого — покрыть новые таблицы БД.

Мне нравится MVC подход и очень хотелось разделить код логики с кодом модели. Да и если уж на чистоту — я не захотел для каждой новой таблицы переписывать по новой все get/set методы. Пару лет назад я познакомился с понятием ORM и мне это понравилось. Мне понравился принцип и я был в восторге, применяя его в своей работе.
В тот же момент я ринулся искать в Delphi7 хоть что-нибудь похожее на Doctrine или может генераторы Entity/Facade классов для таблиц… Ни того ни другого. Зато в поисковой выдаче нашлось несколько готовых решений. Например DORM. В целом, отличная штука и, по сути, то что нужно!
Читать дальше →
Total votes 46: ↑33 and ↓13+20
Comments26

Information

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