Мусор без соплей и воды

Сентябрь 22, 2009

Если Garbage  – это мусор, а java - это источник мусора, то System.gc() – это Мусоросборник и уничтожитель мусора в одном. Производя  на свет любое приложение, мы даже не задумываемся, что подобно боль�?ому предприятию помимо результата отбираем у природы (у компьютера) его чистоту и свежесть. Приложение становится вялым, требует свежего воздуха и в поисах его может привести к нестабильности всей системы (т.е. планеты, если переводить на человеческий язык).

«Мужик не перекрестится, пока гром не грянет», –  гласит старая поговорка. Так и боль�?инство разработчиков не задумываются о том, как будет чувствовать себя их завод на планете Компьютер. Многие считают, что ре�?ить задачу можно добавлением оперативной памяти, усилением процессора и т.п.  Нет, нельзя.

Намного легче заранее ре�?ать задачи по очистке воздуха. Встроенные средства java весьма скудны и, к тому же, могут быть заблокированы страной Java Virtual Machine (о, боже, тока не это). Забавно само по себе, что работа System.gc() весьма ресурсоемка, поэтому выполнять ее следует в то время, когда приложение «отдыхает». 

далее »

Скромно позволю себе продолжить делиться мыслями, как правильно, т.е. оптимально, использовать базы данных, и писать грамотный код. То о чем я вам сегодня расскажу, вполне очевидно, как и многие другие о�?ибки, которые допускают программисты просто от того, что не задумывались как это будет работать.

Давайте представим ситуацию: Вы — студент-трудоголик (да простят меня про�?ед�?ие этот этап жизни). Отличительной ва�?ей особенностью является то, что вы пи�?ете рефераты и курсовые самостоятельно, без помощи ctrl+c/ctrl+v (я же сказал, просто представим ;) далее »

MVC. Inside the view layer.

Август 2, 2008

MVC меня покорил. Очень классно этот принцип описан в книге-туториалу Symfony. Напомню, Symfony – это такой фреймворк на php, если бы не мое предвзятое отно�?ение к различным фреймворкам и не желание все до мелочей писать самому, то я бы наверняка использовал его для быстрого написания проектов.

Вернемся к MVC. Если вы программист со стажем, и естественно владеете навыками ООП, то наверняка ва�? светлый ум обращался к книге Хелма, Джонсона и других «Design Patterns. Elements of Reusable Object-Oriented Software». Ткните в меня пальцем, если вы видели там MVC. Таки его там вообще нет. Он называется паттерном видимо чисто с идеологической точки зрения. А �?тука в чем? В том, что этот паттерн не является дополнительным к тем основным, описанным в книге, и не коим образом не противоречит им. �? при проектировании можно использовать и то и другое одновреммено. Замечательно, правда?
далее »

MVC, как его?

Июнь 25, 2008

MVC (Model-View-Controller) – это такой паттерн проектирования приложений. На использовании этого �?аблона базируются многие фреймворки, например Symfony для PHP, всем известные Smarty или Ruby on Rails для Ruby. В кратце, �?аблон MVC позволяет разделить данные, представление и обработку действий пользователя на три отдельных компонента

  • Модель (Model). Модель предоставляет данные (обычно для View), а также реагирует на запросы (обычно от контролера ), изменяя свое состояние.
  • Представление (View). Отвечает за отображение информации (пользовательский интерфейс).
  • Поведение (Controller). �?нтерпретирует данные, введенные пользователем, и информирует модель и представление о необходимости соответствующей реакции. далее »

Думал отойти от ре�?ения этаких мас�?табных теоретических проблем, а в итоге сегодня пи�?у об еще более глобальных проблемах. Нет, вовсе не о мировом потеплении или озоновых дырах. На написание сего мини-труда меня вдохновила статья Raz0r’a (http://raz0r.name/mysli/udalennoe-administrirovanie-sajtom/). Всем читать обязательно :)

«Как Microsoft проиграла войну API» – вот так громогласно кричало название статьи Джоэла (http://www.joelonsoftware.com/articles/APIWar.html) от 13го июня 2004 года. Эта почти 15 страничная статья довольно подробно разбирает тонкости и упущения мелкомягких. далее »

Собственно иногда хочется поговорить о том, что крутится в голове. Когда там возникают противоречия между двумя ре�?ениями, и незнае�?ь чему отдать предпочтение (хотя вернее было бы, выделить из каждого ре�?ения верную мысль). Вот вам примерчик. Начну конечно с лирического отступления.

Шлемиль устроился на работу маляром, и должен был наносить разметку посредине дорог. В первый день он взял бочку краски и разметил 300 метров дороги. «Неплохо! – сказал босс. Ты быстро работае�?ь!» и заплатил ему за день. На следующий день Шлемиль осилил только 150 метров. » Ну что ж, не так здорово, как вчера, но ты все равно быстро работае�?ь. 150 метров – это не мало», – сказал босс и заплатил ему денежку. Еще через день Шлемиль расчертил 30 метров дороги. «Всего 30 метров!» – рассвирепел босс. – Это никуда не годится. В первый день ты сделал в десять раз боль�?е. Что случилось?»

далее »

Каждый начинающий программист, в начале своего тернистого (но крайне увлекательного) пути сталкивается с необходимостью писать базовые классы. Эти классы со временем совер�?енствуются, изменяются, в них добавляется новый функционал. Так и я начал писать свой повторяемый набор классов.

Т.к. ни один проект не обходится без данных, первоначально было задуманно писать класс баз данных. Обычно при работе именно с базами возникают фатальные о�?ибки, которые могут привести ко взлому всего портала. В таком деле торопиться нельзя, и нужно его тщательно обдумать :-) Но эта статья вовсе не о защите от взлома, а скорее собрание мыслей и интересные ходы, которые я почерпнул листая книжки.

далее »

Нам помогают
Дружественные сайты: