All streams
Search
Write a publication
Pull to refresh
46
0
iv_s @iv_s

User

Send message
Только про PHP пишите?
Всегда пожалуйста:)
Только один совет, лучше начать изучать Ruby с самого Ruby, а не Rails, как обычно делают.
Лично мне кажется, что даже легче. Есть три основные библиотеки для ORM: Sequel, DataMaper и ActiveRecord из Rails. Все они предоставляют объектный маппинг к базе, т.е. непосредственно про SQL можно забыть. Простой пример на Sequel:
#подключились к базе
DB = Sequel.connect('sqlite://test.db') #подключаться можно к любой СУБД, для которой есть адаптер
#создали таблицу
  DB.create_table :limits do
    primary_key :id
    String :ip
    int :clicks, :default => 0
    
    index :ip
  end

#объявили класс с маппингом
#для каждого поля в таблице будет сгенерирован геттер и сеттер
#также в него можно добавить любые свои методы для работы с моделью
#можно создавать отношения типа has-one has-many и many-to-many
#и валидаторы для полей
class Limit < Sequel::Model
end

l = Limit.new
l.ip = "127.0.0.1"
l.save #добавили в базу новую запись
l = Limit.find(:ip => "127.0.0.1") #получили запись из базы


Эти библиотеки можно сравнить c NHibernate, но в силу динамичности языка, и использования соглашений вместо конфигурации, использовать их проще и удобнее.
Просто я уже давно не под .net пишу, а на Ruby. Во первых там SQLite более популярная, и с лучшей поддержкой. У Firebird возможности конечно по-богаче, но для маленьких приложений они обычно не нужны, а остальные различия стираются слоем ORM.
Года три назад писал небольшое десктопное приложение. Тоже нужна была embed база данных. Тогда мой выбор пал на Firebird, там тоже есть embed версия. Сейчас же часто использую SQLite. Кстати, и у MySQL есть embed версия, но ее я не смотрел.
У меня в налоговой при ргистрации требовали договор аренды:)
В итоге, я оплатил аренду за один месяц как физ. лицо и попросил арендодателя напечатать гарантийное письмо, что они предаставят мне площадь после регистрации.
И похоже мне еще очень повезло, я зарегистрировался с первого раза, а не как тут пишут с четвертого например:)
Посмотрите в теги:) Но уже все, закончилось.
Всмысле такой echo 7 ?:)
eval читерство, да и вобще лучше irb'a калькулятора нету:)
В links все ок, нету артефактов.
Посмотрел про сиквел и ffi. Даа, Эванс очень быстро читает, волновался наверное:) А про ffi ниочем как-то получилось. Вышел, посмеялись, сказал что ffi это круто но медленно и разошлись.
Пойду про middleware и про самомотивацию посмотрю:)
Спасибо за обзор.
Плюс блога в том что на него можно подписаться:) Да и вообще следить за новыми статьями проще.
А почему блог Smalltalk не создадите? Тем более если решили продолжать писать.
Решил погуглить еще про strace для мака, и нашел чту тут есть солярисовская DTrace. И похоже она умеет мерять память, то что нужно! Будем разбираться:)
В самой первой статье этого блога в комментах узнал про порт valgrind. Гугленье показало что он уже даже в бранче оф. репозитария:)
strace нету на маке. Есть гуишные альтернативы, попробую покопаться, спасибо за идею.
Тут кстати и для замера памяти гуишные утилиты есть, но, как-то неудобно ими пользоваться, хочу консольный вариант:)
Хм, может все-таки и правы, в моем случае:) Я под маком эксперементирую, а он же на бсд основан.
По этой же причине я /proc заюзать не могу…
У меня в мане написано
Getrusage() returns information describing the resources utilized by the current process, or all its terminated child processes.

Т.e., чтобы получить данные о ресурсах мне придеться сначала SIGTERM детям послать?:)
Вобщем похоже придется другой способ искать. Очень странно что стандартного решения нету…
Пока идея — скрипт который в цикле парсит вывод ps aux :)
Ничего не понимаю с этим getrusage… Все поля в структурк возвращаются нулевые. Что я делаю не так?
Вот тут что наклепал pastie.org/429856
Ага, тоже думал об этом, только я так и не понял где там в структуре rusage потребление памяти.
А вообще чтобы ее заюзать, получается нужна прога, которая форкнется, потом запустит замеряемую прогу, а в это время основной процесс в цикле вызывает getrusage?
А никто случаем не знает утилиты чтобы померить пик потребления памяти своего приложения? Мне советовали посмотреть valgrind, но он мерит только неосвобожденную память на выходе, а как померить память во время исполнения?
Хм, значит я чегото не понимаю… Под маком, выставляет права на исполнения, а под дебианом нет.
По-этому на всякий добавил:)

Information

Rating
Does not participate
Works in
Registered
Activity