Tags
About me
Me @ other sites
-
RSS Links
-
Meta
-
Recent Posts
Archive
Tag Archives: programming
Some programmer delusions
It’s 21st century, but these delusions born in ages when editors were crude are still out there.
Formatting with spaces is better than formatting with tabs.
Because then the text would look the same for all readers in all editors.
I’ve seen people who use 8 spaces for indentation and I’ve seen people who say that one space [...]
225
А вы знаете, что BEA AquaLogic Data Service Platform использует в своих запросах антисемитские join’ы?
224
Работаю с админкой AquaLogic Service Bus и понимаю, насколько даже самая базовая возможность писать скрипты облегчила бы мне жизнь. Удивительно, что никому в голову еще не пришло сделать админку с возможностью записывать и воспроизводить действия.
213
Цитата из одного поста:
I’ve been programming in Java for more than ten years. I have studied a lot of languages, and I keep learning new ones just out of curiosity. I even use some of these exotic languages here and there as the need warrants. Yes, some of these feel really good to program in [...]
192
В Eclipse JDT есть такая полезная функция – автоформатирование по Ctrl+Shift+F. Но с ней связан один недостаток – в то время как она отлично исправляет отступы, с переносом строк у форматтера проблемы. В частности, регулярно возникает ситуация, когда аргумент а-ля final Object context оказывается разбит на две строки. В результате получается нечитабельный конгломерат вроде:
public IAdvancement.IInstance [...]
191
Чем дальше читаю Practical Common Lisp, тем больше понимаю, что он не для меня. Слишком в нем много легаси; Scheme оставил гораздо более приятные впечатления. Поэтому, учитывая, что реальное что-то на лиспе писать шансов у меня немного, остановился на Scheme.
189
Компании очень любят писать про свои core values, ну там, quality, effectiveness, knowledge sharing, дальше по стандартному списку… Было бы здорово, если б рядом с этими values писали еще и anti-values. Например, we don’t care about using modern & effective technologies, we don’t use an individual approach to every employee and we don’t strive to [...]
188
Неужели некоторые люди всерьез думают, что class="height28" – это лучше, чем style="height: 28px"? Прямо CSS-каргокульт какой-то.
187
Нашел эпический тред про С++, быдло, программирование и вообще за жизнь. Рекодмендуется к прочтению всем начинающим программистам. Я лично узнал много нового и даже слегка изменил взгляд на свою профессию :)
186
Читаю фак по расширению Java-коллекций от Google; ребята жгут:
Why build on Java 5, instead of 1.4?
Because we hate Java 1.4. Just kidding (but we do).
182
Вот, давеча походил по собеседованиям в три крупные компании, делюсь впечатлениями.
Luxoft
HR не понравились совершенно. Особенно разозлило, когда утром, выходя на работу, я получил от них звонок, что вот, мол, прямо сейчас у меня должно быть телефонное собеседование с заказчиком, о котором меня вчера должна была предупредить другая HRщица (причем, таки да, я потом откопал в [...]
181
Похоже, идет очередная волна программистской блогосферы. Теперь в фокусе – Erlang, D и Scala.
180
В догонку к предыдущему посту. Возьмем тот же самый MVC. Очень хороший паттерн, безусловно. Но разве Model, View и Controller – единственные части, которые стоит разделять? Вот, например, список уровней веб-приложения, которые, по-хорошему, должны быть четко разделены:
1) Оформление (html, css, js-эффекты)
2) Разметка (html, css)
3) Статическое содержимое (html, message bundles)
4) Динамическое содержимое (html + forms)
5) Связь клиент-сервер (plain http, ajax)
6) Система генерации [...]
179
Преклонение перед дизайн-паттернами порой ставит меня в тупик. То есть, да, это хорошо, если разработчик может организовать свой код в легко понимаемые и расцепленные структуры, но разве ограниченный набор, описанный в GoF (и последователях) – это предел возможностей? Особенно удивляют долгие рассуждения когда какой паттерн применять и какие у них есть достоинства и недостатки. Не [...]
177
Поучаствовал в конкурсе компании Epam, выиграл книжку по JavaServer Faces, читаю. Начинаю ценить, когда фреймворк спроектирован так, чтобы хотя бы не мешать программисту.
Intershop Enfinity – глючное убожество.
176
Каждый ролевик рано или поздно доходит до идеи написания своей системы.
Напрашивается аналогия с haskell и написанием туториала по монадам.
173
Был .NET 3.0, теперь выходит .NET 3.5… Microsoft определенно напоминает некоторую другую компанию :)
168
Понравилось :) Отсюда.
Sometimes, the test justifies the means
The pupil asked two master programmers:
“I cannot test this code without mocking and violating encapsulation.
What should I do?”
One master programmer answered:
“Mocking is bad, and you should never violate encapsulation.
Rewrite the code so you can test it properly.”
The other master programmer answered:
“Mocking is good and testing trumps encapsulation.”
The pupil, [...]
153
Очередная статья на dzone про “красивые” URL. И в очередной раз – непонимание принципов работы современного интернета.
По пунктам:
1. Юзабилити
Когда вы последний раз вручную меняли URL? А тетя-Маша-бухгалтер? Возможность вручную влезть в строку адреса оценят разве что самые маргинальные гики, да и те будут ею пользоваться раз на месяц, т.к. любой вменяемый сайт позволяет аналогичную [...]
147
Scala. 25 строк кода. Мне страшно представить, во что бы это вылилось в Java.
145
Пока что лучшее определение для монад в ФП, которое я для себя выработал – это “значение, которое знает, как применять к себе функции”.
135
Сейчас будет субъективщина. Пишу по личным ощущениям. Когда я только начинал кодить на Java (1-2 года назад), шел (заканчивался, точнее) бум IoC/AOP – Spring, PicoContainer, Avalon, AspectJ, итд. Ну и Hibernate тоже то и дело вспывал. Чуть позже ненадолго фокус заняли веб-фреймворки. Потом – динамические языки. А сейчас – какое-то странное затишье. Наверное, все в [...]
133
Сейчас на работе ежедневно сталкиваюсь с такими монструозностями, как Websphere Commerce и Intershop Enfinity. Это такие навороченные веб-магазины, ориентированные на расширение и кастомизацию. Потрясающе поучительные системы – рассеивают всякие сомнения о том, зачем и как пишут программы Большие Корпорации. Зачем – ну понятно, чтобы Загребать Бабло. Других причин написания нет. Опенсорс-проекты пишутся чтобы Улучшить Мир. [...]
110
Цитата из статьи 11 ways to motivate geeks:
11. Offer Free Food…Intermittently. Never underestimate the power of free food. I can’t offer any rational explanation, but for geeks, even those making sizeable incomes, free food offers major support to motivation development, far more than an equivalent amount of cash.
А ведь он прав!
И правда удивительно :)
Только вот [...]
109
Будь проклято все, что начинается с <% !!! Сегодня видел внутри JSP нечто вроде такого:
107
Sunовские стандарты кодирования для java приводят меня в тихий ужос. Человек, придумавший ставить { на одной строке с оператором, 100% втайне ненавидел программистов. К сожалению, большие корпорации очень часто ведутся на самые идиотские стандарты и это правило просочилось в сановские конвенции. Плюс, нелюбовь сановских программистов к префиксу this породила кучу уродливейших _field, mField, aField, theField [...]
99
Под катом – пример того, как функциональный стиль хавает мой моск.
Есть лист кнопок. Нужно отфильтровать их по типу. Недолго думая, написал такой вот код:
final Predicate predicate = new Predicate()
{
public boolean evaluate(final Object button)
[...]
83
А у нас в квартире газ, а у вас?
Тест Джоэля для компании где я работаю.
Do you use source control?
Can you make a build in one step?
Do you make daily builds?
Do you have a bug database?
Do you fix bugs before writing new code?
Do you have an up-to-date schedule?
Do you [...]
82
Некоторые резюме говорят сами за себя. Например, если в резюме на позицию Java-разработчика кандидат пишет “опыт работы в Windows XP, 2000, 98, 95, 3.1, MS-DOS 6.22, 6.0, 5.0, Linux Mandrake, Linux Gentoo, FreeBSD”, то он скорее всего или неквалифицирован, или не умеет составлять резюме.
Если он неквалифицирован, то тут уже ничего не поделаешь. Если же [...]
76
Читаю про Scala. Язык моей мечты. Я долго пытался высмотреть такой вот язык для Java-платформы, но все никак не находил – то примитивные типы оставались, то еще какая-нибудь гадость. Но и у этого есть один недостаток – переменные (и все остальное) объявляются не как “int value”, а как “value : int”. Я привык именовать переменные [...]
73
Этот мир определенно общается со мной :) Только запостил пост про джаву и ООП – сразу же наткнулся на объяснение почему джавовское ООП ацтойное и вообще. Написано много и красиво (я не шучу :)), и основная суть такая – в Java нельзя передавать функцию как переменную, а в Python можно, и в Ruby можно, а [...]
71
Я люблю Wicket. В первую очередь за то, что это настоящий, хардкорный ООП, со всевозможными паттернами. Пару месяцев назад у меня состоялся разговор с одногруппником-дельфистом. Тогда я не смог ему объяснить в чем разница между программированием на Java и программированием на Delphi. Да и сейчас не смог бы наверное.
Я попробовал сказать, что он (Java) заставляет [...]
58
Только что на JRoller’e прочел заметку в блоге о кнопке “Назад” в браузере. Раньше как-то об этом не думал, а ведь и правда – в современном вебе эта кнопка устарела. Все (почти) крупные и посещаемые сайты имеют динамический контент, значит просто подгружая из кеша предыдущую страницу юзер получает устаревшую инфу. Правильным было бы определять работу [...]
51
У некоторых людей явно превратное представление о том, как должен работать веб. Как минимум, не такое как у меня. Я ожидаю от странички что если я кликнул на ней кнопку, то то что я ввел в поля принялось во внимание и что-то изменилось. Если я кликнул на линку то то что я ввел в поля [...]
49
Смотрю сейчас сайты по поиску работы и сердце кровью обливается. Junior J2EE девелопер – $1000-$2000!!! Плюс возможность релокации в штаты!!! Омг, ну зачем они постят такие объявы СЕЙЧАС, а не три месяца назад когда я работу искал?! Надо будет обязательно поговорить о повышении зарплаты :)
Кстати, зарплаты java-программистов на сайтах работы растут довольно резво. Полгода назад [...]
C# 3.0
C# начинает серьезно обходить Java по удобству программирования. В версии C# 3.0, например, появятся такие фичи:
Wicket
ДА!!! ЧЕЛОВЕК ОПЯТЬ ПОБЕДИЛ МАШИНУ!!!
А загвоздка вот в чем была: я связываю страницу MainPage с путем “/MainPage” с помощью метода mountBookmarkablePage(”/MainPage”, MainPage.class). Таким образом, все ссылки на эту страницу приобретают человеческий вид типа http://localhost:8080/wickettest/app/MainList. Но! Пока я не заменил в web.xml <url-pattern>/app</url-pattern> на <url-pattern>/app/*</url-pattern> Tomcat был не в курсе что эту ссылку нужно не самостоятельно [...]
Tapestry и Tomcat
Начал писать проект с помощью Tapestry и сразу же наткнулся на странную багу. После деплоя приложения Томкат хватает несколько библиотек (.jar-ы от tapestry и hivemind), делает на них lock и не отпускает даже по команде undeploy. То есть, выгрузить приложение без перезапуска Томката фактически невозможно, т.к. некоторые его файлы – те самые библиотеки – попросту [...]
31
Нашел интересную статейку: http://www.javalobby.org/articles/outofbounds/. Автор рассказывает про ситуацию когда новый разработчик приходит в команду, смотрит на проект и начинает всем рассказывать где и как он сделан неправильно. И рассказывает, в общем-то, правильные вещи, не просто понтуется умными словами. Но проект не вчера и не за один день делался, пережил несколько смен технологий и находится в [...]
29
Что мне не нравится в Java:
1) Генериксы через erasure а не reification. С одной стороны, можно понять что Sun жалко миллионов потерянных баксов несчастных пользователей, страдающих от несовместимости, но с другой – если все такими темпами и продолжать менять, то новые программисты будут просто идти на .net, в котором MS делает все что хочет и [...]
SWT и AWT
По зрелом размышлении решил забить на SWT и юзать AWT/Swing. Хотя SWT мне кажется более цельным и продуманным, в нем нету таких нужных фишек, как, например, нормальных WinXP-шных плоских кнопкок и кнопок с рисунком и текстом. То есть, их можно сделать, но это долго и неинтересно :) В Swing, правда, JEditorPane оказался слабенький по части [...]
Java
Проблема возникла.
Нужно сделать таблицу такого типа с помощью SWT, или, в крайнем случае, AWT/Swing. То есть, с горизонтальными спанами ячеек. Причем таблица немаленькая – где-то 60х10 как минимум – то есть, со скроллингом и подобными делами. Подумав немного, решил что самый простой выход – влепить Browser и в нем нарисовать эту таблицу средствами HTML, а [...]
SCJP
Наконец-то прислали сертификат из Sun. В конверте:
1) Небольшая пластиковая карточка размером с кредитку – на ней мое имя, название сертификации, логотип Sun и разные другие надписи
2) Альбомный листок формата чуть больше А4 на плотной бумаге с крупными надписями – очевидно, чтобы вставить в рамочку и повесить на стенку
3) Поздравительное письмо
4) Договор, который если я подпишу [...]
SCJP
Долго думал писать сюда или нет, но таки напишу, может кому пригодится :) Сдал вчера экзамен на Sun Java Certified Programmer. 86% при проходных 51%. Наверное, если бы готовился интенсивнее, прошел еще с десяток mock exam’ов и все-таки разобрался до конца с потоками, то получил бы 90-95%, а то и все 100. Хотя эти проценты [...]
Tests shouldn’t mirror the application