- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
public function getDialogs($offset = 0) {
$offset = (int) $offset;
$to_id = $_SESSION['user_id'];
if(!$to_id) {
return false;
}
$get_dialogs = $this->database->prepare("SELECT * FROM `messages` WHERE `to_id` = :to_id GROUP BY `from_id` LIMIT :offset, :max_posts");
$get_dialogs->bindParam(':to_id', $to_id, PDO::PARAM_INT);
$get_dialogs->bindParam(':offset', $offset, PDO::PARAM_INT);
$get_dialogs->bindParam(':max_posts', $this->max_dialogs, PDO::PARAM_INT);
$get_dialogs->execute();
$post_owners = array();
while ($row = $get_dialogs->fetch(PDO::FETCH_ASSOC)) {
$owner_id = $row['from_id'];
if($post_owners[$owner_id]) {
$row['owner_name'] = $post_owners[$owner_id];
} else {
$owner_name = $this->user->getInitials($owner_id);
$post_owners[$owner_id] = $owner_name;
$row['owner_name'] = $owner_name;
}
$row['date'] = $this->common->parseTimestamp($row['date_created']);
$arr[] = $row;
}
return $arr;
}
guest 05.04.2016 12:24 # +1
guest 05.04.2016 19:47 # 0
inkanus-gray 05.04.2016 13:38 # 0
defecate-plusplus 05.04.2016 13:40 # +3
guest 05.04.2016 17:18 # 0
с другой стороны максиквелом только пыховцы и пользуются
Dev_18 05.04.2016 18:36 # 0
guest 05.04.2016 18:41 # 0
Dev_18 05.04.2016 18:46 # 0
bormand 05.04.2016 19:54 # +1
kerman 05.04.2016 19:58 # 0
Я ещё майсиквелом пользуюсь. На сишарпике. Есть таки свои недостатки, но не сказать, чтобы фатальные. У MSSQL, к примеру, два фатальных недостатка, а у постгреса всё хуёво с gui tools (с десяток перепробовал, всё либо глючное, либо неудобное, либо и то и другое, одна надежда, что JB датагрип допилят)
guest 05.04.2016 20:01 # 0
да, это недостаток так недостаток
mysql говно по всем параметрам
она ничем не лучше постгри
а хуже много чем
inkanus-gray 05.04.2016 20:23 # +2
Так и быть, объясню. Сесть и поехать — это городской автобус, а MySQL — это автомобиль. Его нужно настроить под себя. Первым делом нужно сменить MYISAM на InnoDB. Если нужно ехать быстрее, придётся сменить MySQL на Percona Server или на MariaDB. Если будет глохнуть на ходу, нужно оттюнинговать my.ini. Если не нравится стандартный менеджер памяти, можно попытаться установить Hoard и подключить командой:
Дальше можно действовать по аналогии со статьёй (кстати, жирная почва для вореций):
http://lleo.me/arhive/esse/os2.htm
А самое главное, что для MySQL есть phpmyadmin с широким выбором нескучных обоев и огромное количество типов хранилищ:
https://mariadb.com/kb/en/mariadb/storage-engines/
В какой ещё СУБД есть такое разнообразие?
guest 05.04.2016 20:29 # +1
в мускуль нет:
1) нормального профилировщика запросов (с измерением времени на шаг)
2) нормального оптимизатора (сделай join на 7 таблиц)
3) нормальных констреинтов (сделай мне типа CHECK (price > discounted_price))
4) вычисляемых полей (потому мускульмартышки вынуждены вручую их создавать и получать инконсистенс)
Это вот так, с ходу.
guest 05.04.2016 20:33 # 0
kerman 05.04.2016 20:44 # +2
guest 05.04.2016 20:47 # +1
Мне вот для некоторых задач хватает файлика , разделенного табуляциями
kerman 05.04.2016 23:50 # 0
guest 05.04.2016 20:57 # 0
чуть не забыл
OVER Clause нету
3_14dar 05.04.2016 20:55 # 0
Лол, один в один про прыщеблядков
inkanus-gray 06.04.2016 01:00 # 0
Vasiliy 06.04.2016 07:48 # 0
1024-- 06.04.2016 10:43 # 0
Настроил, чтоб документы были в удобной мне папке, цвет фона и панели задач поменял, интересующие программы установил, в автозагрузку поставил парочку.
Из серьёзного - отключил автоперезагрузку после обновления да гибернацию отключил, чтоб место сэкономить.
Потом просто сидел и ничего не трогал. Даже в реестр только ради того ключа про перезагрузку лез.
Vasiliy 06.04.2016 15:53 # 0
inkanus-gray 06.04.2016 21:27 # 0
Другое дело — Mac OSX и iOS. По форумам у меня сложилось впечатление, что на этих системах без напильника даже поиграть в пасьянс и в 2048 нельзя.
Vasiliy 07.04.2016 10:14 # 0
CHayT 07.04.2016 10:22 # +3
1) ставишь emacs
2) M-x package-install 2048-game
bormand 07.04.2016 17:53 # +5
Нафиг вы про неё напомнили? Ещё один вечер проёбан...
Vasiliy 07.04.2016 18:07 # 0
3_14dar 08.04.2016 08:00 # 0
Может эти системы сделаны не для того, для чего их используют форумные писаки?
kerman 05.04.2016 20:42 # +1
А вот так нинада. Один только vacuum костыль чего стоит... И невозможность добавлять столбцы в середину (да, я знаю, что без пересоздания, но иногда мне похуй - пусть пересоздаёт, лишь бы в нужном порядке шли). Да вообще с ALTER TABLE у постгри плохо. С клиентами тоже всё хуёво. Npgsql оставляет открытым коннекшен, если прервал дебаг (что там с пулом коннектов, я ещё не копал), после активного дебага с множеством падений лимит коннектов кончается и ты идёшь с грусным ебалом ручками чистить зависшие коннекты... Ах да, mysql позволяет движки менять по ситуации.
Я не говорю, что MySQL лучше PostgreSQL, но так однозначно не надо. В этом мире, кроме чёрного и белого существуют оттенки, есть области применения. И да, у говна есть тоже область применения, где оно лучше подходит, чем мёд. Как правило, как удобрение в бизнесе.
Ещё тут читать про правильную критику обоих баз данных:
https://habrahabr.ru/post/268949/
https://habrahabr.ru/post/269463/
https://habrahabr.ru/post/269889/
guest 05.04.2016 20:47 # 0
совершенно не костыль и ничем не мешает
>> И невозможность добавлять столбцы в середину
да, это серьезная проблема
>> Да вообще с ALTER TABLE у постгри плохо.
щто?
это ты наверное про то что в ней легко можно сделать ENUM и потом добавлять туда новые значения через отдельную таблицу ?)
>> С клиентами тоже всё хуёво
а psql чем плох? или тебе нужны свистелки и пирделки? ну так у JB есть
>>. Ах да, mysql позволяет движки менять по ситуации.
хуевые движки на другие хуевые
а ms-sql не позволяет менять движки
вот говно же а не база, правда?
>>Ещё тут читать про правильную критику обоих баз данных:
какая-то ламерская чушь. Чувак надергал примеров из своей головы и сам же их опроверг.
Ей богу, даже коммент гостя лучше
http://govnokod.ru/19752#comment320106
kerman 05.04.2016 21:00 # 0
Да, блядь, это серьёзная проблема, потому что разведённый пиздец в таблицах порождает хаос.
>а psql чем плох? или тебе нужны свистелки и пирделки? ну так у JB есть
psql плох тем, что это не коннектор к .NET
Про JB я уже говорил, ждём пока допилят, у них сейчас Datagrip хуй кладёт на комменты, а они у меня через ORM в код проецируются.
>а ms-sql не позволяет менять движки
>вот говно же а не база, правда?
mssql говно по другим причинам. Их даже озвучивать не надо.
guest 05.04.2016 21:04 # 0
а, так тебе драйвер к .NET нужен. ты пишешь на .net а база у тебя не ms-sql? ты здоров-ли?
>>mssql говно по другим причинам. Их даже озвучивать не надо.
ну-ка, ну-ка озвучь)))
guest 05.04.2016 21:11 # 0
Все так плохо?
guest 05.04.2016 21:15 # 0
у постгри нету хорошего .NET клиента
Потому все те три человека которые пишут на .NET и используют не ms-sql и не oracle вынуждены выбирать mysql
kerman 05.04.2016 21:55 # 0
Примерно так. У нас выбор между mysql и postgresql.
Только таких, как я не 3,5 человека. Дотнетчиков сейчас очень много и гетерогенные системы не редкость. Со стороны постгри игнорировать такую толпу разрабов - просто глупость.
guest 05.04.2016 21:58 # 0
1) хрупко
2) не секурно
3) не пройдет через HTTP прокси и некоторые фаеры
4) завязывает тебя на конкретную БД
ох, ходить из десктопного клиента в СУБД по её собственному протоколу это такой 1999й год
kerman 05.04.2016 22:04 # 0
guest 05.04.2016 22:06 # 0
1)Речь шла о специфической ERP
2) у конторы не было денег на MS-SQL, но были на десктопные винды
3) контора решила делать десктопный (а не веб!) клиент (видимо потому что программист веб не умеет)
Я же говорю: три с половиной человека так делают)
kerman 05.04.2016 22:17 # +1
Да, раньше денег не было. Был один сервер для всего. Так многие начинают. Была выбрана фряха для сервера, XP для клиента, mysql и дотнет. Что, сука, удивительно, так это то, что в конторе резко появился порядок и стало понятно кого и за что ебать. Прибыль поползла вверх и через пару лет уже можно было сервера закупать пачками. В том числе и венду с mssql. Но к тому времени уже не надо было, потому что оно уже работает и все плюшки юникса уже были распробованы.
По поводу иронии над третьим вопросом, ебать вас в сраку толстым бревном, товарищ гость. Чтобы вам в фотошопе пятимегабайтные равы обрабатывать в веб-клиенте, писанном обезьянами на JS.
guest 05.04.2016 22:19 # 0
kerman 05.04.2016 22:41 # 0
guest 05.04.2016 22:45 # +2
Блин, ты реально крут: ты сделал неправильный выбор буквально везде, где только можно
1) вместо линуксов ты выбрал фрю, которая никому уже не интересна, которая нигде уже почти не используется, под которую несравнимо меньше софта, и у которой хуже файрвол и вообще не понятно зачем она нужна
2) вместо REST или SOAP ты выбрал датабазнутый API, чтобы нельзя было ни БД поменять ни клиента, ни наружу опубликовать
3) вместо веб-интерфейса который легко обновлять и который везде работает, ты нахерачил десктопный клиент на технологии которая работает толкьо на венде (наверняка же у тебя там WinForms или WPF). Завтра твой начальник купит Mac, и ты будешь всё переписывать
4) вместо нормальной БД ты выбрал какой-то обмудок, который не умеет ничего и наверняка теперь вручную реализуешь вычисляемые колонки, window functions и пр и пр
ну ты реально везучий парень!
kerman 05.04.2016 22:58 # +1
Ага, только это взлетело и работает. Успешно. Вся архитектура говно, я постоянно ищу альтернативы, но вокруг тоже говно.
> 1) вместо линуксов ты выбрал фрю, которая никому уже не интересна, которая нигде уже почти не используется, под которую несравнимо меньше софта, и у которой хуже файрвол и вообще не понятно зачем она нужна
Мне похуй, где фря используется, а где нет. Про софт ты ебанулся. Весь линукс на фре запускается. По крайней мере опенсорс.
Про файрволл ты ебанулся вдвойне. Ipfw очень хорошая штука и никто не запрещает взять линуксовый pf.
Если тебе не понятно, зачем нужна фря - ты её не умеешь готовить. Линукс я тоже умею, на одном из серверов джва года centos крутится.
>вместо веб-интерфейса который легко обновлять и который везде работает, ты нахерачил десктопный клиент на технологии которая работает толкьо на венде (наверняка же у тебя там WinForms или WPF). Завтра твой начальник купит Mac, и ты будешь всё переписывать
Чувак, это не стартап на массы. Тут веб-интерфейсы сосут. Тут, бля, своя атмосфера, надо сделать сложно и быстро. И, бля, ещё как-то управлять своей сложностью. Хуета на JS уже бы загнулась под своим весом года три назад, в то время, как дотнет со своим десктопом ещё относительно чист и готов к изменениям бизнес-логики.
"Обмудок" умеет хранить то, что я положил. Умеет транзакции. Умеет вьюхи, триггеры, внешние ключи, хранимые процедуры, репликацию. Ах, да, он ещё умеет ansi92, в отличие от...
А больше мне не надо.
> ну ты реально везучий парень!
Да, я с тобой согласен, мне просто повезло.
defecate-plusplus 05.04.2016 23:25 # +1
тут серьезно толстый клиент вместо того, чтобы работать с сервером приложений, дрочит субд прямым подключением?
я хуею
чуваак, дотнет не такой бедный на выразительные средства, чтобы не написать сраные ресты через https
тут люди в мире ваще то офис делают браузерный, мы хуярим 3д картографию на вебжл, а уж о бытовой хуите типа вебсокетов, ртц, нотификаций и просто сраных html5-css3 вещах я и заикаться не буду, мс делает IDE на жаваскрипте!!, и где-то сидит сука мозг архитектор, ебошаший толстых клиентов с прямой дрочкой базы и еще и хвалится этим
очевидно, у вас там ещё и БЕЗОПАСНОСТЬ через одинаковый логин-пароль к базе от всех клиентов?
бггг
kerman 05.04.2016 23:43 # 0
Именно так.
> чуваак, дотнет не такой бедный на выразительные средства, чтобы не написать сраные ресты через https
Нахуя?
> и где-то сидит сука мозг архитектор, ебошаший толстых клиентов с прямой дрочкой базы и еще и хвалится этим
Именно.
> очевидно, у вас там ещё и БЕЗОПАСНОСТЬ через одинаковый логин-пароль к базе от всех клиентов?
Так точно.
kerman 05.04.2016 23:44 # 0
defecate-plusplus 05.04.2016 23:49 # +3
успехов в начинаниях
хорошо что ты пришёл к нам, теперь у тебя есть возможностью подумать о правильной архитектуре, когда встанет вопрос не об автоматизации отдела продаж, а о серьезной многопользовательской системе с разграничением доступа, кросс-платформенностью, интернетом, веб-доступом и сидящими за натом клиентами с двумя открытыми портами - 443 и 80
kerman 06.04.2016 00:06 # 0
Понимаешь? Тут сидят люди с "правильной архитектурой" в голове. Они не понимают, что правильной архитектуры не существует. Не, ну правда, нет её. Есть вот вбитые штампы, что сишарп можно только с сиквелом. И уже ничего не докажешь.
Реально, я пожертвовал кросс-платформенностью, доступом из веба, натами и некоторым прочими вещами. Оно не нужно. Кросс-платформенность не нужна: есть стандартный набор ПО для сотрудника, включая офис. Чем стандартнее набор, тем проще сисадминам. Разрешать всякие линуксы и макоси у нас нельзя. Ибо нехуй.
Веб у нас не нужен. Был эксперимент, делали веб-морду. Не интересно никому. Все хотят дома отдыхать и не работать.
Доступ разграничен, кстати, не понял этого прикола, да и про многопользовательность тоже.
defecate-plusplus 06.04.2016 00:40 # 0
> правильной архитектуры не существует
если судить о том, что "мне было так проще и дешевле для 20 сотрудников", то тогда да, без вопросов, вы там хоть вприсядку можете дрочить друг другу, вести бухгалтерию в экселе - если это всех устраивает и сопровождение не сжирает прибыль и нервы, то вы правы
но давай я тебе приоткрою завесу таинства, как делают современные системы
есть три классических звена - сервер(ы) бд, сервер(ы) приложений, клиенты
если между бд и серверами приложений ты можешь сделать доверенную среду и анально огородить эту среду от внешних попыток доступа, то клиенты взаимодействуют с серверами приложений через недоверенную среду, трафик могут слушать посередине, клиенты делают что хотят, тыкают везде, клиента может захватить враг, клиент - твой ночной кошмар
при этом клиенты могут работать одновременно на куче ОС, локалей и по возможности даже не иметь тупо специальных средств под рукой воздействия на твою систему - поэтому браузер как среда исполнения задач клиента так популярна и вытесняет толстые клиенты, а уж для офисных задач и подавно, но я хочу рассказать о другом
задача приложения на сервере приложений - проконтролировать и предоставить доступ клиента к системе, к получению и внесению данных в систему - поэтому сервер приложений не должен никому ебать мозги о _визуальном представлении_ этих данных (привет, пыха), а должен кормить клиента конкретно данными - поэтому тут уже упоминалось такое слово как REST
REST отличный способ кросс-технологично отдать и принять от клиента данные, они могут быть в json, xml или в чем скажешь, в качестве протокола передачи отлично будет работать http, он работает везде, и браузер опционален для этого!
при этом сервер приложений можно сделать на чем хочешь - твой же любимый дотнет (aspnet mvc), жава, нода, напитон - да похер, тут даже не будь помянут к ночи Василий показывал, что и на пыхе пришел праздник
defecate-plusplus 06.04.2016 00:41 # 0
а выбор сетевого стека поверх http тебе даст отличную проницаемость по сетям через наты и фаерволы, достаточную безопасность (tls), постоянные соединения (websocket), мультимедия и кучу всего подобного, при этом ты на любом языке найдешь нужные библиотеки, которые уже сделали и оттестировали за тебя, получишь best practices по масштабированию, отказоустойчивости своей системы за малый геморрой и прочие плюшки
kerman 06.04.2016 01:16 # 0
REST отличный способ внести дополнительный уровень сложности. При этом нужно ещё учитывать дополнительный протокол, поддерживать миграции... Ты думаешь, я это не делал? Делал. Есть пара систем, которые я делал REST, когда ещё самого термина REST не было. Работают. Но недостаточно гибкие для изменений. Это в устаканенном проекте хорошо его использовать, с множеством работающих одновременно команд это может оказаться серебрянной пулей ) Впрочем, о чём это я? ) Серебрянной пули не существует.
Рест хорош чёткой и однозначной документацией по каждому пункту. Хорош отсутствием зависимостей от остальных частей. Это всё. Если правильно его готовить, он вкусный. Если неправильно - пизда всему... Ну, как обычно...
> при этом сервер приложений можно сделать на чем хочешь - твой же любимый дотнет (aspnet mvc)
Да я могу, но не надо же. Хотя иногда возникает желание запилить что-то идиотское. Концепция двухзвенки в том, что сервер приложений - это БД. Ну не совсем правильно, но близко к тому. Я встречал проекты, у которых было два звена, но все обращения были через ХП. Это по архитектуре трёхзвенка, у которой сервер приложений написан на sql.
kerman 06.04.2016 01:15 # 0
> чем он у вас разграничен, если любая собака ходит в базу напрямую под одним логином?
Существует, грубо говоря, два подхода к клиент-серверному взаимодействию:
1. Мы доверяем клиенту.
2. Мы не доверяем клиенту.
У меня первый случай.
>если между бд и серверами приложений ты можешь сделать доверенную среду и анально огородить эту среду от внешних попыток доступа, то клиенты взаимодействуют с серверами приложений через недоверенную среду, трафик могут слушать посередине, клиенты делают что хотят, тыкают везде, клиента может захватить враг, клиент - твой ночной кошмар
Я вижу, ты умный чувак, всё понимаешь и строишь логически связанные цепочки. А вот представь, что есть ситуация, когда между БД и клиентом есть полностью доверенная связь, гарантированно без MITM, захвата клиента врагом и вообще без вмешательства извне. Сотрудники контролируются, флешки отбираются, админских прав нет, ставить ничего нельзя.
Представил? Вот скажи, есть в таком случае хоть какое-нибудь преимущество трёхзвенки перед двухзвенкой?
> при этом клиенты могут работать одновременно на куче ОС, локалей
Вот чего ты не понимаешь, так того, что это не клиенты, а сотрудники. Да, тут коллизия терминологии, но всё же... Клиент всегда прав, а сотрудник подписался на условия, которые ему предоставляют. Поэтому у нас клиент (в терминах ИТ) очень строго стандартизирован и не может работать на куче ОС. Не говоря уже про другие вольности.
> задача приложения на сервере приложений - проконтролировать и предоставить доступ клиента к системе, к получению и внесению данных в систему
Гм. У меня первый случай. Мне просто это не надо. Сервер приложений не нужен.
defecate-plusplus 06.04.2016 01:35 # +1
нет, я это как раз очень хорошо понимаю, только в моих системах не 20 сотрудников, а тысячи, в одной из систем почти 10к если все типы посчитать, и они все дрочат систему в 2 смены без перерывов 12 часов в день 7 дней в неделю 365 дней в году минус новый год
что мне от них надо? поставьте современный браузер и проверьте доступ к цоду, всё, дальше уже локальные админы могут ебать себе и им мозги, виртуализировать десктопы на цитриксе для единообразия, ставить ампдз, запрещать флешки, ебошить узлы сопряжения, криптошлюзы, резервирование каналов, касперские - мне насрать, эта возня индейцев шерифа не волнует, мне даже инсталлятор не нужен
а ты, сэкономив и выбрав изначально неправильную схему, теперь огрёб анальные ограничения на конкретную версию ОС, да еще и какую, огого, XP, мечта, да и добавил стабильности административными мерами, дело за малым - допустить маленькую дырочку в безопасности и развалить своего глиняного колосса, опирающегося на мнимые меры
причем, ты ошибочно считаешь, что сделать систему по схеме, что я накидал в длинном посте выше, дороже или сложнее, чем вышло у тебя
REST это не что-то тайное
это API
всего лишь сраное API
которое публикуется для использования наружу
вот и всего
куда уж динамичнее и понятнее развивать и переделывать систему через доработки в апи - добавлением новых методов, переходом на новый набор методов, планомерным выпиливанием старых
kerman 06.04.2016 01:52 # −1
Нихуя не понял, кроме того, что тебе инсталлятор не нужен.
> а ты, сэкономив и выбрав изначально неправильную схему, теперь огрёб анальные ограничения на конкретную версию ОС, да еще и какую, огого, XP, мечта, да и добавил стабильности административными мерами, дело за малым - допустить маленькую дырочку в безопасности и развалить своего глиняного колосса, опирающегося на мнимые меры
Что ты за хуйню несёшь? ХР была выбрана, когда ещё семёра не выпускалась. Сейчас всё прекрасно на семёре, 8.0, 8.1 работает. Тестируется на десятке.
> причем, ты ошибочно считаешь, что сделать систему по схеме, что я накидал в длинном посте выше, дороже или сложнее, чем вышло у тебя
Почему ошибочно? Есть такая практика.
> REST это не что-то тайное
> это API
> всего лишь сраное API
> которое публикуется для использования наружу
> вот и всего
Даааааа... Всего лишь апи. Вроде как XML - это формат файла. Шутка такая ходит, что XML такой же нечитаемый, как бинарные файлы, и такой же раздутый, как текстовые. Взял самое лучшее. Не в обиду XML, я сам им часто пользуюсь.
Так вот. Это сраное апи - это не апи а паттерн апи.
Рест - не апи.
Апи - не рест.
Настоящее апи нужно ещё придумать, придерживаясь рест. И придумать так, чтобы болото не проржавело. Тебе знаком термин "кровавый энтерпрайз"? Так вот, тут почти оно.
> куда уж динамичнее и понятнее развивать и переделывать систему через доработки в апи - добавлением новых методов, переходом на новый набор методов, планомерным выпиливанием старых
Тут зелёного не хватает или я что-то не понимаю? Я без реста всё это прекрасно делаю.
defecate-plusplus 06.04.2016 02:10 # +1
ок, тут начальство себе imac 5k купило, там можно?
ой, тут неплохо бы запустить в пешее неэротическое путешествие сотрудника с мобильным устройством, ну ладно телефон, можно ведь на планшет?
> Настоящее апи нужно ещё придумать
а, ну с этого и надо начинать
система-то ещё очень незрелая, всего лишь запустилась, когда семерка еще не вышла, пока ещё не очень ясно, какие функции выполняет
> без реста всё это прекрасно делаю.
пока что я вижу все признаки неразделяемого монстра
чем слабее у тебя будут связи между модулями, компонентами, слоями, тем лучше такая система себя будет чувствовать в долгосрочной перспективе - по-моему, очевидный факт
> Вроде как XML - это формат файла.
нет, это всего лишь один из многих "транспорт" для пересылки объектов (сущностей), ведь части твоей системы обмениваются объектами, способ их записи вторичен, и этот способ просто не должен создавать проблемы
нам удобнее с json, хотя жабьему сериализатору вообще насрать, он посмотрит на Accept в заголовке запроса и постарается подобрать формат под то, что попросил клиент
думаю, на любом языке найдется уже готовая библиотека, способная десериализовать/разобрать xml или json
kerman 06.04.2016 02:34 # −1
Нельзя. Начальство работает только на том, что одобрили сисадмины.
>ой, тут неплохо бы запустить в пешее неэротическое путешествие сотрудника с мобильным устройством, ну ладно телефон, можно ведь на планшет?
Теоретически можно, практически никто не хочет. Я об этом писал. Ограничились уведомлениями по джабберу и электромейлу.
Сколько копий уже сломано... Не бывает универсальных приложений под десктоп и мобилы. Слишком разные платформы, use cases... Разное всё. Так что да, в пешее эротическое. Впрочем, сами сотрудники в восторге. На работе они работают, дома они отдыхают.
> чем слабее у тебя будут связи между модулями, компонентами, слоями, тем лучше такая система себя будет чувствовать в долгосрочной перспективе - по-моему, очевидный факт
Смотри в чём парадокс... Я с тобой согласен, что монолитные системы - это зло. Я поклонник идеологии юникс, где каждая программа делает только маленькую задачуу, но делает её хорошо. По этой же причине я люблю REST. Она, как мне кажется, наследник идеологии UNIX.
Только вот бизнесу лучше, когда технологии становятся монолитнее. Не надо запускать много программ, не надо помнить кучу интерфейсов, надо сделать большой комбайн, который умеет всё. Тупо меньше проблем. Да и идеологически каждая компания старается стать монолитом. Какой нахуй рест?
Ах, да, я же не умею рест готовить... Ну да, надо ещё к этому ресту написать клиента, который будет в курсе всех точек апи. Ну теперь заебись заживём. Теперь нам нужно будет поддерживать изменения не только ветки клиент-БД, но и клиент-рест и рест-бд. И что-то мне подсказывает, что сложность тут нихуя не линейная. А с приходом миграций это превращается в полный ад и израиль.
> нет, это всего лишь один из многих "транспорт"
Точно. А теперь почему транспорт БД плох?
defecate-plusplus 06.04.2016 08:49 # +2
разве не очевидно? херовой кросс-платформенностью
на каких языках и технологиях ты можешь перереализовать источник и приёмник?
я писал про слабые связи - это то, когда ты можешь малой кровью заменить один компонент другим, переписанным с нуля, находящимся на другой машине etc, лишь бы этот компонент удовлетворял интерфейсу
теперь попробуй заменить один из концов в твоем мускульном транспорте
> Нельзя. Начальство работает только на том, что одобрили сисадмины.
оксюморон
> Не надо запускать много программ, не надо помнить кучу интерфейсов
абсолютно несвязанные выводы с обсуждаемой темой, у клиента всё та же одна программа, ему насрать как и с кем она взаимодействует
но раз уж ты заговорил про пользовательские интерфейсы
ваш толстый клиент, очевидно, не умеет в разделение по ролям - а ведь разным ролям пользователей нужны разные функции, мелким обезьянам одни, попроще, суперпользователям другие, побогаче
у этого множества функций есть пересечение, а есть отличие
ты сейчас предпочитаешь считать, что "но неет, пусть все сотрудники умеют всёё", но это не так, всегда не так
так вот, клиент ваш должен уметь в некую модульность, где 1 модуль - один блок функций, модули могут даже выстроиться в дерево, это кирпичи из которых построится конечный клиент
и по возможности, если пользователь урезан в правах, у него не должно быть даже физического доступа к модулю не его функций, не говоря уж о бытовом - подсмотреть, даже в disabled виде
стоит ли говорить, что эти самые кирпичи должны быть максимально отвязаны друг от друга, и взаимодействовать только в четко оговоренных границах и способах, например, через единую точку в приложении (шина), вместо ламерской хаотичной паутины связей, ибо вангую, у вас именно так, "монолит итить", несопровождаемый и неподдерживаемый
kerman 06.04.2016 09:13 # −2
> на каких языках и технологиях ты можешь перереализовать источник и приёмник?
Не очевидно. Транспорт к бд есть под почти любой ос, за исключением совсем уж экзотики. Конкретно эта, вендовая, реализация запускается ещё и под моно.
> ваш толстый клиент, очевидно, не умеет в разделение по ролям - а ведь разным ролям пользователей нужны разные функции, мелким обезьянам одни, попроще, суперпользователям другие, побогаче
Не очевидно. Очевидно, что он теоретически умеет всё, но это не значит, что он не умеет сам, внутри себя разграничивать права.
> через единую точку в приложении (шина)
бггг... Что-то вспоминается "общая шина" http://www.ashmanov.com/pap/bubble#p4.9.2
> несопровождаемый и неподдерживаемый
Вот тут как раз всё отлично. Что-то выводы в говно скатились. На основании того, что клиент монолитен, делать выводы об отсутсвии разграничения ролей, лапши в коде и отсутсвия сопровождаемости? Ну-ну...
defecate-plusplus 06.04.2016 10:26 # +2
у меня андроид, там тоже можно? через 80 порт будет работать?
а ситуация, когда оракл купил и угробил мускул, а комьюнити развалилось, потому что главный разраб завтра пристрелит жену?
и ещё ладно, взял бы odbc, чтобы было более-менее насрать какая субд, выделил бы специализацию субд в отдельный слой, но ты сейчас сам себе вендор лок в проект притащил
я заебался доказывать очевидное
> Что-то вспоминается "общая шина"
ламерский нигилизм
почему тебе не вспоминается общая шина, когда ты сидишь за компьютером (pci, hypertransport, usb)? чего может быть плохого в очевиднейшей парадигме, что вместо паутины связей можно все компоненты развязать и просто отделить отправку события от получения события, добившись унификации способа и по пути получив связь 1-N, отложенную доставку и масштабирование?
> лапши в коде
у меня нет причин думать иначе
1) я сделал вывод, что это вообще в принципе твой единственный проект, дело жизни, и поэтому кругозор очень узкий, нет понимания, почему лучше так, или иначе, т.к. нет опыта и набитых шишек
2) все такие проекты никогда не отличались продуманной архитектурой, и со временем порастают костылями как грибком ("когда ещё семерки не было") сильнее, чем должны были
3) если до сих пор слово "апи" внушает трепет и страх, вывод понятен - лапша
> об отсутсвии разграничения ролей
если клиент ходит в базу под общим паролем, делает вывод, что он имеет урезанные права только на основе того, что ему придет из базы, то он может стать суперпользователем, и ему никто не помешает, кроме мер по защите "нельзя вставлять флешки в системники!!!1, нельзя запустить не мой софт, нельзя запустить скрипт в баше, нельзя принести свой ноутбук и подключиться в ту же сеть, нельзя забрать мой софт домой"
когда речь идёт о людях, а не закрытой серверной, это всё работает очень хуево, тебя пока спасает {малый масштаб, тупизна пользователя, ненужность конкурентам} (выбери несколько сам)
kerman 06.04.2016 11:15 # −2
Ну что за наивность, а? Я тут расписываю, что для андроида нужно поменять вообще всё. Это не десктоп, тут тупо другие способы взаимодействия нужны, другой дизайн. Другая архитектура вообще. Подключение к БД тут ни при чём.
И кстати, да, будет. Делал часть системы на веб. Работало, но было выпилено, ибо было неудобно в силу ограниченных возможностей веба и никто этим не пользовался. А поддерживать в параллели два фронтэнда дорого.
> чего может быть плохого в очевиднейшей парадигме
В том, что у любой парадигмы есть область применения, плюсы и минусы. И свято верить, что эта парадигма подходит для всех случаев, как минимум, глупо.
Очень веселят, кстати, люди, для которых всё очевидно. Вот ещё никаких деталей нет, но уже уверен, как надо. https://ru.wikipedia.org/wiki/Эффект_Даннинга_—_Крюгера , не?
> а ситуация, когда оракл купил и угробил мускул, а комьюнити развалилось, потому что главный разраб завтра пристрелит жену?
Пффф... Маша/перкона и пара часов миграции, включая кофе-брейк. Чуть дольше постгри.
> и ещё ладно, взял бы odbc, чтобы было более-менее насрать какая субд, выделил бы специализацию субд в отдельный слой, но ты сейчас сам себе вендор лок в проект притащил
Лол, шта? То есть дотнет совсем не смущает, который ой какой вендор-лок, а вот выбор субд, это даааа...
> нельзя запустить не мой софт
Товарисч ещё в банках не работал. Там вообще интернета нет.
defecate-plusplus 06.04.2016 11:33 # +2
нет, когда его легко заменить на любой другой вариант
если он связан с системой по спецификации, по понятным и свободным протоколам взаимодействия, его легко переделать на любую другую вещь, qt, дельфи, веб-клиент, остальные части системы даже не почувствуют изменений
если он начинает связываться с другими компонентами через вендор-лочные протоколы, то это пизда
> Товарисч ещё в банках не работал. Там вообще интернета нет.
а причем тут интернет? снова неверный вывод
перечитай ещё раз, что я написал
(уверен, на компьютерах твоих сотрудников стоят аппаратные модули доверенной загрузки, контроль биоса, физические средства ограничения доступа внутрь системника, отключены usb, firewire порты, нет оптического привода, стоят сертифицированные ОС и СПО, ты не используешь вайфай, вместо меди у тебя оптика в скс, сетевое оборудование контролирует маки, собираются и анализируются логи сети на предмет взлома, есть разделение на изолированные контуры сети, отделы по возможности не видят друг друга, стены и окна оклеены защитой, сетевое и серверное оборудование стоит в аттестованном помещении с ограничением доступа и опечатыванием, сетевое оборудование сертифицировано, написана разрешительная документация и, наконец, этот контур аттестован на хотя бы самый слабый класс защищенности - и вот это вышеописанное всё равно не является гарантией безопасности)
kerman 06.04.2016 11:56 # −2
Бгг. Как ты себе представляешь лёгкую смену основного языка?
> если он начинает связываться с другими компонентами через вендор-лочные протоколы, то это пизда
Я решительно не понимаю, в чём тут пизда. Есть вот открытый протокол (ОП), есть вендор-лок. Есть схема ОП->ВЛ->ВЛ->ОП. Ну надоест, можно середину выкинуть, вставить что-нибудь другое. Тот же odbc. Где тут трагедия?
> всё равно не является гарантией безопасности
Вот что ты до безопасности доебался? Конечно, не является. Ничего на свете не является абсолютной гарантией безопасности. Безопасность должна быть, её должно быть не слишком мало, чтобы избежать утечек информации и не слишком много, чтобы не мешать работать. А пока сотрудники используют пароли вроде "123" или "qwerty" смысла нет никакого анально огораживать сервер от клиента, ибо хрупкость совсем в другом месте.
defecate-plusplus 06.04.2016 12:10 # +2
легко
как по твоему пишут системы, где в качестве клиента является и толстый, и тонкий, и мобильный? почему у нас выходит, а у вас не выйдет?
все три типа клиента, причем, будут построены вполне на одинаковых принципах - вариации mvc есть везде, на любом языке ты найдешь нормальный фреймворк, открой для себя разделение кода проекта на зоны ответственности, 2016 год на дворе
меня не пугает переделка клиента на другом языке, это предсказуемые косты и, главное, нулевой простой системы в целом
> Тот же odbc. Где тут трагедия?
вики - разграничение доступа, мандатный контроль
я не буду повторяться, это твоя дыра в системе, живи с этим
так толстый софт писали много лет назад, во времена дельфи
> и не слишком много, чтобы не мешать работать
закрытые порты и интернет - это и правда удобно
> пароли вроде "123" или "qwerty"
ты ошибочно считаешь, что вред может прийти только снаружи
предлагаю дискуссию закончить, времени нет на неё
kerman 06.04.2016 01:54 # −3
guesto 06.04.2016 00:01 # 0
>>Про софт ты ебанулся. Весь линукс на фре запускается. По крайней мере опенсорс.
Софт линуксовый запускается через эмуляцию Linux ABI, попробуй запусти на фре Оракл или Java
>>Про файрволл ты ебанулся вдвойне. Ipfw очень хорошая штука и никто не запрещает взять линуксовый pf.
как? как ты умудрился сказать сразу три (!!!) глупости в одном предложении???
1) pf это OpenBSD а не Linuxовый файр
2) линуксовый файр называется iptables
3) он несоизмеримо круче ipfw
4) он не может работать на freebsd впринципе ибо он user space утилита к netfilter, которого на фре нет
>>Линукс я тоже умею
именно потому ты даже не знаешь как там файрвол называется
>>Хуета на JS уже бы загнулась под своим весом
вебморду совершенно не обязательно писать на JS.
Вылезай уже из 2004го года!!
>>А больше мне не надо.
Типичный Bulb Paradox (http://c2.com/cgi/wiki?BlubParadox)
kerman 06.04.2016 00:11 # 0
Лол, што? Джава под фрибсд? Нонсенс, товарищи, нонсенс.
> 1) pf это OpenBSD а не Linuxовый файр
Да, признаю косяк, забыл уже.
> 3) он несоизмеримо круче ipfw
Бред.
> 4) он не может работать на freebsd впринципе ибо он user space утилита к netfilter, которого на фре нет
По другой причине. Он там не нужен.
guesto 06.04.2016 00:19 # 0
тогда зачем врать что "все линуксовое работает"?
>>Бред.
сразу видно что ты ничерта не понимаешь в том, о чем говоришь. Не удивительно что у тебя такие архитектуры получаются)
iptables со своими таблицами, conntrackами и пр на голову круче, и это была одна из причин выбора линукса в качестве роутера для огромного кол-ва оборудования (другая причина бизибокс и лицензии)
>>По другой причине. Он там не нужен.
:))))))
гуманитарий?)
kerman 06.04.2016 00:28 # −1
Чорд. Я зелёным забыл выделить.
> iptables со своими таблицами, conntrackами
ipfw tables я юзал, кажется, в 2009 году. Ой, я забыл, они до сих пор юзаются )
Conntrack, это connection tracking? Тогда можно pfctl -s states. Мне не надо было, я не изучал. Да и вообще я уже давно не сисадмин.
> гуманитарий?)
Хуже. Я тот, кто пошлёт тебя нахуй.
guesto 06.04.2016 00:32 # 0
зёленым можно выделять все твои опусы)
>>ipfw tables
ну я же говорю: всё зеленым можно
>>Хуже. Я тот, кто пошлёт тебя нахуй.
вот так всегда и бывает, когда кончаются аргументы)
ладно, я не доктор всех лечить
адьйос
defecate-plusplus 06.04.2016 00:57 # +1
с прибавлением
LispGovno 05.04.2016 21:58 # 0
kerman 05.04.2016 22:02 # 0
Ритуал "нахуа".
guest 05.04.2016 22:03 # 0
Ритуал "нахуа".
LispGovno 05.04.2016 22:22 # 0
Когда все уже реализовано и работает - это называется препятствие)
Но мне другое интересно: почему когда оно не было реализовано выбор пал не туда?
kerman 05.04.2016 22:38 # 0
kerman 05.04.2016 21:20 # 0
У меня сервер на FreeBSD. И, честно говоря, он мне нравится. ZFS четвёртый год с ежедневным снапшотом, крон, апач/энжинкс, портыыыыы, сука портыыы! Джайлы! А самое главное - ты можешь расковырять что угодно и встроиться куда угодно. Jabber сервер на основе почтовых адресов? Легко! Считать байтики пользователей на шлюзе? Легко! Порезать скорость инета? Легко! Отправленные письма в белый список, серый список прогонять через спаморезку? Легко.
Поебавшись с серверами на венде, больше не хочется к ним возвращаться. Там другая идеология. Если никто твою проблему раньше не решил, то хуй ты получишь результат. Если нет в настройках нужной галочки, можешь сразу забыть, хоть обкликайся по окошкам.
>>mssql говно по другим причинам. Их даже озвучивать не надо.
>ну-ка, ну-ка озвучь)))
1. Денег хочет. Можно express/таблэтку, но там тоже свои недостатки.
2. Вендаонли. Венда денег хочет на железо и лицензию.
guest 05.04.2016 21:24 # 0
а .NET у тебя тоже на FreeBSD?
>>портыыыыы, сука портыыы!
что порты? пекедж менеджмент есть у всех линуксов, и даже у винды 10 есть oneget
>>Джайлы
про докер слышал?
>>почтовых адресов?
>> Легко! Считать байтики пользователей на шлюзе? Легко! Порезать скорость инета? Легко!
лол, у тебя почтовик, джаббер, шлюз с шейпингом и база данных на одной машине?)
ты мега крутой админ, я смотрю
>>Денег хочет.
ггг
>> Вендаонли.
ну расскажи мне как хорошо у тебя на FreeBSD работает CLR:)
kerman 05.04.2016 21:31 # 0
Я понимаю, что сарказм, но нет. Клиентские машины под вендой. Нельзя так жестоко с сотрудниками )
>>портыыыыы, сука портыыы!
>что порты? пекедж менеджмент есть у всех линуксов, и даже у винды 10 есть oneget
Ты package management с портами не путай. Тут интернет, могу и хуями обложить. Во фряхе тоже никто пакаджи ещё не запрещал использовать, как и другие, сильно альтернативные способы установки.
>>Джайлы
>про докер слышал?
Слышал. Вот не надо докер с джайлами путать. Кстати, опять же, докер под FreeBSD никто не запрещал.
>> Вендаонли.
>ну расскажи мне как хорошо у тебя на FreeBSD работает CLR:)
Ну пробовал, работает. Пока нинада.
guest 05.04.2016 21:36 # 0
Итого: у тебя клиенты под виндой и ходят по мускульному протоколу на сервак под фрей? В 2016м году не типичная, скажем так, архитектура) Сам придумал?
>>Ты package management с портами не путай. Тут интернет, могу и хуями обложить.
Вся разница портов в том, что они собираются из сырцов. Как в архлинуксе или генте. Причем тут интернет>?
>>Слышал. Вот не надо докер с джайлами путать.
Эффект тот же
>>. Кстати, опять же, докер под FreeBSD никто не запрещал.
Docker on FreeBSD is experimental, ггг
а так-то он и под винду есть (через гипер в)
>>Ну пробовал, работает. Пока нинада.
Ну да, CLR под фрю работает, а Npgsql нет
ггг
kerman 05.04.2016 21:50 # 0
>Итого: у тебя клиенты под виндой и ходят по мускульному протоколу на сервак под фрей? В 2016м году не типичная, скажем так, архитектура) Сам придумал?
У меня профессия - решать нетипичные задачи. Решения тоже получаются нетипичные. Кстати, слито пишется.
>>Ты package management с портами не путай. Тут интернет, могу и хуями обложить.
> Вся разница портов в том, что они собираются из сырцов. Как в архлинуксе или генте. Причем тут интернет>?
Молодец.
>>. Кстати, опять же, докер под FreeBSD никто не запрещал.
> Docker on FreeBSD is experimental, ггг а так-то он и под винду есть (через гипер в)
Под фря он есть без костылей и гипер-в. И не путай фряшное "experimental" с линуксовым. Тут это значит, что оно работает, основные баги пофикшены, но ещё до конца ещё не обкатали. Там пока не обкатают, в порты не выкатят стабильную версию, в отличие от... Это кстати, с другой стороны, недостаток портовой системы.
>>Ну пробовал, работает. Пока нинада.
>Ну да, CLR под фрю работает, а Npgsql нет ггг
Ты, бы хоть погуглил, что такое npgsql, мудило.
guest 05.04.2016 21:54 # 0
через жопу, да
>>Кстати, слито пишется.
слито, да
>>Молодец.
я-то да, я ведь в курсе что такое порты, ггг
>>Под фря он есть без костылей и гипер-в.
сразу видно что ты не знаешь ни что такое гипер-в, ни что такое докер. Как докер может работать без костылей под фрей если он сделан поверх линуксовых системколов которые фря эмулирует через Linux ABI emulation?
>>Там пока не обкатают, в порты не выкатят стабильную версию, в отличие от...
от чего? от дебиана? от redhat / centos? ггг
>>Ты, бы хоть погуглил, что такое Npgsql
ado.netовский драйвер для постгри под .net, про который ты сказал что он не очень стабилен
С такими божественными архитектурами конечно нужно думать о стабильности
Открой уже для себя веб-сервисы и тонкие клиенты, например
2016й год
kerman 06.04.2016 00:21 # 0
guesto 06.04.2016 00:23 # 0
kerman 06.04.2016 00:30 # 0
Что, не знаешь, мудило?
guesto 07.04.2016 22:03 # 0
Тонкий клиент качается тут: https://login.salesforce.com/
kerman 08.04.2016 01:46 # 0
guest 08.04.2016 01:51 # 0
kerman 08.04.2016 01:54 # 0
guest 08.04.2016 02:03 # 0
3_14dar 07.04.2016 07:41 # 0
3_14dar 07.04.2016 07:41 # 0
defecate-plusplus 07.04.2016 08:35 # 0
гугли ole db, ado, ado.net, ef - и это только порождения m$
а началось всё с дельфи - bde, dbexpress
guesto 07.04.2016 22:03 # 0
ну а вообще типичнейшее приложение 1999го года это Delphi клиент и БД на сервере
kerman 07.04.2016 21:57 # 0
kerman 08.04.2016 21:59 # 0
guest 08.04.2016 22:54 # 0
kerman 08.04.2016 23:36 # +2
guest 08.04.2016 23:38 # +4
guesto 10.04.2016 05:35 # 0
kegdan 10.04.2016 11:44 # +3
kerman 11.04.2016 03:28 # 0
kerman 05.04.2016 21:33 # 0
> лол, у тебя почтовик, джаббер, шлюз с шейпингом и база данных на одной машине?)
> ты мега крутой админ, я смотрю
Нет. И я не админ.
guest 05.04.2016 21:41 # 0
тогда к чему весь этот пафос про почту и джаббер?
ты типа вчера открыл для себя бесплатные юниксовые операционки с открытым исходным кодом и пытаешься рассказать что они лучше виндуоса?
kerman 05.04.2016 21:58 # 0
LispGovno 05.04.2016 22:04 # 0
Чтоб я так жил! Обожаю копи он врайт
kerman 05.04.2016 22:06 # 0
LispGovno 05.04.2016 22:09 # 0
kerman 05.04.2016 22:31 # 0
LispGovno 05.04.2016 22:06 # 0
У меня всё работает под линухом. Ты просто не асилил.
kerman 05.04.2016 20:02 # 0
guest 05.04.2016 20:03 # +2
рендомное?
kerman 05.04.2016 20:10 # 0
guest 05.04.2016 20:11 # 0
ну, кроме MySQL
хотя это и не СУБД
bormand 05.04.2016 20:20 # 0
kegdan 05.04.2016 20:42 # +1
guest 05.04.2016 20:52 # 0
во-вторых постгря тожебесплатна
kegdan 05.04.2016 20:55 # 0
Покажи те мне того, кто ее купил
>> во-вторых постгря тожебесплатна
MSSQL тоже в чем то бесплатна, че уж
kerman 05.04.2016 20:49 # 0
guest 05.04.2016 20:52 # 0
в MySQL её тупое поведение не дает никаких преимуществ
kerman 05.04.2016 20:55 # 0
defecate-plusplus 05.04.2016 22:08 # 0
хочешь получить для каждого заказчика одну запись? воспользуйся row_number() over (partition by zakaz4ik order by 1) и забери во внешнем запросе строки где это значение =1
но это же майскловно, здесь нет оконных функций, зато тут можно глянуть особенности, порядок цифр, очень полезная вещь
фублять
guest 05.04.2016 22:26 # +1
там люди реально временные таблицы делают
иначе никак
kerman 05.04.2016 22:27 # 0
У меня свои, ебанутые, ожидания от программ. К примеру от баз данных я ожидаю того, что они мне вернут в точности то, что я туда положил когда-то. Вот я ебанутый, да?
guest 05.04.2016 22:28 # 0
дай-ка угадаю: и это умеет делать только mysql, да?
kerman 05.04.2016 22:32 # 0
defecate-plusplus 05.04.2016 23:04 # 0
kerman 05.04.2016 23:24 # 0
Сишарпик не позволяет взять байт без проверки на границы массива. Ну то есть позволяет, если ты прочитаешь рихтера и кровью распишешься под unsafe... По дефолту нет.
Аналогия понятна? Мускуль - кресты, сишарпик - постгри.
Отличие разрешения групбай от крестов в том, что это таки не выстрел в ногу. Ты просто получишь результат. Какой? А какой запрашиваешь, такой и получишь. Мусор на входе - мусор на выходе, не?
Но ничего не повиснет и бсода не будет. Просто результат, над которым ты можешь помедитировать и погуглить.
Vasiliy 05.04.2016 20:52 # 0
Vasiliy 06.04.2016 09:57 # +3
Можно еще посраться на тему MariaDb vs Percona Server.
sphinx vs elasticsearch очень интересуют эти темы. А всяким мудилам с хабра я не верю.
1024-- 06.04.2016 10:36 # 0
Vasiliy 06.04.2016 10:41 # 0
1024-- 06.04.2016 10:42 # 0
Vasiliy 06.04.2016 15:55 # 0
chtulhu 07.04.2016 08:22 # 0
Вестник говнокода же
kegdan 06.04.2016 16:56 # 0
Что я пропустил?
Vasiliy 06.04.2016 18:03 # 0
guesto 06.04.2016 16:00 # 0