Search
Write a publication
Pull to refresh
64
0
Илья @Aist

User

Send message

Хостинг для Ruby On Rails приложений

Reading time1 min
Views28K
Добрый день, Хабр!

Встала у меня проблема выбора хостинга для своих Ruby On Rails проектов. На сервере компании, где я работаю я их больше размещать, по определённым причинам, не могу. Поэтому, Хабр, прошу тебе сказать мне, каким хостингом лучше пользоваться и почему.

Спасибо.

Про Git на пальцах (для переходящих с SVN)

Reading time8 min
Views280K
Год назад мы с командой решили перейти с SVN на Git. Зачем это было надо — писать не буду, т.к. на эту тему уже и так много написано. А хочу я описать типичные алгоритмы работы, понятные человеку, который долгое время пользовался SVN. Ниже — памятка, написанная для команды год назад, чтобы легче было мигрировать. Надеюсь, кому-нибудь пригодится.
Читать...

20 полезных и красивых веб приложений

Reading time1 min
Views7.2K
Мы постоянно должны быть вдохновлены, чтобы не отставать от моды.

В этой статье я покажу вам 20 приложений, которые вдохновили нас, веб-приложения, которые изменили мир.

Давайте начнём.

Reinvigorate




Инструмент для отслеживания трафика в реальном времени с множеством полезных функций, включая «heat sensing».
Читаем Дальще

Python for series 60, на что же он способен…

Reading time3 min
Views2.4K
imageДоброго времени суток, %username%!
Почти год назад купил себе Nokia 5800, и был расстроен недостатком софта под новую платформу symbian 9.4. Вместо того, чтоб бродить по сайтам и оставлять гневные комментарии по этому поводу, решил исправить это положение самостоятельно.
Скачал свежий python for s60 и начал писать. Почему именно python, спросите вы. Кроме питона я ничего не знаю. «Кодирование со скоростью мысли», позволяет написать приложение буквально за один вечер.
Целью этого топика, является демонстрация возможностей python for s60 на примере того, что уже было написано мною. Позже, я расскажу, как «с нуля» и практически за 20 минут создать готовое sis приложение, которое будет радовать вас, и возможно остальных пользователей смартфонов Nokia.
Под катом видео, скрины и описания

Сервер на стероидах: FreeBSD, nginx, MySQL, PostgreSQL, PHP и многое другое

Reading time16 min
Views40K
Нравится мне эта картинка, у меня, вот никогда такие красивые графики в какти не получались =(

Введение


С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней всё ещё остаётся актуальным, однако есть вещи которые стоит добавить.
Статья большая, так что будет поделена на логические блоки:

0. Зачем вообще что-то оптимизировать?
  
1. Оптимизация ОС (FreeBSD)
  1.1 Переход на 7.х 
  1.2 Переход на 7.2
  1.3 Переход на amd64
  1.4 Разгрузка сетевой подсистемы
  1.5 FreeBSD и большое кол-во файлов
  1.6 Softupdates, gjournal и mount options
  
2. Оптимизация фронтенда (nginx)
  2.1 Accept Filters
  2.2 Кеширование
  2.3 AIO
  
3. Оптимизация бэкенда
  3.1 APC
  3.1.1 APC locking
  3.1.2 APC hints
  3.1.3 APC fragmentation
  3.2 PHP 5.3
  
4. Оптимизация базы данных
  4.1 MySQL 
  4.1.1 Переход на 5.1
  4.1.2 Переход на InnoDB
  4.1.3 Встроеный кеш MySQL - Query Cache
  4.1.4 Индексы
  
4.2 PostgreSQL
  4.2.1 Индексы
  4.2.2 pgBouncer и другие.
  4.2.3 pgFouine
  
4.3 Разгрузка базы данных
  4.3.1 SphinxQL
  4.3.2 Не-RDBMS хранилище
  4.4 Кодировки
  4.5 Асинхронность
  
Приложение. Мелочи.
  1. SSHGuard или альтернатива.
  2. xtrabackup
  3. Перенос почты на другой хост
  4. Интеграция со сторонним ПО
  5. Мониторинг
  
 6. Минусы оптимизации

Кому что-нибудь из этого списка интересно, жмём сюда...

Защищаемся от HTTP DDoS и прочих Хабраэффектов

Reading time5 min
Views11K
Простой способ защиты от HTTP DDoS — включить syn-cookies и заблокировать подонков. Но что делать если атакует 5к-10к хостов да еще и с динамическими IP? Тут нам на помощь придет frontend-backend архитектура c промежуточным кэшированием! Почему с промежуточным кэшированием? А потому что в моем случае от шквала запросов от frontend'а backend умирал унося за собой систему.
Читать дальше →

Cloud computing: кто и как летает в облаках?

Reading time9 min
Views24K
Сегодня «облачными» вычислениями не удивишь никого: они везде и повсюду. А в условиях мирового финансового кризиса многие крупные компании, изначально не обращающие внимания на «облачные» сервисы и услуги, резко перенаправили свои денежные потоки именно туда, осознав давние ошибки и просчеты. В этой статье я не буду рассказывать Вам все о cloud computing’e — это мы сделаем как-нибудь в другой раз. Наша цель — рассказать об обстановке в мире, т.е. рассмотреть вопросы, по типу «кто есть who» в мире «облачных» вычислений.
Читать дальше →

Что меня спрашивали на собеседовании

Reading time2 min
Views9.8K
sobesedovanie.jpg - image uploaded to PicamaticНе буду называть имён компаний. К её чести надо сказать, что это действительно лидер в своём деле, достигший нешуточных успехов. Стоит отметить прекрасный уютный офис, совершенно вменяемый HR (что было очень приятно), множество бонусов (страховки, тренажёры, обучение...) для сотрудников.

Всё было очень мило. И всем действительно большое спасибо.

Но мне хотелось бы сказать о том, что меня действительно поразило!

Вопросы!

Средства создания горячих BackUp`ов MySQL

Reading time3 min
Views33K
Доброго времени суток. Недавно я задался вопросом о том, как делать горячие BackUp`ы MySQL-серверов — ниже компиляция из прочитанного. Заранее хочу сказать, что данный пост является скорее большой заметкой, чем полноценной статьёй. Я намеренно уклоняюсь от описания синтаксиса — на эту тему уже немало написано — я же ставил перед собой другую цель — составить краткий обзор основных методов с характерными особенностями:
далее

Google App Engine и High load

Reading time3 min
Views2.9K
Гаджет «Евровидение 2009», который мы, Sterno.ru, сделали для компании Google, оказался отличным опытом в тестировании App Engine и проверки того, на что способна эта технология. Теперь мы гораздо лучше понимаем, как работает «Движок приложений» при высоких нагрузках. Эта статья описывает сильные и слабые стороны Google App Engine, а также подводные камни, с которыми разработчики могут столкнуться в ходе ее использования.
Читать дальше →

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

Reading time3 min
Views1.6K
Сначала необязательное предисловие. За этот топик я получил инвайт на хабр (спасибо ecl). Не собирался его публиковать, но вчера история получила неожиданное продолжение, поэтому не удержался.
Сказ прост.

Начал я работать в маленькой конторе (человек 15-20), которая была единственной точкой разработки одной небольшой Канадской фирмы. Там я познал, что такое XP, Scrum, самостоятельное принятие решений и в общем свобода. Ну тогда-то я этого не понимал, я думал, что Scrum — фуфло, а по остальному — думал так везде.
Поработав годик-полтора за студенческую зп, я решил, что стою больше.

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

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

-Почему вот так? Так задумано? — Спросил я.
-Нет — говорят, просто так, недоделка.
— А почему вот так? -ответ тот же
и т.д.
-А почему проект под CVS, а не под SVN, скажем? Ведь CVS — это позавчерашний день!
-Админы никак не могут SVN репозитарий настроить. (проект уже шел 1.5 года)

Следующий шок ждал меня в проекте.
Бюрократия…
Я мог тупо неделю сидеть без работы, так как на стороне головной компании мне неделю не заводили какой-либо аккаунт. И никого это не волновало. Ни заказчиков, ни моего менеджера.
Проект, расчитанный на 3 месяца, координально поменял свои задачи за месяц до окончания — и все забегали, как потные мыши.
— ну, пивообще! -подумал я.
В результате по окончанию проекта получился бублик без дырки, а мы получили премию!!!
Ну ладно — подумал я — может, исключение.

И просидел без проекта 4 месяца.

Так как участвовать в говразработке интранета я очень не хотел, то пошел по топ манагерам.
Давайте — говорю — сделаем такой вот внутренний проект, у нас 10 человек без проекта сидит. Новые интересные технологии — не EJB2, а RESTful, JavaFX, Groovy. Мне говорят:
— Чувак, ты крутой, давай!
Но тут меня ждал еще один удар — никто из 10 человек не хотел что-то делать. вот примерный разговор с каждым из них:

— Зачем? Я получу премию?
— Нет.
-А смысл?
-Проф рост.
-Не, спасибо, я буду ждать проекта.

Начальство, узнав об этом, только пожало плечам:
— Чувак, ты крутой.
и продолжило заниматься своими архиважными делами.

И я начал свой проект один.
Через месяц у меня появился один человек в проекте. через еще неделю — два…
… а потом меня взяли в проект. и внутренний проект загнулся сразу, оба помощника вернулись к ничего не деланию.

К чему я это все?
Возьмем абстрактно-среднестатистического программиста.
Вот тут все говорят — он в первую очередь должен получать удовольствие от своей работы, деньги — они вторые по мотивации.
А что получается? — он доволен. Проект интересный — хорошо. не интересный — ничего. нет проекта — нормально. Деньги-то платят.
Т.е. уважаемые хабрапользователи, когда говорят о мотивации, говорят о мотивации своей, а не среднестатистического программиста, скажем.
А он хочет денег.
И стабильности.
Причем стабильности в первую очередь, даже если это стабильность с небольшими деньгами. среднестатистический программист не пойдет в другую контору, если ему предложат на 20% больше зп. и тем более не пойдет на такую же или меньшую зарплату, но на интересную работу.
И останется среднестатистическим программистом.
Но при большом желании его можно воспитать. собственным примером. Стоит ли это того — другой вопрос.

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

Я силюсь понять среднестатистического программиста, потому что понимание его, будет, чувствую, мне очень полезно в будущем, как и вам надеюсь…
Но они — другие.

P.S. Чем все закончилось — напишу через недельку, не буду пока говорить «гоп» пока не перепрыгну.

Jabber WebCam Bot

Reading time4 min
Views2.4K
Эта идея пришла мне как-то случайно. Получить снимок с вэб камеры, которая находится дома, находясь на работе или в другом городе и при этом не расшаривать камеру через вэб… И не коннектиться по ssh… Забавно… Что, если получить его одним запросом в джаббере! Звучит бредово, но я занялся реализацией этого бреда!
Читать дальше →

Работа с камерой мобильного телефона в Python

Reading time2 min
Views18K
В прошлой статье мы рассмотрели установку Python для S60 и работу в интерактивной консоли, сегодня мы рассмотрим возможности работы Python с камерой мобильного телефона.

Итак, приступим...


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

Социальные аспекты руководства, или как же всё таки «пинать» сотрудников. 2 года спустя.

Reading time6 min
Views6.9K
Статья про «пинание», «закручивание гаек» и контроль задач, разные стили общения и руководства, про сложности делегирования, самомотивацию сотрудников.

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

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

99.77 КБ

Я вскоре отстранился от управления нашей компанией и занялся тем, чем мне всегда хотелось заниматься – созданием игр, собрал команду разработчиков, нашел инвесторов и запустил проект по созданию онлайн-игры в жанре стратегии. Однако в полной мере реализовать «бизнес с человеческим лицом» у меня, похоже, опять не получается.

Симптомы: падение дисциплины, низкая скорость разработки, потеря энтузиазма.
Свой же стиль руководства я бы теперь назвал «попустительским».

И вот, как только мое терпение кончилось, и я собрался на следующий день «закрутить как можно туже гайки», я натыкаюсь на вашу статью. Это было как бальзам на больное сердце. Я сразу с великим облегчением отказался от идеи пинания, но понимаю, что делать все равно что-то надо, а с чего начать не знаю? Хотелось бы вашего совета.

Ответ: В 2 словах это,
— Вносите элементарную организованность в процесс. Это не «пинание» — это ваша работа.
— Разный стиль. С крутыми – искренне, с молодежью – дружелюбно, с «примадоннами» – сухо
— Используйте эмоции для «поджигания» людей. Прочитайте Возьмите эмоции с собой
— Используйте 4 модели руководства исходя из задачи и человека. Это вопросы — Может? Возьмет?
— Готовьтесь к тому, что у вас будут проблемы с Директивным стилем и Делегированием.
— Стремитесь к тому, чтобы у вас в команде были только люди с сильной самомотивацией, для которых ваша работа это хобби, страсть, любимое дело. Помогите разобраться в себе другим людям.
— Сплачивайте команду: cобирайте в одной комнате, проводите общие собрания, ставьте общие достойные цели.

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

Fugue обновился! 1.2.5 от 19.01.09

Reading time1 min
Views847

Fugue Icons 1.2.5



image
Да-да, теперь это не "1000 замечательных иконок для веб страниц" а целых 1,263 иконок. Многие иконки были перерисованы и много добавилось новых. Появились такие востребованные иконки как user или иконки элементов интерфейса: «button, checkbox, slider» и т.д. В общем обновление шикарное, хотя до сих пор нету таких иконок как cut, copy и paste. Иконки по прежнему распространяются по лицензии Creative Commons Attribution 3.0 license а для вопросов: «Зачем кнопка purchase?» читаем это.

Прямая ссылка — 4,9Мб
Набор разработчика 7,6Мб
Пред просмотр — 1980px × 2263px 1,4Мб
Сайт

P.S. Предыдущий пост был написан давно и я решил написать новый чтобы привлечь внимание этому сету, а не использовал UPD.

UPD: Фугия снова обновилась. Теперь версия 1.2.5, вот изменения:
  • Обновлена <application_table>
  • Обновлена <document_excel_table> и <document_table>
  • Добавлена <door_open>
  • Добавлена <feed_document>
  • Обновлена <folder_open_table>
  • Обновлена <inbox_table>
  • Обновлена <mail_open_table>
  • Добавлена <server*>
  • Обновлена <table*> and <tables*>
  • Добавлена <traffic_light*>

Следите за обновлениями топика

Python, философия дизайна — Guido van Rossum (часть 1)

Reading time5 min
Views9.9K
image
Это первая часть статьи из официального блога автора любимого всеми нами языка. Поэтому повествование ведется от лица самого Гуидо ван Россума. Вторая часть здесь.

Дальнейший текст поможет нам нырнуть глубже в историю языка Python. Тем не менее, перед тем, как мы сделаем это, мне бы хотелось заострить внимание на философских вещах, которые помогли мне принимать решения, пока я разрабатывал дизайн и структуру Python.
А дальше?

Инструкция по развёртыванию полноценной среды для совместной удалённой разработки с Django в Windows. Для абсолютных новичков.

Reading time3 min
Views94K
Статья не претендует на универсальность, но статья — есть работоспособная инструкция по развёртке среды «с нуля» до этапа «пишем первую строчку кода». В комментариях принимаются советы и рекоммендации по улучшению инструкции.
Далее инструкция

Многопроцессовые демоны на PHP

Reading time3 min
Views44K
Зачем может понадобиться писать демоны на PHP?
  • Выполнение трудоемких фоновых задач;
  • выполнение задач, которые длятся больше, чем время ожидания при HTTP-запросе (30 секунд);
  • выполнение задач на более высоком уровне доступа, чем серверный процесс (читай — под рутом).

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

Information

Rating
Does not participate
Location
Правдинский, Москва и Московская обл., Россия
Date of birth
Registered
Activity