Брал. Но по времени тяжело получается. Совмещение с работой и жизнью происходит с трудом.
Поэтому главное не пожадничать в этот раз и не нагрести всего-всего, а то там много вкусного.
Я текущие прохожу. С Intermediate English думаю будет понятно, но это сильно от лектора зависит — у каждого своё произношение и манера разговора. Но там ещё и субтитры есть, так что проблем быть не должно.
Прокрутить страницу вверх довольно просто. Проще, чем понять, что [Я вот ваш алгоритм не понял, по нему выходит, что мы сравниваем первые круги, потом вторые круги, потом третьи :) А если id у одного в третьем, а другого во втором?] это фраза в комментарии просто так, и само по себе содержание вас не интересует.
Мне жаль, что я потратил на объяснение время, и это оказалось не нужно.
Ответил вам выше. Я не автор, я просто пытался внести ясность, думая, что вам интересен алгоритм. А вам оказалось интересно погнобить автора за сумбурный топик.
А по-моему, проблема в том, что вы так торопились обличить автора, что даже не глянули что он это не я :)
Насчёт _моего_ мнения по поводу применения mongodb к этой проблеме: думаю практически любое key-value хранилище справилось не хуже бы. Думаю прийдёт автор и объяснит почему было выбрано mongo, и почему он считает что другое хранилище было бы хуже.
Попробую объяснить. Если ни A ни B не «состоят между собой в дружбе,» то мы сравниваем вначале первые «круги» друзей пользователей A и B. Если в их первых кругах есть хотя бы один общий id (то есть id, который встречается и в первом круге пользователя A и в первом круге пользователя B) — это означает, они соеденены через одного пользователя. (Возможно таких пользователей несколько, но это, думаю, не так важно.)
Если ни одного общего id в их первых кругах нет, то нужно сравнить «вторые круги». Что такое второй круг друзей пользователя A? Это все друзья пользователя A, и все друзья его друзей. То есть, если у A есть друг Q, у которого есть друг W, то во втором кругу пользоватля A (массив ffriends в статье) будут id как пользователя Q так и пользователя W.
Сравнивая последовательно круги их друзей можно найти объеденяющий набор пользователей, через которых они между собой «знакомы» (пользователь A знает пользователя Q, который знает пользоватля W, который знает пользователя B)
Общая идея понятна? Если нет, то могу попробовать объяснить по другому. Но тогда желательны конкретные вопросы — что именно не понятно.
[Делаем запрос на профиль А и В (А — это профиль нашей анкеты — его данные уже могут как-то использоваться, B — это профиль просматриваемого пользователя). Нужно построить цепочку друзей.
проверяем, нет ли данных id в массивах friends.]
Вполне логично предположить, что проверяемые id принадлежат пользователям A и B.
У каждого своя жизнь. И каждый сам решает как ей распоряжаться. Возможно ему было бы хуже поддаться на напор и потом короить себя всю жизнь, что не выстоял. А так он привлёк внимание части общества к проблеме злоупотребления властей и умер с чувством собственного достоинства. Нам тяжело судить. Думаю не стоит делить чужие принципы на дурацкие и умные. Делите их лучше на те, с которыми согласны, и те, с которыми нет.
Де-юро, возможно (утверждать ничего не могу — фактов мало), его противники действовали по закону, но де-факто просиходит явное нарушение прав человека на собственность. Законы они для людей, а не люди для законов. Вот habrahabr.ru/blogs/lenta/84900/#comment_2533577 я уже писал по этому поводу.
Одни мечтают об одном, другие о другом. Я бы тоже после предложения продать за цену в несколько раз большую продал бы в его ситуации не задумываясь. Но это не значит, что его точка зрения (не расходящаяся с законом, заметьте) не имеет права на существование. А вот действия его противников сочувствия не вызывают.
Я цитатами отвечу:
«В общем, отчаявшись культурно решить вопрос, мужика стали травить. Поскольку все земли вокруг мастерской уже приналежали заводу, ему перекрыли все коммуникации и подъезд к дому. „
“Городская администрация отказала в разрешении на прокладку новой дороги. В банке придрались к оформлению ипотечного кредита и пригрозили отобрать дом. „
“Несколько раз наехала налоговая по налогам с розничной торговли, пожарная инспекция, санэпиднадзор, последний выписал штраф на $ 2500 за феерическое „junk cars on the property and not being hooked up to the sewer line“ (в общем в его мастерской «находился резервуар, не отвечающий санитарным нормам».) речь, напомню, шла об авторемонтной мастерской.»
«Через некоторое время у него умер отец (31-Mar-2004), Марвин поехал его хоронить и пока он был в отъезде, ему отключили свет, воду и опечатали мастерскую.»
Мне кажется что не народ для закона, а закон для народа (я его назову основным принципом законов :). И называйте это утопической моделью, а меня оторванным от реальности чудаком. Но если кто-то думает по другому — это вызывает у меня большое удивление.
А этот случай (с позиции, конечно, человека не владеющего полной информацией) нарушает этот самый основной принцип.
Проблема не в том, кто сколько предложил. Проблема в действиях власти на отказ. Вот те неправомерные действия со стороны различных служб (многие из которых государственные) и вызывают полное неприятие. То, как поступил Марвин может вызывать разные чувства. Можно не соглашаться с его способом выражения протеста. Но то, что право на протест государство дало ему с лихвой — по-моему сомнений не вызывает.
Поэтому главное не пожадничать в этот раз и не нагрести всего-всего, а то там много вкусного.
Насколько я понял из see.stanford.edu/see/faq.aspx ни сертефиката, ни кредитов вы не получите. Только чистое знание :)
Мне жаль, что я потратил на объяснение время, и это оказалось не нужно.
Насчёт _моего_ мнения по поводу применения mongodb к этой проблеме: думаю практически любое key-value хранилище справилось не хуже бы. Думаю прийдёт автор и объяснит почему было выбрано mongo, и почему он считает что другое хранилище было бы хуже.
Если ни одного общего id в их первых кругах нет, то нужно сравнить «вторые круги». Что такое второй круг друзей пользователя A? Это все друзья пользователя A, и все друзья его друзей. То есть, если у A есть друг Q, у которого есть друг W, то во втором кругу пользоватля A (массив ffriends в статье) будут id как пользователя Q так и пользователя W.
Сравнивая последовательно круги их друзей можно найти объеденяющий набор пользователей, через которых они между собой «знакомы» (пользователь A знает пользователя Q, который знает пользоватля W, который знает пользователя B)
Общая идея понятна? Если нет, то могу попробовать объяснить по другому. Но тогда желательны конкретные вопросы — что именно не понятно.
проверяем, нет ли данных id в массивах friends.]
Вполне логично предположить, что проверяемые id принадлежат пользователям A и B.
«В общем, отчаявшись культурно решить вопрос, мужика стали травить. Поскольку все земли вокруг мастерской уже приналежали заводу, ему перекрыли все коммуникации и подъезд к дому. „
“Городская администрация отказала в разрешении на прокладку новой дороги. В банке придрались к оформлению ипотечного кредита и пригрозили отобрать дом. „
“Несколько раз наехала налоговая по налогам с розничной торговли, пожарная инспекция, санэпиднадзор, последний выписал штраф на $ 2500 за феерическое „junk cars on the property and not being hooked up to the sewer line“ (в общем в его мастерской «находился резервуар, не отвечающий санитарным нормам».) речь, напомню, шла об авторемонтной мастерской.»
«Через некоторое время у него умер отец (31-Mar-2004), Марвин поехал его хоронить и пока он был в отъезде, ему отключили свет, воду и опечатали мастерскую.»
А этот случай (с позиции, конечно, человека не владеющего полной информацией) нарушает этот самый основной принцип.
вот когда «оптимизация» возможна только с хорошими юристами то такая оптимизация воровство.