Недельный обзор Ruby/Rails

By Timur Vafin, May 6th, 2010
blogger

Всем привет,

Напомню у нас есть http://friendfeed.com/flatsoft куда можно засовывать полезные статьи.
Попробую делать обзоры раз в неделю.

Google выпускает тренажер для хакеров Jarlsberg
По полочкам рассказывается о том, какие бывают дырки в приложениях и как их попробовать на тестовом приложении, очень актуально думаю для нас ;) http://jarlsberg.appspot.com/part1

Как при помощи netstat мониторить сервак на предмет количества подключений на различные порты

  • netstat -lnp - какие процессы какие интерфейсы и порты слушают
  • netstat -ant - активные соединения в различных состояниях
  • netstat -ant | grep 80 | wc -l - количество открытых коннектов на 80 порт


Сатья-мотиватор, почему клево писать Open source

Raiscast: Introducing Devise
Новый гем для создания авторизации и аутентификации, все выглядит руляще

Ruby Packaging Standard, 0.5-draft
Попытка чувака описать, как правильно делать либы и гемы, в частности как раскладывать файлики по каталогам, Ильдар интересовался

Hopping in the cloud
Рульная статья от Роботов как они развивали Hoptoad. В частности я узнал, что Redis рулит и на базе него ребята из github сделали систему для выполнения задач в фоне (URBP) http://github.com/blog/542-introducing-resque

Unobtrusive JavaScript
Статья для тех, кто еще не в курсе, что писать вызовы обработчиков напрямую в теге неруляще, руляще вещать событие.

Спасибо,
Тимур

3 Comments | Posted in RubyOnRails

Ищем системного администратора

By Tatyana Vyruchaeva, April 7th, 2010
blogger

У нас в компании открылась вакансия на системного администратора. Рассматриваем кандидатов, ищем опытных и исполнительных. Он должен будет мониторить состояние серверов, поднимать/удалять хосты, смотреть логи, если что-то падает или работает не так, обновлять софт на серверах и прочее.

Требования:
Хорошее знание linux, знание shell (ruby, strace, tcpdump), так же приветствуется умение быстро найти ошибку и пофиксить её, знать как поднять, подтюнить nginx,apache, mysql.

Условия:
Работа в офисе, полный рабочий день с 11.00 до 20.00. Чай/кофе за счет компании. Зарплата 35000 руб., дальнейшее увеличение зарплаты обсуждается индивидуально.

2 Comments | Posted in General

Шаманские пляски с M1120

By Denis Klykvin, March 11th, 2010
blogger

Иногда некоторые вещи, которые кажутся простыми, заставляют выбегать курить каждые 5 минут, и рвать остатки волос на голове.

Так произошло и сегодня - принтер HP M1120, подключенный к принт-серверу, моргал кнопочкой “Ready”, но упорно не хотел печатать. Ни через тестовую печать принт-сервера, ни через тестовую печать CUPS. Недолго думая, сходил на сайт hp, скачал драйвера под linux, и тут же впал в ступор: в отладочном журнале были ошибки типа “hpprn.cpp:429: Get 48 bytes error”, о которых google скромно умалчивал. Конечно, были протестированы и драйвера из пакета с сайта hp, и те, что были в комплекте с cups, и пучок других, которые твёрдо гарантировали что будут работать.

К концу 6 часа я всё таки нашёл решение, которое может кому-то пригодиться:

1. необходимо поставить пакеты foo2zjs , foo2hp и hplip

2. Именно для этого принтера (HP M 1120) подходит pdd файл от HP LaserJet 1022 (если у вас FC или CentOS, то скорее всего он будет лежать в /usr/share/cups/model/HP-LaserJet_1022.ppd.gz )

3. В настройках принтера необходимо указать размер бумаги A4, иначе принтер будет выплёвывать чистые листы.

Profit, что ни говори.

3 Comments | Posted in General

Фото-отчет из боулинг-клуба

By Tatyana Vyruchaeva, March 4th, 2010
blogger

Одно из последних корпоративных мероприятий в жизни нашей компании — это поход в боулинг, который находится в ТЦ «Тандем». Приурочено данное мероприятие было к 23 февраля.

Прилагаем краткий фото-отчет, в котором хоть и не удалось запечатлеть выбитых страйков и сплитов, зато виден энтузиазм сотрудников — самых активных участников игры! :)

Надеемся, что посещение боулинга станет традиционным для нашего коллектива и возможно кто-нибудь из сотрудников станет участвовать в многочисленных турнирах, соревнуясь с опытными боулерами. Удачи!

1 Comment | Posted in Events

Заполнение БД тестовыми данными при помощи Populator и Faker

By Andrey Chernih, February 16th, 2010
blogger

У нас в компании часто возникает необходимость протестировать приложение на предмет работы с реальными данными. Причём, данные должны быть максимально приближены к реальным как с качественной стороны, так и с количественной. Работу по наполнению базы такими данными значительно упрощают гемы Populator и Faker.

Предположим, что у нас есть модель User:

email:string
first_name:string
last_name:string
ssn:string
security_question:string
answer:string
phone:string
address:string
city:string
state:string
zip:string

Чтобы сгенерировать для таблицы users 1000 тестовых пользователей, будем использовать следующий код:

require 'populator'
require 'faker'
# Populate DB with Users
User.populate(1000) do |user|
user.email = Faker::Internet.email
user.first_name = Faker::Name.first_name
user.last_name = Faker::Name.last_name
user.ssn = Faker.numerify("###-##-####")
user.security_question = Populator.words(4..10)
user.answer = Populator.words(1..3)
user.phone = Faker.numerify("#"*10)
user.address = Faker::Address.street_address
user.city = Faker::Address.city
user.state = Faker::Address.us_state_abbr
user.zip = Faker::Address.zip_code
end

Следует отметить, что Populator не наследует ActiveRecord-модель, а работает с БД напрямую с целью повышения производительности. В качестве значения полей можно передавать массивы или рейнджи, Populator автоматически выберет случайное.

user.sex = ["male", "female"]
user.age = 20..30

No Comments | Posted in General, RubyOnRails