Как стать автором
Обновить
80
0
Дмитрий Глухов @redhummer

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

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

Самосборные конструкции из движущихся кубиков

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


Джон Романишин (John Romanishin) с коллегами из Массачусетского технологического института сказали новое слово в модульной робототехнике.

Роботы M-Block представляют собой кубики с маховиками внутри (на 20000 оборотов в минуту) и цилиндрическими магнитами на рёбрах. Маховик развивает такой кинетический момент, что после его торможения кубики способы не то что перекатываться по полу навстречу друг другу, но даже вертеться на месте и запрыгивать на «третий этаж». Например, на фото вверху белый кубик запрыгнул к чёрному. То есть это первые в мире мобильные самосборные роботы без движущихся частей снаружи корпуса.
Читать дальше →
Всего голосов 105: ↑103 и ↓2+101
Комментарии51

1261262 посетителей за две недели на новом сайте без рубля на рекламу — это реально

Время на прочтение3 мин
Количество просмотров1.2K
Многие грезят выдумать сайт, запустить его и утром проснуться знаменитыми. Несколько сухих цифр по одному из наших проектов — http://talismansochi2014.ru/. Статистика за период с 9.02.2011 по 25.02.2011.

1459452 просмотров страниц
1261262 посещения
383921 пользователей проголосовали
12213 комментариев

Данные на 25 февраля в 11.22 по московскому времени.

image

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

Читать дальше как нам всё это удалось
Всего голосов 204: ↑151 и ↓53+98
Комментарии154

Страдания по CMF или Zend + Doctrine. Часть 1

Время на прочтение6 мин
Количество просмотров616
Попытки создания собственной системы начались довольно давно (думаю это всем знакомо). За последние пару лет была откатана схема на своей системе, но сама система благополучно почила в бозе. Если там были попытки как-то использовать Zend как компоненты, то в конце концов было принято решение не изобретать велосипед, а просто взять Zend за основу.
Zend — 1.8/Doctrine — 1.1 на момент написания.

Что было решено сохранить в системе из предыдущей версии
1) Мультисайтовость
2) Мультиязычность. Интернационализация производится за счет Zend и Doctrine.
3) Модульность. При этом создать модуль можно в самой системе, задав yaml схему и получив стандартные методы для работы с помощью контроллеров и автогенерированых форм (Zend_Form).
4) В создаваемых модулях по умолчанию присутствует поддержка i18n, versionable, timestampable.
Каждый сайт имеет режимы отображения — backend, frontend,etc. Модель — одна для всех. Основой для моделей выбрана Doctrine. Показалась очень удобной.
Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии10

Поиграем в Dendy по интернету?

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

Хабралюди, предлагаю нам собраться и поиграть в любимые игры Dendy по интернету, кто во что захочет.
Под катом опишу, как это организовать и настроить.
Читать дальше →
Всего голосов 125: ↑109 и ↓16+93
Комментарии108

Настройка просмотра и загрузки файлов в FCKeditor

Время на прочтение6 мин
Количество просмотров1.6K
В данной статье описываются отдельные приемы настройки редактора FCKeditor и встроенного в него файлового браузера для управления загрузкой файлов на сервер. Эти приемы помогут лучше понять принципы работы редактора и более тесно интегрировать его в вашу CMS, заодно предотвратив возможные проблемы с безопасностью при использовании этого редактора.
Читать дальше →
Всего голосов 14: ↑11 и ↓3+8
Комментарии4

Проблемы с кодировкой при посылке @mail в PHP

Время на прочтение1 мин
Количество просмотров1.1K
Недавно столкнулся с проблемой, при отправке сообщений gMail (да и другие тоже), не могли верно отобразить моё письмо, написанное кирилицей.
Полазил в интернете, там этот вопрос уже поднимался, и предлагалось решение. Переработав его под себя, решил выставить и здесь тоже. Думаю, что некоторым из вас оно тоже может пригодиться:

//Функция trim уберет пробелы в начале и в конце
$title = htmlspecialchars(trim($_POST['title']));
$mess = htmlspecialchars(trim($_POST['mess'));

//Конвертирование
$title= '=?koi8-r?B?'.base64_encode(convert_cyr_string $title, «w»,«k»)).'?=';
$to = 'some_main@gmail.com';
$head = «Content-Type: text/plain;\r\n»;
$head .= «X-Mailer: PHP/».phpversion()."\r\n";
$head .= «Reply-To: admin@gmail.com\r\n»;
$head .= «To: $name <$to>\r\n»;
$head .= «From: admin@gmail.com\r\n»;
$head .= «Subject: $title\n»;

//Отправка
mail($to, $title, $mess, $header);

ЗЫ. Надеюсь, пригодится!
Всего голосов 8: ↑6 и ↓2+4
Комментарии9

Креативное использование веб-шрифтов

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

С помощью CSS-магии мы можем создавать красивые типографические эффекты и забыть о использовании изображений, в большинстве случаев. В этой статье мы создадим ряд симпатичных примеров веб-типографики, используя плагин jQuery — lettering.js, а также различные приемы CSS. В некоторых примерах мы также добавим переходы при наведении курсора мыши, чтобы сделать их немного более интерактивным.
Читать дальше →
Всего голосов 100: ↑94 и ↓6+88
Комментарии27

<?=date(z)-255?:'С днём программиста';

Время на прочтение1 мин
Количество просмотров30K
Сделай код ещё короче (это возможно). Покажи своё Кунг-Фу в этот праздничный день.

UPD @ 2010-09-13
Есть победитель.
Чествуем мастера лаконичного PHP, господина IntenT
Всего голосов 181: ↑124 и ↓57+67
Комментарии259

Ваш сайт тоже позволяет заливать всё подряд?

Время на прочтение4 мин
Количество просмотров51K
Один французский «исследователь безопасности» этим летом опубликовал невиданно много найденных им уязвимостей типа arbitrary file upload в разных «написанных на коленке», но популярных CMS и плагинах к ним. Удивительно, как беспечны бывают создатели и администраторы небольших форумов, блогов и интернет-магазинчиков. Как правило, в каталоге, куда загружаются аватары, резюме, смайлики и прочие ресурсы, которые пользователь может загружать на сайт — разрешено выполнение кода PHP; а значит, загрузка PHP-скрипта под видом картинки позволит злоумышленнику выполнять на сервере произвольный код.

Выполнение кода с правами apache — это, конечно, не полный контроль над сервером, но не стоит недооценивать открывающиеся злоумышленнику возможности: он получает полный доступ ко всем скриптам и конфигурационным файлам сайта и через них — к используемым БД; он может рассылать от вашего имени спам, захостить у вас какой-нибудь незаконный контент, тем подставив вас под абузы; может, найдя параметры привязки к платёжной системе, отрефандить все заказы и оставить вас без дохода за весь последний месяц. Обидно, правда?

Как ему это удастся?
Всего голосов 121: ↑102 и ↓19+83
Комментарии120

The Modal — правильные модальные окна

Время на прочтение2 мин
Количество просмотров180K
Очень часто модальные окна и диалоги делаются при помощи плагинов jQuery. Например, SimpleModal или jqModal. К сожалению, все они, в варианте по умолчанию, работают неправильно.

Что же такое «правильно»?

Модальное окно по определению блокирует работу пользователя с родительским окном до тех пор, пока пользователь его не закроет. То есть:

  1. Пользователю нельзя позволять прокручивать страницу под ним.
  2. При этом, если содержимого в модальном окне очень много, нужно позволить прокручивать содержимое.


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

Чтобы не мучать вас заранее деталями реализации, покажу сначала демо плагина jQuery: http://rmcreative.ru/playground/modals_plugin/demo.html.

Ну а теперь немного про реализацию.
Читать дальше →
Всего голосов 77: ↑67 и ↓10+57
Комментарии81

Как я делал самый популярный сайт о выборах

Время на прочтение10 мин
Количество просмотров15K
Статистика President2012.ru Друзья, я хочу вам рассказать историю развития проекта president2012.ru. Сайт является лидером по тематике выборов президента России, за 3 месяца его посетило около 2 млн. человек, в пике имел до 20 тыс. посетителей онлайн и более 1 млн. хитов в сутки, задействовано было 3 сервера облака.

Интересных моментов в процессе работы над проектом набралось столько, что держать в себе эти знания я не могу, и хочу поделится с вами. Я понимаю, что многое, о чем я сейчас собираюсь рассказать, уже описано качественнее в специализированных разделах, и ничего нового я не открою. Моя задача скорее в том, чтобы через отдельные нюансы передать ту атмосферу, в которой проходила работа над проектом. А так же в миллионный раз с помощью success story показать таким же как я людям, что всё возможно и всё в их руках.

Кому это может быть интересно? Всем, кто так или иначе занимается созданием тематичных веб-сайтов и рассчитывает работать с высоконагруженными проектами.
Читать дальше →
Всего голосов 274: ↑253 и ↓21+232
Комментарии214

Nette PHP Framework: первое знакомство

Время на прочтение3 мин
Количество просмотров11K
Логотип фреймворка Nette Было очень приятно совершенно случайно обнаружить сайт этого фреймворка во второй половине рабочего дня. Новые фреймворки появляются редко, а тем более редко попадаются механизмы, которые нравятся с первого взгляда. На Хабре описания Nette я не нашел, поэтому поспешил поделиться своей находкой с Вами.

Во-первых, мне сразу приглянулось название. Nette. Это почти как Latte. Только Nette. Как оказалось позднее, есть и Latte — собственный встроенный подающий надежды шаблонизатор. Ого.
Читать дальше →
Всего голосов 58: ↑48 и ↓10+38
Комментарии81

Realtime на вашем ресурсе за несколько минут

Время на прочтение8 мин
Количество просмотров12K
Во время разработки игры мы столкнулись с необходимостью обеспечения максимального риалтайм обмена данных между пользователями, что повлекло за собой эксперименты с различными comet библиотеками.
Первый велосипед был построен на dklab realplexor, который, при очередной попытке его использования, как и ожидалось, нас подвел. Может у нас руки кривые, но добиться получения ивентов без задержек в 5-10-15 секунд у нас, к сожалению, не получилось.
Танцы с бубном продолжались долго, в результате чего мы решили остановиться на nginx_http_push_module, и потраченное время все же стоило того.
Читать дальше →
Всего голосов 34: ↑28 и ↓6+22
Комментарии11

RealSync — односторонняя синхронизация исходников в реальном времени для веб-разработчиков

Время на прочтение6 мин
Количество просмотров30K
Представляю общественности утилиту RealSync (GPL). Ее призвание — облегчить работу тех, кто периодически мучается от лагов сетевой папки Samba при поиске/редактировании файлов веб-проекта. Идея RealSync в том, что вы теперь работаете с файлами сайта на локальной машине в привычной IDE, а результат, как и прежде, смотрите на удаленном разработческом веб-сервере, куда RealSync копирует изменения в реальном времени. В результате вы можете, например, запустить поиск по всем файлам в IDE — они же локальные, а не подключены через сетевую папку по Samba, так что поиск работает очень быстро; при этом ваш Ctrl+S продолжает попадать на сервер моментально, как и при работе через сетевую папку.

RealSync — утилита для Windows, MacOS и Linux, позволяющая в реальном времени содержать на удаленном сервере точную копию файлов (например, скриптов на PHP, Python, Ruby и др.) из папки на вашем локальном компьютере, даже в условиях плохой связи, когда вы работаете из дома. Все изменения, производимые в локальной папке, попадают на сервер практически моментально (задержка около 0.2 с), независимо от того, сколько этих изменений и каким именно образом они были внесены (хоть через IDE, хоть через Блокнот или Far).

Главное отличие RealSync от аналогов — в том, что он крайне устойчив к нестабильности интернет-соединения, реконнектам и тайм-аутам. При этом используется SSH-соединение, доступ через которое конфигурируется автоматически при первом запуске утилиты (т.е. не нужно возиться с ключами — настройка производится в интерактивном режиме).

Фактически, случайно «убить» RealSync почти невозможно. Вы можете держать его постоянно свернутым в трее и забыть про его существование (CPU он почти не ест). Если утилита видит, что соединение разорвалось на длительный срок, автоматически запускается знакомый многим алгоритм RSYNC для быстрого копирования большого количества различий. В режиме же реального времени применяется собственный протокол поверх SSH, чтобы при нажатии Ctrl+S в редакторе вы сразу же видели изменения на сервере. Передача файла сопровождается приятным «треньканьем» (отключаемым при необходимости в конфиге), а временная потеря связи — покраснением иконки (когда связь восстановится, иконка обратно станет серой, а RealSync «догонит» накопившиеся изменения).

И зачем этот велосипед, когда есть Samba или Денвер или XAMPP?

Читать подробности
Всего голосов 58: ↑54 и ↓4+50
Комментарии170

CSS3 с погружением

Время на прочтение7 мин
Количество просмотров36K
CSS3 видели и пробовали все, кого он мог заинтересовать. И закругленные уголки и падающие тени мы уже можем генерировать без лишнего труда.

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

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

Браузеры, поддерживающие свойства перечислены в виде CSS комментариев. Генераторы и инструменты чаще всего могут выполнять сразу несколько функций, поэтому в таких случаях я указывал их только там, где они, по-моему, справляются лучше всего.
Читать дальше →
Всего голосов 118: ↑109 и ↓9+100
Комментарии30

Разработка 2D игр под Windows и HTML5 без программирования

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

Привет Хабраюзеры!

Сегодня я хочу представить вашему вниманию замечательный конструктор 2D игр (для Windows и в частности для HTML5) Scirra Construct.

Основным плюсом данного конструктора является то, что для создания игр не требуется никаких знаний языков программирования, все делается посредством построения действий во встроенной системе событий.
Читать дальше →
Всего голосов 102: ↑90 и ↓12+78
Комментарии49

Plugin Detector — каталог и рейтинг плагинов jQuery

Время на прочтение6 мин
Количество просмотров5.6K
Последние четыре года я работал верстальщиком в разных питерских веб-студиях.

От полуподвальных контор из 3-5 человек до больших фирм 25-40 человек, работающих на рынке дорогих сайтов для крупных заказчиков. Но независимо от размера компании задачи были одни и те же.
  • нужно продать дизайн
  • сделать сайт, который не стыдно положить в портфолио
  • сделать оригинально, как еще не делали конкуренты

Таким образом, задачи верстальщикам и дизайнерам ставились одинаковые: «давайте что-то креативное, свежее, интересное».

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



В этой статье будет затронуто:
описание функционала, история создания, маркетинг в бизнесе веб-студий и работа с клиентами
Всего голосов 234: ↑225 и ↓9+216
Комментарии95

PHP Namespace

Время на прочтение6 мин
Количество просмотров111K
Недавно инкапсулировал свой проект в namespace и столкнулся с проблемой отсутствия нормальной документации. Все, что удалось найти датируется примерно 2009 годом, а на дворе почти 2012… В найденном материале куча нерабочих мест, использующих то, что в нынешней версии php нет. В связи с этим хочу немного осветить этот вопрос.
Читать дальше →
Всего голосов 86: ↑59 и ↓27+32
Комментарии46

TradingView – онлайн платформа технического анализа на HTML5 и социальная сеть для трейдеров. Стартуем

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

TradingView.com – это социальная сеть для трейдеров, в основе которой лежит онлайн платформа технического анализа. Клиентская часть (чартинг или графики) реализована на HTML5 и это первый в мире инструмент для трейдеров такого уровня функциональности.

image

Читать дальше →
Всего голосов 86: ↑75 и ↓11+64
Комментарии81
1

Информация

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