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

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

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

Как заставить сайт летать и сэкономить десятки часов системного администрирования

Время на прочтение10 мин
Количество просмотров109K
Скорость работы вашего сайта, его стабильность и отказоустойчивость всегда зависят от трех составляющих:

1. Платформа (CMS) и ее настройки, которые влияют на производительность (параметры кэширования и т.п.)
2. Конфигурация сервера (реального физического или виртуального) и настройки системного ПО (веб-сервер, база данных и т.д.)
3. Качество разработки, кода, интеграции с платформой.

Зачастую веб-разработчик может написать хороший качественный код, но при этом мало что смыслит в системном администрировании и настройке серверов. А хороший сисадмин редко бывает по совместительству еще и классным программистом.

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

В итоге сайт может «хромать» из-за проблем и «узких» мест в любой из составляющих: CMS, хостинг, разработка. Клиент в нюансы не вникает и остается не удовлетворен проектом в целом. Его негатив переносится на всех: «Тормозной хостинг! Ужасная система! Разработчики ничего не умеют!»

Такая картина нас, конечно, никогда не устраивала. И мы решили, что надо что-то делать…
Читать дальше →

Отказ мастера в PostgreSQL-кластере: как быть?

Время на прочтение3 мин
Количество просмотров9.4K
Приветствую. Сегодня я хотел бы поговорить о такой неприятной ситуации, как отказ мастера в случае применения нативной репликации в PostgreSQL 9.x. Итак, предположим, что у вас есть кластер из двух и более PostgreSQL-серверов и на мастер внезапно упал метеорит. Логично предположить, что вам придётся сделать мастером одну из реплик. Сделать это можно двумя способами.
Читать дальше →

Немного подробностей про Class Based Views, ч.4

Время на прочтение5 мин
Количество просмотров56K
Здравствуйте! В продолжении серии статей про Class Based Views (далее CBV) переходим к разделу, посвященному редактированию объектов. В данной статье мы рассмотрим четыре класса с говорящими названиями: FormView, CreateView, UpdateView, DeleteView.

Часть 1, часть 2, часть 3, часть 4

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

Пользовательские атрибуты в Python

Время на прочтение11 мин
Количество просмотров191K
Вы когда нибудь задумывались о том, что происходит, когда вы ставите точку в python? Что скрывает за собой символ str(“\u002E”)? Какие тайны он хранит? Если без мистики, вы знаете как происходит поиск и установка значений пользовательских атрибутов в python? Хотели бы узнать? Тогда… добро пожаловать!
Читать дальше →

Игры id Software — на Github

Время на прочтение1 мин
Количество просмотров8.7K
Компания id Software выложила все свои проекты Open Source на github. Вот полный список, пользуйтесь на здоровье!

Doom 3 GPL
Wolfenstein 3D для iOS
DOOM Classic для iOS
Quake GPL
DOOM
Quake-Tools, инструменты и утилиты для Quake
idsetup, setup от DOOM, Final DOOM, Strife и др.
Quake-2-Tools GPL
GtkRadiant GPL
Wolfenstein: Enemy Territory GPL
Return to Castle Wolfenstein Multiplayer GPL
Return to Castle Wolfenstein Single-player GPL
Quake 2 GPL
Quake III Arena GPL

Шпаргалка для Django 1.3

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

Искал для себя шпаргалку. Не смог найти её здесь и нашёл у них) Делюсь с теми, кому она необходима, как и мне.
Оригинальная ссылка: PDF

UPD: Из-за периодического отсутствия доступа к файлу на оригинальном сайте Разместил у себя

Основы Python — кратко. Строки.

Время на прочтение4 мин
Количество просмотров258K
Поскольку число положительных отзывов превысило число отрицательных, продолжу выкладывание уроков. Те кто уже знаком с основами — можете или просто пропустить урок, или попробовать сделать задание 3 самым коротким способом :)

Для начала маленькое замечание.

Начиная с Python 2.3, всем, кто использует не-ASCII кодировку нужно добавлять указание о кодировке в самом начале программы. Для русского языка это будет в основном:
# -*- coding: cp1251 -*-

или использовать для хранения исходных текстов файлы utf-8 (что предпочтительней).

Изучив управление числами, пришла пора осваивать строки. Пайтон обладает весьма богатым набором возможностей в этой области.

Строки

Существует множество способов задать строку в Пайтоне...

12 000 рублей за сайт. Есть ли бизнес за МКАДом?

Время на прочтение6 мин
Количество просмотров28K
Сегодня мы с уверенностью можем сказать, что отказались от разработки сложных и дорогих интернет-проектов в пользу бюджетных, простых решений за 12 000 рублей. Вместо одного недовольного клиента, мы получаем десять довольных, а сам бизнес стал стабильным, рентабельным и, главное, прогнозируемым и предсказуемым. Я давно обещал рассказать, как нам это удается. В декабре мы перешагнули планку «21 сайт в месяц», и готовы поделиться своими секретами.
Читать дальше →

Юникод для чайников

Время на прочтение8 мин
Количество просмотров329K
logo
Сам я не очень люблю заголовки вроде «Покемоны в собственном соку для чайников\кастрюль\сковородок», но это кажется именно тот случай — говорить будем о базовых вещах, работа с которыми довольно часто приводить к купе набитых шишек и уйме потерянного времени вокруг вопроса — «Почему же оно не работает?». Если вы до сих пор боитесь и\или не понимаете Юникода — прошу под кат.

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

Nginx + uWSGI + virtualenv + Django на Debian Squeeze

Время на прочтение4 мин
Количество просмотров33K
Некоторое время назад озадачился поиском способа развертывания проектов Django, к которому предъявлялись два требования:
  1. Удобное управление запуском/остановкой/перезапуском нескольких проектов на одном хосте
  2. Поддержка разных виртуальных сред для разных проектов

По второму пункту мой выбор склонился в пользу Nginx + uWSGI. По первому же, из рассмотренных мною вариантов больше всего понравились обвязки для uWSGI в Debian.
Читать дальше →

Разбираем iPhone Core Data Recipes. Часть 1

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

Introduction


Цель данной статьи — помочь начинающему iOS разработчику, понять, как правильно работать с SQLite базой данных используя Core Data на примере iPhone Core Data Recipes. В первой части из серии статей, будет рассмотрено взаимодействие приложения и базы данных, а также работа со связанными записями (Relationships).

Prerequisites


Для самостоятельного изучения исходных текстов данного приложения, вам необходим стандартный набор инструментов:
  • Mac OS X
  • Xcode


Данный набор позволит вам просмотреть, изменить и запустить приложение на симуляторе. В случае же, если вы захотите попробовать запустить его на настоящем iPhone, требуется участие в iOS Developer Program.

А также, что немало важно, нужно базовое понимание структуры языка Objective-C и приложения.

Ссылки на используемые материалы и инструменты предоставлены в разделе References.

Что такое iPhone Core Data Recipes?

Xcode проект от разработчиков из Apple, который дает общее представление о том, как использовать view controllers, table views и Core Data в iPhone приложениях. Конечно, данный проект также актуален для iPad, но в него необходимо внести интерфейсные изменения, для корректного отображения на iPad.

iPhone Core Data Recipes Screenshots

Скриншоты ниже, дают общее представление о интерфейсе приложения. В главном окне «Recipes» — оторбаражается список готовых продуктов. Нажав на один из них, приложение отображает информацию о том, как приготовить данный продукт, его категорию, сколько на это нужно времени, какие и в каком количестве необходимы ингредиенты, а также кнопку которая отображает текстовую инструкцию по приготовлению (скриншот не приведен). Также в приложении есть возмоность конвертации значений между граммами, фунтами и унциями, а также таблица соответствия температур (по цельсию и фаренгейту).
Читать дальше →

Симуляция нажатий Home, End, PgUp, PgDown

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

Введение

image
Примерно полтора года назад я стал счастливым обладателем HP Mini 110-3155sr. Машинка всем порадовала, но была одна проблема, которая со временем надоедала все больше — отсутствие кнопок Home, End, PgUp, PgDown. О том, как я решил эту проблему при помощи небольшой программки на Python — под катом.
Читать дальше →

CSS кнопки с помощью псевдо-элементов

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


Здравствуйте, друзья. За последний месяц я экспериментировал с псевдо-элементами, особенно, с их использованием в создании кнопок. Таким образом, удалось создать крутые эффекты, которые раньше можно было сделать только со спрайтами.

В этом уроке я покажу как создать кнопку с изюминкой, используя только якорный тег и мощь CSS.

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

7 классных примеров с тенями для текста, которые вы просто не можете пропустить

Время на прочтение9 мин
Количество просмотров90K
Color Happiness

В прошлых двух статьях мы познакомились с тем, как работают тени в CSS3: box-shadow и text-shadow. Сегодня, продолжая последнюю тему, мы посмотрим на еще несколько красивых примеров использования теней для текста для достижения интересных эффектов.
Читать дальше →

«Прямой эфир» для общения c посетителями вашего сайта

Время на прочтение3 мин
Количество просмотров5.4K
Недавно я анонсировал Realplexor — habrahabr.ru/blogs/hi/79189 — однопоточный событийно-ориентированный Comet-сервер, написанный на Perl и имеющий готовое API для JavaScript и PHP. С его помощью можно создавать сайты, пользователи на которых взаимодействуют друг с другом в реальном времени, не перезагружая страницу и без значительного расхода трафика.

Сегодня я хочу представить и, как водится, немного «покопаться в моторе» первой версии продукта Прямой эфир, работающей на платформе РуТвит с применением Realplexor-а. Это виджет, который вебмастер может за 1 минуту установить на свой сайт, чтобы устроить микроблоггинг-общение с аудиторией в режиме реального времени.

С помощью «Прямого эфира» аудитория сайта общается между собой в реальном времени — «прямо сейчас», находясь в отдельной «чат-комнате», привязанной к вашему сайту. Виджет можно использовать для «прямого диалога» сразу со многими пользователями: например, для приема багов или фич-реквестов. Если пользователь, с которым вы общались, всё еще на сайте, вы увидите его присутствие: около его имени будет зеленый кружочек.

Для начала общения посетителю сайта нет необходимости проходить процедуру регистрации. Авторизация производится по OpenID. Т.е. ему достаточно иметь аккаунт на Яндексе, Google, LiveJournal и т.д., чтобы начать писать сообщения; не требуется даже e-mail.
Читать, как это устроено внутри

Библиотека dklab_rowlog для версионирования строк в таблицах PostgreSQL

Время на прочтение4 мин
Количество просмотров3K
В продолжение сегодняшнего топика Версионность и история данных — поделюсь простеньким инструментом, который мы используем.

Dklab_rowlog — это библиотека из нескольких хранимых процедур PostgreSQL, позволяющая добавить версионирование записей к любой таблице в БД. Иными словами, что бы ни происходило с таблицей, как бы данные там ни менялись (добавлялись/удалялись), это будет отражено в специальной табличке-логе.

Преимущества:
  • Версионирование добавляется к любой таблице за 1 минуту с использованием 1 SQL-команды.
  • Можно указать, какие колонки надо сохранять, а какие — нет (что экономит место). При этом запись в лог добавится только в случае, если хотя бы одна из указанных колонок изменилась.
  • Можно указать колонку, которая будет трактоваться как «ID автора изменения».
  • Можно задать колонки, которые будут логироваться в любом случае, независимо от того, менялись они или нет.

Примеры использования


Предположим, нам нужно логировать изменения вот в такой табличке:
Читать дальше →

Push уведомления в приложениях для iOS

Время на прочтение3 мин
Количество просмотров13K
Добрый день, Хабражитель.
Все наверное в курсе, что в iOS существует такой полезный сервис как Push уведомления. Я тоже был в курсе, но пока не столкнулся с его реальным использованием, даже не знал, что с ним есть так много нюансов. В этом топике вы узнаете два аспекта об этом сервисе: что нужно делать в xCode, и как отсылать сами пуш сообщения через php сервер.
Под катом описано то, как все это работает.
Читать дальше →

Сканируем и распознаем QR-коды из своего iOS-приложения

Время на прочтение7 мин
Количество просмотров21K
QR-коды сегодня используются практически везде, где только можно себе представить. Вполне очевидно, что многим разработчикам было бы интересно узнать, как организовать сканирование и распознавание QR-кодов в своих приложениях для мобильных устройств.

В процессе разработки собственного приложения для iOS столкнулся с тем, что информации на русском языке по теме обработки QR-кодов на просторах Интернета крайне мало. Разобравшись с самим приложением, решил, что необходимо исправить эту вопиюще несправедливую ситуацию. Под катом Вы найдете описание процесса разработки крайне простого приложения, распознающего QR-коды, и представляющего интерес для начинающих iOS-разработчиков. Данная заметка предполагает наличие базовых знаний особенностей работы в Xcode и программирования под iOS.
Читать дальше →

Разработка электронного, интерактивного журнала для iPad

Время на прочтение4 мин
Количество просмотров17K
Хотелось бы на личном опыте поделиться знаниями и методами по созданию интерактивных журналов для iPad.

Где-то в конце 2010 года ко мне обратились с заказом реализовать приложение, которое бы позволяло перевести печатную продукцию издательств (журналы, книги, брошюры) в электронный формат для удобного чтения на iPad. После долгих разговоров и уточнений, финальная задача технического задания была сформулирована так:

Создать приложение для iPad, которое является магазином электронных журналов. Пользователь, пройдя несложную регистрацию, пополнив баланс до необходимой суммы, мог скачать доступный электронный журнал и просмотреть его. Журнал должен быть интерактивным, то есть в нем были функции просмотра набора слайдов, вращения, видео, аудио, увеличения шрифта, добавления закладок, красивой анимации для пролистывания страниц и еще список вещей в том же духе. Исходный журнал представлял из себя чистую pdf, поступающую на прямую из издательства.
Читать дальше →

Технические аспекты разработки ios-приложения для портала AllCafe.ru

Время на прочтение5 мин
Количество просмотров2.1K
Если вы работаете над проектом с большой посещаемостью и контентом, отчасти (или полностью) формируемым пользователями — то, скорее всего, у вас уже были мысли, что неплохо бы сделать мобильный клиент. Так и мы, работая над нашим проектом, решили, что пользователи будут охотнее пользоваться нашим проектом и активнее создавать новый контент. К тому же — мы ведь можем облегчить жизнь пользователя, так почему бы и нет.
И мы сделали. Осторожно, много картинок и текста.
Читать дальше →

Информация

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