Pull to refresh
-7
0

Пользователь

Send message

Краткий список WYSIWYG редакторов от Марка Андреева

Reading time4 min
Views358K

Однажды мне потребовался WYSIWYG редактор, я помнил как он выглядит, его функции, но не помнил названия. Через 45 минут я все же его нашел… Тогда я поставил перед собой задачу помочь многим, в том числе и себе: сделать сводный список всех чуть более известных WYSIWYG редакторов.
Читать дальше →
Total votes 201: ↑178 and ↓23+155
Comments89

Чистим HTML-код при вставке текста из MS Word в HTML5 WYSIWYG редактор (contenteditable)

Reading time5 min
Views24K
Здравствуйте!

При написании своего WYSIWYG редактора возникла проблема копирования текста из Ворда. Собственно проблем три:
  • Ворд вставляет много мусорного html кода, который необходимо чистить
  • Для представления списков Ворд почему-то использует параграфы вместо тегов UL и LI
  • Собственно как определить, что вставленный текст является вставленным из Ворда.

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

$(‘#editor’). msword_html_filter();

Плагин вешается на событие keyup и проверяет, является ли исходный код внутри редактора вставленным из Ворда, если да, то запускается функция очистки. В результирующем html прибивается все что только можно – неразрывные пробелы, атрибуты style и align, теги span, все Mso-классы, пустые параграфы.

Детали реализации под катом.

UPD Демо на CodePen

Читать дальше →
Total votes 55: ↑52 and ↓3+49
Comments18

Сайты готовятся к блокировкам: IPv6, I2P

Reading time1 min
Views84K
Я, как владелец АнтиЗапрета (сервиса по обходу сайтов, заблокированных Роскомнадзором, Роспотребнадзором и ФСКН), часто просматриваю, откуда этот сайт посещают пользователи. В последнее время, я стал замечать трафик с торрент-трекеров и варез-сайтов. На многих из них есть информация по обходу блокировок в случае, если сайт попадет в реестр или уже в нем находится. Некоторые из сайтов не просто предлагают пользователям использовать прокси, но и что-то делают на своей стороне, продвигая более совершенные и, зачастую, удобные для пользователей технологии в массы.

nnm-club.ru

Один из крупнейших трекеров страны уже давно был полностью (сайт и сам трекер) доступен по IPv6 (стоит сказать, что никто из уполномоченных добавлять сайты в реестр органов не может зайти на IPv6-only сайт, и в реестр попадают только IPv4-адреса), а теперь сделал зеркало в I2P: nnm-club.i2p. Зеркало работает в тестовом режиме, и, в общем-то, работает все. Сейчас трекер переехал на новый адрес nnm-club.me, а на старом висит инструкция по обходу блокировок и все сообщения с форума в теме по обходу блокировок, которые пишут пользователи.
Читать дальше →
Total votes 88: ↑83 and ↓5+78
Comments40

Nokia Lumia 925. Коммерческое использование

Reading time16 min
Views60K
Здравствуй, Хабр.

Эта статья будет посвящена новому бизнес-флагману компании Nokia, Lumia 925, он же CatWalk в девичестве. И хотя в сети полно обзоров, сравнений и описаний подобных устройств, думаю, мой альтернативный тест будет интересен, а также позволит, как мне кажется, немного разгрести поломанные копья о мобильную фотографию.

Введение



Что здесь будет и чего не будет. По моему опыту чтения обзоров телефонов они на 80-90% состоят из описания того, что находится в коробке, как аппарат лежит в руке, как слышно собеседника и описания пунктов меню. Перечислять очевидное мне не хочется, поэтому такие темы как эргономика, качество связи, питание, установка приложений в обзор не войдут. Любой может зайти в салон связи и оценить эти параметры за время меньшее, чем требуется на прочтение статьи. Обзоры телефонов часто дополняют фото, сделанные из окна тестера, со стола тестера и с автобусной остановки тестера. Эти изображения отличаются малой информативностью, плохим освещением, часто отсутствием композиции. Все это зачастую мало говорит о возможностях камеры и программного обеспечения. В своем обзоре я постараюсь провести максимально объективный тест камеры Nokia Lumia 925.
Читать дальше →
Total votes 46: ↑35 and ↓11+24
Comments29

Домашний сервер на Windows 8 Pro

Reading time12 min
Views161K
Приветствую!

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

В один из чудесных осенних дней меня тоже посетила эта мысль. Дело в том, в доме «развелось» слишком много устройств, которые захотелось объединить во что-то структурированное. Было принято решение поднять домашний сервер. В качестве ОС сначала хотелось использовать Windows Server 2012 Essentials, в состав которого вошли такие продукты, как Windows Home Server и Windows Small Business Server, но после нескольких часов работы с ней я понял, что использовать Windows Server 2012 в домашних условиях слишком «жирно». Тогда я решил использовать ОС попроще, а именно Windows 8 Pro, лицензия на которую лежала без дела.

Предупреждение. Я прекрасно понимаю, что поднять домашний сервер на Unix-подобных ОС, возможно, было бы и проще, но в данном материале я хочу рассказать, как поднять такой сервер на клиентской ОС Windows 8 Профессиональная обычному пользователю ПК (ну, или почти обычному), который никогда не имел опыта общения с Unix.
Вот моя история...
Total votes 86: ↑53 and ↓33+20
Comments78

Выпущена предварительная версия Visual Studio 2013

Reading time8 min
Views42K
Несколько недель назад на конференции Teched North America 2013 был сделан анонс Visual Studio 2013, и было рассказано о некоторых новых возможностях этой среды. Вчера, на конференции Build 2013 было объявлено о доступности предварительной версии Visual Studio 2013, Net Framework 4.5.1 и Team Foundation Server 2013 которые вы можете загрузить уже сейчас.
Читать дальше →
Total votes 72: ↑60 and ↓12+48
Comments64

Обзор мобильного приложения auto.ru для платформы Android

Reading time7 min
Views9.4K
Мы продолжаем серию обзоров интерфейсов приложений для Android, подготовленных совместно с компанией UsabilityLab. Предыдущий обзор из серии читайте тут.

О приложении


Приложение auto.ru позволяет просматривать со смартфона материалы одноименного портала. Так, с помощью приложения можно искать и просматривать объявления о продаже легковых машин и мотоциклов, а также добавлять отдельные объявления или поисковые запросы в «Избранное». Помимо этого, в приложении есть возможность читать статьи о тест-драйвах, отзывы об определённых моделях, новости автомобильного мира и оставлять свои комментарии.

Пользователи в целом положительно оценивают функционал приложения, но в то же время обращают внимание в своих комментариях на отсутствие некоторых возможностей. Например, Anton Kirillov, комментируя приложение на Google Play, отмечает наиболее востребованные из таких функций:
«Приложение очень хорошее и удобное, но: 1. Дайте возможность выбора цены авто вручную либо сократите диапазон, 2. Сделайте так, чтобы проданные авто удалялись из избранного автоматически, 3. Не видно кол-во хозяев по ПТС. Спасибо!».
Средняя оценка приложения пользователями – 4,0. По-видимому, она оказалась сниженной из-за ряда проблем, возникавших в предыдущих версиях – приложение обнаруживает не все объявления, выложенные на сайте, и постоянно «вылетает». Однако при тестировании текущей версии эти проблемы не проявили себя.

image
Читать дальше →
Total votes 22: ↑4 and ↓18-14
Comments0

Год в Windows Store. Краткое подведение итогов и неделя щедрости от разработчиков Metro Commander

Reading time2 min
Views12K
Это «гостевой» пост от разработчиков очень популярных в Windows Store утилит. Я знаком с ними очень давно, сначала заочно — они были участниками программы Application Excelence Labs и одними из первых попали в магазин приложений Windows, потом очно, на одном из первых Windows Camp, разработчик откликнулся из зала, когда я рассказывал о Metro Commander.

Дальше предоставляю слово самим разработчикам,

Здравствуйте Хабрапользователи!
Прошёл ровно год с тех пор как мы, небольшая команда разработчиков, начали работать на себя.
В честь этого события мы объявляем неделю щедрости и раздаём наши приложения абсолютно бесплатно. (на самом деле мы хотим проверить, как подобные акции влияют на положение приложений в Windows Store. О результатах отпишемся.)

Картинка для привлечения внимания: image
Дайте мне немного этих ваших бесплатных программ
Total votes 52: ↑27 and ↓25+2
Comments16

Скидка на книгу «HTML5 и CSS3. Разработка сайтов для любых браузеров и устройств»

Reading time1 min
Views19K
Налетай! На днях у нас вышла книга «HTML5 и CSS3. Разработка сайтов для любых браузеров и устройств». Для наших преданных поклонников с Хабры мы предлагаем скидку 25% на бумажную и цифровую версию книги. Акция действует до конца сентября! Чтобы получить скидку, при оформлении заказа введите промо-код f1f30831b892c163f476c.


Читать дальше →
Total votes 24: ↑14 and ↓10+4
Comments18

foreach or for that is the question

Reading time5 min
Views55K
Вопрос о выборе цикла for/foreach стар, как мир. Все мы слышали, что foreach работает медленнее for-а. Но не все знаем почему… А вообще так ли оно?

Когда я начинал изучать .NET, один человек сказал мне, что foreach работает в 2 раза медленнее for-а, без каких-либо на то обоснований, и я принял это как должное. Теперь, когда чьих-то слов мне мало, я решил написать эту статью.

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

Итак, поехали!
Читать дальше →
Total votes 55: ↑45 and ↓10+35
Comments27

Использование Thrift в .NET

Reading time5 min
Views13K
Хочу поделиться с вами примером того как можно использовать такую удобную штуку как Thrift в своих .NET проектах.

Для тех кто не знает, Thrift — это фреймворк для облегчения взаимодействия между кодом написанным на разных языках, а именно C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk и OCaml.

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

Thrift позволяет один раз описать сервис, структуры данных и даже исключения, а потом сгенерировать код для всех поддерживаемых языков. Таким образом, если вы, например, напишете сервер с использованием Thrift на .NET, то вы
  1. Сэкономите кучу времени для написания клиент серверного приложения, например с использованием сокетов.
  2. Почти автоматически получаете клиентов на всех поддерживаемых языках.
В своем примере я реализую простейший сервис, который просто будет возвращать время. Но имея такой макет достаточно легко расширить его до чего-нибудь полезного.
Читать дальше →
Total votes 41: ↑31 and ↓10+21
Comments28

GetThemAll или бери от интернета лучшее!

Reading time1 min
Views8.8K
Сегодня я хотел бы рассказать о нашем приложении GetThemAll для Windows Phone. Да, я знаю, что приложени не новое, но в рунете о нем известно немного, тогда как на западе оно пользуется невероятной немалой популярностью.

image

Читать дальше →
Total votes 15: ↑10 and ↓5+5
Comments1

Готовим расширение под Chrome, украшаем Хабр

Reading time5 min
Views30K
Чтобы сделать расширение достаточно минимальных знаний Javasctipt, HTML и CSS. Давайте добавим на хабр догрузку следующей страницы, а также систематическую проверку новых постов на текущей. Примерно как на twitter.

Полностью готовый экстеншн можно установить и проверить в работе через Chrome Web Store, а здесь разберемся как написать основной код с нуля (полный занимает всего 6 KB).



Читать дальше →
Total votes 50: ↑41 and ↓9+32
Comments10

Разработчики в борьбе за эффективность программиста, команды, команд

Reading time9 min
Views8K
Всем привет.

Сегодня мы хотели бы обсудить один очень важный аспект эффективной работы — повторное использование.

Речь пойдет, конечно, о коде.

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

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

И тут автор ловит себя на том, что поступает неправильно, начиная описывать ситуации — все и так понимают, о чем речь. А описать нужно технологии и процесс. Поэтому давайте просто остановимся на абстрактной мысли, что внезапно нашлось много кода, который может быть полезен коллегам и его хорошо бы сделать легкодоступным. Также примем во внимание вторую, куда менее приятную, мысль, что в “зрелых” проектах можно найти большое количество copy-paste кода, значительно понижающего сопровождаемость. Да и работу над такими проектами приятной назвать трудно. И с этим надо что-то делать.

И мы решили с этим что-то делать.

Читать дальше →
Total votes 11: ↑7 and ↓4+3
Comments14

Как я искал нишу для стартапа и делал конструктор мобильных приложений

Reading time5 min
Views49K
В 14 лет я начал как все — основал свою студию веб-дизайна. Создавал, кстати, её на пару со знакомым, с которым встретился в поезде в детский лагерь. Студия приносила небольшой (но весомый для школьника) доход, а после была продана за хорошую сумму.

Главное – красивая секретарша


Студент с деньгами и без бизнес-опыта — это к катастрофе. Поэтому на следующем проекте я собрал почти все ошибки из возможных. Бизнес-идея MJ.ru была простая: это аналог живого журнала, где лучшие авторы получали гонорары. Вместо команды профессиональных программистов я снял огромный офис и нанял красивую секретаршу. Про бизнес-модель начал думать уже тогда, когда деньги начали кончаться. Так я получил первый ценный опыт.

Внизу — ещё несколько итераций и детальный рассказ про выбор ниши для стартапа.
Читать дальше →
Total votes 90: ↑64 and ↓26+38
Comments38

Локализация проектов на .NET с интерпретатором функций

Reading time8 min
Views16K

Пролог


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

  1. Сложность внедрения в существующий проект.
  2. Отсутствие средств форматирования локализованных сообщений (за исключением стандартного string.Format).
  3. Невозможность встраивания культурно-зависимых функций. Например, типичную задачу, — подстановку нужной формы слова в зависимости от значения числа, — одними словарями значений не разрешить.


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

Состав библиотеки


Ссылка на проект SourceForge: https://sourceforge.net/projects/open-genesis/?source=navbar

Пример: LocalizationViewer

В сборку входят следующие проекты:

  • Genesis.Localization — основная библиотека локализации.
  • Ru — реализация русской локализации (пример).
  • En — реализация английской локализации (пример).
  • LocalizationViewer — программа для демонстрации возможностей библиотеки с возможностью редактирования локализаций.

    image
Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments14

Создание patch’ей на Wix при помощи PatchWiz

Reading time7 min
Views8.9K

Добрый день всем! Хочется поделиться со всеми своим опытом создания системы для генерации патчей (да простит меня читатель за использование этого слова). Про wix довольно много было написано здесь и я предполагаю, что читатель немного знаком с ним, а вот проблему создания патчей как-то обошли. В нашей же компании они нашли широкое применение, в основном из-за своего размера, а также из-за возможности отката.
Смотреть патчи
Total votes 17: ↑17 and ↓0+17
Comments7

Пишем свой синхронный/асинхронный клиент-сервер

Reading time6 min
Views42K
Всем привет.

В этой статье рассмотрим принцип многопоточного TCP сервера приложений в котором реализуем синхронные и асинхронные вызовы, а также разграничение доступа к процедурам и сжатие данных.
Читать дальше →
Total votes 21: ↑13 and ↓8+5
Comments10

C# — лучший язык для мобильной разработки

Reading time2 min
Views51K
Popularity of Programming Languages объявил C# лучшим языком программирования 2012 года. Его популярность выросла на 2.3% это больше чем рост годовой популярности любого другого языка. Возможно, все дело в выходе Windows 8, где C# используется для создания сторонних приложений. Нет Фридман, CEO Xamarin, считает, что дело не только в этом. В статье вы найдете восемь причин выбрать C# для мобильной разработки.


Читать дальше →
Total votes 67: ↑31 and ↓36-5
Comments28

Information

Rating
Does not participate
Registered
Activity