Мусор без соплей и воды
Сентябрь 22, 2009
Если Garbage – это мусор, а java - это источник мусора, то System.gc() – это Мусоросборник и уничтожитель мусора в одном. Производя на свет любое приложение, мы даже не задумываемся, что подобно боль�?ому предприятию помимо результата отбираем у природы (у компьютера) его чистоту и свежесть. Приложение становится вялым, требует свежего воздуха и в поисах его может привести к нестабильности всей системы (т.е. планеты, если переводить на человеческий язык).
«Мужик не перекрестится, пока гром не грянет», – гласит старая поговорка. Так и боль�?инство разработчиков не задумываются о том, как будет чувствовать себя их завод на планете Компьютер. Многие считают, что ре�?ить задачу можно добавлением оперативной памяти, усилением процессора и т.п. Нет, нельзя.
Намного легче заранее ре�?ать задачи по очистке воздуха. Встроенные средства java весьма скудны и, к тому же, могут быть заблокированы страной Java Virtual Machine (о, боже, тока не это). Забавно само по себе, что работа System.gc() весьма ресурсоемка, поэтому выполнять ее следует в то время, когда приложение «отдыхает».
БД. Осмысливаем -> оптимизируем!
Август 4, 2008
Скромно позволю себе продолжить делиться мыслями, как правильно, т.е. оптимально, использовать базы данных, и писать грамотный код. То о чем я вам сегодня расскажу, вполне очевидно, как и многие другие о�?ибки, которые допускают программисты просто от того, что не задумывались как это будет работать.
Давайте представим ситуацию: Вы — студент-трудоголик (да простят меня про�?ед�?ие этот этап жизни). Отличительной ва�?ей особенностью является то, что вы пи�?ете рефераты и курсовые самостоятельно, без помощи 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). �?нтерпретирует данные, введенные пользователем, и информирует модель и представление о необходимости соответствующей реакции. далее »
Мысли в веб! Часть 1.
Май 21, 2008
Думал отойти от ре�?ения этаких мас�?табных теоретических проблем, а в итоге сегодня пи�?у об еще более глобальных проблемах. Нет, вовсе не о мировом потеплении или озоновых дырах. На написание сего мини-труда меня вдохновила статья Raz0r’a (http://raz0r.name/mysli/udalennoe-administrirovanie-sajtom/). Всем читать обязательно
«Как Microsoft проиграла войну API» – вот так громогласно кричало название статьи Джоэла (http://www.joelonsoftware.com/articles/APIWar.html) от 13го июня 2004 года. Эта почти 15 страничная статья довольно подробно разбирает тонкости и упущения мелкомягких. далее »
Шлемиль, нелинейный код и тенденции.
Май 19, 2008
Собственно иногда хочется поговорить о том, что крутится в голове. Когда там возникают противоречия между двумя ре�?ениями, и незнае�?ь чему отдать предпочтение (хотя вернее было бы, выделить из каждого ре�?ения верную мысль). Вот вам примерчик. Начну конечно с лирического отступления.
Шлемиль устроился на работу маляром, и должен был наносить разметку посредине дорог. В первый день он взял бочку краски и разметил 300 метров дороги. «Неплохо! – сказал босс. Ты быстро работае�?ь!» и заплатил ему за день. На следующий день Шлемиль осилил только 150 метров. » Ну что ж, не так здорово, как вчера, но ты все равно быстро работае�?ь. 150 метров – это не мало», – сказал босс и заплатил ему денежку. Еще через день Шлемиль расчертил 30 метров дороги. «Всего 30 метров!» – рассвирепел босс. – Это никуда не годится. В первый день ты сделал в десять раз боль�?е. Что случилось?»
Базы данных. Транзакции.
Май 18, 2008
Каждый начинающий программист, в начале своего тернистого (но крайне увлекательного) пути сталкивается с необходимостью писать базовые классы. Эти классы со временем совер�?енствуются, изменяются, в них добавляется новый функционал. Так и я начал писать свой повторяемый набор классов.
Т.к. ни один проект не обходится без данных, первоначально было задуманно писать класс баз данных. Обычно при работе именно с базами возникают фатальные о�?ибки, которые могут привести ко взлому всего портала. В таком деле торопиться нельзя, и нужно его тщательно обдумать
Но эта статья вовсе не о защите от взлома, а скорее собрание мыслей и интересные ходы, которые я почерпнул листая книжки.
