Как стать автором
Обновить
4
0
buzzman @galo4kin

Супермэн

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

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

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


Автор блога Digital Inspirations Амид Агарвал (Amit Agarwal) опубликовал скрипт для Google Docs, который опрашивает статус сайта и заносит ответ в ячейку таблицы. Таким образом, можно сделать сервис мониторинга своими руками. Google Docs позволяет запускать скрипт с минутным интервалом и получать уведомления на email.
Читать дальше →
Всего голосов 106: ↑100 и ↓6+94
Комментарии32

Знакомство с Parallax Scrolling

Время на прочтение4 мин
Количество просмотров292K
Любой, кто играл или наблюдал за игрой друзей, либо в принципе видел игры, которые были выпущены в 80-90-х годах, должны быть знакомы с техникой параллакс-скроллинга.

Вспомните такие игры, как Mario Bros, Streets of Rage, Mortal Kombat, Turtles in Time или оригинальную игру Moon Patrol. В этих играх техника параллакса наблюдается в тот момент, когда несколько фоновых слоев с различными текстурами двигаются с разной скоростью, что создает эффект трехмерного пространства.

Почему я начал говорить о ретро-играх в статье о веб-разработке? Самым простым ответом мог бы быть «потому что они клевые», но нет. Параллакс-скроллинг является классным дизайнерским концептом, который прокладывает свой путь в мир веб-дизайна. Nike были одними из первых, кто использовал эту технику с большим успехом, когда они наняли маркетинговых гигантов Weiden and Kennedy для разработки их оригинального сайта Nike Better World. Сайт Nike Better World с того времени был обновлен и заменен на новый, однако есть другой сайт, довольно похожий на то, как выглядел первый параллакс-дизайн от Nike — сайт о спортивных напитках Activate.


Читать дальше →
Всего голосов 99: ↑92 и ↓7+85
Комментарии35

Каждому хостингу по аудиоплееру

Время на прочтение2 мин
Количество просмотров6.1K
Хорошие художники копируют, великие художники воруют.
Стив Джобс
Пабло Пикассо

Open Player
Наверное все слушают музыку в интернете, большинство для этих целей используют вконтакте, или сервисы на основе его музыкальной базы. Все существующие бесплатные сервисы имеют разные недостатки, которых небыло в ныне платном простоплеере. И возникла у меня идея создать не просто очередной простоплеер с базой из вконтакте, а такой который каждый сможет поставить себе на хостинг.
Читать дальше →
Всего голосов 154: ↑145 и ↓9+136
Комментарии174

Ежедневный Git

Время на прочтение3 мин
Количество просмотров98K
Уже были статьи про основы гита (0, 1, 2), были и статьи про внутреннее устройство репозитория. Сегодня поговорим, как простому смертному работать с гитом на автопилоте и не морочить себе голову.

Во-первых, шорткаты (в порядке убывания популярности):

alias gst='git-status'
alias ga='git-add'
alias gc='git-commit -m'
alias gp='git pull && git push'
alias gull='git pull'
alias gush='git push'
alias gb='git-branch'
alias gco='git-checkout'
alias gd='git-diff'

Во-вторых, отображение текущей ветки в командной строке:
export PS1='`__git_ps1 "%s"` \w \$ '

Выглядит так:
lazy-args-in-futures ~/Work/io/oleganza-io.git $

(Как установить: ericgoodwin.com/2008/4/10/auto-completion-with-git)

Типичный поток работы в одной ветке
Читать дальше →
Всего голосов 36: ↑33 и ↓3+30
Комментарии36

Про Git на пальцах (для переходящих с SVN)

Время на прочтение8 мин
Количество просмотров279K
Год назад мы с командой решили перейти с SVN на Git. Зачем это было надо — писать не буду, т.к. на эту тему уже и так много написано. А хочу я описать типичные алгоритмы работы, понятные человеку, который долгое время пользовался SVN. Ниже — памятка, написанная для команды год назад, чтобы легче было мигрировать. Надеюсь, кому-нибудь пригодится.
Читать...
Всего голосов 179: ↑175 и ↓4+171
Комментарии100

Успешный Kanban в небольшой команде

Время на прочтение5 мин
Количество просмотров18K
Ознакомившись с постами, в которых хабрапользователи описывают процессы внедрения и реализации гибких методологий в производство, решил поделиться собственным опытом разработки по методологии Kanban в небольшой продуктовой команде.

К моменту, когда у нас возникло желание попробовать новую систему организации процесса, мы были сработанной командой, ведущей успешную Scrum разработку.

Не буду загружать пост теорией и всяческой водой, на хабре достаточно статей о Kanban и бережливом производстве. Перейду сразу к описанию процесса.
Читать дальше →
Всего голосов 29: ↑25 и ↓4+21
Комментарии38

Простой способ передачи табличных данных из PHP в Excel

Время на прочтение3 мин
Количество просмотров42K
К написанию данного топика меня подтолкнула одна заметка о генерации xls в PHP.
Способ, представленный в той заметке действительно очень прост, но не всегда может быть удобен.
Есть множество других способов передать табличные данные из PHP в Excel, я опишу тот, который показался мне наиболее простым и функциональным. Нужно особенно отметить, что что я не говорю о генерации xls файла, а лишь предлагаю пользователю открыть полученные данные при помощи Excel так, что пользователи не искушённые в программировании не заметят подлога.
Читать дальше →
Всего голосов 45: ↑36 и ↓9+27
Комментарии38

Самый простой способ генерации xls в PHP

Время на прочтение2 мин
Количество просмотров59K
Вообще казалось бы вынесенная в заголовок задача не должно быть сложной, да и гугл дает кучу ссылок, в том числе на хабр, однако для того чтобы сделать выгрузку БД с сайта в эксель мне пришлось несколько помучаться.

С модулем Spreadsheet_Excel_Writer я предпочел не связываться, по причине отсутствия необходимых ему модулей php на трех имеющихся у меня в наличии для тестирования серверах, хочется все-таки сделать код перетаскиваемый между серверами легко и просто.
php_write_excel оттолкнул полным отсутствием документации при необходимости сделать работу быстро (хотя в дальнейшем я хочу с этим модулем поразбираться).
Читать дальше →
Всего голосов 37: ↑25 и ↓12+13
Комментарии40

PHPUnit+Netbeans

Время на прочтение4 мин
Количество просмотров10K
Здравствуйте.

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

Тем самым уменьшается риск появления новых багов, критический дыр и так далее.

В крупных конторах для этого есть специальные люди, которые занимаются тем, что пишут unit-тесты.

Меньшие конторы, фрилансеры этим грешат, да и на маленьких проектах это не всегда нужно. Согласитесь, если класс на 100 строк, то писать тесты на 200 строк кажется лишней тратой времени.

Тем не менее, не буду вдаваться в подробности кому надо кому нет.

Я хочу показать как можно клево тестировать код на NetBeans с удобным GUI.
Читать дальше →
Всего голосов 69: ↑58 и ↓11+47
Комментарии40

Академия стартапов Farminers от Игоря Мацанюка и Алены Владимирской

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

Игорь Мацанюк и Алена Владимирская и объявляют о создании первого в России профессионального инкубатора стартапов – Академии проектов Farminers.


Farminers – классический по своему формату “кремниевый” инкубатор, в котором потенциально интересные проекты еще на уровне идеи получают финансирование в размере до $150,000, полностью оборудованные рабочие места в современном офисе и, доступ к экспертизе от специалистов мирового уровня.
Финансирование Farminers осуществляет Игорь Мацанюк.
image
Читать дальше →
Всего голосов 64: ↑45 и ↓19+26
Комментарии69

Как заставить работать расширения yii-user и rights совместно?

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

Предисловие


Доброе время суток хабравчане.

Для начала представлюсь. Меня зовут Роман, и я занимаюсь разработкой сайтов (в основном на php-фреймворке «yii», но проскакивают и другие php\python фреймворки\цмс\велосипеды\быдлокоды). В своих проектах на yii всеы нам часто приходится реализовывать тривиальные функции регистрации, авторизации и тд. Плюс ко всему прибавьте к этому ещё и распределние прав доступа для различных пользователей. Готов поспорить, что у каждого толкового разработчика есть хотя бы одна заготовка реализации этого функционали, либо он использует сторонее расширение. Вот и я каждый раз использовал одну и туже реализацию, от пректа к проекту допиливал её, интегрировал с другими частями системы. Но недавно я всё же решил порыть в сторону готовых решений, которые удовлетворяли бы мои потребности и таковые нашлись довольно быстро. 2 самых популярных расширения для yii из оффициального репозитория«yii-user» и «rights».
Читать дальше →
Всего голосов 37: ↑31 и ↓6+25
Комментарии19

Контролируем коммиты в SVN под Windows

Время на прочтение2 мин
Количество просмотров9.9K
Работая с svn нередко появляются моменты, когда во время коммита твой рабочий каталог становится неактуальным. При этом приходится обновлять свою локальную копию из репозитория и составлять коммит по-новой. Хорошо когда коммитить нужно всё, а если нужны лишь три файла из ста? В таком случае приходится по новой искать свои файлы. Хотя TortoiseSVN и упрощает жизнь в таких случаях, бережно сохраняя комментарий, но всё равно, время, потраченное на обновление каталога и получение дерева с удаленного SVN сервера не вернуть. Создатели TortoiseSVN упростили нам жизнь ещё больше, создав небольшую утилиту, речь о которой и пойдет в данной статье – CommitMonitor.
Читать дальше →
Всего голосов 27: ↑22 и ↓5+17
Комментарии24

Расширение yii-debug-toolbar

Время на прочтение3 мин
Количество просмотров23K
Доброе время суток хабравчане.

Сегодня я хотел бы рассказать об одном замечательном расширении yii-debug-toolbar от Сергея Малышева.

Вкратце


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

yii-debug-toolbar имеет 5 вкладок:
  • Server: отображает информацию из phpinfo();
  • Time: отображает время загрузки страницы, размер затраченной памяти и размер сессии;
  • Globals: отображает дампы глобальных переменных ($_SERVER, $_COOKIE, $_SESSION, $_POST, $_GET, $_FILES);
  • Settings: отображает конфиг приложения (все параметры, компоненты и глобальные настройки);
  • SQL: отображает информацию о SQL сервере и лог по SQL запросам (сам запрос и время исполнения);
  • Logging: отображает лог информацию (отправленную через Yii::log).


Читать дальше →
Всего голосов 41: ↑38 и ↓3+35
Комментарии47

Уроки, которые мы извлекли на пути к прибыли

Время на прочтение4 мин
Количество просмотров1.1K
В этом топике мы хотели бы поделиться своим опытом на пути к созданию своего первого прибыльного стартапа — HR Брокер. Это совсем не инструкция к успеху, а скорее рассказ о том, какие ошибки мы сделали и какие выводы извлекли.

Про выбор сегмента


Это, пожалуй, самое важное. В последствии, неважно как много и усердно вы будете работать, но если изначально идея выбрана неправильная — ничего не поможет.

В далёком 2003 году мы этого не понимали и, как думаю у многих, идеи зарождались за бутылочкой пива. Начинались они обычно с «о, а было бы прикольно, если бы...». Одной из таких идей был IT-аутсорсинг. И это то в 2003 году! Результатом конечно же стало то, что никто из потенциальных клиентов даже не знал такого слова и, поэтому, каждый телефонный звонок начинался с того, что мы рассказывали что же это такое. После многих сотен звонков результатом стала одна единственная компания, которая начала пользоваться нашими услугами, да и то это были знакомые.
Читать дальше →
Всего голосов 63: ↑47 и ↓16+31
Комментарии26

How to по деревьям на jQuery

Время на прочтение5 мин
Количество просмотров7.2K
Часто встречаются задачи, в которых требуется отобразить древовидную структуру взаимосвязей каких-либо сущностей. Например, навигация по файловой системе, меню сайта или содержание учебника.
image
Самым простым вариантом отобразить древовидную структуру в HTML являются списки. Но нас интересуют деревья, обладающие динамическими свойствами. Без javascript тут не обойтись. Так как решение нужно обычно быстро, то использование jQuery позволяет создавать динамические деревья, экономя прилично времени на кодинге. Чтобы сэкономить себе еще кучу времени идем на поисковик и ищем подходящее решение. В целом часто на этом дело создание дерева на сайте и ограничивается, но бывают ситуации, когда дерево подходит, но не имеет какой-то маленькой фишки и тут уже ни чего не остается, кроме как модифицировать имеющиеся дерево.
Читать дальше →
Всего голосов 48: ↑40 и ↓8+32
Комментарии12

Часто забываемые элементы дизайна

Время на прочтение2 мин
Количество просмотров1.7K
Доброго времени суток, уважаемые хабровчане!
Это мой первый пост на хабре, прошу сильно не пинать. В нем я бы хотел написать о элементах дизайна, про которые часто забывают начинающие дизайнеры. Те элементы, которые должны быть уже по дефолту, о них часто даже в ТЗ не пишут, ведь многие думают, что дизайнер и так знает про них и не стоит занудствовать и описывать их.

Итак, начнем. Если Вы рисуете:

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

Навигацию, предусматривайте, что помимо стандартных «о сайте» и «новости», могут добавиться другие разделы. Имейте ввиду, что в большинстве случаев, администратор сайта, может добавлять и удалять разделы.

ru | en, имейте ввиду, что заголовки и разделы на разных языках, имеют разное количество символов.

Поиск, то обязательно нужно отрисовать страницу вывода результатов. Так же, если вы рисуете ссылку «продвинутый поиск», то нужно показать как будет выглядеть продвинутый поиск.
Читать дальше →
Всего голосов 104: ↑75 и ↓29+46
Комментарии48

Определение кодировки текста в PHP, часть 2 — биграммы

Время на прочтение3 мин
Количество просмотров8.2K
В прошлой статье был реализован алгоритм автоматического определения кодировки текста на основе частот распределения символов. В комментариях отметили: если использовать биграммы (триграммы), результат будет более точный. Тогда я отмахнулся, мол, и на одиночных символах неплохой результат получается. Но сейчас подумал, что неплохо было бы добавить надежности и точности в алгоритм, тем более использование биграмм вместо одиночных символов сильно кушать не просит.

Под катом — пример реализации алгоритма на биграммах, исходники и результаты его работы.
Читать дальше →
Всего голосов 62: ↑61 и ↓1+60
Комментарии30

8 полезных регэкспов с наглядным разбором

Время на прочтение2 мин
Количество просмотров273K
О мощи и гибкости регулярных выражений написано много, и их использование давно уже является стандартом для различного рода операций над текстом. Пожалуй, чаще всего регэкспы работают при валидации вводимых данных — здесь им практически нет альтернативы, если не считать громоздкий циклический разбор с кучей неочевидных проверок. Начнём с самого простого:

1. Часть ЧПУ (человекопонятный URL)


По сути, слово с дефисами.

Паттерн: /^[a-z0-9-]+$/
short_url

Примеры посерьёзнее
Всего голосов 176: ↑132 и ↓44+88
Комментарии119

Вставка изображения из буфера обмена в редактор TinyMCE

Время на прочтение3 мин
Количество просмотров4.4K
Некоторое время назад у нас на проекте возникла необходимость вставить картинки из буфера обмена прямо в редактор. Задача оказалась нетривиальной, и простых решений не имела. По факту поиска в интернете было найдено всего два пути решения проблемы – либо менять редактор целиком на флешовый, что привело бы к переписыванию большой части проекта, либо – ява-аплет. Собственно, о последнем и пойдет речь ниже.

Читать дальше →
Всего голосов 38: ↑37 и ↓1+36
Комментарии17

Плагин для «живых» форм

Время на прочтение4 мин
Количество просмотров15K
Статья посвящена плагину, который упрощающает жизнь client-side программиста.

При заполнении формы случается так, что учитывая введенные данные, форму нужно менять (прятать и показывать поля). Простейший пример: при заказе доставки товара пользователь выбрал «самовывоз», значит поля про адрес доставки можно спрятать, зато было бы здорово показать карту проезда для самовывоза.

И что дальше

Часто такая логика остается без реализации, однако если вы заботитесь о своих пользователях, то делать это нужно.

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

Второй подход это писать «портянки» javascript'а который всю эту логику реализует на стороне клиента. Особенно грустно писать «каскадную» логику типа «если ввели a в поле A, показать B, если ввели c в поле B, то показать D. Если в A ввели что-то другое, спрятать B, а потом D».

Оба варианта нельзя назвать удобными. Прежде всего потому что логика реализуется императивным стилем вместо уместного для таких случаев декларативного. Но выход есть!
Читать дальше →
Всего голосов 114: ↑112 и ↓2+110
Комментарии67

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность