Pull to refresh
1
0
Михаил 'bashmish' Башкиров @bashmish

User

Send message

Javascript от А и до…

Reading time3 min
Views3.6K
Начал замечать что на Хабре появляются статьи по программированию, может на это натолкнули фразы типа «хабр уже не тот», но это не так важно, потому как мне это нравится, всегда хотелось узнать что-то новенькое … моя первая статья привела к огромному краху, поэтому почитав людей, я повторю свои усилия и начну цикл заметок о JavaScript от самого начала и до тех пор, пока это будет востребовано =)
поехали дальше

Вступление

Reading time2 min
Views4.2K
Был удивлён, не обнаружив подобного блога на Хабре. Ничего, постараемся восполнить этот пробел. В этом блоге я планирую как можно проще описать работу регулярных выражений, более склоняясь к полному разбору часто используемых примеров. Так же, в планах, рассказать об особенностях разных движков выражений, и их реализации в популярных языках программирования.

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

Начало пути — Часть 6. Основы сведения и мастеринга.

Reading time6 min
Views243K
Вот, с грехом пополам, мы и добрались до финальной статьи. Она будет про сведение и мастеринг. Первым делом поясню чем сведение отличается от мастеринга, расскажу немного про такую штуку как SideChain и еще парочку трюков. В конце — небольшая таблица, которая до сих пор помогает мне при эквализации.
Читать дальше →

8 отличных хитростей jQuery

Reading time4 min
Views28K
imageКому не нравится jQuery? Это быстрая и простая javascript-библиотека стала очень популярной в 2008 году. В этой статье я собрал список восьми очень полезных jQuery-техник, советов и хитростей.
Читать дальше →

Используем любой шрифт с Javascript.

Reading time3 min
Views24K
Все мы знаем прекрасные библиотеки sIFR3 и FLIR, которые на лету помогают использовать любой шрифт на веб-страницах.
Правда, с моей точки зрения, их использование (а именно установку и настройку) нельзя считать легким трудом.

Сегодня я расскажу о библиотеке Typeface.js, которая, как видно из названия, работает на чистом JavaScript.

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

Закрепляем jQuery — 25 отличных советов

Reading time19 min
Views168K
Перевод отличной статейки. Думаю, будет полезна как новичкам, которые только приступили к использованию jQuery, так и тем, кто уже какое-то время с ним работает. А кого-то, возможно, заставит глянуть эту чудесную библиотечку. Многие советы имеют отношение не только к jQuery, но и к JavaScript в целом. Лично для меня была весьма и весьма познавательной, посему и захотелось донести это «до масс». Перевод не дословный, но передающий смысл и максимально адаптированный к русскому языку.

Далее все написано от имени автора оригинальной статьи.

Введение


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

Я не эксперт в jQuery. И даже не претендую, поэтому, если встретите ошибки, смело поправляйте меня и вносите предложения по улучшению (поправлять и присылать поправки нужно автору статьи, а не перевода — зам. пер.).

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

Содержание


  1. Загружайте фреймворк с Google Code
  2. Используйте «шпаргалку» (cheat sheet)
  3. Соединяйте все ваши скрипты и уменьшайте размер файла
  4. Используйте возможности Firebug для ведения логов
  5. Минимизируйте операции выборки в пользу кэширования
  6. Сводите манипуляции с DOM-деревом к минимуму
  7. Оборачивайте все в единый элемент, когда речь идет о любой вставке в DOM
  8. Используйте «id» вместо классов, где это возможно
  9. Задайте контекст своим селекторам
  10. Используйте последовательности вызовов методов с умом
  11. Научитесь правильно использовать анимацию
  12. Научитесь назначать и делегировать события
  13. Используйте классы для сохранения состояния
  14. Еще лучше — используйте встроенный в jQuery метод data() для сохранения состояния
  15. Пишите собственные селекторы
  16. Подготавливайте HTML и модифицируйте его, когда страница загружена
  17. Используйте «отложенную загрузку» (lazy loading) для определенного контента для выигрыша в общей скорости и преимуществ для SEO
  18. Используйте служебные функции jQuery
  19. Используйте «noconflict» для переименования глобального объекта «jquery», когда используете его с другими фреймворками
  20. Как узнать что картинки загружены?
  21. Всегда используйте последнюю версию
  22. Как проверить, что элемент существует?
  23. Добавляйте класс «JS» в элемент «html»
  24. Возвращайте «false» для отмены поведения по-умолчанию
  25. Короткая запись для события готовности документа


Rock'n'Roll!

Bluetooth в Linux

Reading time3 min
Views53K

1. Вступление


А вы знаете, что настроить bluetooth соединение с PC на Linux совсем не сложно?
Итак, сейчас мы создадим подключение к телефону\PDA, примонтируем файловую систему телефона к оной на ПК и создадим GPRS\EDGE подключение.

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

Почему, сидя за компом, стоит сделать перерыв

Reading time1 min
Views991
все нижесказанное ↓ имхо

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

Так может быть, это работает не только со мной, помешанном на компах гиком, но и с Вами? Попробуйте, может быть это спасет вам несколько минут/часов, и вы сделаете наконец то, что хотели.

Серия 50+ советов по оптимизации PHP кода. «За» и «против» такой оптимизации. Первые 10 советов.

Reading time6 min
Views21K
Это перевод первых 10-ти советов статьи по оптимизации PHP кода. На хабре есть перевод более старой версии статьи — 40 советов по оптимизации вашего PHP-кода

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

Пишу по частям, иначе получится очень много материала сразу.

Это моя первая статья на хабре, надеюсь она получилась интересной.

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

Переходим с «палёного» софта на бесплатный

Reading time5 min
Views44K
Заметка была написана довольно давно, в октябре-ноябре прошлого года, так и висела неопубликованной. Прошу прощения за несколько «ненаучный» стиль.

Как-то так получилось, что иногда я пользуюсь Windows XP дома (2 лицензионных копии на двух ноутах) и Windows 2000 на работе. Кстати, на работе у нас весь софт лицензионный. Вот моему начальнику понадобился сегодня Microsoft Visio, а злые админы отказались ставить, мол, 800 баксов стоит… Это навело меня на мысли написать данный пост. Поскольку сам я программист и иногда даже пишу программы, то стараюсь всячески выступать против «палёного» ПО, заменяя его бесплатными аналогами. Специалисты и так в курсе, чем может грозить использование левого софта, а рядовому пользователю пофиг на все эти тонкости, лишь бы работало. Проблема усугубляется ещё и тем, что 99% пользователей Windows настолько привыкли использовать свои любимые Excel, Word, Photoshop, Total Commander, что это начинает походить на неизлечимую зависимость. Не всегда у всех получается от неё избавиться, но, тем не менее, прогресс есть. И вот решил я поделиться своим опытом отказа нелицензионных взломанных программ в пользу бесплатных аналогов. Здесь мы убьём сразу 2-3 зайцев: сэкономим деньги (причём много раз: не купим платный софт, не потратим кучу денег за поддержку и обновления и не заплатим возможный штраф за «левак»), уменьшим вероятность подцепить вирусы и прочую нечисть, не нарушим закон, поддержим технический прогресс (к примеру, за счёт использования более удачных альтернативных решений, улучшив тем самым конкуренцию, и в конечном итоге, качество ПО). Итак, поехали.
Читать дальше →

5 способов улучшить ваш CSS

Reading time3 min
Views4.4K
imageПрактически любой человек сможет написать CSS-код, в наше время любая программа сделает это за вас. Но будет ли это хороший CSS? Далее представлены пять советов по совершенствованию вашего CSS
Читать дальше →

Вертикальный скрол c краткой информацией.

Reading time1 min
Views2.3K
Когда то давно, не помню где я читал о том, что обычный скрол можно сделать более функциональным и предлагалось ряд решений.
Мне эти идеи понравились и вот спустя много лет :)…
Предлагаю свою реализацию на javascripte. Идея в том чтобы на фоне скрола показывать эскиз всего текста, а с помощью движка скрола видимую часть текста. При таком подходе сразу видно где находится картинка, заголовок, а где параграф.
Читать дальше →

Работа с объектами в JavaScript: теория и практика

Reading time15 min
Views219K
В этой статье я хочу по возможности полно и последовательно рассказать о том, что такое объект в JavaScript, каковы его возможности, какие взаимоотношения могут строиться между объектами и какие способы «родного» наследования из этого вытекают, как это все влияет на производительность и что вообще со всем этим делать :)

В статье НЕ будет ни слова про: эмуляцию традиционной класс-объектной парадигмы, синтаксический сахар, обертки и фреймворки.

Сложность материала будет нарастать от начала к концу статьи, так что для профи первые части могут показаться скучными и банальными, но дальше будет намного интереснее :)

если не боимся многабуков, то читаем дальше

Тривиальные задачи по вёрстке

Reading time4 min
Views60K
image

Начинаю вести серию статей Это статья про вёрстку html css js, начинаю с самого простого, потом планирую описать более сложные вещи и всякие тонкости и этим видимо так и закончил

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

Отправка комментариев пользователей сайта вам на Jabbеr

Reading time1 min
Views5.9K
Во время шумихи с аськой и предложениями перехода на jabber я решил разобраться: что же такое джаббер и как он мне может пригодиться кроме прямого общения.

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

Поскольку я только начал разбираться с джаббером решил использовать готовую библиотеку для php (так как мой сайт работает на нем).
Итак, на сайте протокола xmpp (jabber) xmpp.org/software/libraries.shtml я скачал баблиотеку xmpphp (она мне понравилось больше всех своей простотой в понимании) и закачал ее на свой хост.

В функцию добавления комментария на сайте я добавил строки:

include ‘XMPPHP/XMPP.php’;
$conn = new XMPPHP_XMPP('джаберовский сервер', 5222, 'логин', 'пароль', 'xmpphp', 'jabber.ru', $printlog=false, $loglevel=XMPPHP_Log::LEVEL_INFO);
try
{
	$conn->connect();
	$conn->processUntil('session_start');
	$conn->presence();
	$conn->message('ваш джаббер', 'текст сообщения');
	$conn->disconnect();
}
catch(XMPPHP_Exception $e)
{
	die($e->getMessage());
}


Где: джабберовский сервер — сервер через который отправляются сообщения (я указал тот же на который и приходят сообщения).
Внимание! Текст сообщения должен быть с кодировке UTF-8.

Вот собственно и все…

P.S. Спасибо за приглашение на хабр! Решил перенести свою статью из песочницы в блог.

Проверка орфографии с помощью Google

Reading time2 min
Views15K
Иногда в проекте требуется проверить данные на предмет орфографических ошибок, не полагаясь на познания пользователя по части языков. Тут нам сможет помочь компания Google, с таким их сервисом, как проверка орфографии, используемым в Google Toolbar. Но, к сожалению, Google не предоставляет открытого API для работы с ним.

Итак, краткое описание:
Для того, чтобы проверить текст нам нужно отослать его в POST на https://google.com/tbproxy/spell?lang=ru, где для смены языка следует заменить значение параметра lang на соответствующий по ISO 3166-1 alpha-2. Текст оформляется в XML вида:
<?xml version="1.0" encoding="UTF-8" ?><br/>
<spellrequest textalreadyclipped="0" ignoredups="0" ignoredigits="1" ignoreallcaps="1"><br/>
 <text>Текст для проверки</text><br/>
</spellrequest>
ignoredups — подсветка повторов
ignoredigits — считать цифры ошибками
ignoreallcaps — не проверять слова написанные капсом (подсказал pointum)

Если всё успешно, мы получаем ответ вида
<?xml version="1.0" encoding="UTF-8"?><br><spellresult error="0" clipped="0" charschecked="272"><br> <c o="27" l="13" s="0"></c><br> <c o="73" l="11" s="1">орфографии и орфографии</c><br> <c o="190" l="11" s="1">пользоваться</c><br> <c o="226" l="13" s="0">пред оставляет пред-оставляет</c><br></spellresult>
Атрибуты тега spellresult:
error — произошла ли ошибка
charschecked — количество проверенных символов

В нем идет перечисление допущенных ошибок (теги c), их параметры:
o — начало исходного слова в тексте
l — длина этого слова
s — точность результата

В самом теге c содержатся предполагаемые варианты написания слов, разделенные символом \t.

P.S. Когда этот текст уже был написан, случайно наткнулся на статью в блоге Paul Welter, которая, в принципе, описывает тоже самое…


UPD: Пользователь wayly написал на PHP класс для проверки текста с помощью этого сервиса, скачать можно по ссылке proxysoft.ru/files/spellchecker.zip (зеркало).

UPD2: mezhevikin подсказал ajax-решение с использованием этого сервиса — orangoo.com/labs/?page_id=3

UPD3: Список поддерживаемых языков

_________
Текст подготовлен в ХабраРедакторе
Код подсвечен в Source Code Highlighter

Information

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