Как стать автором
Обновить
0
0
Ник Махов @Defite

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

Отправить сообщение

Пишем своё первое приложение на Android

Время на прочтение10 мин
Количество просмотров1.8M

Предисловие


Цель данного поста — с одной стороны поделиться своим успешным опытом старта разработки приложений на платформе Android и с другой стороны поспособствовать развитию рынка софта для этой замечательной и бурно растущей платформы за счёт (без ложной скромности скажу) возможно Вас, прочитавших данный пост. В сети, конечно, можно найти материалы на тему разработки приложения «чуть сложнее, чем helloworld», но как правило они разрозненные и в них не описываются различные мелкие подводные камешки. В данном посте мы рассмотрим полный цикл разработки приложения, начиная с чистого компьютера до готового apk-файла. Под катом скрины.
Читать дальше →
Всего голосов 138: ↑123 и ↓15+108
Комментарии99

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

Время на прочтение19 мин
Количество просмотров168K
Перевод отличной статейки. Думаю, будет полезна как новичкам, которые только приступили к использованию 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!
Всего голосов 188: ↑182 и ↓6+176
Комментарии109

AmbilightUSB

Время на прочтение3 мин
Количество просмотров40K

Привет, strangers!



Обновление проекта Лайтпак: Прокачан и открыт

Эта история о том, как сделать супер мега дешевую и простую ambilight подсветку для эвм. В роли дирижера будет выступать микроконтроллер ATtiny44, а в роли оркестра 4 RGB-светодиода.

Несколько картинок, дабы пробудить интерес:

  

Кому лень читать: полное описание в «картинках» (=
UPDATE: Добавлено видео http://www.youtube.com/watch?v=tdp1QeS_JCg
UPDATE2: в списке деталей уточнил название используемого микроконтроллера (ATTINY44-20SSU)
UPDATE3: добавлены фьюзы (дико извиняюсь, что забыл про них)
UPDATE4: исправлена принципиальная схема (v2.1.3)

Читать дальше →
Всего голосов 203: ↑200 и ↓3+197
Комментарии76

Как монетизировать стартап

Время на прочтение3 мин
Количество просмотров1.3K
image
Год назад мы загорелись идеей сделать стартап, посвященный вторичному рынку билетов GoritBilet.ru. Ниша была свободна, сервис нам был нужен самим, т. к. у нас есть туристический бизнес (как пишут ребята из 37signals, это очень важный фактор), да и западный опыт показывал весьма высокие результаты.

Сегодня мы сделали редизайн проекта; следуя моде, социализировались, но так и не смогли реализовать эффективную систему монетизации. Хотелось бы поделиться опытом и, возможно, услышать советы от уважаемой аудитории.
Читать дальше →
Всего голосов 78: ↑56 и ↓22+34
Комментарии58

Gimpbox — Однооконный Gimp

Время на прочтение1 мин
Количество просмотров3.6K


Сегодня я хотел бы рассказать Вам о замечательном дополнении для Gimp'а под названием Gimpbox.

Многим уже порядком поднадоел многооконный режим Gimp'a и пока все в ожидании стабильного релиза 2.8 где разработчики обещали сделать возможность выбора между многооконным и однооконным режимом, китайские разработчики подумали как можно решить эту проблему малой кровью и сделали дополнение Gimpbox, смысл которого заключается в том что бы объединить все окна Gimp'а в одно окно как это сделано например в Adobe Photoshop, Paint.net и других редакторах.

Gimpbox является frontendом для Gimp'а, т.е. он будет работать только с уже установленным Gimp'ом.

Под катом инструкция по установки.
Читать дальше →
Всего голосов 134: ↑118 и ↓16+102
Комментарии108

Создаём тему для Drupal. Часть 2

Время на прочтение6 мин
Количество просмотров10K
imageЧасть 1

Препроцессы


Препроцессы нужны для того, чтобы определить, какие переменные будут доступны в шаблонах. Препроцессы мы будем складывать в sites/all/themes/mytheme/preprocess. Создадим файлы preprocess-page.inc — для страницы, preprocess-node.inc — для контента, preprocess-header.inc — для шапки, preprocess-footer.inc — для подвала, preprocess-region.inc — для регионов, preprocess-block.inc — для блоков, preprocess-comment.inc — для комментариев. Также мы можем создавать файлы типа preprocess-node-story.inc для обработки материала типа story или preprocess-block-user.inc для блока user. Это позволяет обрабатывать отдельно разные типы содержимого сайта. В основном в препроцессах я определял классы для разных регионов сайта.
Читать дальше →
Всего голосов 51: ↑44 и ↓7+37
Комментарии9

Создаём тему для Drupal 6. Часть 1

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

Начало


Для начала нам потребуется создать директорию в каталоге sites/all/themes с названием нашей темы. Я назвал тему mytheme и создал каталог sites/all/themes/mytheme.
В созданном каталоге создаем директории css — для стилей, js — для скриптов, images — для картинок, templates — для шаблонов, preprocess — об этом позже. Также создаем файл template.php в котором мы будем писать всю логику темы и mytheme.info для описания темы. Можно еще добавить favicon.ico и logo.png.
Читать дальше →
Всего голосов 67: ↑56 и ↓11+45
Комментарии16

Создаём тему для Drupal. Часть 3

Время на прочтение3 мин
Количество просмотров32K
image
Часть 1, Часть 2

Шаблоны


Шаблоны мы будем складывать в sites/all/themes/mytheme/templates. Создадим шаблоны page.tpl.php — для страниц, node.tpl.php — для контента, block.tpl.php — для блоков, comment-wrapper.tpl.php — для блока с комментариями, comment.tpl.php — для одного комментария, header.tpl.php — для шапки, footer.tpl.php — для подвала, region.tpl.php — для регионов. Также, по аналогии с препроцессами, мы можем создавать файлы типа node-story.tpl.php для отображения материала типа story или block-user.tpl.php для блока user. Это позволяет темизировать отдельно разные типы содержимого сайта.
Читать дальше →
Всего голосов 61: ↑47 и ↓14+33
Комментарии38

Какая очередь в магазине быстрее?

Время на прочтение2 мин
Количество просмотров8.5K
Каждый из нас проводит часы жизни, стоя в очередях супермаркетов. Наверняка вы замечали, что соседние очереди движутся с разной скоростью. Скорость очереди зависит от количества товаров в корзине каждого покупателя.



Ден Мейер из Стэнфордского университета в течение месяцев замерял скорость касс, занёс все данные в таблицу и вывел следующую формулу:

y = 2,9572x + 41,174

Это формула зависимости скорости обслуживания в секундах (y) от количества товаров (x).
Читать дальше →
Всего голосов 161: ↑123 и ↓38+85
Комментарии201

Пошаговая установка Node.js на Windows без виртуалок

Время на прочтение3 мин
Количество просмотров59K


Эта статья предназначена для тех, кого бесят мильён левых служб и драйверов, которые ставят любые виртуалки. Тем, кто будут ставить доп. пакеты Node.js
Все остальные могут скачать скомпилированный Node.js node-js.prcn.co.cc
Или же установить Node.js из-под виртуалки nodejs.ru/25

Прошу под кат
Читать дальше →
Всего голосов 68: ↑54 и ↓14+40
Комментарии19

Подбор 14 символьного сложного пароля за 5 секунд

Время на прочтение2 мин
Количество просмотров231K
image

Достаточно давно и долго говорят о том что с использованием высоких скоростей GPU подбор паролей существенно ускорится. Но есть технологии которые позволяют перебор сделать еще
быстрее. Швейцарская компания, специализирующаяся в области безопасности Objectif Sécurité воспользовалась для своей технологии SSD дисками с радужными таблицами.
Читать дальше →
Всего голосов 206: ↑172 и ↓34+138
Комментарии104

Ajenti 0.4

Время на прочтение1 мин
Количество просмотров1.7K
За короткий срок мне удалось выполнить почти все ваши, хабраюзеры, заказы на функциональность, и теперь я просто хочу донести до вас новость о выпуске новой версии (осторожно, пост-changelog!).

Традиционная картинка для привлечения внимания:

image
Читать дальше →
Всего голосов 191: ↑181 и ↓10+171
Комментарии163

Irisar Centena

Время на прочтение2 мин
Количество просмотров2.4K

102


хабравчане, хочу вас «поздравить» с знаменательной датой 10\10\10 10:10. Как принято, на праздники с подарками. Специально для этой даты я подготовил мультицветной toolkit с динамической настройкой палитры цветов.
Использовать его можно в любом вашем (коммерческом и нет) проекте, а приемы irisar и centesimo помогут вам модернизировать его под ваш интерфейс.
Подробнее под катом.



В конец поста добавлено видео демонстрации смены цветов через kuler.adobe.com
Читать дальше →
Всего голосов 116: ↑99 и ↓17+82
Комментарии75

Талисманы версий Ubuntu и OpenSUSE против талисманов Mac OS X

Время на прочтение1 мин
Количество просмотров1.8K
image

Компания SpiderOak, предоставляющая услуги (в том числе и бесплатные) онлайн резервирования, выпустила довольно-таки интересные обои, на которых изображены талисманы версий ubuntu и mac os x, перетягивающие канат.

Скачать архив можно по следующей ссылке: https://spideroak.com/browse/share/Animal_Desktop/Linux_OSX_Animals.
Всего голосов 110: ↑89 и ↓21+68
Комментарии59

Canvas-трансформации доступным языком

Время на прочтение3 мин
Количество просмотров52K
Доброго времени суток, хабравчане! В этой статье я подробно расскажу вам о трансформации и вращении в javascripte. Матрица трансформаций, на первый взгляд, штука непонятная и многие ею пользуются даже не осознавая, что она делает на самом деле, используя готовые значения из интернета. На MDC об этом рассказано скудненько, а информацию в английской Википедии тяжело назвать общедоступной. Постараемся разобраться в этом вместе.
Читать дальше →
Всего голосов 78: ↑77 и ↓1+76
Комментарии65

Впечатляющие анимационные эффекты

Время на прочтение2 мин
Количество просмотров115K
С появлением jQuery, у веб-программистов появилась возможность создавать впечатляющие визуальные эффекты, не прибегая к использованию технологии flash. В данной статье представлено несколько ярких примеров того, каких потрясающих результатов можно достичь, используя стандартные средства браузера и свое воображение.
Читать дальше →
Всего голосов 262: ↑246 и ↓16+230
Комментарии78

Прикручиваем клевые шрифты с помощью @font-face

Время на прочтение3 мин
Количество просмотров43K
Недавно столкнулся с задачей прикручивания достаточно необычного шрифта для мобильного веб клиента. Так как работа была под айфон, то я решил, что в этой задаче мне поможет css 3 и такая штука как @font-face. Пользу от такого способа решения задачи, я думаю, видят все, потому что:
  • сохраняется поиск по тексту, потому что это текст, а не картинка;
  • появляется возможность использовать онлайн-переводчики и разные фишки связанные с текстом;
  • никто не отменяет для нас использование line-height, letter-spacing, text-shadow,text-align, и селекторов вида ::first-letter и ::first-line

Читать дальше →
Всего голосов 98: ↑88 и ↓10+78
Комментарии48

Запуск официального сайта LiveStreet CMS

Время на прочтение1 мин
Количество просмотров1.4K
Около полугода назад мы анонсировали выход нового официального сайта нашего движка.
И вот мы наконец-то запустили новый международный сайт LiveStreetCMS.com.
Сайт поддерживает мультиязычный интерфейс, сейчас доступен английский и русский языки. Также появился новый более удобный каталог расширений, все желающие могут в нем размещать свои, как бесплатные, так и платные плагины/шаблоны. На сайте готовится к размещению полная документация по движку.

Добро пожаловать!
image
Всего голосов 160: ↑144 и ↓16+128
Комментарии57

Расшарьте свой локальный веб-сервер в Интернете с помощью localtunnel

Время на прочтение1 мин
Количество просмотров16K
Иногда во время тестирования веб-приложений может понадобится доступ к ним снаружи (то есть из публичного Интернета). Например некоторые API используют коллбеки.

В таком случае можно создать обратный SSH-туннель чтоб расшарить свой локальный сервер. Но для этого нужен доступ к публично доступной машине с SSH и нужными портами открытыми на фаерволе.

Но не всегда найдется такая машина, и влом покупать VPS или что-то в этом роде. В таком случае localtunnel — как раз то что надо.

localtunnel — инструмент специально предназначеный для того чтоб временно расшарить локальный веб-сервер в Интернете. Он работает как клиент к публичному сервису обратного туннелирования с открытыми исходниками.

Использовать его очень просто:

localtunnel 8080

Эта команда сделает локальный сервис на порту 8080 доступным на порту 80 на домене который выведет утилита.

Конечно перед использованием все-таки надо устанавить и настроить программу.
Установка для всех пользователей:

sudo gem install localtunnel

После этого при первом запуске нужно указать свой публичный ключ для аутентификации:

localtunnel -k ~/.ssh/id_rsa.pub 8080

Если у вас нет готовых ключей для SSH, их можно сгенерировать такой командой:

ssh-keygen -t rsa

Больше информации (на английском) и исходники – на Гитхабе.

UPD: Вышенаписанное справедливо для Unix-систем. В Windows наверное может работать через Cygwin.
Всего голосов 69: ↑55 и ↓14+41
Комментарии61

Почему папки желтые

Время на прочтение3 мин
Количество просмотров19K

  Почему папки желтые
Папка — одна из самых известных метафор экранных интерфейсов.  Это очень мощный и сильный символ. За достаточно короткий период времени он сумел затмить термин, который был призван обозначать.  Понятие «директория» или «каталог» канули в Лету. Хотя «папка» когда была лишь метафорой для их обозначения в графических оболочках.

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

Читать дальше →
Всего голосов 316: ↑309 и ↓7+302
Комментарии159

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность