Для загрузки информации о торговых точках в наш логистический SaaS-сервис «Муравьиная логистика» из Excel я решил использовать web-браузер. Обычно проще загрузить файл на сервер и с помощью любой библиотеки залить в БД. Но мне было интересно загрузить его построчно для контроля целостности каждой строки на клиенте, ну и, конечно, опробовать так всеми рекламируемое HTML5 FileAPI и Drag and Drop.
Читать полностью »
Рубрика «javascript» - 459
Открываем файлы формата Open XML Excel в JavaScript
2013-11-04 в 15:38, admin, рубрики: Excel, javascript, open xml, zip, метки: Excel, javascript, open xml, zipHarmony collections NOW
2013-11-04 в 13:02, admin, рубрики: javascript, Блог компании Uprock, Веб-разработка
На хабре уже проскакивала статья про такие замечательные вещи, как Map, WeakMap и Set, но в действительности реальные возможности этих API не были раскрыты (если я все-таки хорошо воспользовался поиском).
Эти API толком не реализованы нигде, кроме firefox (можно включить в chrome canary), но даже там до недавних пор не поддерживалось использование HTMLElement-подобных объектов в качестве ключей. Polymer, например, убрал только три недели назад
if (navigator.userAgent.indexOf('Firefox/') > -1)
Чем же они так хороши? По сути Map/WeakMap можно воспринимать как обычные хэш-объекты, только в качестве ключей можно использовать только сложные объекты (Object, Function, Array), так как привязка идет не по содержимому, а по адресу в памяти.
Таким образом появляется возможность привязаться на фронтэнде к
- dom-элементу
- XHR-запросу
- File-элементу
Это дает нам возможность работать без id-шников элементов, делать дата-биндинг в разы быстрее, создать безумную альтернативную реализацию promises и так далее.
Мы будем говорить о WeakMap. Даже не так, мы будем говорить о существующих полифиллах для WeakMap.
Авто переподключение к серверу Battlefield 4
2013-11-03 в 14:21, admin, рубрики: javascript, lifehack, метки: javascript, lifehack На выходных надо отдыхать. Это факт.
Но есть замечательная фраза «Ни для без строчки кода».
Вот и на этих выходных решил устроить мозгу разминку :-)
Люблю я серию Battlefield. Ну вот нравится она мне!
В Battlelog для Battlefield 3 были замечательные очереди на сервер. Нажал и ждешь.
Какого же было мое разочарование, когда я обнаружил, что в четвертой части надо сидеть и жать на кнопку, чтобы поиграть с друзьями.
Первое, что пришло в голову, это простой таймер:
Читать полностью »
Оптимизация производительности длинных списков в AngularJS
2013-11-03 в 10:19, admin, рубрики: AngularJS, javascript, optimization, performance AnglarJS это здорово! Но при работе с большими списками, содержащими сложной структуры данных, он может начать работать очень медленно! Мы столкнулись с этой проблемой при переносе нашей административной панели на AngularJS. Она должна была работать без задержек при отображении около 500 строк. Но на первое отображение уходило до 7 секунд. Ужасно!
Мы обнаружили два узких места в нашей реализации. Одно было связано с директивой ng-repeat
, а другое с применением фильтров.
Эта статья рассказывает о результатах наших опытов с различными подходами по решению, или смягчению, возникшей проблемы с производительностью. Это даст вам идеи и советы, куда вы можете приложить свои силы, а какие подходы все-таки не стоит использовать.Читать полностью »
Работа с bitcoin из под Node.js (Делаем Online Bitcoin Wallet)
2013-11-03 в 7:37, admin, рубрики: bitcoin, javascript, node.js, криптография, метки: bitcoin, javascript, node.js
Встала как-то перед мной задача подключить оплату на сайте с помощью биткоина, я конечно слышал про биткоин, но в руках не держал, статей по этому делу мало, под Node.js тем более, пришлось потратить денек и разбираться. Ничего сложного, но думаю смогу сократить ваши пару часов, если вы никогда не работали с биткоином через консоль и не подключали таким образом платежи.
AngularJS директивы – это клево
AngularJS является каркасом (фреймворком) для построения web приложений, который позволяет создавать сложные приложения достаточно просто. Одна из его лучших возможностей, это создание директив, которые являются повторно используемыми web компонентами. Это дает возможность создавать новые HTML теги и атрибуты, которые могут динамично отображать контент в ответ на изменение данных, и обновлять сами данные, в случае необходимости.
Это очень высокопроизводительный подход, поскольку он позволяет вам оборачивать сложное взаимодействие с DOM в повторно используемые пакеты кода.Читать полностью »
Визуализируем в 3D, или как подружить D3 и Three.js
2013-11-02 в 1:14, admin, рубрики: d3.js, javascript, three.js, Веб-разработка, Инфографика, метки: d3.js, three.jsВышел COLT 1.2.4 c поддержкой LESS/SASS, CoffeeScript
2013-11-01 в 12:09, admin, рубрики: COLT, css, javascript, less, sass, Блог компании CodeOrchestra, метки: COLT, less, sassВышла новая версия COLT, в которой мы исправили большое количество ошибок (спасибо багрепортерам!) и добавили поддержку LESS/SASS, а так же CoffeeScript. Теперь при изменении стилей на LESS/SASS, а так же кода на CoffeeScript изменения будут доставляться в приложение без перегрузки и потери состояния. Читать полностью »
Angular Light
2013-11-01 в 11:06, admin, рубрики: AngularJS, javascript, web-разработка, Веб-разработка, метки: AngularJS, web-разработкаС недавнего времени пошла волна «самопальных» веб-фреймворков, поэтому я тоже решил написать про свой «велосипед».
На зарубежных форумах можно увидеть негативные высказывания, о том что Angular.js стал монстром, много ненужного, тяжело вылавливать ошибки и т.п.
Да и мне (и моим друзьям) не нравится некоторые моменты, поэтому был разработан аналог Anglar.js
По большей части aLight (Angular Light) похож на Angular.js и я старался сделать в нем только необходимые компоненты: биндинг (привязка модели к DOM), директивы и фильтры.
Пример
<div al-app>
<input type="text" al-value="name" />
<h3>Hello {{name}}!</h3>
</div>
Некоторые примеры можно посмотреть на angularlight.org
Основные отличия от Angular.js
* Входной порог ниже (как мне кажется).
* Не обязательно думать о модулях, нет зависимых инъекций (которые не всем нравятся), нет навязываемых сервисов.
* Если вы используете jQuery в проекте, то aLight может быть удобнее т.к. сам aLight использует jQuery и хорошо с ним интегрируется. При том что, Angular.js сообщество не рекомендует использовать jQuery.
* Простое создание директив, меньше скрытых возможностей.
Читать полностью »
Разработка клиент-серверной инфраструктуры на javascript (часть 2 — сервер и размещение)
2013-11-01 в 10:17, admin, рубрики: javascript, node.js, openshift, orm, paas, RESTful, хостинг, метки: javascript, node.js, OpenShift, orm, paas, RESTful Здравствуйте, в этой статье я расскажу о серверной части и опишу процесс размещения приложения на облачном хостинге openshift.
Читать полностью »