Pull to refresh
19
0
Кирилл @RazoR_Empire

User

Send message

Простой монтаж видеоподкастов в Sony Vegas

Reading time1 min
Views3.3K
По многочисленным просьбам, материал старой статьи про монтаж видеоподакстов теперь преподнесен в самом натуральном для этого виде — скринкаст!

Как обычно, видео доступно в HD-формате, но для этого нужно пойти на vimeo.

Total votes 50: ↑44 and ↓6+38
Comments20

Хоткеи в приложенях Ruby on Rails

Reading time2 min
Views5.3K
Fingers on the railsMousetrap — javascript-библиотека, позволяющая легко и непринужденно добавлять хоткеи на сайты, появилась не так давно. Но уже успела полюбиться мне настолько, что я решил сделать ее добавление к проекту на Ruby on Rails простым и приятным. А именно, завернуть в ruby-библиотеку для рельсов. Так появился gem mousetrap-rails.

Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments28

vkontakte_api: ruby-адаптер для ВКонтакте API

Reading time7 min
Views28K
В начале этого года мне понадобилось работать с API ВКонтакте из rails-приложения. Увы, я не нашел сколько-нибудь устраивающего меня гема: где-то меня принуждали писать названия методов в camelCase (что в ruby-коде выглядит неестественно), где-то — обязательно проходить авторизацию через библиотеку (при том, что я использовал omniauth) и вообще везде для обращений к API использовался захардкоденный Net::HTTP, блокирующий реактор эвентмашины, на которую я тогда прицеливался. Также в плане документации почему-то все было очень грустно, и приходилось постоянно читать исходники.

Так появился на свет vkontakte_api. Рельсовый проект, послуживший поводом для написания данной библиотеки, уже успел почить — но гем живет и продолжает развиваться, в июле достигнув версии 1.0 (которая послужила поводом для значительных изменений). Используя faraday, библиотека поддерживает вызов любых методов API, загрузку файлов на сервера ВКонтакте и опциональную авторизацию, не принимая за программиста решения, упомянутые в предыдущем абзаце.

Посмотрим, как работать с API с помощью vkontakte_api. В качестве примера сгодится несложное веб-приложение, отображающее на странице ленту новостей (API-метод newsfeed.get), список друзей (friends.get) и групп (groups.get) пользователя, прошедшего OAuth2-авторизацию. А выглядеть это будет примерно так:


Читать дальше →
Total votes 43: ↑40 and ↓3+37
Comments27

Репликация в Postgresql 9.0

Reading time3 min
Views86K
Доброго времени суток. Учитывая, что с момента релиза PostgreSQL 9 прошло уже некоторое количество времени — я решил пощупать одну из его новых функций — нативную репликацию. Как известно, новый механизм основан на пересылке XLOG`a от мастера к слейву. Одним из жирных плюсов можно назвать нормальную обработку ALTER`ов. Иными словами — администратор 9й версии может обойтись без Slony.
Читать дальше →
Total votes 58: ↑51 and ↓7+44
Comments42

Как правильно сортировать контент на основе оценок пользователей

Reading time5 min
Views92K


В оригинале название звучит как «How Not To Sort By Average Rating». Я подумал, что дословный перевод «Как не сортировать по усреднённому рейтингу» будет малопонятен и хуже отражает содержание статьи.

Постановка проблемы


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

Неправильное решение №1

Рейтинг= (Число положительных оценок) - (Число отрицательных оценок)

Читать дальше →
Total votes 458: ↑423 and ↓35+388
Comments134

Знакомимся с PayPal API

Reading time13 min
Views87K
На данный момент, PayPal — это самая популярная платформа электронных платежей. Именно то, насколько легко можно открыть счет и начать получать на него средства, по сравнению с традиционными способами получения платежей, и является причиной #1 его запредельной популярности. Второй причиной, многие со мной согласятся, является мощный API, предоставляемый PayPal. В этом топике я по порядку разложу все способы и трюки, связанные с работой PayPal API, чтобы вы избежали проблем с его интеграцией.
Читать дальше →
Total votes 190: ↑182 and ↓8+174
Comments51

Capistrano и php

Reading time8 min
Views32K
image Всем привет. Сегодня я хотел бы ещё раз поговорить о замечательном deploy-ере Capistrano.

Напомню, что Capistrano — это Open Source-ный инструмент для выполнения скриптов на нескольких серверах, который в основном используется для web приложений. Он позволяет автоматизировать процесс развертывания новой версии на одном или нескольких web серверах и включает поддержку таких задач, как например изменение базы данных.

Capistrano написан на Ruby и является «модулем» (или компонентном, не знаю как лучше) фреймворка Ruby on Rails.

Данный топик по большей части является переводом туториала со страницы проекта на github-е с некоторыми дополнениями, изменениями и сокращениями специфичными для php (или для «не RoR»). Здесь не будут рассматриваться вопросы работы с несколькими серверами и базой данных, это всего лишь небольшое пособие для начинающих.

Итак, допустим на нашем локальном компьютере в паке /path/deploy/from находится приложение написанное на языке php. У этого приложения есть git репозиторий находящийся по адресу example.net/project.git с актуальным кодом. Также у нас есть хостинг по адресу example.com с ssh доступом и папкой /path/deploy/to куда мы собираемся залить наши файлы. Мы не хотим постоянно возиться с ftp клиентом и решили потратить несколько часов для того, чтобы разобраться в деплойере capistrano. Давайте приступим.
Читать дальше →
Total votes 40: ↑39 and ↓1+38
Comments15

Резервное копирование Rails проектов без затей

Reading time3 min
Views4.5K
Как известно, люди делятся на тех кто еще не делает резервных копий, тех кто уже делает, и тех кто уже делает и проверяет возможность восстановления

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

А делаем мы резервные копии через gem backup

Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments16

Многопоточный сервер на C# за 15 минут

Reading time11 min
Views332K
C# довольно простой и гибкий язык. Вместе с .NET поставляется довольно много уже готовых классов, что делает его еще проще. Настолько, что вполне можно написать простой многопоточный HTTP-сервер для отдачи статического содержимого всего за 15 минут. Можно было бы использовать уже готовый класс HttpListener и управиться еще быстрее, но цель этой статьи — показать, как вообще можно сделать нечто подобное в C#.
Читать дальше →
Total votes 94: ↑77 and ↓17+60
Comments72

Работа с OAuth v2

Reading time1 min
Views4K
Предлагаю почитать статью о «прикручивании» второй версии протокола OAuth (он на стадии черновика еще, ага). Сперва немного об общих принципах работы, потом привожу практическую часть (фреймворк Kohana, модуль OAuth).

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

Дико извиняюсь, но топики-ссылки мне неподвластны. Вынужден нагло публиковать в качестве полноценного топика.
Total votes 42: ↑31 and ↓11+20
Comments2

Разработка браузерной стратегии

Reading time7 min
Views37K
Всем привет!

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

image

Что представляет собой игра? Видимо наиболее коротким описанием будет «клон Цивилизации» =). Но это не значит что у меня не хватило фантазии придумать что-то свое. Просто сделать «Цивилизацию» было моей мечтой. Вряд ли бы я получил столько удовлетворения от написания другой игры. Ну а фанаты Цивилизации наоборот считают, что моя игра совсем не похожа на Цивилизацию, разве что только с виду. Может это и к лучшему.

Игра называется The Fate of Nation http://fatenation.com

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

Для создания игры я использовал php и MySQL на сервере, html и javascript на клиенте. Flash не используется. Из html5 есть только видео на сайте и несколько областей с канвасом в самой игре — включая поверхность карты и мини-карту. Объем кода клиентской части в несколько раз превышает серверную часть, поэтому в основном буду рассказывать о клиентской разработке, но начнем с сервера.

Читать дальше →
Total votes 224: ↑216 and ↓8+208
Comments123

Верстка почтовых рассылок: взгляд изнутри

Reading time4 min
Views14K
И снова здравствуйте!

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

Прежде всего хотелось бы заострить внимание на одном из персонажей, который часто употребляется в топике — это «различные веб-интерфейсы и почтовые клиенты». Немного нудно каждый раз повторять эту конструкцию слов, и мне кажется, что будет проще дать этому одно обобщающее слово. И так читая дальше воспринимайте слово «Демоны»(по другому их трудно назвать), как «различные веб-интерфейсы и почтовые клиенты». Ну что ж, начнем!
Читать дальше →
Total votes 102: ↑89 and ↓13+76
Comments23

Выравнивание полей формы с помощью CSS

Reading time2 min
Views164K

Задача


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

forms_1

Читать дальше →
Total votes 230: ↑203 and ↓27+176
Comments241

OpenStore — бесплатная сборка интернет — магазина на основе Drupal и Ubercart

Reading time7 min
Views16K
image
Представляю свой проект — бесплатный скрипт интернет-магазина OpenStore на основе Drupal и модуля Ubercart

Сайт проекта
Скачать
Багтреккер
Читать дальше →
Total votes 138: ↑130 and ↓8+122
Comments75

Fugue Icons в сером

Reading time1 min
Views2.2K
Во многих проектах я использую известный набор иконок Fugue Icons и часто нужно создать эффект «активной\не активной» кнопки. Чтобы не перекрашивать каждый раз по иконке в серый, я перекрасил все иконки и добавил в названия файла "-gray" сохранив структуру архива.



Выкладываю архив в общее пользование, может кому пригодится.
Cкачать Fugue Icons Gray, зеркало на Яндех.Народ

Лицензия: Attribution 3.0 Unported (CC BY 3.0)
Скачать оригинальный набор Fugue Icons 3.0 можно с сайта автора или с Google Code
Total votes 57: ↑49 and ↓8+41
Comments19

Launchlist для вашего сайта

Reading time2 min
Views12K
imageЗдравствуйте, уважаемые Хабравчане.
Хотим опубликовать результат нашего небольшого исследования.

Суть эксперимента

Существует довольно много сайтов, в том числе региональных, где народ обсуждает работы студий web-дизайна, а так же разработанные ими сайты.
Иногда такие обсуждения приводят к закидыванию оппонентов какашками по поводу деталей реализации.
Согласитесь, обидно, когда большая (не на один месяц!) работа, в пух и прах разносится школьниками критиками, из-за мелочей в юзабилити, лени, или просто из-за небольшой забывчивости разработчика.

Мы промониторили несколько десятков подобных обсуждений за последние несколько месяцев и выявили следующее…
Читать дальше →
Total votes 31: ↑24 and ↓7+17
Comments12

Инструменты для дизайнеров и разработчиков

Reading time2 min
Views4.8K


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

Смотрим
Total votes 155: ↑131 and ↓24+107
Comments41

Стандарт разработки приложений под Android

Reading time3 min
Views17K
Разработчик Андроида сталкивается с большим количеством файлов и ресурсов предназначенных для разных частей программы. Даже он сам через месяц не может вспомнить, какой файл или ресурс к чему относится.
Предлагаемый ниже материал основан на моем опыте разработок многих проектов для Андроида и опробован уже в нескольких проектах. В результате простых правил нагромождение файлов и ресурсов превращается в удобочитаемый проект, экономит время и нервы. Особенно оказалось удобным при работе в команде, когда к проекту могут присоединяться новые программисты. В Eclipse вы легко находите любые ресурсы, поскольку они становятся уникальными, легко находимыми и сортируются в понятном порядке в любых списках. Общие удобные правила позволяют легко читать чужой код и находить нужные ресурсы.

Большинство из указанного является моими личным мнением.

Читать дальше →
Total votes 49: ↑39 and ↓10+29
Comments35

FuelPHP — фреймворк с полным баком

Reading time4 min
Views13K
Fuel — это простой, гибкий, управляемый сообществом php5-фреймворк, родившийся благодаря разочарованию в имеющихся инструментах. Таким слоганом нас встречает сайт фреймворка — fuelphp.com.

Разработчики — Dan Horrigan, Phil Sturgeon, Jelmer Schreuder и другие участники сообщества. Ребята являлись (являются?) активными участниками сообщества Codeigniter, но разочаровались в темпах его развития (сейчас разработка Codeigniter ведется более активно, на два фронта — Codeigniter Core и комьюнити-драйвен-версия Codeigniter Reactor). В результате родился Fuel. Что ж, давайте рассмотрим его поближе.
Читать дальше →
Total votes 46: ↑34 and ↓12+22
Comments123

Использование объектов для красивой структуры кода в JavaScript

Reading time9 min
Views7.7K

Вступление


Доброго всем времени суток. Поздравляю вас с праздниками и перехожу к теме.
Когда вы выходите за рамки написания простых фрагментов jQuery и приступаете к разработке более сложных взаимодействий пользователей, ваш код может быстро стать громоздким и трудным для отладки. Эта статья покажет вам начать думать об этих взаимодействий в терминах «частичек поведения» используя паттерн проектирования object literal.

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

Но подождите. Допустим, теперь требования изменились. Теперь код, который работал для трех элементов должен работать для десяти. Или ваш код должен быть повторно использован для несколько иного приложения, в котором все идентификаторы разные. Как не потеряться в коде, который является не просто вызовом плагина или парой строчек типа show() и hide()?
Читать дальше →
Total votes 45: ↑35 and ↓10+25
Comments47

Information

Rating
Does not participate
Location
Hlavni Mesto Praha, Чехия
Registered
Activity