Новости информационных технологий - 27890

Suit Up! Простой и легкий WYSIWYG

Статья делится на три части:

Вступление

Не так давно, а, точнее, года два назад, в кругу разработчиков, с которыми я имел честь общаться (почти все — новички), каждый, кому поступила задача поставить WYSIWYG, ставили монстрообразный TinyMCE. Этот редактор считался почему-то стандартом у многих веб разработчиков, хотя, мало кому нужны были то большое количество функций, которые предлагались программистам. Тут тебе и то и это. Наверно, таким образом, новички пытались сказать клиенту «смотри, мы тебе на сайт запилили Ворд».

Однажды (не помню при каких условиях), мне захотелось или понадобилось разобраться в том, как работают браузерные «рич эдиторы». Моему удивлению не было предела, когда я сам, не имея каких-либо глубоких познаний в веб разработке, сделал две кнопочки: Bold и Italic, что оказалось очень простой задачей. Мне захотелось больше узнать о том, что же делать дальше. Так я познакомился с серией статей «WYSIWYG HTML редактор в браузере» (по ссылке первая статья, советую прочесть). Но информация на тот момент мне показалась несколько сложноватой. Поэтому я решил методом тыка, наступая на уже растоптанные кем-то грабли, написать свой простой редактор.

Сделал я его в виде jQuery плагина, и, думаю, не стоит отвечать «почему». Получилось кое-как заставить работать его в разных браузерах. Тут мне пришла в голову идея написать статью на хабр, после некоторых доработок. Время шло, допиливание я откладывал, откладывал… Два года, черт, целых два года. Но я постараюсь исправиться.

Простейший редактор

Для того, чтоб дать возможность пользователю менять содержимое блока (в данном случае, обычного дива) просто задаём ему (блоку) атрибут contenteditable:

<div contenteditable></div>

Редактор готов!
Читать полностью »

Думаю, каждому программисту знаком принцип единственной ответственности, Избавляемся от дублирования сквозного кода в PHP: рефакторинг кода с АОП ведь не зря он существует: соблюдая его, можно написать код лучше, он будет более понятным, его будет легче дорабатывать.

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

Эта статья о том, как можно избавиться от дублирования сквозного кода, и как сделать его чуточку лучше с помощью АОП.

Читать полностью »

Читать полностью »

DVD-RX это многоуровневая защита DVD видео от несанкционированного копирования. Но раз есть информация которую можно просмотреть, значит её можно и сохранить. В этом посте я опишу то, как именно мне удалось снять образ с такого диска, при помощи Linux.
Читать полностью »

Компания Samsung представила смартфон Galaxy S II Plus, являющийся, как несложно предположить по названию, улучшенной версией модели Galaxy S II.

Смартфон Samsung Galaxy S II Plus представлен официально

У своего предшественника устройство унаследовало дисплей типа Super AMOLED Plus размером 4,3 дюйма по диагонали, разрешение которого равно 800 x 480 пикселей.

В продолжение темы, начатой статьёй «13 причин не быть управленцем» и продолженной в «5 причин быть управленцем», хочу обратить внимание на такой аспект работы абстрактных «управленцев», как продукт их труда. Из своего опыта знаю, что недостаточное понимание этого аспекта свойственно как разработчикам, так и самим «управленцам». А где недостаточное понимание – там и конфликты, и холивары, и пренебрежительное отношение как к собственной работе, так и к работе коллег.
Читать полностью »

Сегодня мы предлагаем вашему вниманию отрывок из книги Сергея Тарасова «Дефрагментация мозга. Софтостроение изнутри», которая готовится к выходу в нашем издательстве.

Сокрытие базы данных или как скрестить ёжа с ужом

Упомянув один из крупнейших столпов современного софтостроения — мир ООП, нельзя обойти вниманием и другой — мир реляционных баз данных. Я намеренно вставил прилагательное «реляционные» применительно ко всем основным СУБД, хотя ещё в 1970-х годах такое обобщение было бы неправомерным.

Тем не менее, именно реляционным СУБД удалось в 1980-х годах освободить программистов от знания ненужных деталей организации физического хранения данных, отгородившись от них структурами логического уровня и стандартизованным языком SQL для доступа к информации. Также оказалось, что большинство форматов данных, которыми оперируют программы, хорошо ложатся на модель двумерных таблиц и связей между ними. Эти два фактора предопределили успех реляционных СУБД, а в качестве поощрительной премии сообщество получило строгую математическую теорию в основании технологии.

Читать полностью »

Этим постом мы продолжаем серию статей на тему разработки веб-интерфейсов для touch-устройств.

Смартфоны с сенсорными экранами достаточно сильно распространены и стали незаменимыми помощниками многим из нас. Потому нельзя не учитывать их особенности при разработке мобильных веб-интерфейсов.
Сенсорное управление существенно отличается от привычного управления мышкой.
Пользователь взаимодействует пальцами с самим экраном. И в зависимости от того, какие движения и сколькими пальцами производит пользователь, интерфейс реагирует по-разному: если быстро коснулся экрана и отпустил палец, то срабатывает клик; если коснулся и провел пальцем по экрану – скролл; если провел двумя пальцами – zoom; и великое множество других вариантов реакции.

Сегодня речь пойдет о swipe, в простонародье – листалке. Swipe позволяет перелистывать «страницы» привычным движением пальца. О том, как грамотно реализовать swipe, я расскажу на примере блока новостей на главной странице портала Mail.Ru.

Touch web: Swipe

Читать полностью »

Многие пользователи мобильной версии 2ГИС были озадачены: почему приложение может составлять маршруты проезда для общественного транспорта, а для личного автомобиля – нет? Кто-то даже спрашивал, не считают ли разработчики, что если человек купил iPhone, значит, он продал машину? Разрешить эти вопросы призвано обновление мобильного 2ГИС, в котором появляется расчет маршрута проезда на автомобиле.
image
Читать полностью »

Компания Transcend Information, объявила о выпуске карт памяти SD и microSD с защитой от копирования. К особенностям этих носителей относится наличие зон защищенных от копирования и копируемых свободно, эмуляция CD-ROM, настраиваемая защита носителя, отличная совместимость и высокая производительность. По мнению Transcend, это делает карточки Copy Protection SD и microSD «идеальными для использования в приложениях OEM и распространение мультимедийных файлов».


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js