Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет kouzdra ([info]kouzdra) в [info]ljr_todo
@ 2005-07-20 22:30:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Постинги пользователей из LJ
Я вдруг подумал, что должно быть не оченть сложно разрешить LJ-юзерам постить комменты
"под собой" - просто вместо окошечка с LJR user/password, предлагать LJ user/password
(ну у линков параметр соотвествующий сделать - что отвечает человек из LJ). Проверить
login/пароль на валидность LJ API позволяет вполне штатно.


(Добавить комментарий)


[info]mironovd
2005-07-20 22:46 (ссылка)
О. Кстати да. Не хочешь написать кусочек кода для этого? Я, просто, LJ API знаю плохо.

(Ответить) (Ветвь дискуссии)


[info]kouzdra
2005-07-20 23:19 (ссылка)
Я егот тоже еще вчера знал плохо ;)

Там, на самом деле все не просто просто, а исключительно просто (просто запрос на логин - в ответ приходит ok или нет). Самое сложное - ответить на комментарий/запостить коммент, потому что этого в API просто нет и надо эмулировать "честный" ввод комментария. Но это тоже получилось довольно легко.

Плохо другое - я в web-программирование знаю плохо. Это как-то мимо меня проходило. То есть - ничего сложного там нет, но мне почти во всем надо разбираться. Это мне даже очень интересно, но, во-первых у меня продуктивность низкая, во-вторых - есть шанс, что я что-то напорю.

То есть я это к тому, что я хочу, но сознаю свою ограниченную годность.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]drz
2005-07-21 10:40 (ссылка)
А я вот в перле не шарю, а веб-программирование - типа моя обязанность :)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]kouzdra
2005-07-21 11:17 (ссылка)
Я тоже немного на нем писал, но это
как раз фигня. Если язык традиционный, он
изучается быстро, а перл - именно что традиционный.

Оригинального там, кажется вовсе ничего нет - такая
сборная солянка "отовсюду по чуть-чуть". Язык бардачный
и сам по себе imho неудобный для больших проектов, но
бывает и хуже.

И скриптов на нем понаписано столько, что примеры
можно найти практически на все.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]drz
2005-07-21 11:20 (ссылка)
Ну, по перлу я книжку когда-то читал, не вдохновился. И знать его недостаточно, у него ж столько библиотек, что заблудиться легко.

Я, когда пришёл на нынешнее место работы, так взял и отменил перл с пхп, теперь у нас ява :)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]kouzdra
2005-07-21 13:23 (ссылка)
С библиотеками можно разбираться по ходу - довольно просто -
ищешь что-то похожее на то, что надо и смотришь как и чем
там пользуются. У жабы библиотеки тоже необозримые.

Ява на мой взгляд как просто язык программирования -
зло неимоверное. Тяжелая, кривая, и "вещь в себе". После generics -
еще и сложная.

Такой коммеречский смаллталк, со всеми практически его недостатками,
но без большинства достоинств. Насчет веба сам не пробовал - но
мне все эти j2ee сильно ругали - в основном, что тормоза неимоверные.

В принципе, идеальным языком был бы O'Caml с какими-то вариациями, но он маргинален - хотя когда меня достала борьба с utf-8 и cp1251 в гнусе - я на нем перекодировщик быстренько накатал. Получилось на удивление легко.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]drz
2005-07-21 13:37 (ссылка)
"Ява на мой взгляд как просто язык программирования - зло неимоверное."

Ошибка человека, слабо знакомого с явой :)

"Тяжелая"

В смысле требований к памяти если только. И это оправдано, ибо это целая платформа, на базе которой пишутся весьма сложные системы. Аналогов нет просто, .net - не конкурент, у него кривизны неизмеримо больше и работает только под виндой.

"кривая"

В чём кривость? Точно не в языке, язык достаточно элегантен. Кривость в реализации некоторых вещей в ява-машине, но это не сильно ломает.

"вещь в себе"

Не понял.

"После generics - еще и сложная."

Что там сложного-то? :)

"Насчет веба сам не пробовал - но мне все эти j2ee сильно ругали - в основном, что тормоза неимоверные."

Так именно в вебе познаётся вся прелесть явы. Клиентские же приложения на яве - да, пурга. Насчёт тормозов: это касается исключительно EJB, в остальном - летает как ракета. Апач бы, например, с перлом/пхп/ещё-что-там при таких нагрузках просто бы впал в клинч, а ява бегает и не чихает даже. Согласен, что неэффективно использовать яву для простых проектов, а вот чем сложнее проект, тем быстрее отпадают альтернативы.

"utf-8 и cp1251 в гнусе - я на нем перекодировщик быстренько накатал"

На яве это с полпинка делается, ничего и писать не надо.

И вообще, чем чаще от начальства слышишь, что "проект нужно сделать вчера", тем сильнее осознаёшь, что ява - единственный выбор в такой ситуации.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]kouzdra
2005-07-21 14:21 (ссылка)
Я, к сожалению, на Java как раз довольно долго писал. Вспоминаю как
страный сон.

Язык - практически слегка ухуденный Simula-67. Идейный уровень 67 года и есть. Синтаксис - неимоверно громоздкий (не сделать синтаксис для коллекций, сверток и т.п. - это было прилично 20 лет назад, сейчас это просто глупость, особенно учитывая область применения Java).

Замыкания ужасны. Невозможно оттюнить представление данных (а от этого может в разы зависеть и скорость и потребность в памяти), все эти "фортрановские" хаки - когда массив структур раскладывается на пачку паралельных массивов примитивных типов, только чтобы не заводить кучу ненужных оъектов. etc etc.

А "вещь в себе" - именно что "платформа". В 90% случаев это ни на хрен не надо. То есть - единственные две пользы - библиотеки и сборка мусора. Но уродства языка это не извиняет.

В остальном - даже С++ - практиченее.

PS: А generics Java - самый навернутый параметрический полиморфизм, который я видел. Причем - результат не впечатляет. В сложных случаях написать тип или понять, что ему там не нравится - головоломка даже для тех, кто вывод этих типов писал.

И замечательные плюшки типа выражений, у котороых в Java невозможно написать тип (то есть - выражение, которое нельзя выделить в пемеренную).

Тип метода Object.getClass () - это вообще песня. Рекомендую внимательно прочитать описание.

Людей, которые такие хаки вставляют в компилятор надо убивать на месте. Или отдавать [info]tiphareth@lj для опытов.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]drz
2005-07-21 14:35 (ссылка)
"Синтаксис - неимоверно громоздкий"

Хм... Ну, вот у XSLT я понимаю, громоздкий синтаксис. А здесь... Все нормальные идешки умеют делать автокомплит...

"Невозможно оттюнить представление данных"

Что под этим подразумевается?

"когда массив структур раскладывается на пачку паралельных массивов примитивных типов, только чтобы не заводить кучу ненужных оъектов."

Не понял. Не было ни разу таких проблем. Массив структур - однозначно коллекции, например, ArrayList.

"А "вещь в себе" - именно что "платформа". В 90% случаев это ни на хрен не надо."

Всё-таки очень полезная вещь. Конечно, можно долго спорить, но не хочу, мне достаточно того, что на своём опыте я убедился в полезности именно такого подхода.

"Но уродства языка это не извиняет."

Я ещё не встречал языка совсем без уродств.

"В сложных случаях написать тип или понять, что ему там не нравится - головоломка даже для тех, кто вывод этих типов писал."

У меня почему-то всё просто. Может быть, дело в писателях? :)

А "вывод типов" - зачем? Куда?

"И замечательные плюшки типа выражений, у котороых в Java невозможно написать тип (то есть - выражение, которое нельзя выделить в пемеренную)."

Тоже ничего не понял. Как это "выражение, которое нельзя выделить в пемеренную"?

"Людей, которые такие хаки вставляют в компилятор надо убивать на месте."

Мне вот сишные генерики никогда не нравились. Здесь, конечно, тоже не фонтан, но, опять-таки, жить можно. Вот будет адекватная альтернатива яве, будем посмотреть. А так, деваться некуда, работы море, а успевать надо всё. И успевается. Вот сейчас заканчиваем АСУ "Деканат" разрабатывать, на вебе, разумеется (про работу деканатов рассказывать можно долго, и это просто ужас какой-то), если бы выбрали что-то отличное от явы, сейчас бы сидели в лучшем случае на половине пути и кусали локти от невыразимой сложности вылавливания багов.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]kouzdra
2005-07-21 15:17 (ссылка)
Ну вот пример про массив - нужен
массив из class { int no; Seg ind; int hash; }
где class Index { int no; int len; }

Типы от балды, но точно воспроизводящий реальный пример. И из него надо устроить массив. Содержательный размер элмента - 16 байт, тут - сверху - 4 байта ссылка в массиве, два объекта (каждый - минимум +4 байта сверху, если не 8), и еще одна ссылка. - то есть - как минимум - еще столько же. Плюс к этому в С я могу уплотнить это дело.

2-3 раза - величина весьма значимая. Если массив большой, а так часто бывает, надо что-то делать. Единственный способ - массив разваливается на 4 паралельных, с правкой всего кода. Тогда в С довольно много вещей делаются вообще прозрачно. С С#, кстати, тоже.

Если речь идет не о массиве, а просто о структуре - там вообще никак не выкрутиться. А такие вещи довольно часто означают ухудение характеристик в несколько раз. То есть - Java не очень плоха, пока ресурсы не поджимают, но они почему-то рано или поздно всегда начинают поджимать. Вот с NPJ-то видно, что Миша был прав и у npj действительно начинаются проблемы с производительностью.

Платформа - это тоже не подарок. Например - необходимо поставлять JRE вместо с продуктои, да и вообще - javaские продукты несколько, ээээ, кривовато вписываются в внешнюю среду. Уши jvm торчат.

Про вывод типов - консилиум с участием человека, который просто писал проверку типов в generic - ну был довольно штатным мероприятием. Неочевидно. С++ шаблоны по крайней мере не содержат хаков, да и вообще - и проще и практичнее.

По поводу getClass - прелесть же там в том, что нет у этого метода никакого типа результата. Есть хак в компиляторе, который и описан в доке. Описать такой же в своей программе невозможно. Хотя в O'Caml например - такое вполне делается. А язык проще.

То есть - большой проект бы я на Java делать не стал. Жопа будет. Разве что очень припрет с библиотеками. Есть у нее еще достоинство - на Java можно сажать "тупых" программистов. Облажаться на ней довольно трудно. В этом смысле - да - такой Visual Basic с более все-таки пристойным синтаксисом.

А про "выражение, которое нельзя выделить в переменную" - это очень просто - именно так - у него тип есть, но на Java переменную с таким типом описать нельзя. То есть - в Java 1.5 в общем случае корректный introduce variable невозможен. Бывает и довольно часто вокруг <? extends T>. Пример рожу как соберусь Java отставить. Оно не то, чтобы, на практике смертельно, но generic'и с такими пенками назвать простой конструкцией - никак невозможно.

На самом деле пример того, как можно - вот я O'Caml-евскую программку постил - это не скриптовый язык. Это статически типизированный язык (вообще без всякой runtime type information), который компилится в нативный код (хороший код, кстати). Когда Саны Java рожали - это уже лет 15 как было придумано - в смысле семейство ML. Собственно сейчас-то и C# и Java те самые люди и наворачивают, но когда навороты вставляют задним числом всегда кривь получается.

То есть Java ругать можно очень много за что. Пока я на ней не пописал - тоже думал - С++ плохо, Java - хорошо (ну люблю я и GC и надежную типизацию). В общем - в долгосрочной перспективе с Java imho шаносов влипнуть в серьезные проблемы больше.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]drz
2005-07-21 15:30 (ссылка)
"Единственный способ - массив разваливается на 4 паралельных, с правкой всего кода."

Я вообще не могу себе представить ситуацию, когда нужен этот самый массив.

"Вот с NPJ-то видно, что Миша был прав и у npj действительно начинаются проблемы с производительностью."

НПЖ - на пхп. И этим всё, увы, сказано.

"Например - необходимо поставлять JRE вместо с продуктои"

Вы опять ушли в тему клиентских приложений, я уже высказывался, что клиентские приложения на яве суть зло. Сервер - вот среда обитания явы.

"писал проверку типов в generic"

Не понял. Компилятор ведь сам проверяет.

"То есть - большой проект бы я на Java делать не стал"

Я бы - ровно наоборот :) . Уже объяснил, почему. Сопровождение проектов на яве проще в разы по сравнению со всем, что сейчас есть.

"на Java можно сажать "тупых" программистов."

Вот это - ни в коем случае! А то вся организация будет завалена горами оторванных рук.

"А про "выражение, которое нельзя выделить в переменную" - это очень просто - именно так - у него тип есть, но на Java переменную с таким типом описать нельзя."

Всё-таки примера конкретного хочется.

"который компилится в нативный код (хороший код, кстати)."

Ява тоже в нативный код компилит. И летает весьма шустро. См. HotSpot.

"То есть Java ругать можно очень много за что"

Если это делать как Максим Кизуб, там действительно здравые наезды.

"В общем - в долгосрочной перспективе с Java imho шаносов влипнуть в серьезные проблемы больше."

Хм... с 98-го года некоторые проекты наши работают, до сих пор некоторые улучшаем (т.е. добавляем функциональности), про другие уж и забыли, люди просто пользуются и не жалуются.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]kouzdra
2005-07-21 15:58 (ссылка)
А может лучше по email? - а то, честно говоря, не хочется флудить здесь избитой и левой темой. Оно как-то начало разрастаться.

Мне можно писать на msk собака oktetlabs точка ru

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]drz
2005-07-22 05:58 (ссылка)
Лучше в НПЖ:
http://npj.ru/drz/diskussija_o_jave

Или в РЖЖ, но у меня:
http://lj.rossia.org/users/drz/2975.html

(Ответить) (Уровень выше)


[info]drz
2005-07-21 13:38 (ссылка)
И, кстати, EJB - зло! :)

(Ответить) (Уровень выше)


[info]kouzdra
2005-07-20 23:20 (ссылка)
Да и еще - это может потребовать изменений в БД - там надо как-то отражать, откуда был комментатор.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]kaledin
2005-07-21 03:39 (ссылка)
Это нужно в любом случае, и это приоритетная задача; мы над этим работаем.

(Ответить) (Уровень выше)


[info]tiphareth
2005-07-21 03:01 (ссылка)
Только если у нас на сайте возникает окошечко,
куда пишут пароль к LJ - это весьма нехорошо, и на нас будут
обижаться. Другое дело, что единожды залогинившись у
нас как LJ-юзер через Openid, человек дальше может
спокойно писать из-под своего LJ-логина. То есть
не надо у нас окошечка с LJ-паролем, а надо окошечко
с LJ-логином, плюс линк на openid-идентификацию.

Такие дела
Миша

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]mironovd
2005-07-21 08:40 (ссылка)
Миша... Благодаря Фицпатрику OpenID _не_работает_. Я уже об этом писал.
Он за последнюю неделю _изменил_стандарт_.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]tiphareth
2005-07-21 10:23 (ссылка)
Угу, я заметил.
Просто если на одном сайте собирают пароли
с другого сайта - второй сайт вправе воспринимать
это как попытку взлома и поступать соответственно.

Такие дела
Миша

(Ответить) (Уровень выше)


[info]drz [npj.ru]
2005-07-21 10:42 (ссылка)
В смысле, не работает. ЖЖ?

С НПЖ вот работает...

(Ответить) (Уровень выше)


[info]drz
2005-07-21 10:41 (ссылка)
Я бы добавил, что вообще неплохо было бы предоставить списочек, с какого блога пришёл юзер для комментирования: ЖЖ, ГЖ, ЛИ, НПЖ...

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]kouzdra
2005-07-21 15:23 (ссылка)
В принципе - если проихожит так, как из LJ - это легко отследить автоматически. Ссылочки то-там не родные и в них легко можно прописать источник.

(Ответить) (Уровень выше)