Pull to refresh
0
0

User

Send message

Бандлинг всего того, что не относится к обычному JavaScript-коду

Reading time8 min
Views5.8K
Предположим, вы работаете над веб-приложением. В таком случае весьма вероятно то, что вам приходится иметь дело не только с JavaScript-модулями, но и с самыми разными другими ресурсами. Это и веб-воркеры (их тоже пишут на JavaScript, но они обособлены от обычного кода фронтенда), и изображения, и стили, и шрифты, и WebAssembly-модули, и иные материалы, входящие в состав сайта.

Ссылки на некоторые из подобных ресурсов можно включить непосредственно в HTML-код, но часто они логически связаны с компонентами, используемыми во многих местах проектов. Например, таблица стилей для особого выпадающего списка связана с JavaScript-кодом, реализующим этот список, а изображения иконок связаны с компонентом, реализующим панель инструментов. Точно так же WebAssembly-модуль связан с JavaScript-кодом, обеспечивающим использование этого модуля. Удобнее было бы обращаться к подобным ресурсам прямо из соответствующих JavaScript-модулей и загружать их динамически тогда (или если), когда загружается соответствующий компонент.


Ресурсы разных типов, импортируемые в JS-коде

Правда, в большинстве крупных проектов используются системы для сборки таких проектов, которые выполняют дополнительные оптимизации и реорганизации контента. Например — это бандлинг и минификация ресурсов. Они не могут выполнять код и предсказывать то, каким будет результат его запуска. Они не могут и анализировать все строковые литералы в JavaScript-программах и делать предположения касательно того, является ли конкретная строка неким URL, ведущим к какому-то ресурсу, или нет. Как сделать так, чтобы бандлеры «видели» бы динамические ресурсы, загружаемые JavaScript-компонентами и включали бы их в сборку проекта?
Читать дальше →

Как посчитать длину текста и не привлекать внимание санитаров

Reading time10 min
Views33K

Привет! Меня зовут Алексей Ивасюта, я фронтенд-разработчик в Авито в кластере Seller Experience. В этой статье я расскажу, как правильно рассчитать длину текста в Java Script. Эта статья будет одинаково полезна как начинающим разработчикам, так и весьма опытным. Благодаря ей вы поймете устройство Unicode и особенности его работы в JS.

Читать далее

Учебный курс. Работа с параллелизмом с Entity Framework в приложении ASP.NET MVC

Reading time12 min
Views13K
Это заключительная часть цикла статей, посвященного разработке с помощью Entity Framework и ASP.NET MVC 3. Первые главы вы можете найти по следующим ссылкам:
В предыдущих уроках вы работали со связанными данными. В этом уроке мы рассмотрим вопросы одновременного доступа. Вы создадите страницы, работающие с сущностью Department, и страницы для редактирования и удаления сущностей Department будут также обрабатывать ошибки параллелизма. Результаты работы изображены на иллюстрациях.

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

Обзор реле напряжения с контролем тока DigiTop VA-protector 63A

Reading time4 min
Views114K


Intro


При ремонте будущего собственного жилья, помимо перекладывания всей проводки в квартире и установки щитка с автоматами, встал вопрос об обеспечении защиты техники от перенапряжения.
Постоянное строительство новых домов требует прокладки новых и новых силовых кабелей напряжением 35 и 110 кВ, но их емкость компенсировать «забывают»: шунтирующие реакторы попросту не устанавливают. Из-за чего возникает резонанс с перекачиванием мощности.

В частности, подобное произошло 2 декабря в Киеве, когда «отвалился» генератор на ТЕЦ-5 и в некоторых районах Киева из-за скачка напряжения сгорело приличное кол-во техники.

Скрытый текст
image

Это и побудило меня к выбору и установке реле напряжения (РН).
Читать дальше →

Обзор сервисов отсылки мобильных push-уведомлений

Reading time4 min
Views45K
Недавно заметил за собой, что получать уведомления из разных программ на email для меня стало неудобным. Уже давно устоялся термин “email overload” и компании вроде Google с этим стараются работать (вводят папки, фильтры, а теперь и вкладки в Gmail).

Мне понравилась концепция центра уведомлений, которая успешно показала себя на ОС Android, появилась в iOS6 и запланирована к выпуску в Windows Phone. Это одна лента уведомлений для всех сервисов, удобный просмотр, работа с уведомлениями, простая очистка списка. На своем опыте убедился, что это в разы удобнее, чем привычные email уведомления, которые превращают inbox в кашу.

Поскольку наша команда работает одновременно над несколькими проектами (где-то летят “билды”, где-то пушатся изменения и так далее), мне показалась интересной идея подключить свои проекты к такому варианту уведомлений о событиях, происходящих в системе. В идеале я хотел иметь возможность рассылать уведомления разным членам команды, а при необходимости и на всю команду целиком. Только мне хотелось получать их именно от ПО, с которым я работаю — начиная от инструментов Continuous Integration и автоматического тестирования, и заканчивая непосредственно логами ошибок, статистикой и критикалами из проектов.
Читать дальше →

100 ватт по USB или как работает Power Delivery

Reading time9 min
Views174K
Почитав вот этот пост и сопутствующую ему дискуссию, я решил попробовать внести ясность в то, что такое USB Power Delivery и как это работает на самом деле. К сожалению у меня сложилось впечатление, что большинство участников дискуссии воспринимают 100 ватт по USB слишком буквально, и не до конца понимают что за этим стоит на уровне схематики и протоколов.

Итак, кратко – основные пункты:

  • USB PD определяет 5 стандартных профилей по электропитанию – до 5V@2А, до 12V@1.5А, до 12V@3А, до 12-20V@3А и до 12-20V@4.75-5А
  • Кабели и порты для Power Delivery сертифицируются и имеют дополнительные пины в разьеме
  • Тип кабеля и его соответствие профилю определяются автоматически через дополнительные пины и определение типа USB коннектора (микро, стандарт, A, B и т.д.)
  • Обычные USB кабели (не Power Delivery) сертифицируются только по первому профилю до 5V@2A
  • При подключении распределяются роли, между тем кто дает ток (Source / Источник ) и кто потребляет (Sink / Приемник)
  • Источник и Приемник обмениваются сообщениями по специальному протоколу, который работает параллельно традиционному USB
  • В качестве физического носителя протокол использует пару – VBus / GND. Именно поэтому Power Delivery не зависит от основного USB протокола и обратно совместим с USB 2.0 и 3.0
  • Используя сообщения, источник и приемник могут в любой момент времени меняться ролями, изменять силу тока и/или напряжение, уходить в спячку или просыпаться, и т.д.
  • По желанию устройства могут поддерживать управление PD через традиционные USB запросы, дескрипторы и т.д.

Под катом — детали.
Читать дальше →

0 dB Бесшумный компьютер. Версия 1.0

Reading time27 min
Views331K
Не кажется странным, что навязчивое гудение компьютера всеми воспринимается «как норма»? Можно вообразить весь ужас происшествия, если внезапно эти же звуки начнёт издавать любимый телевизор. Расценивать такое событие можно будет только как серьёзную поломку. Так почему компьютер не сделать, подобно телевизору, таким же уютно тихим?!

Итак, настала пора отступить от стереотипов и поменять хорошее на лучшее!

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

Цель статьи — поделиться исследовательским и практическим опытом в компоновке компьютера, который при работе не издавал бы ни единого звука.
Читать дальше →

В Notepad++ появилась подсветка ошибок в проверке орфографии

Reading time1 min
Views112K


В замечательном редакторе наконец появилась (Upd. еще с 5 мая) подсветка ошибок в проверке орфографии! Для меня это очень долгожданное нововведение, которое очень сильно ждал и надеялся. В свое время даже хотел перескочить на другие редакторы из-за этой проблемы. В Notepad++ можно было до данного момента настроить проверку орфографию, но подсветки слов с ошибками не было, что сводило пользу от проверки орфографии на нет.

Далее расскажу, как настроить проверку русского и английского языка.
Читать дальше →

Shuttle KD20 — домашний мини-NAS

Reading time3 min
Views71K
Рано или поздно приходит время, когда в качестве домашнего компьютера многие начинают использовать компактные устройства. Вот и я — избавился, наконец, от громоздкого midi-tower и пересел на моноблок.
Объем и отказоустойчивость дисковой подсистемы подобных устройств оставляют желать лучшего, поэтому появляется потребность во внешней системе хранения данных. Под данными подразумеваю фото, видео, дистрибутивы — в общем все то, что не нужно постоянно, но должно быть под рукой. Диски у меня были — вынул из старого компа, оставалось подобрать платформу для NAS.
Почитал статьи на хабре, в основном рекомендуют полноценные системы на mini-ITX материнках — стоимость таких решений от 10 тысяч рублей без учета дисков. Но мне нужно было решение проще, что-нибудь вроде внешнего сетевого диска, но с отказоустойчивостью RAID-массива.
Решил попробовать mini-NAS Shuttle KD20

Выбор многоканального видеорегистратора

Reading time5 min
Views121K
Видеорегистратор (DVR) — устройство, позволяющее просто и дёшево организовать видеонаблюдение.



В этой статье я расскажу о наиболее распространённом классе — регистраторах, работающих с аналоговыми видеокамерами. Такой регистратор позволяет подключить 4, 8 или 16 камер, а так же 1 или несколько микрофонов. Запись ведётся на жёсткий диск, устанавливаемый внутрь корпуса регистратора. Большинство регистраторов продаются без жёстких дисков. Диск ставится обычный компьютерный с интерфейсом SATA. К регистратору можно подключить аналоговый монитор или телевизор, VGA-монитор, некоторые имеют выход HDMI. Все современные регистраторы могут подключаться к локальной сети и интернету. Это позволяет вести наблюдение, просматривать записи и управлять регистратором с компьютера и мобильных устройств.
Локально регистратор управляется кнопками на передней панели, инфракрасным пультом ДУ и USB-мышью.

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

Электронная подпись на УЭК, что даёт и нужна ли вообще? Часть 4

Reading time6 min
Views138K
Это 4-ый пост, который посвящён описанию возможностей УЭК. Предыдущие части:
1) Опыт получения универсальной электронной карты. Розовая теория против суровой реальности. Часть 1
2) Как я получил универсальную электронную карту после 3-х месяцев ожидания. Часть 2
3) Практическое применение универсальной электронной карты (УЭК) в городе и интернете. Часть 3



Поначалу, я хотел лишь оформить отдельным комментарием к своему топику то, как я наконец-то записал электронную подпись (ЭП) на Универсальную электронную карту (УЭК). Однако информации для одного комментария слишком много, а до отдельного топика она ещё была скудноватой. И вот теперь, спустя чуть ли не месяц после того, как я достал Сбербанк, и записал ЭП на УЭК, я могу с полной уверенностью говорить, что УЭК с ЭП действительно чего-то, да стоит. Без ЭП — кусок красивого и пока редкого пластика, хоть и более крутого, чем тот, который используется для изготовления обычных карт. Но обо всём по порядку.
Читать дальше →

Готовим пользовательское соглашение своими руками

Reading time8 min
Views74K
Пользовательское соглашение или как его еще принято называть Соглашение об использовании сервиса, является ключевым документом, на котором строится юридическая защита интернет-сервиса.

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

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

11 неловких моментов при общении по email

Reading time8 min
Views157K
Электронная почта — неотъемлемая составляющая нашей жизни, это факт. У большинства из нас есть знакомые, которые удалили свои профили с Фейсбука или вообще отказались их заводить, взяв верх над своим эго. Может быть, вы даже знаете тех, кто горд отказом от смартфона по собственной воле. Но никому во взрослом интернетозависимом мире не позволено не иметь электронной почты.

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

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

Давайте обсудим 11 самых неловких моментов, которые привносит в нашу жизнь электронная переписка.

Переведено компанией-локализатором Alconost


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

Коробочные CMS для интернет-магазина: обзор популярных движков

Reading time24 min
Views164K
Недавно я всерьёз задумался об открытии своего онлайн магазина. Будучи по натуре человеком достаточно последовательным и взвешенным, я решил не вестись на красочную рекламу, а самостоятельно осуществить ознакомление со всеми широко используемыми вариантами систем управления контентом...
Читать дальше →

Можно ли украсть деньги из мобильного банкинга? Часть 2

Reading time13 min
Views31K
image
Продолжаем тему безопасности мобильного банкинга, которую мы начали в первой части. Наверное, многие уже догадались, речь в данной статье пойдет об атаке «человек посередине», MitM. Данная атака была выбрана не случайно. В случае, если канал передачи данных между приложением мобильного банкинга и сервером контролируется злоумышленником, последний может украсть деньги со счета клиента, то есть нанести прямой финансовый ущерб. Но обо всем по порядку.

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

Мониторинг сайта с помощью Google Docs

Reading time2 min
Views13K


Автор блога Digital Inspirations Амид Агарвал (Amit Agarwal) опубликовал скрипт для Google Docs, который опрашивает статус сайта и заносит ответ в ячейку таблицы. Таким образом, можно сделать сервис мониторинга своими руками. Google Docs позволяет запускать скрипт с минутным интервалом и получать уведомления на email.
Читать дальше →

DIY-диммер: каково оно, быть за выключателем?

Reading time2 min
Views59K


Оказывается, далеко не все смогли правильно понять, как именно предполагается инсталлировать наш DIY-диммер. Приличное количество вопросов в личке связано с этим. Сегодня мы постараемся показать всё на фото.
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity