dunenkoff.com

Веб-лаборатория

officeloft 
Работать вместе

Мы в этих наших интернетах совсем заработались. Как только кто-то говорит о collaboration, совместной работе, всем в голову приходит стандартный набор ассоциаций – project management software, облачные решения для предприятий, SVN, собрания по скайпу, задачи по асечке, всякий такой бред. В роботов превращаемся. Что случилось с желанием работать бок о бок с живыми людьми?

Многие из нас, кто с разной долей успеха влез в интернет-бизнес, по прежнему фрилэнсят. Мало кто делает это успешно, ибо хоум-офис, если честно, расслябляет. Нам нужна дисциплина не в виде “я обещал себе поработать”, а в виде “меня же люди ждут”. Мы, конечно, все обмотались проводами и сидим каждый у себя дома в уютной паутинке, но собравшись вместе в кафе/баре с бесплатным вайфаем, на самом деле ощущаем эффективность коллективной работы и радость от нее же. А между тем довольно простой идее коворкинга в едином физическом пространстве уже больше 10 лет. → Читать целиком

abstrukt 
Абструкция: Как построить сайт без бэк-энда

Прошлой зимой Антон Кудин, ниндзя дизайна, попросил меня написать код для его портфолио. У него был готов дизайн и масса идей для фич, которые мне предстояло реализовать. Первая загвоздка: его хостинг, MobileMe от Apple Inc., не предоставляет никакой серверной платформы, кроме, ну, веб-сервера. То есть ни PHP, Python, Java – ничего.

Никто больше не делает сайты без CMS, и это сделало задачу интересной. Так как на самом деле выкинуть такой фокус? Совершенно очевидно.

AJAX

Движок сайта (если его можно так назвать) состоит из одного HTML-файла с сеткой, построенной на 960.gs, служащего шаблоном, одного XML-файла, который описывает весь контент и JS-файла со всеми моими скриптами. XML-файлу не требуется XSL-схема, если вы не планируете редактировать его в модном редакторе типа XMLSpy. Мы – нет, мы олдскульные парни с TextMate наперевес. XML выглядит так:

<?xml version="1.0" encoding="utf-8"?>
	<root>
		<featured>
			<project id="barcamp" />
		</featured>
		<projects>
			<project name="BarCampKrasnodar" id="barcamp" tags="id print 3d illustration">
				<images>
					<img src="assets/barcamp-1.jpg" />
					...
					<img src="assets/barcamp-5.jpg" />
				</images>
				<description>
				BarCampKrasnodar is a nonprofit event of seminars for IT developers and creatives
				</description>
			</project>
...

Простой и читаемый файл, правда? Каждый нод и атрибут служит своей цели внутри нашего jQuery-приложения. Что дальше? → Читать целиком

placeholder 
Мой первый стартап: Борьба с 404-й

Покупанда, мой первый старт-ап, сайт коллективных покупок (да, как Groupon). Когда-нибудь я расскажу историю о том, как я его построил, но в данный момент это совсем другая сказка.

“Poke-your-panda”, как ее называют мои американские друзья, построена целиком на WordPress 3.0, так что никому не рассказывайте, что это “платформа для блогов”, потому что это не так. В WP теперь есть куча новых возможностей, которых нам так хотелось долгое время, например, собственные типы постов. Ура? Не совсем, потому что по прежнему приходится немного кодить. Константин Ковшенин написал пару отличных статей на тему реализации кастомных постов в вашей теме/плагине для WP, так что я распространяться не буду, а лучше расскажу, с какими проблемами мой проект столкнулся в первые дни после официального запуска.

Хьюстон, у нас 404-я

Кастомные посты существовали до WP3.0. Финальная версия просто дала возможность не использовать хак с query_vars, чтобы подключать собственные шаблоны. Сейчас, если нужно показать один пост кастомного типа, достаточно просто создать шаблон с именем single-post_type.php внутри своей темы. Но некоторым из нас (я имею ввиду себя, разумеется) нужен был цикл из кастомных постов, вписаный в иерархию на уровне ядра WP. → Читать целиком