Как стать автором
Поиск
Написать публикацию
Обновить
0
0

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

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

Go for IT. Часть первая

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

Неуловимый Go.


Помните анекдот про неуловимого Джо? Именно восклицанием «Да кому он нужен!», прозвучавшим в форме вопроса "ЗАЧЕМ?", был встречен на Хабре релиз первой стабильной версии GO 1.

Именно на этот вопрос я хочу ответить циклом статей, оформленных в необычном для Хабра формате — в виде пошаговой совместной разработки действующего веб-проекта — с живым обсуждением и добавлением функционала. А чтобы вдвойне оправдать внесение цикла ещё и в хаб «Высокая производительность», мы поставим перед собой задачу создать не просто «хомяка», а проект, который наглядно продемонстрирует habri et orbi способность выдерживать значительные естественные нагрузки.

Вместо аперитива: реализация простейшего динамического веб-приложения на языке Go работает в 5-20 раз быстрее аналогичной Python-реализации. И всего в два раза уступает скорости отдачи статики Nginx-ом.

В рамках этого проекта, помимо самого языка Go, мы косвенно затронем и другие (относительно новые) технологии веб-разработки — HTML5, CSS3, Redis, MongoDB. Также я постараюсь вытащить из закутков долговременной памяти некоторые из трюков в области безопасности и экономии на спичках, коих накопилось много за полтора десятка лет работы в этой области. Устраивайтесь поудобнее, запасайтесь терпением и кофе — под катом «много букв», а ведь это только вводная часть :)
Читать дальше →

Звезды мирового фронтенда 3. Здесь русский дух, здесь Русью пахнет

Время на прочтение5 мин
Количество просмотров17K
Продолжение предыдущих двух статей — Звезды мирового фронтенда и Звезды мирового фронтенда 2. JS Lovers.
Я понимаю, что как во многих компаниях и веб-студиях, так и среди фрилансеров, есть отличные технологи, фронтендеры и js-кодеры, которые потенциально могут называться звездами фронтенда. Но опять же, нельзя точечно выбрать одних, а о других умолчать. Поэтому я принял решение рассказать о тех, чьи имена на слуху.
Некоторых из них периодически можно встретить на Хабре, многие с ними знакомы. Если вдруг я упустил что-нибудь важное, или кто-то хочет что-то исправить или дополнить, отписывайте в коментариях и я буду оперативно обновлять статью.


Читать дальше →

MySQLi раскладываем все по полочкам

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

Для кого это статья? Первоочередной целью написания статьи было именно «разложить все по полочкам» для тех, кто уже работал с mysqli, но не вникал глубоко, а быстренько написал свои обертки и забыл про оригинальный синтаксис. Я постарался разъяснить нюансы, с которым столкнулся сам, при переносе данных из большой и очень старой БД, спроектированной человеком, не знающим про нормализации, в новую, с сильно изменившейся структурой.

Можно ли читать эту статью людям, которые все еще используют старое расширение mysql и только думающие об перехода на PDO или MySqli? Думаю даже нужно.

Читать дальше →

Гайд по созданию Facebook Welcome Page и других кастомных табов

Время на прочтение8 мин
Количество просмотров49K
Facebook — самая большая социальная сеть и один и самых посещаемых сайтов в мире. В ней можно не только постить веселые статусы и лайкать фотографии, но и
использовать, как мощный маркетинговый инструмент. Все логично — миллиард пользователей, возможность таргетинга на определенную аудиторию, мгновенные объявления, ну и масса других
полезных штук, которые недоступны для оффлайна. На сегодняшний день сложно найти компанию без собственной бизнес-страницы или популярную личность без фан-пейджа. В этой статье постараюсь
подробно разобрать техническую сторону этого вопроса со стороны фронт-енд разработки.
Речь в посте пойдет не о создании самой страницы, потому что это довольно тривиальная процедура, а о пользовательских вкладках, которые можно добавить самостоятельно и наполнить нужным контентом.
Любой, даже начинающий веб-разработчик, может сделать с десяток таких табов за один вечер, зная некоторые принципы и нюансы их создания.
Я имею в виду подавляющее большинство всякого рода welcome-страниц, страниц-анонсов и страниц со всяким информационным текстово-графическим контентом. На страницы посложнее с динамическими элементами, формами и прочим функционалом времени уйдет, конечно, побольше.


Читать дальше →

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

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

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

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

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



В этой статье будет затронуто:
описание функционала, история создания, маркетинг в бизнесе веб-студий и работа с клиентами

Звезды мирового фронтенда

Время на прочтение5 мин
Количество просмотров28K
В любой профессии есть тонкая прослойка людей, которые являются действительно высококлассными специалистами. Не исключение и область фронт-енд разработки — здесь также есть выдающиеся личности. К их мнению прислушиваются, за ними следят в блогах и социальных сетях и читают их книги. В процессе своей работы они рождают различные оригинальные решения или техники, которые мгновенно расходятся по миру веб-разработки и остаются актуальными не один год. Они создают удобные онлайн-сервисы для верстки, пишут полезные js-библиотеки, совершенствуют браузеры, пропагандируют веб-стандарты и оказывают непосредственное влияние на их развитие. Они могут называть себя front end engineer, front-end developer, web developer, web designer, UI Designer, browser compatibility expert или просто css lover, но для большинства из нас они — звезды мирового фронт-енда, которые делают интернет таким, каким мы его знаем. На Хабре довольно часто появляются обзоры интересных решений, техник и новостей из мира веб-разработки с указанием западных авторов, однако далеко не все знают что-нибудь о них кроме имени. Мне захотелось вкратце рассказать для широкой публики о некоторых из этих товарищей.


Читать дальше →

В Google Analytics и Google Webmaster Tools добавили статистику по социальным сетям

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


И, надо сказать, как раз вовремя — очень многим веб-мастерам приходилось придумывать всякие «костыли» для получения информации о том, сколько же посетителей заходит на сайт из социальных сетей. А теперь разработчики из Google создали интересный инструмент (насколько он удобный и эффективный — покажет время), позволяющий все это отслеживать без всяких проблем.

Читать дальше →

Модуль nginx для борьбы с DDoS

Время на прочтение6 мин
Количество просмотров67K
Многие сталкивались с таким явлением как DDoS атака методом HTTP флуда. Нет, это не очередной туториал по настройке nginx, хочу представить свой модуль, работающий как быстрый фильтр между ботами и бэкэндом во время L7 DDoS атаки и позволяющий отсеивать мусорные запросы.
Читать дальше →

Азы социально-сетевого анализа (Social Network Analysis 101)

Время на прочтение4 мин
Количество просмотров19K
От переводчика. Автор этой публикации — Майкл Ву (Michael Wu), ведущий аналитик компании Lithium, специализирующийся в изучении социальных взаимодействий и онлайн-сообществ.


Чтобы понять, что такое «социально-сетевой анализ» (Social Network Analysis, SNA), нужно понимать, что такое «социальная сеть» и что такое «социальный граф». Говоря просто, социально-сетевой анализ — это способ изучения социальных сетей, а социальная сеть — это набор сущностей, между которыми есть определенные отношения. Социальные сети существуют с тех пор, как люди начали бродить по земле. По правде говоря, подобные структуры есть не только у людей, но и у социальных животных (например, у волков, львов, дельфинов, мышей и даже муравьев).

Безусловно, прежде всего нас интересуют такие сущности как люди, и такие отношения между ними как дружба (как на Facebook), совместная работа (как на LinkedIn), родство, общение и некоторые другие социальные взаимодействия. А в контексте SNA мы можем под социальным графом понимать просто визуализацию всего этого (я не собираюсь нагонять скуку формальным определением графа). В таком социальном графе каждая точка (или узел, или вершина) изображает человека, а ребро между двумя точками (людьми) изображает отношения между ними. А так как между людьми существует множество самых разных отношений, точно также существует множество разных социальных графов, изображающих эти отношения. Я покажу это на конкретном примере.
Читать дальше →

Создание ознакомительного поискового движка на Sphinx + php

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

Предыстория


Раньше для поиска по сайту мы использовали обычный fulltext поиск. Но в определенный момент он перестал нас устраивать и мы решили опробовать альтернативную технологию поиска: Sphinx. К сожалению, у сфинкса совсем нет русской документации, поэтому эта статья — аналог статьи Build a custom search engine with PHP, только на русском языке и для моего локального окружения (windows 7, mysql/php)
Статья состоит из 4 частей:
  1. Краткий рассказ про подготовку базы для поиска.
  2. Рассказ про первоначальную установку и настройку сфинкса
  3. Индексирование базы и тестовый поиск из командной строки
  4. Тестовый поиск из php

Читать дальше →

Мы запустили новый стартап: Pinme.ru

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


На прошлой неделе в среду был запущен социальный сервис хранения и обмена изображениями Pinme.ru. Это новый инвестиционный проект компании Fast Lane Ventures, который был создан по модели стартапа Pinterest.com, занимающего, по данным Alexa.com, 327-е по посещаемости место в мире и 55-е в США.

Концепция проекта — виртуальная пробковая доска, к которой можно приколоть булавкой картинку или фотографию, что нашло своё отражение в логотипе. В случае с pinme.ru — это картинки из инета, которые вы можете сохранить в своём профиле на сайте. Для этого вам нужно просто запустить скрипт, сохранённый в закладках браузера. С каждой картинки можно перейти на ее первоисточник в сети, что обеспечивает этим ресурсам большой обратный трафик, а для пользователя превращает сервис в удобное хранилище графической информации без отрыва от контекста, в котором она была скопирована. Зачем это может понадобиться? Интересный кейс (на примере pinterest.com) описывается в ЖЖ-сообществе art_of_shopping — можно сохранять картинки из каталога товаров в интернет-магазине, а позже вернуться к нему, чтобы принять решение — в отличие от «корзины» в самом магазине, ваши сохранённые товары никуда не денутся, если вы перезагрзитесь или зайдёте в сеть с другого компьютера. Фактически, это такая записная книжка, вроде Evernote, только в картинках.

Читать дальше →

Управление проектами: фильм «Человек, который изменил все»

Время на прочтение1 мин
Количество просмотров16K
Возможно, я сейчас открою Америку, но вдруг найдутся такие же люди, как и я, пропустившие этот фильм в кино. Собственно, кто бы мог подумать, что историческое кино про бейсбол, да еще с Бредом Питтом в главной роли окажется лучшим фильмов про управление проектами, что я видел за последнее время.

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

Цитата: «Есть богатые команды, есть бедные команды, есть 10-ти метровый слой говна, а под ним — мы».

Т.е. там, где другие команды могут нанять более результативных игроков (читай, более квалифицированный персонал) Бред Питт вынужден переизобретать схему построения команды. И он это делает, основываясь на математическом моделировании и анализе статистики игроков. Никакого спорта, чистая математика и переосмысление целей.

Как по мне, так весьма вдохновляющее кино. В качестве бонуса — очень хорошая игра актеров (номинации на Оскар на лучшие мужские роли первого и второго плана). Трейлер под катом:
Читать дальше →

Приехали. В Украине разработали свой Facebook

Время на прочтение1 мин
Количество просмотров2.4K
Недавно в одном из киевских ресторанов прошла презентация нового украинского проекта социальной сети Френдин.

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

Сейчас проект проходит альфатестирование. Так же было отмечено, что над проектом работало около 20 программистов и вложено 1.5 миллиона долларов.

Адрес чуда: http://friendin.net/

P.S. Логотип неуловимо намекает на Kopete, из чего можно сделать выводы о том, куда потрачено 1.5 миллиона денег

Что такое «хорошее» ТЗ на сайт?

Время на прочтение11 мин
Количество просмотров67K
caricat.gifЯ могу припомнить на удивление мало материалов, посвященных проектированию сайтов и программ на русском языке, написанных русскоязычными авторами. Этому способствует и преимущественно экспортно-ориентированная разработка (оффшор) и отсутствие массового опыта создания информационных продуктов в нашей стране.
Надеюсь, что эта статья пригодится тем разработчикам и IT-менеджерам, кто ощутил перед собой проблему составления качественных документов на разработку сайта. Документов, которые кроме испорченной бумаги были бы хоть чем-то полезны.
Читать дальше →

Конструктор по созданию уроков JS, Ruby и Python

Время на прочтение1 мин
Количество просмотров2.6K
Стартап Codecademy уже неоднократно упоминался на Хабре в связи с интерактивными обучающими курсами по JavaScript. К настоящему моменту на сайте пара десятков уроков, это совсем мало, ведь каждый урок можно пройти за несколько минут. В общем, они приняли очевидное решение и выпустили конструктор уроков Course Creator.



Course Creator — инструмент для создания и публикации собственных уроков по программированию. Если раньше уроки писали штатные или приглашённые эксперты (с помощью примерно такого же инструментария), то теперь сделать это может любой желающий. Никакой модерации нет, после создания урока автор сразу получает ссылку, которую может распространять на своё усмотрение, в общем, как на Youtube. Вдобавок к JavaScript, поддерживаются также языки программирования Ruby и Python.

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

Документация по Course Creator

Знакомство с wxPython. Часть первая. Первые шаги

Время на прочтение5 мин
Количество просмотров71K
Доброго времени суток!

image

Введение


Когда-то я вам уже рассказывал о связке Ruby/Tk. Сегодня я собираюсь продолжить знакомство с «быстрыми интерфейсами». На этот раз я расскажу вам о wxPython, а писать мы будем на Python.
На самом деле, wxPython является лишь обёрткой для библиотеки wxWidgets, который в свою очередь представляет графический тулкит, который позволяет писать кроссплатформенные приложения.
Читать дальше →

Что такое анти-паттерны?

Время на прочтение9 мин
Количество просмотров149K
Анти-паттерны — полная противоположность паттернам. Если паттерны проектирования —
это примеры практик хорошего программирования, то есть шаблоны решения определённых задач. То анти-паттерны — их полная противоположность, это — шаблоны ошибок, которые совершаются при решении различных задач. Частью практик хорошего программирования является именно избежание анти-паттернов. Не надо думать, что это такая непонятная теоретическая фигня — это конкретные проблемы, с которыми сталкивался практически каждый разработчик. Кто осведомлен, тот и вооружён! Рассмотрим же несколько расрпотранённых анти-паттернов в программировании.
Да, рассмотрим!

Подборка html/javascript/css инструментов и библиотек от SmashingMagazine

Время на прочтение5 мин
Количество просмотров22K
Разработка вебинтерфейсов дело не самое легкое. Причем начать вроде бы несложно, а вот добиться совершенства поистинне проблематично. Уж очень многое необходимо учесть. Просто масса настроек и ньюансов, в которых легко запутаться и сделать что-то не так. К счастью, разработчики и дизайнеры склонны упрощать этот нелегкий труд и постоянно изобретают всяческие инструменты позволяющие сделать больше и лучше за то же самое время, а главное не погрязнуть в мелочах и состредоточиться на чем-то более важном.

Множество удобных инструментов, найденных командой популярного онлайн журнала SmashingMagazine, приводится под катом
Читать дальше →

Паттерны ООП в метафорах

Время на прочтение17 мин
Количество просмотров575K
Большинство литературы посвященной паттернам в ООП (объектно-ориентированном программировании), как правило, объясняются на примерах с самим кодом. И это правильный подход, так как паттерны ООП уже по-умолчанию предназначаются для людей, которые знают что такое программирование и суть ООП. Однако порой требуется заинтересовать этой темой людей, которые в этом совершенно ничего не понимают, например «не-программистов» или же просто начинающих «компьютерщиков». Именно с этой целью и был подготовлен данный материал, который призван объяснить человеку любого уровня знаний, что такое паттерн ООП и, возможно, привлечет в ряды программистов новых «адептов», ведь программирование это на самом деле очень интересно.
Статья предназначена исключительно для новичков, так что «старожилы» ничего нового для себя не узнают. В основном статья описывает известные паттерны из книги «Приемы объектно-ориентированного программирования. Шаблоны проектирования.», но более популярным и простым языком.
Читать дальше →

Настройка emacs для разработки на python или поиск «идеального» редактора

Время на прочтение4 мин
Количество просмотров12K
Цель статьи рассказать о своем поиске «идеального» редактора для python кода, о том почему выбрал emacs и кратко о том как я его (emacs) настроил для работы с python.

Небольшая предистория: Разработкой на python я занимаюсь уже более двух лет и все это время пытался подобрать оптимальный редактор. Что я только не использовал за это время — mcedit, nano, gedit, netbeans, eclipse, а также некоторые другие платные варианты (демо версии). Но всегда чего то нехватало, где то автокомплита, где то подсветки, где то банально неудобно. Какой то период (около 10 месяцев) использовал Eclipse, но его прожорливость в ресурсах, зависания доводили до белого каления. Когда ошибки eclipse мне окончательно надоели, я начал поиски такого редактора который стал бы отличным помошником в работе.
Вооружившись google начал искать «идеальный» редактор.
Читать дальше →

Информация

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