magog 14.04.2012 08:11 Azoth

Вот что я Вам скажу — архитектура личкрафтов охуенна и пиздата.

Recommended by: @rapture, @0xd34df00d
1. beardog 14.04.2012 08:12 38103357921334387572801177

Пора переходить на следующий уровень. Спроектируйте ОС, например

2. magogbeardog /1 14.04.2012 08:13 Azoth

еще DE не допроектировали

3. beardogmagog /2 14.04.2012 08:14 38103357921334387572801177

да, точно, DE — это как раз то, что нужно для следующего шага

4. rapture 14.04.2012 08:14 unknown

блять, расскажите мне, что в ней такого охуенного

5. nstm0 14.04.2012 08:14 Desktop

PEESDEESH :3

6. magograpture /4 14.04.2012 08:15 Azoth

она очень гибка и легкорасширяемая.

7. rapturemagog /6 14.04.2012 08:15 unknown

а как устроена?

8. magograpture /7 14.04.2012 08:17 Azoth

что именно тебя интересует?

9. dzendmitryrapture /4 14.04.2012 08:21 homesweethAD315F2D

Небольшое ядро с загрузчиком плагинов. Само ядро тоже является плагином для самого себя, но я не смотрел зачем так сделано. Вся функциональность вынесена в плагины, которых 2 уровня. На первом уровне плагины большие, например браузей или im клиент. На втором уровне плагины для больших плагинов. Тоесть плагины ДЛЯ браузера, ДЛЯ im клиента итд.

10. magogdzendmitry /9 14.04.2012 08:23 Azoth

немного не так. Не 2 уровня плагинов, а N. Например есть плагин poshuku. У него есть плагин OnlineBookmarks, у которого есть 2 плагина ReadItLater и Delicious. И так можно до бесконечности продолжать

11. dzendmitryrapture /4 14.04.2012 08:24 homesweethAD315F2D

Что в ней хорошего? Можно плагинами расширять систему сколько душе угодно. Всё отделенО и слабо связано друг с другом. Считается, что именно на это все и дрочат, как я понимаю.

12. dzendmitrymagog /10 14.04.2012 08:25 homesweethAD315F2D

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

13. magogdzendmitry /12 14.04.2012 08:26 Azoth

ядро, сделано плагином, как я понимаю, для того, что бы его можно было добавить в общий пул плагинов и обрабатывать вместе без дублирования кода. Но это как я понял. Вероятно все куда интереснее

14. dzendmitrymagog /13 14.04.2012 08:29 homesweethAD315F2D

В комментах в исходниках(которых мало) написано, что так сделано для удобство, типа так в итоге проще, но для чего конкретно хз, не копал.

15. magogdzendmitry /14 14.04.2012 08:29 Azoth

ну, значит думаю, что я прав

16. dzendmitrydzendmitry /14 14.04.2012 08:30 homesweethAD315F2D

fix: В комментах(которых мало) в исходниках написано...

17. rapturedzendmitry /16 14.04.2012 08:35 unknown

я так вброшу потихоньку: и это все? к чему это приводит на деле? к тому что можно зарегистрировать плагин? и еще плагин? и плагин для плагина и он будет в том же пространстве (как я видел в коде, Leechcraft::Plugin или типа того)?
ABI/API для плагинов с целью модификации стандартных компонент, IPC для плагинов? Система загрузки, в том числе загрузка/выгрузка на лету? Система безопасности?

18. rapturerapture /17 14.04.2012 08:39 unknown

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

19. magograpture /18 14.04.2012 08:40 Azoth

дефайе 1, второе есть, хоть пока плагины и не в разных процессах. ПОКА!, загрузки/выгрузки на лету не будет в полном смысле этого слова, Дефайн последнее

20. 0xd34df00ddzendmitry /9 14.04.2012 08:40 Jabiru

Плагинов не два уровня, а произвольное число уровней, лю6ой плагин может 6ыть плагином к лю6ому числу других и иметь произвольное число плагинов. Ядро плагин для се6я для о6щности.

21. 0xd34df00dmagog /15 14.04.2012 08:41 Jabiru

Ты прав.

22. magog0xd34df00d /21 14.04.2012 08:41 Azoth

мимими

23. dzendmitry0xd34df00d /20 14.04.2012 08:41 homesweeth2C18D315

ок. мне уже тут пояснили

24. 0xd34df00drapture /17 14.04.2012 08:42 Jabiru

Уточни вопрос, и6о ты процитировал название неймспейса, лол. IPC делается плагином, плагины могут предоставлять другие плагины — так сделана поддержка скриптинга, например. Там же экспериментальный хотлоад плагинов.

25. rapture0xd34df00d /24 14.04.2012 08:47 unknown

Ок, собственно, неймспейс и есть пространство, есть какие-нибудь стандартные API для плагина, типа стандартные апи настроек, вывода уведомлений и т.д.? Может быть плагин плагином для 2х и более плагинов одновременно, либо импортировать их функции иным образом?
И да, пример чего-нибудь DONOTWANT в реализациях систем плагинов можно? (кроме квипа, ага)

26. magograpture /25 14.04.2012 08:47 Azoth

кутим...

27. rapturemagog /26 14.04.2012 08:48 unknown

блять, сходи к проктологу уже.

28. magograpture /27 14.04.2012 08:49 Azoth

ты спросил — я ответил. Что тебе еще не нравится? У них дерьмовая реализация плагиноой архитектуры с необходимостью переименовывать либы для правильной загрузки или проходить их все по циклу, пока все не загрузятся

29. magogmagog /28 14.04.2012 08:49 Azoth

ой, это же раптуре.

30. 0xd34df00drapture /25 14.04.2012 08:50 Jabiru

Лол, неймспейс тут в смысле плюсов, глупо на это рассчитывать. Стандартные апи есть, в том числе, для уведомлений, для хранения паролей, для импорта истории (импортер истории в азотх ничего не знает о6 азотхе), и так далее. Плагин может 6ыть плагином сразу кучи плагинов, импорт функций реализован немного смоллтолк-стайл — передачей соо6щений (через это же сделан api настроек и прочего говно).

31. rapturemagog /28 14.04.2012 08:51 unknown

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

32. rapture0xd34df00d /30 14.04.2012 08:53 unknown

а хуки? то есть я могу сторонним плагином переопределить поведение стандартного? примеры е?

33. magograpture /32 14.04.2012 08:53 Azoth

pintab плагин

34. beardog 14.04.2012 08:54 38103357921334387572801177

> проходить их все по циклу, пока все не загрузятся
хм, как по мне, нормальное решение, разве нет?

35. magogbeardog /34 14.04.2012 08:54 Azoth

нормально. 100 плагино УЖЕ. Сколько итерации в худшем случае? А когда их будет 200?

36. rapturemagog /33 14.04.2012 08:55 unknown

он в поведении ни разу не противопоставляется стандартному поведению вкладок. просто дополняет его действия.

37. rapturebeardog /34 14.04.2012 08:56 unknown

правильнее грузить по зависимостям, но тогда нужен граф.

38. magograpture /36 14.04.2012 08:56 Azoth

а что ты хочешь тогда вообще? Можешь обрисовать юзкейз?

39. magograpture /37 14.04.2012 08:56 Azoth

а кое-кто графы не осилили...

40. beardogmagog /35 14.04.2012 08:56 38103357921334387572801177

количество итераций равно максимальному уровню вложенности +1

41. magogbeardog /40 14.04.2012 08:57 Azoth

при условии отсутствия линкования между плагинами

42. rapturemagog /38 14.04.2012 08:57 unknown

ну если rapture-характерный пример, плагин для перехвата паролей во время их сохранения в secman

43. magograpture /42 14.04.2012 08:58 Azoth

и что тут отличного от пинтаба? Сделай хук в секмане и перехватывай.

44. rapturemagog /41 14.04.2012 08:58 unknown

меня больше волнует хреноватая система хранения паролей с солью прям в исходниках и sha1 :)

45. rapturemagog /43 14.04.2012 08:58 unknown

я могу это сделать во внешнем плагине?

46. magograpture /45 14.04.2012 08:59 Azoth

добавь хук в секман и делай. Без хука в секмане это нельзя сделать. Хотя, можно попробовать другим способом. Попробовать перехватить запрос на сохранение пароля. Но не знаю — получится ли

47. rapturemagog /46 14.04.2012 09:01 unknown

то есть стандартных хуков нет? или это просто частный случай?

48. magograpture /47 14.04.2012 09:02 Azoth

хуки делаются в плагинах. Если его там нету — то нету. Добавишь — будет. Хуков для пинтаба не было, пока я их не добавил.

49. beardogmagog /41 14.04.2012 09:05 38103357921334387572801177

Не понял
Допустим, есть такая система:
A
B
C требует A и B
D требует A
E требует C ←- это и есть линкование между плагинами?
F требует чего-то левого, чего никогда не будет
максимальный уровень вложенности === 3
проход №1: загружаем A и B (в худшем случае)
№2: C, D
№3: E
№4: ничего нового не загрузили, вышли

Так?

50. rapturemagog /48 14.04.2012 09:10 unknown

Ок. Смотри тогда такой кейс: плагин с улучшением оформления. Чтоб не зарываться, пока 2 задачи — заменить стандартную боянскую лоад-картинку и поменять оформление вкладок. Для этого надо
1. успеть загрузиться первым — поддерживается ли порядок загрузки
2. перехватить вызов отрисовки картинки — ?
3. перехватить отрисовку главного окна (или табов)
4. переопределить стандартные вызовы типа "закрыть вкладку" (это уже для изъебов типа анимации закрытия кладки или превьюшке страниц при расширении области вкладок аля опера)
Поддерживается?

51. magograpture /50 14.04.2012 09:11 Azoth

нет конечно. Я же тебе говорю — нужен хук — берешь и реализуешь. Благо это занимает 3 строчки кода. Мы не можем написать хуки на все юзкейсы, которые возможно. Мы их пишем, когда они нам нужны.

52. 0xd34df00drapture /25 14.04.2012 09:14 Jabiru

Лол, неймспейс тут в смысле плюсов, глупо на это рассчитывать. Стандартные апи есть, в том числе, для уведомлений, для хранения паролей, для импорта истории (импортер истории в азотх ничего не знает о6 азотхе), и так далее. Лучше рассматривать их как контракты взаимодействия, дыа. Плагин может 6ыть плагином сразу кучи плагинов, импорт функций реализован немного смоллтолк-стайл — передачей соо6щений (через это же сделан api импорта/уведомлений и прочее говно).

53. magog0xd34df00d /52 14.04.2012 09:14 Azoth

ты чего?

54. 0xd34df00drapture /25 14.04.2012 09:19 Jabiru

Лол, неймспейс тут в смысле плюсов, глупо на это рассчитывать. Стандартные апи есть, в том числе, для уведомлений, для хранения паролей, для импорта истории (импортер истории в азотх ничего не знает о6 азотхе), и так далее. Лучше рассматривать их как контракты взаимодействия, дыа. Плагин может 6ыть плагином сразу кучи плагинов, импорт функций реализован немного смоллтолк-стайл — передачей соо6щений (через это же сделан api импорта/уведомлений и прочее говно).

55. magog0xd34df00d /54 14.04.2012 09:20 Azoth

блядь, да ты заебал. Выброси нахуй свой говнодроед

56. 0xd34df00dmagog /53 14.04.2012 09:20 Jabiru

У меня тригэ про6лемы.

57. 0xd34df00drapture /31 14.04.2012 09:22 Jabiru

Личкрафтам похуй на пользователец :3

58. 0xd34df00drapture /32 14.04.2012 09:28 Jabiru

Пстоплагин, сайд6ар, флеш6лок, тысячи их.

59. 0xd34df00dbeardog /34 14.04.2012 09:28 Jabiru

Пиздец же, съе6и.

60. 0xd34df00dmagog /35 14.04.2012 09:29 Jabiru

100 * 99.

61. 0xd34df00drapture /37 14.04.2012 09:29 Jabiru

А графы они ниасилили.

62. 0xd34df00drapture /50 14.04.2012 09:31 Jabiru

Лоад-картинка до плагинов, не получится. Отрисовка вполне перехватывается, хуки на закрытие есть.

63. 0xd34df00drapture /44 14.04.2012 09:31 Jabiru

Есть альтернативное aes-хранилище.

64. 0xd34df00d 14.04.2012 09:57 Jabiru

А чо, срачика не 6удет?

65. rapture0xd34df00d /60 14.04.2012 16:09 unknown

адын раз при загрузке

66. Dulo_T-340xd34df00d /57 14.04.2012 16:09 Psi+

Почините мне скроллинг уже ._.

67. rapture0xd34df00d /62 14.04.2012 16:10 unknown

это хуево, чтото вне плагинов, блеать. и порядка загрузки тоже нет

68. Dulo_T-34 14.04.2012 16:12 Psi+

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

69. arts0xd34df00d /57 14.04.2012 16:22

Угнич дохуя?

70. rapturearts /69 14.04.2012 16:23 unknown

сейчас ты станешь первым в истории пользователем, которого забанят в личкрафтах, включая пстоплагин.

71. artsrapture /70 14.04.2012 16:24 N

лол

72. dorfe 14.04.2012 16:34

орхитектура не нужна же

73. 238328 14.04.2012 16:36 42943137711334416796393464

как земля

74. dorfemagog /6 14.04.2012 16:49

толсто

75. dorfemagog /10 14.04.2012 16:49

пиздец какой

76. dorferapture /17 14.04.2012 16:51

это приводит к бесконечно-рекурсивному сжиранию памяти, очевидно же

77. 0xd34df00drapture /67 14.04.2012 16:54 Azoth_primary

Какая разница, какой порядок загрузки? Важнее порядок инициализации, которая у нас двух-с-половиной-проходная.

78. rapturedorfe /76 14.04.2012 16:54 unknown

рекурсивная бесконечность это охуенно

79. 0xd34df00darts /69 14.04.2012 16:55 Azoth_primary

Нет, но популярность не является приоритетным таском. В этом смысле.

80. 0xd34df00drapture /70 14.04.2012 16:55 Azoth_primary

Нет, не станет :(

81. dorfe0xd34df00d /20 14.04.2012 16:55

памяти на пека тоже произвольное кол-во, ага ;-)

82. rapture0xd34df00d /80 14.04.2012 16:55 unknown

уже второй?

83. 0xd34df00drapture /82 14.04.2012 16:56 Azoth_primary

Первый и единственный — Лях. Впрочем, он вообще везде забанен.

84. rapture0xd34df00d /79 14.04.2012 16:56 unknown

в текущем состоянии она в любом случае, даже приоритетном, никак не может быть

85. rapture0xd34df00d /77 14.04.2012 16:56 unknown

м, так вот куда мы съезжаем!

86. rapture0xd34df00d /83 14.04.2012 16:58 unknown

Скандалы, интриги, расследования! Дедфуд использует личкрафты как инструмент личной мести и банит в них людей! УГНИЧШОК!

88. dorfe238328 /73 14.04.2012 17:01

поешь её

89. 0xd34df00drapture /84 14.04.2012 17:02 Azoth_primary

Лол, почему же?

90. 0xd34df00drapture /86 14.04.2012 17:02 Azoth_primary

Совсем спермы объелся шоле?

91. zetoke 15.04.2012 09:52

Приветик.

92. lockie 15.04.2012 14:33 ХОЛОДИЛЬНИКА

Пруф в виде UML-диаграммы или пиздишь.

93. dorfelockie /92 15.04.2012 18:27

UML уг

Do you really want to delete ?