Мне нравятся html-сайты. Они быстрые, не нагружают сервер, их легко бекапить и легко переносить, можно держать на флешке для оффлайнового просмотра. Но есть проблема — их сложно сопровождать. Вносить изменения в несколько файлов для смены пункта меню или года копирайта — занятие невеселое. Для этих целей я сначала написал для себя шаблонизатор, а затем после нескольких итераций родилась вот такая программа — WebProject.
Пользователь
Кроссбраузерные CSS
2 min
26KДобрый день Уважаемые!
В этом посте я хочу поделиться своими личными наблюдениями и выводами в области применения html5 & css3.
+27
Nginx — уходим на технические работы
3 min
50KСовсем недавно возникла интересная задача: реализовать закрытие доступа к веб-сайту из вне, на время технических работ. Мне показалось, что это довольно распространенная задачка, решение которой заинтересует многих.
Один из возможных вариантов решения — ниже.
+54
Фотогалерея на Django с использованием Google Picasa в качестве хостинга
5 min
9.7KПривет Хабралюди.
В этом посте хочу поделиться опытом организации фотогалереи на своем сайте с использованием Google Picasa как хранилища фотографий. Подобное решение для php уже было на Хабре, здесь же приводится реализация на Django. Кому интересна эта тема, добро пожаловать.
+25
Доска для записей — дёшево и быстро
1 min
23KХочу поделиться способом «изготовления» доски для записей. Свою на работе активно использую уже несколько месяцев.
Всё, что нужно —
Всё, что нужно —
+105
Простая интеграция сайта и 1С
6 min
143KПоследнее время натыкался на несколько различных статей об интеграции сайта и 1С. В комментариях часто начинались споры о различных подходах, и я решил поделится способом который однажды довелось реализовать мне. Разумеется, описанный ниже способ не претендует на универсальность и единственность, но, думаю, будет полезен тем, кто только собирается писать свой вариант.
+47
Функциональное и экономическое сравнение российских операторов предоставляющих облачные услуги
12 min
16KВ связи с тем, что рынок облачных услуг в России стремительно развивается, я решил изучить основных игроков на этом рынке, понять, что в действительности они из себя представляют, а также выяснить ценовой диапазон предоставляемых услуг.
Для тех, кому интересно, как я все это делал поясню.
Все информация собиралась более двух месяцев. Была выбрана определенная конфигурация ресурсов и ряд вопросов.
Данный запрос был разослан облачным операторам, по итогам переписки составил таблицу для сравнения.
Итак, операторы, предоставляющие облачные услуги, с которыми велась данная работа:
+67
Django Micro
1 min
6.6KВ комментариях к посту Django as a Micro-Framework в блоге Ивана Сагалаева некий Andrew Pendleton выложил отличное решение для использования Джанго для микропроектов — djmicro.
Внутри пример использования
Внутри пример использования
+37
Виртуальный хостинг Django, модель N
5 min
5.8KСуществует множество способов разворачивания Django-приложений в *nix-среде. Не буду претендовать на оригинальность, просто поделюсь самым-самым-самым-самым своим.
Предпосылки:
Вводные условия
Предпосылки:
- Один клиент (заказчик) — один юзер в системе на сервере.
- Все проекты клиента — в одной файловой иерархии.
- Virtualenv — это хорошо и must use.
- Ftp — зло, используем современные средства (sftp).
- Количество файлов для управления проектами должно быть сведено к минимуму.
- nginx
- uwsgi
- cron
- virtualenv
- openssh
+26
Техническое задание на сайт
11 min
698KUPD: Продолжение статьи с примером техзадания
Не так давно на хабре были две статьи (Согласно техническому заданию и А зачем мне ТЗ? Я и так знаю!) посвященные техническим заданиям. У меня обе статьи вызвали, мягко говоря, недоумение, в особенности статья «Согласно техническому заданию». На мой взгляд, это вообще вредная статья, которая приводит к неверному понимаю сути ТЗ. В связи с этим хочу выразить свой взгляд на этот вопрос. Не буду говорить обо всех тех. заданиях, слишком широка тема, но думаю смогу рассказать о ТЗ на сайт.
То описание технического задания, о котором речь пойдет ниже, не является пересказом ГОСТа, но скорее является его творческой переработкой, хорошо сдобренной горьким опытом. Описанный ниже подход к ТЗ не охватывает все аспекты сайтостроения, но задает общее направление.
Большинство сайтов можно отнести к маленьким и очень маленьким проектам, масштаба единиц человеко-месяцев. В силу малости размеров такие проекты спокойно поддаются хорошему продумыванию и легко реализуются с помощью водопадной модели, достаточно просто не лениться на каждом этапе разработки (от написания ТЗ до сдачи проекта). Применять к этим проектам гибкие методологии разработки нет смысла, а как раз есть смысл применять хорошее ТЗ. К тем сайтам, которые не попадают под водопадную модель не стоит применять описанный ниже подход.
А зачем вообще нужно ТЗ на сайт? Заказчик говорит: «Нужен следующий сайт: каталог товаров, корзина, форма заказа, доставка, мы на карте, о нас, обратная связь». Что не ясно? Ничего необычного, всё обыденно и рутинно.
Разработчик отчетливо представляет, что нужно сделать, а сделать, в его понимании нужно вот так:
Не так давно на хабре были две статьи (Согласно техническому заданию и А зачем мне ТЗ? Я и так знаю!) посвященные техническим заданиям. У меня обе статьи вызвали, мягко говоря, недоумение, в особенности статья «Согласно техническому заданию». На мой взгляд, это вообще вредная статья, которая приводит к неверному понимаю сути ТЗ. В связи с этим хочу выразить свой взгляд на этот вопрос. Не буду говорить обо всех тех. заданиях, слишком широка тема, но думаю смогу рассказать о ТЗ на сайт.
То описание технического задания, о котором речь пойдет ниже, не является пересказом ГОСТа, но скорее является его творческой переработкой, хорошо сдобренной горьким опытом. Описанный ниже подход к ТЗ не охватывает все аспекты сайтостроения, но задает общее направление.
Большинство сайтов можно отнести к маленьким и очень маленьким проектам, масштаба единиц человеко-месяцев. В силу малости размеров такие проекты спокойно поддаются хорошему продумыванию и легко реализуются с помощью водопадной модели, достаточно просто не лениться на каждом этапе разработки (от написания ТЗ до сдачи проекта). Применять к этим проектам гибкие методологии разработки нет смысла, а как раз есть смысл применять хорошее ТЗ. К тем сайтам, которые не попадают под водопадную модель не стоит применять описанный ниже подход.
1. Обоснование необходимости ТЗ
А зачем вообще нужно ТЗ на сайт? Заказчик говорит: «Нужен следующий сайт: каталог товаров, корзина, форма заказа, доставка, мы на карте, о нас, обратная связь». Что не ясно? Ничего необычного, всё обыденно и рутинно.
Разработчик отчетливо представляет, что нужно сделать, а сделать, в его понимании нужно вот так:
+206
Снапшоты для виртуальных машин в облаке
7 min
12KSummary: Пост рассказывает о том, что такое снапшоты в облаке, как их использовать, и как они устроены.
Одна из самых заметных новых фич в облаке, появившаяся в этом году — снапшоты. Всё, что мы делаем, делится на три категории — то, что полезно нам (биллинг, сервисные утилиты и т. д.), то, что полезно клиентам, но визуально не заметно (например, СХД, смена версий гипервизора, уже ранее запущенных серверов), и то, что полезно клиентам и визуально заметно — и вот снапшоты как раз из этой третьей категории).
Хочу предупредить, что статья будет очень сложная. Я сначала расскажу про простые вещи — как с этим работать и какая от этого польза, а потом расскажу как это устроено внутри. И если с удобством и понятностью на «пользовательском» уровне мы, я надеюсь, справились, то вот с описанием устройства… Так сказать, мужайтесь или пропускайте.
Снапшот может быть выполнен в любой момент времени, на включенной или выключенной машине. В момент выполнения снапшотов дисковая активность машины слегка приостанавливается (речь идёт о чём-то порядка секунды), после чего продолжается «как ни в чём ни бывало».
Одна из самых заметных новых фич в облаке, появившаяся в этом году — снапшоты. Всё, что мы делаем, делится на три категории — то, что полезно нам (биллинг, сервисные утилиты и т. д.), то, что полезно клиентам, но визуально не заметно (например, СХД, смена версий гипервизора, уже ранее запущенных серверов), и то, что полезно клиентам и визуально заметно — и вот снапшоты как раз из этой третьей категории).
Хочу предупредить, что статья будет очень сложная. Я сначала расскажу про простые вещи — как с этим работать и какая от этого польза, а потом расскажу как это устроено внутри. И если с удобством и понятностью на «пользовательском» уровне мы, я надеюсь, справились, то вот с описанием устройства… Так сказать, мужайтесь или пропускайте.
Как использовать снапшоты?
Самым типовым применением снапшотов является создание резервных копий на случай ошибки в настройке машины. Сразу хочу предупредить, это важно: снапшоты хранятся там же, где и диски. Это означает, что если на нас упадёт метеорит или придёт другое стихийное бедствие федерального значения, то снапшоты будут утеряны одновременно с дисками, то есть для полноценных резервных копий следует использовать другое, географически от нас удалённое, место хранения. Мы совершенно не планируем терять диски клиентов или допускать стихийные бедствия в серверную, но предупредить я всё-таки обязан.Снапшот может быть выполнен в любой момент времени, на включенной или выключенной машине. В момент выполнения снапшотов дисковая активность машины слегка приостанавливается (речь идёт о чём-то порядка секунды), после чего продолжается «как ни в чём ни бывало».
+23
Честная генерация DOCX на PHP. Часть 1
4 min
72K Здравствуйте, уважаемое хабрасообщество! Как-то раз был на хабре интересный материал про генерацию doc-файлов средствами PHP. К сожалению, больше на хабре ничего на эту тему я не нашел. На тот момент я разработал собственное решение.
Оно состояло в том, чтобы генерировать .docx файлы. Аргументы были следующие:
Подробности под катом.
Оно состояло в том, чтобы генерировать .docx файлы. Аргументы были следующие:
- На дворе 2012 год, а этот формат появился аж в 2007-м
- Генерить .docx несомненно проще, чем .doc, поскольку .docx = .zip, а .doc — бинарный файл
- Костыль с генерацией HTML и переименованием в doc не подойдет для более-менее уважающих себя проектов
- С помощью приведенного ниже метода мы с легкостью сгенерируем Excel, и вообще всё что угодно.
Подробности под катом.
+49
Почему IDEA лучше Eclipse
5 min
213KСвященный спор
Принято считать, что есть «вечные» вопросы, на которые нет правильного ответа. Например, что лучше: Windows или Linux, Java или C#; Чужой против Хищника или Чак Норрис против Ван Дамма.
Одним из таких холиваров считается выбор лучшей IDE для Java:
Идут постоянные споры о том, в которой из них больше плагинов, горячих клавиш и т.д. Различий так много, что трудно выбрать, какие из них важнее, и все сходятся в одном: обе IDE примерно одинаковы по своим возможностям, и выбор одной из них — это дело вкуса.
Так вот, я утверждаю, что это не просто дело вкуса. Есть объективные причины, почему
Intellij IDEA однозначно лучше, чем Eclipse.
Подчёркиваю, мы сейчас рассматриваем обе среды именно как Java IDE.
Я не буду приводить кучу мелких различий вроде плагинов, горячих клавиш и т.п. — этому посвящены многие страницы в интернете, а объясню лишь одно, самое главное отличие. Как правило, о нём не знают ни идеяшники, ни эклипсофилы, ибо первые привыкли к нему и не знают, что в других IDE этого может и не быть, а вторые привыкли жить без него, и даже не догадываются, что может быть лучше. Более того, эклипсники его не замечают, когда пробуют IDEA ради интереса, ибо привыкли работать по-старому.
+93
Приручаем Windows Server Core
3 min
141KСегодня я хотел бы познакомить читателя с Windows Server Core 2008 R2.
Как показывают мои личные наблюдения, многие администраторы его боятся. Причина проста: в головах прочно засело Windows=GUI, а вот GUI-то в нем как раз и нет. Как следствие все воспринимают Server Core как «не такой» Windows. Он действительно не такой, но ничего страшного в нем нет. Более того, в нем есть свои плюсы и прелести. Из очевидных — экономия ресурсов. Из не очевидных — отсутствие возможности тыкать во все места дисциплинирует и заставляет разбираться в том что хочешь сделать.
Меньшая требовательность к ресурсам позволяет эффективнее распределять оные при виртуализации серверов.
Поясню:
Есть, положим, сервер (не важно физический или виртуальный). На нем Windows Server 2008R2, AD (не основной контроллер), WSUS. Чтобы это хоть как-то ворочалось минимум нужно 2GB памяти. Вместо него можно сделать две виртуалки с Server Core, на одной AD, на второй WSUS. При этом обе эти виртуалки будут жить с полугигом памяти и прекрасно себя чувствовать. При этом лишаемся мы только GUI, которым я, например, и так не пользуюсь практически, по крайней мере с консоли сервера.
Как показывают мои личные наблюдения, многие администраторы его боятся. Причина проста: в головах прочно засело Windows=GUI, а вот GUI-то в нем как раз и нет. Как следствие все воспринимают Server Core как «не такой» Windows. Он действительно не такой, но ничего страшного в нем нет. Более того, в нем есть свои плюсы и прелести. Из очевидных — экономия ресурсов. Из не очевидных — отсутствие возможности тыкать во все места дисциплинирует и заставляет разбираться в том что хочешь сделать.
Меньшая требовательность к ресурсам позволяет эффективнее распределять оные при виртуализации серверов.
Поясню:
Есть, положим, сервер (не важно физический или виртуальный). На нем Windows Server 2008R2, AD (не основной контроллер), WSUS. Чтобы это хоть как-то ворочалось минимум нужно 2GB памяти. Вместо него можно сделать две виртуалки с Server Core, на одной AD, на второй WSUS. При этом обе эти виртуалки будут жить с полугигом памяти и прекрасно себя чувствовать. При этом лишаемся мы только GUI, которым я, например, и так не пользуюсь практически, по крайней мере с консоли сервера.
+32
Один в поле не воин: как создать отказоустойчивый кластер
5 min
37KЧасто случается, что после запуска какого-нибудь амбициозного интернет проекта и удачного его пиара в СМИ компания ожидает большой приток посетителей. К сожалению, наш мир не идеален и так случается, что сайт не справляется с таким потоком посетителей, называемым в наших кругах «хабраэффектом», и начинает тормозить. Соответственно компания теряет и деньги и репутацию. В таких случаях программисты обычно сваливают вину на админов, а админы на программистов. Получается замкнутый круг.
Что же делать, если ваше приложение стало тормозить? Одним из способов является перевод его в кластерную архитектуру. К сожалению, есть не так много инструкций и статей, которые подскажут, как это сделать. Поэтому мы решили опубликовать небольшой пример того, как можно создать отказоустойчивый кластер на базе GlassFish. Этот процесс и многое другое автоматизировано в Jelastic, но если Вы по каким-либо причинам не можете перейти на облачный хостинг, то эта статья именно для Вас.
Что же делать, если ваше приложение стало тормозить? Одним из способов является перевод его в кластерную архитектуру. К сожалению, есть не так много инструкций и статей, которые подскажут, как это сделать. Поэтому мы решили опубликовать небольшой пример того, как можно создать отказоустойчивый кластер на базе GlassFish. Этот процесс и многое другое автоматизировано в Jelastic, но если Вы по каким-либо причинам не можете перейти на облачный хостинг, то эта статья именно для Вас.
+17
+ 50Гб на аккаунт BOX.com
1 min
17KДля получения своих + 50Гб вам следует:
1. Загрузить клиент облачного сервиса с Android Маркета
2. Залогиниться и создать директорию
3. Начать обмениваться файлами и пользоваться облаком
4. (опциональная рекомендация) Рассказать всему миру про 50GB с помощью хэштега #Box50GB
Торопитесь, акция будет действительна до 23 марта.
+27
Восстановление емкости аккумулятора ИБП
5 min
422KПодавляющее большинство из нас использует такое крайне полезное устройство, как источник бесперебойного питания. Качество питания не везде идеальное, да и просто мельчайшие проблемы с электропитанием иногда могут дорогого стоить. Потери данных это всегда неприятно, а иногда просто таки фатально. Устройство куплено, установлено под стол, подключено и владелец его находится в полной уверенности, что в любом случае при перебое в электропитании он успеет корректно завершить работу, а может быть и сделать бэкап на флешку. Время идет, бесперебойник периодически дает о себе знать — как заправский сторожевой пес он подает голос при малейших отклонениях в параметрах электросети. Хозяин спокоен и все хорошо. Но в один из дней перебой таки случается и в этот раз ИБП не просто подает голос и сразу переключается с батареи на сеть, в этот раз свет выключили на долго. Мы спокойно копируем файлы (ведь в запасе у нас минут 15, не меньше) и тут бесперебойник начинает пищать совсем часто и все выключается. Как так? Ведь бесперебойник же должен был нас защитить от подобных ситуаций, а он только вселял нам ложную уверенность в нашей безопасности! Почему так произошло?
Все дело в аккумуляторных батареях, от которых наш бесперебойник и кормит все наше железо, когда внешняя сеть отключается. Но батареи эти, увы, не вечны, они деградируют, емкость их снижается, а вместе с ней и время автономной работы. Вплоть до нуля. К сожалению процесс, этот, зачастую никем не контролируется, хозяин пребывает в уверенности, что он защищен, а в это время аккумулятор уже не совсем аккумулятор, а так — муляж.
Все дело в аккумуляторных батареях, от которых наш бесперебойник и кормит все наше железо, когда внешняя сеть отключается. Но батареи эти, увы, не вечны, они деградируют, емкость их снижается, а вместе с ней и время автономной работы. Вплоть до нуля. К сожалению процесс, этот, зачастую никем не контролируется, хозяин пребывает в уверенности, что он защищен, а в это время аккумулятор уже не совсем аккумулятор, а так — муляж.
+125
На Distrowatch появился новый русско-украинский дистрибутив: Ubuntu DesktopPack
1 min
6.2KНа днях на DistroWatch.com появился новый русско-украинский дистрибутив Ubuntu DesktopPack, который за 5-ть дней с момента публикации стремительно поднялся с 319 позиции на 84-ю, войдя в категорию «100 лучших дистрибутивов за последний месяц» обогнав при этом такие дистрибутивы как ALT Linux и ROSA. А в категории 100 лучших дистрибутив за последние 7 дней — 25 место, оставив также позади такие дистрибутивы как SUSE, RedHat, Kubuntu, Xubuntu, Mandriva и Gentoo".
+16
Программа Remove убирает лишних людей с фотографии
1 min
37KМалоизвестная компания Scalado разработала поистине уникальную программу для смартфонов. Программа называется Remove и делает простую вещь — убирает с фотографии лишних людей.
+102
Ещё +2Гб для вашего DropBox аккаунта. На сей раз, промо-акция DropBox и Three.com.hk
2 min
15KПривет всем. И вновь я продолжаю описывать серию промо акций для обожаемого сервиса DropBox.
Сегодня я вам расскажу, как получить ещё +2Гб. На сей раз, не надо будет ходить по разным сайтам, генерировать коды и писать левые данные. Сегодня будет всё проще.
В прошлой статье +2Гб для вашего DropBox аккаунта. Промо-акция Samsung Бразилия, в самом конце, я писал, что есть ещё одна акция, которая проходит в Гонконге от оператора Three.com.hk. Так же, там было написано, что поучаствовать в данной акции не получится, так как там необходимо зарегистрироваться и жить в стране далёкой. Но как это устроить? Эту проблему мы обсуждали большой группой людей в конференции, но все наши попытки были тщетны, было понятно, что ничего не выйдет. Но как, же мы все ошибались!!!
Итак
+231
Information
- Rating
- Does not participate
- Registered
- Activity