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

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

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

Как открыть студию без стартового капитала

Время на прочтение5 мин
Количество просмотров75K
Здравствуйте коллеги!
Представляю вам некую «шпаргалку» для будущих руководителей студий.

У многих появляется желание открыть свою студию, но есть мысли, которые вас останавливают. Это «нет инвесторов», «нет клиентов», «не знаю как буду рекламироваться» и многие другие. Некоторые из них мы разберем в этой статье.

Открыть свою студию можно при любых условиях и исходных данных, в том числе и не имея стартового капитала. Главное – наличие твердого желания и готовности тратить все свое время и силы на развитию. Правда, проблем в этом случае может быть чуть больше, но зато и ценного опыта набежит с избытком.
Если денег нет, а счастья хочется… (с)
Читать дальше →
Всего голосов 136: ↑92 и ↓44+48
Комментарии62

Extend Grid — делаем жизнь верстальщика немного проще

Время на прочтение3 мин
Количество просмотров4.3K
Само понятие модульной сетки, за последние несколько лет стало чрезвычайно модным. В первую очередь у дизайнеров. И во-вторую очередь у верстальщиков.

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

Немного про модульные сетки

Модульная система вёрстки — система вёрстки, при которой основой композиции полос и разворотов становится модульная сетка с определенным шагом (модулем), одинаковым или разным по горизонтали и вертикали. По мотивам Википедии.

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

Хостинг FastVPS.ru или почему OpenVZ Это зло

Время на прочтение3 мин
Количество просмотров20K
Пару лет назад мы с товарищем купили виртуальный сервер на двоих у компании FastVPS.ru. Сервер был отличный, и нас очень радовал низкой стоимостью и большим функционалом. Вдумайтесь, на сервере был поднят bind для всех наших доменов, 8 сайтов, пара баз данных для них, ftp сервер, postfix, trac и xml rpc сервер на питоне. И все это отлично работало пока… пока ребята из FastVPS не перешли на новую мега-технологию виртуализации OpenVZ.
Читать дальше →
Всего голосов 104: ↑71 и ↓33+38
Комментарии189

Web разработка под iPhone

Время на прочтение4 мин
Количество просмотров16K
Пока все Интернет сообщество со всех сторон продолжает обсуждать, как же можно приспособить iPad для работы, я бы хотел все же вернуться к iPhone. По профессии я программист и люблю новые технологии. И очень мне уж хотелось сделать приложение для своего телефона, но вот как-то душа к Objective C не лежит пока что, да и макбука с лицензией разработчика тоже пока нет. И мне стало интересно, могу ли используя знания html и js написать что-нибудь. Оказалось что да, и способов очень даже много. О них – под катом.
Читать дальше →
Всего голосов 52: ↑45 и ↓7+38
Комментарии35

8 правил инноваций от Тайлера

Время на прочтение3 мин
Количество просмотров43K
Тайлер ДёрденВсем нам хотелось бы совершать значительные поступки и прожить выдающуюся жизнь.
Никто не хочет целыми днями производить приевшиеся товары в бесцельной гонке за несуществующего потребителя. Ну и уж само собой, что вы лично этого не хотите, не так ли?
Так почему же нам кажется, что сломать рутину и начать заниматься чем-то принципиально новым, так сложно? Потому что это действительно сложно: от нас требуется сменить приоритеты, поменять свои планы и разрушить комфортную жизнь. Это почти то же самое, что стать другим человеком.

«Бойцовский клуб» — фильм о том, как прожить ту жизнь, которую хочешь, и какой тернистый путь нужно пройти, чтобы это стало возможным. Тайлер помогает безымянному герою фильма встать на путь просветления. Возможно, слова Тайлера смогут помочь и кому-то из нас.
Читать дальше →
Всего голосов 201: ↑153 и ↓48+105
Комментарии120

phpDaemon — фреймворк асинхронных приложений

Время на прочтение6 мин
Количество просмотров44K
Сегодня речь пойдет о phpDaemon — асинхронном модульном демоне-фреймворке, который берёт на себя обработку I/O (libevent) и другие низкоуровневые задачи, присущие демонам. С его помощью легко писать правильные сетевые приложения с блэкджеком и шлюхами.
Из коробки идут сервера FastCGI, HTTP, CGI, FlashPolicy, Telnet, WebSocket (!) — да-да тот самый волшебный пендаль новый протокол от Google. И клиенты mysql, memcached, mongodb… И многое другое, полный список под катом. Работать с сетью действительно просто. Программист средней руки может написать, к примеру, IRC-бота за считанные часы.
В качестве наглядного примера я реализовал вот этот чат на phpDaemon + WebSocket + MongoDB + jQuery. Он наглядно демонстрирует преимущества этой технологии: доставка сообщений мгновенна, накладные расходы при обмене данными минимальны, высока производительность, приложение масштабируется горизонтально. Исходники этого чата (в данный момент 17 кб). Прошу заметить, чат тестировался и работает в Chrome, FF, IE6+, Iron, Safari.
Читать дальше →
Всего голосов 114: ↑99 и ↓15+84
Комментарии103

Где погрызть гранит науки

Время на прочтение4 мин
Количество просмотров28K
image Здравствуй, хабрасообщество. Я знаю, ты любишь халяву. А еще ты любишь учиться. Ведь так? А что может быть лучше для хабравчанина бесплатного образования? Вот и решил собрать специально для тебя подборку из ссылок, где можно набраться уму-разуму в области IT.
Все нижеперечисленные ресурсы абсолютно и официально бесплатны и свободны, что не может не радовать.

UPD. Переранжировал сайты. В категорию «Компьютерные науки» попали те сайты, которые можно внести более, чем в одну из нижеперечисленных категорий. Ранжировка производилась по большинству содержимого, то есть в некоторых сайтах, отнесенных к определенной категории, могут попадаться статьи не относящиеся к определенной, но они будут составлять абсолютное меньшинство

Большое спасибо в помощи добавлении ресурсов vansickle, RedFox, kagen, theinterman, sM1Le.

Англоязычные ресурсы



Компьютерные науки



OpenCourseWare MIT




Одно из самых больших хранилищ учебных курсов. Здесь собраны практически все курсы, которые преподаются в Massachusets Institute of Technology, который по праву считается одним из лучших в мире. На сайте всего 1900 курсов, а тех, которые преподаются на факультете Electrical Engineering and Computer Science я насчитал более 200. Состав большинства курсов: краткие конспекты лекций, подробное описание курса, календарный план, задания на лабораторные работы, задания на курсовые проекты и экзамены, промежуточные модули. К некоторым курсам прилагаются и видеолекции.

смотреть другие сайты
Всего голосов 223: ↑213 и ↓10+203
Комментарии69

RTM Context Autocomplete Menu

Время на прочтение5 мин
Количество просмотров1.9K
Однажды я зашел на rememberthemilk.com и понял, что хочу такое же контекстное autocomplete меню в свой проект. В результате получился небольшой jquery плагин, который хочу презентовать в этом посте. Работает в ie6+, opera, safari, firefox, chrome (тестировал в последних версиях). В кратце расскажу в чем суть «контекстного» меню в RTM-стиле.

Это меню присоединяется к input-элементу, но, в отличие от обычных autocomplete меню, оно «всплывает» не для ввода всего значения элемента, а для какой-то логической части поля ввода. При этом меню позиционируется непосредственно под автодополняемым текстом. Вот как это выглядит:

image

Лицензия проекта — MIT / beerware.
Скачать библиотеку с примерами можно тут: js-context-autocomplete.googlecode.com/files/js-autocomplete-v5.tar
Последнюю ревизию забираем тут: svn checkout js-context-autocomplete.googlecode.com/svn/trunk js-context-autocomplete-read-only
Кому интересно поучаствовать в проекте — пишите в личку.
Временное online-demo (upd)

Под катом интересные моменты реализации, описание функциональности, примеры, список известных багов и фич для реализации.
Читать дальше →
Всего голосов 64: ↑63 и ↓1+62
Комментарии33

Magento. Пишем свой модуль. Добавляем CAPTCHA и дополнительные поля в регистрацию

Время на прочтение11 мин
Количество просмотров17K
Хочу поделится опытом программирования модулей для Magento. Большое спасибо пользователю jeje за приглашение.
В статье подробно описано создание модуля, реализующего допольнительные функции регистрации клиентов. Цели — дать представление о разработке под Magento на конкретном примере от начала до конца, показать основные подходы, организацию кода, указать на некоторые особенности. Статья ориентирована скорее на новичков, но и знакомые с Magento могут вынести что-то полезное для себя. Конечно в одной статье всего описать невозможно, но если тема окажется востребованной, то это может стать началом цикла статей.
Затронуты следующие моменты:
  • создание модуля
  • работа с блоками, шаблонами и разметкой (layout)
  • переопределение контроллера
  • скрипты инсталляции модуля

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

Читать дальше →
Всего голосов 32: ↑25 и ↓7+18
Комментарии19

10 способов побороть проблемы в IE6

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

1. Используйте DOCTYPE


Лучше всегда прописывать доктайп в заголовке каждой html-страницы, причем, строгий режим рекомендуется:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

для XHTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

от себя добавлю, что недопускайте никаких сторонних символов перед доктайпом. Ни пробелов, ни переносов строки — иначе появятся странные поля у body и html
Читать дальше →
Всего голосов 133: ↑88 и ↓45+43
Комментарии100

Загрузка браузером нескольких файлов

Время на прочтение5 мин
Количество просмотров30K
Если нужно дать пользователю возможность загрузки нескольких файлов, традиционное решение на данный момент — использовать для этой цели Flash (реже — Java applet или ActiveX). В случае, если соответствующий плагин недоступен, пользователю, как правило, показывают стандартный HTML-элемент для загрузки файла.

Последнюю ситуацию можно улучшить, если использовать встроенную в браузеры возможность множественной загрузки файлов. Из всех браузеров сейчас данную возможность не поддерживает только Internet Explorer (впрочем, мы ещё не видели девятую версию, может там что-то изменится), остальные браузеры — Opera 9 и выше (а так же версии 3.5—6.05), Firefox 3.6+, Chrome 3.0.191.0+ и Safari 4.0.1+ такую возможность предоставляют.

Достаточно написать что-то вроде
Copy Source | Copy HTML
  1. <form enctype="multipart/form-data" method="post">
  2.    <input type="file" min="1" max="9999" name="file[]" multiple="true" />
  3.    <input type="submit" name="submit" />
  4. </form>
PHP оказался готов к такой конструкции (именно для него в параметре «name» стоят квадратные скобки), он просто разложит загружаемые файлы по элементам массива $_FILES, если только мы не используем «Оперу».

К сожалению, «Опера» (ещё с версии 3.5) отправляет, при использовании мультизагрузки, файлы в контейнере «multipart/mixed», который PHP не понимает.

Я попробовал исправить эту ситуацию.
Читать дальше →
Всего голосов 119: ↑107 и ↓12+95
Комментарии67

Rediska — удобный PHP клиент для key-value базы Redis

Время на прочтение1 мин
Количество просмотров13K
RediskaRedis — это очень быстрая key-value база данных. Может использоваться как memcached, но отличие от последней в том, что Redis сохраняет свои данные на диск, то есть может быть использован для хранения данных (что мы успешно и делаем). Основные отличии от других собратьев это возможность хранить более сложные структуры данных — списки и «сеты» и атомарные операции с ними.
Так как на хабре уже есть обзор Redis, не вижу смысла продолжать. Перейду к самой «Редиске».
Оосновные возможности...
Всего голосов 49: ↑44 и ↓5+39
Комментарии14

Глубокая трассировка в Internet Explorer

Время на прочтение3 мин
Количество просмотров3.1K
image
После прочтения поста Стива Сойдерса о бесплатном инструменте — dynaTrace Ajax, я был дико заинтригован. Он предлагает полную анализ трассировки в IE6-8, включая JavaScript, прорисовку и сетевой трафик. Я протестировал несколько сайтов, но более интересный результат получил с тяжелым JavaScript'ом в Gmail в IE8.
Читать дальше →
Всего голосов 62: ↑55 и ↓7+48
Комментарии17

Плейсхолдер

Время на прочтение2 мин
Количество просмотров8.5K
Хоть в HTML5 и есть атрибут placeholder, но он пока-что работает лишь в браузерах с движком webkit.

Посмотрев некоторые посты на хабре, я увидел, что кое-кто изобретал велосипед, а другой скрипт, который якобы и делает сей атрибут кроссбраузерным, в полях типа password показывает звёздочки.

Собственно и написал скромный код на jQuery, который это всё дело и поддерживает.
Читать дальше →
Всего голосов 41: ↑27 и ↓14+13
Комментарии34

Верстаем пиксел в пиксел: кроссбраузерный аналог PixelPerfect

Время на прочтение2 мин
Количество просмотров36K
Нет, с твоим монитором всё в порядке, %username%
Довольно часто некоторые заказчики, отдавая макет сайта на вёрстку, требуют попиксельно достоверной точности в разметке во всех браузерах.

Проверить такое соответствие достаточно легко — нужно сделать скриншот сайта и совместить его с графическим макетом, например, в Photoshop'е.

Но вот только в процессе вёрстки использовать такой приём не очень удобно.

Что же делать трудяге-верстальщику?
Всего голосов 4: ↑4 и ↓0+4
Комментарии63

Memcached и метки. Реализация для фреймворка Kohana

Время на прочтение4 мин
Количество просмотров3.2K
Приветствую всех.

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

Собственно, в выборе системы кэширования особых вопросов не было — на ум сразу приходит всем известный memcached.

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

Итак, представим ситуацию, что мы храним в кэше данные записей блога под ключами post_. В определенный момент нам требуется сбросить все записи с постами, при этом не очищая кэш полностью (там могут хранится другие данные, значения которых все еще актуальны). Ситуация получается безвыходная. Мы не знаем список ключей постов, получить их нет возможности, сбросить ключи по паттерну тоже невозможно. Что же делать?

Решение есть.
Всего голосов 25: ↑20 и ↓5+15
Комментарии19

1001-ый способ вертикального выравнивания

Время на прочтение2 мин
Количество просмотров128K
О вертикальном выравнивании блока неизвестной высоты по центру или низу родителя сказано много. Есть способы, основанные на display:table-cell для хороших браузеров (без кавычек) и expression для IE, способы, основанные на относительном позиционировании (могут плохо работать при переполнении). В этой заметке будет описан способ, работающий на особенностях такого мощного отображения, как встроенный блок (display:inline-block).
Читать дальше →
Всего голосов 62: ↑51 и ↓11+40
Комментарии46

Контент-менеджмент по-секретарски

Время на прочтение3 мин
Количество просмотров3K
Сегодня, наверно, уже не бывает заказов на сайт без требования «возможность самостоятельно вносить изменения». Неважно, на чем вы делаете сайт — Битрикс, MODx, Drupal, что-то еще, или самописная CMS. FCKEditor, TinyMCE, панелька «чтоб как в ворде» — и заказчик спокоен, ему не придется за отдельную плату дергать «программистов».

И «программисты» вроде тоже довольны — дизайнер сайт нарисовал, верстальщик его за пару дней с грехом-пополам сверстал, на движок все это счастье натянуто, а тут уже и акт приема-передачи, и сумма с парой-тройкой нулей на счету. Все довольны.

Кроме тех, кому на этот сайт не наплевать
Всего голосов 107: ↑100 и ↓7+93
Комментарии186

Memcached. Как найти ключи по паттерну?

Время на прочтение6 мин
Количество просмотров9.5K
Доброе утро|день|вечер|ночь, %username%!

При использовании Memcached, иногда могут возникнуть вопросы: «А как посмотреть все ключи Memcached?» или «Как найти все ключи по маске „*“ или „sql_*“ ?»
Вот тогда открываются мануалы и начинается поиск такой функции, но, к сожалению, такой не оказывается :-(
Потом начинается Гугление… И там особо ничего нет :-(
А потом начинается поиск незадокументированных возможностей :-) и тут «Ура! Нашел!»

Читать дальше →
Всего голосов 61: ↑39 и ↓22+17
Комментарии44

Информация

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