-
Продвинутое использование исключений (C#)
Date: 06/26/07
Keywords: no keywords
try
{
...
}
catch (Exception ex)
{
if (ex.Message != <Строковая константа 1> &&
ex.Message != <Строковая константа 2>) throw;
// обрабатываем ошибку локально
}
Source: http://community.livejournal.com/code_wtf/91133.html
-
Как думаете, что выведет?
Date: 06/25/07
Keywords: php
echo "1";
/* ?>2 */
// ?>3
echo "4";
?>
Думаете, 14? Нет!
Думаете, 1234? Нет!
134.
Причем помнится на php4 выводилось 14.
Согласно http://ru2.php.net/manual/ru/language.basic-syntax.comments.php поведение 134 понятно.
Однако повалившийся кусок проекта не радует...
Source: http://community.livejournal.com/code_wtf/90822.html
-
ms.net bug
Date: 06/22/07
Keywords: no keywords
string s = "55";
int i = Convert.ToInt32(s);
Значения i на разных компьютерах отличаються. либо 5 либо 55. Самый прикол что это только с числом 5. как он его парсит непонятно. также работает ту децимал и инт парсе.
Source: http://community.livejournal.com/code_wtf/90541.html
-
Hypertext Transfer Protocol -- HTTP/1.1
Date: 06/19/07
Keywords: no keywords
Возможно, немного оффтоп, но (RFC2616):
10.4.3 402 Payment Required
This code is reserved for future use.
Что это?
Платежи, запланированные на следующие версии протокола?
Wtf, кто-нибудь в курсе?
Source: http://community.livejournal.com/code_wtf/89964.html
-
смерть от опечатки
Date: 06/18/07
Keywords: no keywords
Вот код, который может довести до истерики (perl).
$t = "asdasdasdasdas+";
if ($t = ~/^(.*)\+$/) {
print "$1\n";
}
Далеко не сразу очевидно, где зарыты грабли.
Source: http://community.livejournal.com/code_wtf/89589.html
-
ООП
Date: 06/14/07
Keywords: no keywords
public void getResults() {
...
}
bash.org.ru
Source: http://community.livejournal.com/code_wtf/89221.html
-
главное - обрабатывать эксепшны
Date: 06/06/07
Keywords: no keywords
Коллеги жгут:
try {
...
} catch (final DataAccessException e) {
throw new DataAccessException (e);
}
Source: http://community.livejournal.com/code_wtf/88780.html
-
coDito, ergo sum
Date: 05/28/07
Keywords: no keywords
Source: http://community.livejournal.com/code_wtf/88356.html
-
wtf?
Date: 05/25/07
Keywords: no keywords
private const FileOptions requiredOptions =
FileOptions.Asynchronous | FileOptions.DeleteOnClose | FileOptions.Encrypted |
FileOptions.RandomAccess | FileOptions.SequentialScan | FileOptions.WriteThrough;
private void someMethod(FileOptions options)
{
if ((options & ~requiredOptions) != FileOptions.None)
throw new ArgumentOutOfRangeException("options");
// work
}
При этом в FileOptions нет других опций, кроме этих 6, в чем можно убедиться в мсдн. Я что-то не понимаю? Зачем проверка?
Source: http://community.livejournal.com/code_wtf/88303.html
-
Этот аффтар войдет в века или кажися чтото перепутали.
Date: 05/23/07
Keywords: no keywords
public final Vector fields = new Vector();
...
private UnitTemplateField addField(UnitTemplateField field) {
field.templateId = id;
if (field.sortIndex <= 0) {
field.sortIndex = fields.size();
}
fields.add(field);
return field;
}
Публичного аналога нет. Для добавления вне класса используется
t.fields.addAll(allFields.values());
Source: http://community.livejournal.com/code_wtf/87813.html
-
C#, продолжение...
Date: 05/22/07
Keywords: no keywords
if (tableName.IndexOf(".") != -1) { tableName = tableName.Substring(tableName.LastIndexOf(".") + 1, tableName.Length - (tableName.LastIndexOf(".") + 1)); }
Source: http://community.livejournal.com/code_wtf/87796.html
-
C#
Date: 05/22/07
Keywords: no keywords
if (column.ColumnName.ToLower().ToUpper().Equals("date_trunc".ToUpper())) {
}
Source: http://community.livejournal.com/code_wtf/87345.html
-
PHP
Date: 05/22/07
Keywords: no keywords
function window($head, $txt, $align="", $valign="" , $height="")
{
global $path, $window_border, $window_header_back, $window_main_back,
$window_header_text, $body_text, $window_footer_back, $gfx_wtop_left,
$gfx_wtop_back, $gfx_wtop_right, $gfx_wmid_left, $gfx_wmid_back, $gfx_wmid_right,
$gfx_wbot_left, $gfx_wbot_back, $gfx_wbot_right;
...
}
отакое вот.
Source: http://community.livejournal.com/code_wtf/87060.html
-
Аццкий программинг
Date: 05/21/07
Keywords: no keywords
Сейчас правил один чужой проект, где выводятся элементы по три в строчку. ЯПАЦТУЛОМ! Знаете как там алгоритм сделан?
while (некое условие){
if ($i==3 || $i==6 || $i==9 || $i==12 || $i==15) {
//перевод строки
}
$i++;
}
То есть до 15 элементов все работает как надо, а дальше - нас не волнует. Аццкий программист. Нет чтобы как белые люди написать if ($i%3==0).
Жесть!
Source: http://community.livejournal.com/code_wtf/86931.html
-
НЕ код но WTF. Как мы планируем.
Date: 05/18/07
Keywords: java, google
Это кусок из реальной вики, и первые пункты реальный план.
Когда именно "Остапа понесло" остаектся загадкой.
Нам же это все делать типа.
Материал из Википедии - свободной энциклопедии.
[редактировать]Внедрение проекта people.mos2.ru 2007
1) Июнь 2007. Фаза тестирования people.mos2.ru отделом тестирования и исправление ошибок
2) Июль 2007. Фаза тестирования people.mos2.ru пользователями с оповещением их на главной странице о том, что вся введённая ими информация вскоре будет утеряна. Параллельно находятся и исправляются оставшиеся баги. Подготавливаются и тестируются модули автоматического перенесения информации из базы данных mos2.ru в people.mos2.ru.
3) Пара дней конца лета 2007. Фаза остановки работы сервиса mos2.ru, остановки работы сервиса people.mos2.ru, запуск модулей автоматического перенесения информации из базы данных mos2.ru в people.mos2.ru, проверка работоспособности people.mos2.ru.
4) Пара дней конца лета 2007. Фаза уничтожения проекта mos2.ru (кода и базы данных), запуск проекта people.mos2.ru. Все пользователи заходящие на mos2.ru автоматически перенаправляются на people.mos2.ru.
5) Осень, Зима 2007-2008. Фаза разделения проекта people.mos2.ru.
Базы данных разделяются на 3 базы: гео-информационную базу данных (дома, улицы, районы, их фотографии,
описания и пр.), базу данных организаций и их представителей (учётные записи, контакты, описания,
предложения, отзывы, взаимодействие с партнёрскими сайтами, реклама и пр.), базу данных частных пользователей
(учётные записи, хобби, личные фото, видео, обмен сообщений и т.п.).
Серверная часть разделяется на несколько модулей, обслуживающих базы данных таким образом, чтобы сами
Java-модули можно было разнести на несколько серверов.
Клиентская часть разделяется на 3 интерфейса:
- карта, гео-редактор, блоги, поиск адресов, пользователи - исследователи мест (20 - 50 лет);
- карта, бизнес-редактор описаний организаций, предложений и отзывов (блоги), поиск сведений, деловые люди:
бизнесмены + потребители (16 - 60 лет);
- карта, поиск знакомств, IM, блоги, игры, люди лёгкого поведения: желающие общаться и знакомиться
(15 - 30 лет);
6) 2008-2015 год. Фаза будущего, заключается в создании централизованной поисковой системы охватывающей информацию своих сайтов и сайтов партнёров, охвате новых городов (кроме Москвы и Питера), появления новых сервисов и интерфейсов, завоёвывания новых аудиторий, изменение кода для разворачивания на большом числе кластеров (дублирование информации, повышение отказоустойчивости).
7) Середина 21 века. Фаза google-подобная иерархия и мировой охват, поддержка кучи языков и сервисов, написание низкоуровневого програмного обеспечения для масштабирования на тысячи серверов с обеспечением отказоустойчивости системы.
8) Конец 21 века. Появление искуственного человекоподобного интеллекта mos2.
9) 22 век. Война с гуманоидами.
10) 23 век. Всё живое вымерло, только искуственный интеллект мосдва продолжает защищать планету земля.
11) Конец 3-его тысячелетия. Эволюция машин. Саморазвивающийся интеллект мосдва плодит себе подобных для покорения оставшейся части вселенной и исследования новых видов энергии.
12) 4 тысячелетие. Война машин. Смертоносное оружие запустило необратимый процесс сжатия вселенной до критической точки. Вся материя устремляется в чёрную дыру.
13) 5 тысячелетие. Материя вселенной сжата до критической точки. Пространства не существует, время останавливается, в результате чего происходит новый вселенский взрыв. За несколько минут образуется новое пространство, новые звёзды и планеты.
ps (от Spets)
1) Я против фазы уничтожения mos2.ru. Я за то чтобы заранее сделать разделение баз данных на географическую и пользовательскую, перебросив пользователей базы mos2.ru исключительно в базу people.mos2.ru, а из базы people.mos2.ru убрать гео-данные оставив только привязки по адресам. Соответственно, необходимо подготовить код mos2.ru для работы с обновлённой версией гео-базы данных, и подготовить код people.mos2.ru для работы с обеими базами данных (гео и пользователи). После этого можно популизовать people.mos2.ru и разрекламировать его (если не терпится). Затем уже проводить работы по доведению этих разных интерфейсов под целевые категории пользователей (например, исследователи-путешественники и виртуальные знакомства). Минус тут известный - популизация people.mos2.ru затянется.
2) По поводу кучи багов и неопределённых задержек выпуска people.mos2.ru. Если проект - это пирог, а разработчики - пара челюстей, то текущая ситуация выглядит так: менеджер заставил откусить огромный кусок пирога и жевать его. Непонятно в какой мы сейчас стадии, то ли вцепились в огромный кусок и не можем откусить его (сразу реализовать кучу фич), то ли откусили и не можем жевать т.к. челюсти не смыкаются из-за величины куска (т.е. не можем пофиксить баги). Обычно, в таком случае, выплёвывают излишки до тех пор пока челюсти не сомкнутся. :) Иными словами, нужно было соображать ещё прошлым летом, когда я чётко формулировал идею "частых выпусков версий проекта, даже если весь функционал не реализован". Пользователи выполняют двойную функцию: дают обратную связь (оценку сайту и пищу для размышлений) и заставляют разработчиков держать уже реализованные фичи в полностью работоспособном состоянии независимо от появления новых фич.
3) По поводу нашей текучки кадров (программеры не задерживаются больше полугода):
Гомоморфный образ группы
по закону ленинизма
изоморфен факторгруппе
по ядру гомоморфизма.
Source: http://community.livejournal.com/code_wtf/86686.html
-
Субподрядчики раздолбаи перепутали последовательность параметров
Date: 05/16/07
Keywords: no keywords
///
/// Субподрядчики раздолбаи перепутали последовательность параметров
/// Поэтому пришлось сделать такой "презерватив"
///
private void addCompareRowWithSpecialParamOrder(
XslFOProfileWriter foWriter,
String sName,
String sValue1,
String sValue2,
String sParamValueClass,
String sParamValueHighlightedClass,
String sParamNameClass
)
{
CustomReport.AddCompareRow(foWriter, sName, sValue1, sValue2, sParamNameClass, sParamValueClass,sParamValueHighlightedClass);
}
Source: http://community.livejournal.com/code_wtf/86461.html
-
Oracle: Тысяча_и_одна_ПСЛДТНСТ
Date: 05/14/07
Keywords: no keywords
На самом деле не все так страшно, их там всего около двухсот штук... но все равно - впечатляет.
Source: http://community.livejournal.com/code_wtf/86117.html
-
Мы ребята не торопливые, мы все делаем постепенно.
Date: 05/11/07
Keywords: sql
public static void reloadCache() {
public static final String tableName = "unit_template";
...
ResultSet res = sql.getResultSet("SELECT id FROM " + UnitTemplate.tableName);// мы в этом классе зачем указывали не понятно.
while (res.next()) {
all.put(res.getLong(1), loadFromSQL(res.getLong(1)));
}
...
}
private static UnitTemplate loadFromSQL(long id) throws SQLException {
UnitTemplate tpl = new UnitTemplate();
SqlDb sql = SqlDb.connection.get();
tpl.id = id;
ResultSet res = sql.getResultSet("SELECT #name#, view, usage, is_basic, \"limit\" FROM " +
tableName + " WHERE id=?", id);// это тотже UnitTemplate.tableName только обратились теперь без официоза
.....
}
Source: http://community.livejournal.com/code_wtf/85951.html
-
фрагмент лексического анализатора из одного диплома
Date: 05/11/07
Keywords: no keywords
{'(_|_)', 'ident'}
Source: http://community.livejournal.com/code_wtf/85583.html
-
а вы говорит индусы...
Date: 05/11/07
Keywords: mysql, sql
тут вот родные белоруские программеры такое пишут:
SELECT id AS SubSectionLink, content as brief
FROM network
WHERE ((title LIKE '%lamers%')
OR (content LIKE '%lamers%')
OR (title LIKE '%LAMERS%')
OR (content LIKE '%LAMERS%')
OR (title LIKE '%LaMeRs%')
OR (content LIKE '%LaMeRs%')
)
не знаю как там MySQL, может он и оптимизирует такие условия :)
Source: http://community.livejournal.com/code_wtf/85322.html