LINUX.ORG.RU

Релиз Microcached 1.0

 microcached,


1

4

Microcached — маленький и эффективный кэш-демон.

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

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

Хочу представить сообществу продукт своего труда — маленький и эффективный кэш-демон Microcached 1.0.

Среди поддерживаемых платформ на данный момент только операционные системы на базе ядра Linux.

Основные возможности демона:

  • Маленький и эффективный, написан исключительно на Си, используется механизм опроса файловых дескрипторов Linux epoll API;
  • возможность работать с кэш-записями размером до 4ГБ ОЗУ (суммарное ограничение для одной записи);
  • очень простой, такой же простой, как и Memcached;
  • позволяет выполнять запросы на фильтрацию/удаление ключей (и записей, ассоциированных с ними) за счет использования регулярных выражений PCRE;
  • предоставляет простой и понятный клиентский интерфейс, бинарный протокол общения между клиентом и сервером.

Лицензия MIT.

>>> Подробности



Проверено: Falcon-peregrinus ()
Последнее исправление: DeadEye (всего исправлений: 4)

Ответ на: комментарий от tuk9

Наверное, стоит начать с этого: https://en.m.wikipedia.org/wiki/Proactor_pattern и https://en.m.wikipedia.org/wiki/Reactor_pattern

Примеры реакторов: классическое мультиплексирование сокетов на select, epoll, kqueue и так далее, циклы обработки событий (event loop) в GUI. То есть всё то, где запускается синхронный обработчик на асинхронное событие.

Примеры проекторов: windows IOCP, Boost Asio, libuv, из жизни: дал поручение и продолжил заниматься другими задачами, а тебе потом только подошли и сказали, что всё готово. То есть всё то, где задача запускается асинхронно, а по завершении вызывается колбек.

h4tr3d ★★★★★
()
Ответ на: комментарий от h4tr3d

Все равно непонятно, из совместимого остается только библиотека libuv, но в описании ее дизайна сказано:

The I/O (or event) loop is the central part of libuv. (http://docs.libuv.org/en/v1.x/design.html)

А event loop по вышесказанному выходит ближе к реактору..

Мне бы конретный небольшой пример приложения (не библиотеки) на select/poll/epoll.

Спасибо.

tuk9
()
Ответ на: комментарий от tuk9

А я выше написал, что на эвент лупе можно просто эмулировать проактор. То есть поверх реактора достаточно просто сделать проактор. А вот наоборот - нет. Собственно, необходимость использовать IOCP на винде, продиктовало архитектуру asio, libuv.

h4tr3d ★★★★★
()
Ответ на: комментарий от anonymous

Да. Типа добро пожаловать в аснхронное программирование. Без короутин тут не сильно приятно. А с короутинами не сильно приятно отлаживаться в виду отсутствия поддержки в отладчиках.

h4tr3d ★★★★★
()
Ответ на: комментарий от excanoe

я поделился

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

почему проект я написал на Си, а не скажем на Go или Rust. Ну или Java

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

Кстати, в принципе, сам факт того, что я поддерживаю только linux, с вашей точки зрения, вполне можно расценивать как неуважение к пользователям всех остальных ОС.

Я ещё не смотрел код, и по умолчанию предполагаю что ты просто не осилил протестироваться на чём-то помимо собственного десктопа, поэтому этим заявлением просто прикрыл свою жопу. Если ты действительно ухитрился завязаться где-то на linux, это скорее по ламерству, чем намеренно.

slovazap ★★★★★
()
Ответ на: комментарий от Chaser_Andrey

Нормальный хостинг, на GitHub мир клином не сошелся.

Вообще-то сошёлся.

И git format-patch никто не отменял.

Почему сразу не почтой россии?

slovazap ★★★★★
()
Ответ на: комментарий от h4tr3d

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

tuk9
()
Ответ на: комментарий от tuk9

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

Если же с сокетами и epoll/select, то проактор нагородить нужно. Собственно - libuv и asio это и есть та самая надстройка + абстракции работы с сокетами.

А пример реактора - man 2 select или man 7 epoll. Во втором случае - чётко увидишь и «event-loop», где эвенты - это события на сокетах (есть данные, есть место для отправки), а операции непосредственно чтения или записи - реакция на данные события.

Всякими libev/libevent сверху настраивается дополнительная, не совсем очевидная логика: таймеры, idle-таски, signal-watching.

h4tr3d ★★★★★
()
Ответ на: комментарий от slovazap

Вообще-то сошёлся.

Разве что в твоем хипстерском воображаемом мире.

Почему сразу не почтой россии?

Потому что отсылка патчей - это стандарт де-факто во многих проектах, и способ который используется уже многие годы. Лучший пример - ядро linux.

Пулл-реквест через web-интерфейс - то же самое, только с розовыми пуговицами.

Chaser_Andrey ★★★★★
()
Ответ на: комментарий от Chaser_Andrey

Разве что в твоем хипстерском воображаемом мире.

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

Если нужны реальные цифры, возьмём для примера порты FreeBSD - за последний год число портов которые тянутся с GH возросло более чем в полтора раза - с 970 до 1631. В лидерах за счёт легаси сорсфорж, но он, естественно, падает - 3168 -> 3067. Битбакета - всего 87 штук, даже savannah в полтора раза больше.

Так что не заливай про свой воображаемый ретрогдарский мир, сообщество выбрало GH, точка. Если ты не на GH - тебе сообщество не нужно, а кому нахрен нужен такой «открытый» проект - большой вопрос.

Потому что отсылка патчей - это стандарт де-факто во многих проектах, и способ который используется уже многие годы. Лучший пример - ядро linux.

Хорошо слова выбрал, «лучший». Так и скажи - практически единственный. Слабо хотя бы десяток назвать? И возможно это будет для тебя открытием, но значительная часть разработки ядра происходит таки на GH. git log | grep github | wc -l, если чо.

Пулл-реквест через web-интерфейс - то же самое, только с розовыми пуговицами.

Так же как и электронная почта по сравнению с голубиной.

slovazap ★★★★★
()
Ответ на: комментарий от slovazap

слежу за и контрибучу в свободные проекты

Видимо, это не имеет никакого отношения к делу, потому что дальше ты противоречишь сам себе:

На bitbucket, если уж мы о нём, я вообще ни одного не видел.

Битбакета - всего 87 штук

И при этом на битбакете 3 миллиона(!) разработчиков. И ещё немного устаревшей статистики за 2014 https://blog.bitbucket.org/files/2015/02/2014-in-review-final.jpg

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

Если нужны реальные цифры, возьмём для примера порты FreeBSD - за последний год число портов которые тянутся с GH возросло более чем в полтора раза - с 970 до 1631. В лидерах за счёт легаси сорсфорж, но он, естественно, падает - 3168 -> 3067. Битбакета - всего 87 штук, даже savannah в полтора раза больше.

В лидерах ... сорсфорж 3067

GH .. 1631

Ты же сам видишь, что мир клином на GH не сошелся. Зачем так упорно отрицать то, что сам же подтверждаешь своими цифрами?

Алсо, только в основном дереве Gentoo 244 проекта на Bitbucket.

Так что не заливай про свой воображаемый ретрогдарский мир, сообщество выбрало GH, точка. Если ты не на GH - тебе сообщество не нужно, а кому нахрен нужен такой «открытый» проект - большой вопрос.

3 миллиона разработчиков на Bitbucket.

3.3 миллиона разработчиков на SourceForge.

FSF

100 тыс организаций, использующих GitLab.

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

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

Проекты GNU и на nongnu.org, проекты на SourceForge. Наберется более тысячи, это уж точно.

Chaser_Andrey ★★★★★
()
Ответ на: комментарий от Chaser_Andrey

ты противоречишь сам себе

Нет, потому что этих 87 портов я в глаза не видел.

И при этом на битбакете 3 миллиона(!) разработчиков

По твоей ссылке два с половиной. Но это не важно, сначала посчитай у скольких из них есть хотя бы один репозиторий и вообще активных. Я тоже зарегистрирован на BB, но даже форков у меня нет, потому что форкать там нечего. Но пусть даже и 3. На гитхабе тем временем 15 миллионов.

Ты же сам видишь, что мир клином на GH не сошелся. Зачем так упорно отрицать то, что сам же подтверждаешь своими цифрами?

Фанатики такие фанатики - ткни рожей, всё равно будут чёрное белым называть.

3 миллиона разработчиков на Bitbucket.
3.3 миллиона разработчиков на SourceForge.

А теперь добавь туда launchpad, gitlab, саванну, не знаю, notabug какой-нибудь, просуммируй и сравни с GH - он всё равно больше их вместе взятых, и при этом растёт быстрее. Это как-бы и есть «клином сошёлся». А знаешь почему? Потому что сообщество тем эффективнее работает чем более оно целостно, поэтому оно в одном месте и собирается. И никто из новых разработчиков поколения уже не будет даже регистрироваться на sourceforge, потому что 3M гниющих там проектов ему не интересны, а всё интересное и живое - на GH. И на bitbucket не будет по той же причине. А о том чтобы регистрироваться на каком-нибудь частном локалхосте с собственным mantis'ом или redmine (есть тут отбитые которые публичные хостинги вообще не переваривают и всем того же советуют) - и думать забудьте (у меня ещё валяется файл с 225 логинами-паролями от такой пакости, не помню когда им последний раз пользовался).

А на github - зарегистрировался один раз и доступен весь мир свободной разработки. Фолловишь человека - видишь все его действия, потому что лазить по десятку хостингов для разных проектов ему не нужно. Видишь форки - значит видишь все публичные форки, потому что держать зеркала в других местах нет смысла, ибо все кто их смотрит уже есть на GH. И внешние сервисы интегрируются с GH, замечу, а не маргинальщиной. И хедхантеры на GH смотрят. И так далее.

Так вот если ты не на GH, то хочешь - не хочешь, ты сам себя изолируешь от сообщества. Какие перспективы могут быть у СПО которое само себя изолирует от контрибуторов и пользователей - понятно. Будет ли вменяемый человек на такое даже смотреть - тоже. Зачем выкладывать СПО на которое известно что никто вменяемый смотреть не будет - вот это не понятно.

slovazap ★★★★★
()
Ответ на: комментарий от slovazap

Нет, потому что этих 87 портов я в глаза не видел.

Но ведь это же только твои личные проблемы. Я, например, видел. Что это меняет?

По твоей ссылке два с половиной.

Всё верно. По ссылке - данные за 2014 год, а 3 млн - это текущее значение.

потому что форкать там нечего

Есть, но тебе эти проекты неинтересны, вот ты и говоришь «форкать там нечего».

Но пусть даже и 3. На гитхабе тем временем 15 миллионов.

А пофиг, речь о том, что в абсолютных числах - это миллионы(!). А для проекта нужно найти среди этих миллионов хотя бы пару активных контрибьюторов. Остальные никакой роли не играют, хоть там миллиард будет.

Фанатики такие фанатики - ткни рожей, всё равно будут чёрное белым называть.

Могу про тебя сказать то же самое. Ты похож на фанатика GH, хотя вне GH жизнь тоже есть, но ты не хочешь в это верить.

А теперь добавь туда launchpad, gitlab, саванну, не знаю, notabug какой-нибудь, просуммируй и сравни с GH - он всё равно больше их вместе взятых, и при этом растёт быстрее. Это как-бы и есть «клином сошёлся». А знаешь почему? Потому что сообщество тем эффективнее работает чем более оно целостно, поэтому оно в одном месте и собирается. И никто из новых разработчиков поколения уже не будет даже регистрироваться на sourceforge, потому что 3M гниющих там проектов ему не интересны, а всё интересное и живое - на GH. И на bitbucket не будет по той же причине. А о том чтобы регистрироваться на каком-нибудь частном локалхосте с собственным mantis'ом или redmine (есть тут отбитые которые публичные хостинги вообще не переваривают и всем того же советуют) - и думать забудьте (у меня ещё валяется файл с 225 логинами-паролями от такой пакости, не помню когда им последний раз пользовался).

Всё гораздо проще. Если человеку лень регистрироваться вне его уютного GitHub ради проекта, то возникает вопрос - так ли нужен этот проект человеку? И более того, нужен ли проекту этот человек?

Регистрация занимает менее минуты. Если для кого-то это слишком много - то вряд ли такой человек может внести весовый вклад в проект, да и незаменимых людей нет.

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

RSS существует давно.

И внешние сервисы интегрируются с GH, замечу, а не маргинальщиной. И хедхантеры на GH смотрят. И так далее.

Интеграция с GH - это фича, а не жизненная необходимость. Касаемо хедхантеров - URL с портфолио в резюме уже отменили? Это опять же вопрос вкусов. Кто-то хочет всё в одном месте, кто-то хочет своё личное там, где ему удобно.

Так вот если ты не на GH, то хочешь - не хочешь, ты сам себя изолируешь от сообщества. Какие перспективы могут быть у СПО которое само себя изолирует от контрибуторов и пользователей - понятно. Будет ли вменяемый человек на такое даже смотреть - тоже. Зачем выкладывать СПО на которое известно что никто вменяемый смотреть не будет - вот это не понятно.

Если для человека настолько принципиальный вопрос с хостингом проектов, что он даже не станет смотреть проект, потому что он не на его любимом GH - то скорее этот человек сам невменяемый. Опять встает вопрос - а нужен ли такой человек проекту?

Chaser_Andrey ★★★★★
()
Ответ на: комментарий от slovazap

А на github - зарегистрировался один раз и доступен весь мир свободной разработки.

Дада, конечно ... Вот так взял и просто зарегился.

One of our mostly harmless robots seems to think you are not a human.

Because of that, it’s hidden your profile from the public. If you really are human, please contact support to have your profile reinstated. We promise we won’t require DNA proof of your humanity.

stalkerhouse
()
Ответ на: комментарий от excanoe

Если поиск по регулярным это основная фишка, то может сделать индекс для поиска? Ну банальный бор например?

OxiD ★★★★
()
Ответ на: комментарий от Chaser_Andrey

Но ведь это же только твои личные проблемы. Я, например, видел. Что это меняет?

У меня нет проблем. Есть выборка из нескольких сотен проектов разнообразной направленности на разных языках, от разных авторов, и bb в ней нет впомине, только и всего.

Всё верно. По ссылке - данные за 2014 год, а 3 млн - это текущее значение.

Пруф будет или это от балды?

Всё гораздо проще. Если человеку лень регистрироваться вне его уютного GitHub ради проекта, то возникает вопрос - так ли нужен этот проект человеку?

Дело не в «лень» или «не лень». Дело в том что для этого нет объективной необходимости - с появлением и лидерством github необходимость регистрироваться где-то ещё исчезла. Одному проекту заставлять всех своих контрибуторов регистрироваться хрен знает где, изучать новый интерфейс с workflow - иррационально, так не должно быть. Это пустая трата ценнейшего времени разработчиков. Я не вижу чем можно оправдать это. Автор вот говорит «мне удобно». Удобством одного хипстера?

Регистрация занимает менее минуты

Так когда-то говорил каждый кто держал репозиторий и багтрекер на своём сайте. Ещё раз: для сообщества это минута на каждого пользователя, и это уже часы и дни в зависимостри от их количества. И для каждого пользователя это было не одной минутой, а десятками, потому что в каждый новый проект надо было регистрироваться заново. Я как-то захотел прочесать portage, набрать оттуда патчей и заслать в апстримы, сколько вы думаете я бы потратил времени? В итоге патчи ушли только на GH. Ситуация с BB вобщем-то мало отличается, потому что если найдётся маргинал на BB, найдутся и notabug и прочих помойках. Правильное же решение ровно одно - единый хаб всей свободной разработки. Так и есть.

RSS существует давно

Костыли, не более.

Интеграция с GH - это фича, а не жизненная необходимость

Это жизненная необходимость. Без CI, CD, coverage, статического анализа и прочего современный проект разрабатывать глупо.

Касаемо хедхантеров - URL с портфолио в резюме уже отменили?

Какого ещё портфолио и резюме? Эти писульки никого не интересуют, разработчиков можно оценить ровно одним способом - по их коду, так их и ищут. И ищут, разумеется, где когда больше всего, так что каждый коммит в сторону уменьшает ваши шансы на оффер.

И более того, нужен ли проекту этот человек?

Ну я о том ровно и говорю - хостятся там проекты которым люди не нужны. Соответственно и проекты эти людям не нужны. Зачем хостятся?

slovazap ★★★★★
()
Ответ на: комментарий от slovazap

У меня нет проблем. Есть выборка из нескольких сотен проектов разнообразной направленности на разных языках, от разных авторов, и bb в ней нет впомине, только и всего.

Это значит, что выборка не релевантная. ;)

Пруф будет или это от балды?

https://bitbucket.org/ на главной, достаточно пролистать ниже.

Дело не в «лень» или «не лень». Дело в том что для этого нет объективной необходимости - с появлением и лидерством github необходимость регистрироваться где-то ещё исчезла. Одному проекту заставлять всех своих контрибуторов регистрироваться хрен знает где, изучать новый интерфейс с workflow - иррационально, так не должно быть. Это пустая трата ценнейшего времени разработчиков. Я не вижу чем можно оправдать это. Автор вот говорит «мне удобно». Удобством одного хипстера?

Но ведь не одного, а миллионов. Судя по фрагментации сообщеста, можно делать вывод, что людям нравится разнообразие и возможность иметь выбор.

Касаемо интерфейса GitHub - он не самый лучший и не самый удобный, IMHO. Лично я вообще предпочитаю среди веб-интерфейсов cgit. Опять же, свобода выбора.

А на счёт ценного времени разработчика - если он готов потратить часы или дни на проект, то регистрация займет настолько мало, что затраты времени на неё можно пренебречь. Ведь разработка - это не только нафигачить патч, это ещё и нужно ознакомиться с правилами приема патчей, с code style, с самим кодом. Сколько времени уйдет на это?

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

А если посчитать, сколько времени человечество тратит на завязывание шнурков каждый день. Ужас! И тем не менее, для каждого отдельного индивидуума это будет небольшое количество времени.

В итоге патчи ушли только на GH.

Значит, остальные проекты тебе не особо-то и были нужны.

Правильное же решение ровно одно - единый хаб всей свободной разработки. Так и есть.

Забавно, что этот хаб сам по себе не такой уж и свободный. Более того, принадлежит конкретным лицам и хостится в конкретной стране. И что будет, если его заблокируют или он будет недоступен в результате аварии в ДЦ? Прецеденты были. Напомнить, как у кучи народа остановилась работа, перестали работать проекты, потому что всё было завязано у них на GH?

Я не против централизации, но централизации p2p, как бы это абсурдно не звучало. Что-то вроде blockchain в github. Есть API, распределенность, децентрализация, и в то же время сеть объединяет всех участников единой базой.

Но я против централизации благодаря SaaS, потому что он работает ровно до тех пор, пока хотят его владельцы, пока им это выгодно, и пока они не захотят забанить конкретно тебя.

Используя же кучи других хостингов и зеркала, мы нивелируем риски. Да, это тоже SaaS, но среди них можно выбрать более свободные, вроде GitLab или Savannah.

Выбор - это прекрасно.

RSS существует давно

Костыли, не более.

Не более костыли, чем подписка через e-mail.

Это жизненная необходимость. Без CI, CD, coverage, статического анализа и прочего современный проект разрабатывать глупо.

И причём ряд этого можно запускать локально. Или подключать другие сервисы, выбор есть. Даже наличие всего перечисленного не мешает современным проектам _не использовать_ это. Представь себе. Это человеческий фактор.

Какого ещё портфолио и резюме? Эти писульки никого не интересуют, разработчиков можно оценить ровно одним способом - по их коду, так их и ищут. И ищут, разумеется, где когда больше всего, так что каждый коммит в сторону уменьшает ваши шансы на оффер.

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

Ну я о том ровно и говорю - хостятся там проекты которым люди не нужны. Соответственно и проекты эти людям не нужны. Зачем хостятся?

Затем хостятся, что нравится им этот хостинг. И активность в проектах есть, а значит, он нужен людям. Что за манера выдавать налево и направо вызывающе неверную информацию?

Chaser_Andrey ★★★★★
()

Чем оно лучше redis?

anonymous
()
Ответ на: комментарий от tuk9

Эмм, Вы что, комменты к видео не читаете? Там же написано «Reactor и Proactor перепутаны местами. Reactor для обработки синхронных событий, а Proactor для асинхронных.» / «Спасибо за замечание, согласен, случилось - перепутал, считать наоборот )».

sasha1024
()
Ответ на: комментарий от slovazap

По-моему, в Вас говорит такая черта характера... даже не знаю как сказать... Короче, сила в многообразии; а зацикливание на каком-то единственном решении (даже, если оно на данный момент лучшее) — плохо (в дальней перспективе).

И никто из новых разработчиков поколения уже не будет даже регистрироваться на sourceforge, потому что 3M гниющих там проектов ему не интересны, а всё интересное и живое - на GH. И на bitbucket не будет по той же причине.

Неужели Вы не понимаете, насколько это плохо? Даже если бы GitHub был полностью open source (и любой мог локально установить себе свой GitHub) — это было бы плохо. А уж учитывая его закрытость...

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

Это проблема. В смысле, я имею в виду, что все такие сервисы (GitHub, GitLab, BitBucket) зациклены только сами на себе и нету единого стандарта (по которому они бы имели не только UI, но ещё и хоть примитивное API какого-то общего вида — и могли запрашивать информацию друг у друга). То же самое с социальными сетями (почему я должен делать страничку в фейсбуке или вк или т.п.? почему я не могу просто держать её на локальном хостинге, а фейсбук, вк и пр. просто выкачивали бы оттуда данные по какому-то стандартному протоколу?). Но она решаемая, и её, ИМХО, нужно решать.

Т.е. я не спорю, что GitHub сейчас лучший и популярнейший. И ещё будет расти. Но я вижу в такой «монополизации» потенциально мало хорошего (кроме того, что он благодаря этому развивается и внедряет хорошие решения). И человек, который по каким-то причинам не пошёл за толпой, а сделал по-своему, вызывает у меня уважение (а не нарекания). Хотя ему, конечно, от этого «хуже» (если бы он делал Firefox/Linux/Git, он бы чуть-чуть потянул за собой других, а так только ограничил доступ к себе; но это зависит от его целей, может, ему пофиг).

sasha1024
()
Ответ на: комментарий от tuk9

та это я протупил; у меня просто привычка — если вижу youtube'овское видео, сразу перехожу на youtube и смотрю там далее; а там комменты
т.е. комменты не на том сайте, куда Вы ссылку дали (просто у меня произошёл «рефлекторный редирект»)
извиняюсь

sasha1024
()
Ответ на: комментарий от reprimand

желать HA кластер?

решать эту проблему на уровне БД. На уровне приложения. Это в корне неверно.

сколько платят - так и делаю. Если нет в требованиях проекта - так и делаю. Хочу заметить, что так делает большинство

Это не уровень персоналий, это уровень как раз таки большинства. Плевать как ты там решил лично, но большинство оставило без денег поставщиков надежных железных решений и тем самым угробило эту отрасль.

HA кластер ЧЕГО?

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

я как раз пытаюсь узнать как. Расскажи, пожалуйста

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

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

Это не уровень персоналий, это уровень как раз таки большинства. Плевать как ты там решил лично, но большинство оставило без денег поставщиков надежных железных решений и тем самым угробило эту отрасль.

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

Chaser_Andrey ★★★★★
()
Ответ на: комментарий от AVL2

И, вконце концов, «надежные железные решения» под капотом имеют ведорную прошивку, т.е., то же самое софтварное решение. Зачем, если такое же можно попытаться написать самостоятельно или адаптировать существующее решение, и потом запускать его на дешевых x86-компьютерах?

Chaser_Andrey ★★★★★
()
Ответ на: комментарий от Chaser_Andrey

Отнюдь. Вопрос вовсе не в софте. Линукс вовсе не так плох и использовался бы в любом случае. Вопрос в железе. В нормальных средствах мониторинга, хотплагах всего важного и хороших матрицах доступа и скази вместо убогой шины и иде.

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

решать эту проблему на уровне БД. На уровне приложения. Это в корне неверно.

ты так и не ответил КАК решать. Вся сущность большинства пользователей ЛОР-а - сказать что ты делаешь неправильно (читай - обосрать), и не рассказать как надо. Почему-то вспоминается суперхаккиллер, который брызжет желчью на всех местых сишников под предлогом собственной царственности в этой области, но не может показать ни одной своей работы

Это не уровень персоналий, это уровень как раз таки большинства.

не понял к чему тут персоналии

Плевать как ты там решил лично

всё правильно, мне плевать. Если мне заплатили недостаточно, я не буду корячиться и тратить СВОИ деньги на уберкачественное решение. Я не собираюсь делать феррари - мне заплатили за рено.

но большинство оставило без денег поставщиков надежных железных решений и тем самым угробило эту отрасль

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

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

кому она должна? [fat]договор есть?[/fat]
Что ты имеешь ввиду параллельно запущеные машины? Одна и та же цепочка задач? Может одну задачу, состоящую из разных цепочек?

В общем, есть ли какой-то документ который описывает эту хотя бы абстрактную систему?

reprimand ★★★★★
()
Ответ на: комментарий от ncrmnt

к этому треду:

посмотри на оригинальный инсайт Алана Кея про ООП, в частности про машину FLEX и NLS Дуга Энгельбарта

His notion on the ARPA dream was that the destiny of Online Systems (MLS) was the “augmentation of human intellect” via an interactive vehicle navigating through “thought vectors in concept space.” What his system could do then–even by today’s standards–was incredible. Not just hypertext, but graphics, multiple panes, efficient navigation and command input, interactive collaborative work, etc. An entire conceptual world and world view [Engelbart 68]. The impact of this vision was to produce in the minds of those who were “eager to be augmented” a compelling metaphor of what interactive computing should be like, and I immediately adopted many of the ideas for the FLEX machine.

An extensional system seemed to be called for in which the end-users would do most of the tailoring (and even some of the direct constructions) of their tools. ARPA had already figured this out in the context of their early successes in time-sharing. Their larger metaphor of human-computer symbiosis helped the community avoid making a religion of their subgoals and kept them focused on the abstract holy grail of “augmentation.”

One of the interested features of NLS was that its user interface was a parametric and could be supplied by the end user in the form of a “grammar of interaction given in their compiler-compiler TreeMeta.

,

а также про мысли самого Алана Кея про «язык программирования биологической клетки» и про «монады Лейбница» (и моноиды в категории эндофункторов):

Philosophically, Smalltalk’s objects have much in common with the monads of Leibniz and the notions of 20th century physics and biology. Its way of making objects is quite Platonic in that some of them act as idealisations of concepts–Ideas–from which manifestations can be created. That the Ideas are themselves manifestations (of the Idea-Idea) and that the Idea-Idea is a-kind-of Manifestation-Idea–which is a-kind-of itself, so that the system is completely self-describing– would have been appreciated by Plato as an extremely practical joke [Plato].

(отсюда замыкание «метакласс метакласса это метакласс»)-- здесь можно назвать модель в общем виде объект-монаду «объектной монадой» из теорката в том смысле, что объекты это замыкания, инварианты класса — сохраняют эндофункторы методы объекта и предусловия/постусловия методов, и т.п.

и вспомнить про связи такого вот ООП с моделью акторов Хьюита.

и подобрать какой-то язык описания акторов, по поням понятиям понятине

anonymous
()
Ответ на: комментарий от ncrmnt

синтез-анализ такого смоллтока из модели

там в треде ещё про язык описания лестничных диаграмм говорили, например. вот есть FLStudio для ардуины (на смоллтоке, кстати) и есть Helvetia для DSL на смоллтоке (см. например iwst09_submission_1.pdf , где расписывается про генерацию такого смоллтока из другого DSL).

скрестить бы их.

опять же, VHDL например можно из хаскеля генерировать (например, CLASH или вот ещё, впрочем, тысячи их).

немудрено: вспомним, что такое монада? универсальная модель объекта, изолирующая состояние и обрабатываемая только методами этой модели. монад, как и моделей много вокруг разных — по сути, всё есть модели (или всё есть монады). есть и монады монад, то есть, монадические трансформеры.

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

монады на монадах сидят и монадами погоняют (или, моделями).

остаётся вопрос о смысле этих монад/моделей/объектов-в-ООП/фабриках фабрик паттернов, ситуаций, правил, процессов, объектов, акторов, смыслов и семантик, нейромедиаторов, катализаторов и ингибиторов всяческих метаболизмов и т.п.

причём, что ИЧСХ: всю эту логику можно описать на ней самой — то есть, метакласс метакласса есть метакласс, метамодель модели тоже модель и т.п.

что существенно важно.

anonymous
()
Ответ на: комментарий от Chaser_Andrey

Забавно, что этот хаб сам по себе не такой уж и свободный. Более того, принадлежит конкретным лицам и хостится в конкретной стране.

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

И что будет, если его заблокируют или он будет недоступен в результате аварии в ДЦ? Прецеденты были. Напомнить, как у кучи народа остановилась работа, перестали работать проекты, потому что всё было завязано у них на GH?

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

Я не против централизации, но централизации p2p, как бы это абсурдно не звучало. Что-то вроде blockchain в github. Есть API, распределенность, децентрализация, и в то же время сеть объединяет всех участников единой базой.

Так я тоже. Только p2p это никто пока не написал и не перетащил на него всё сообщество, так что говорить тут пока не о чем.

Используя же кучи других хостингов и зеркала, мы нивелируем риски. Да, это тоже SaaS, но среди них можно выбрать более свободные, вроде GitLab или Savannah.

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

А зеркало сделать в общем никто не запрещает (пока основной проект - на GH), но что оно вам даст, защиту от падения github на час раз в год? А цена - раскол сообщества и необходимость аггрегировать issues и pull requests из разных мест.

Не более костыли, чем подписка через e-mail.

О чём вы? С GH не нужно ни RSS ни каких-то подписок.

И причём ряд этого можно запускать локально.

А, ну удачи.

Или подключать другие сервисы, выбор есть.

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

Даже наличие всего перечисленного не мешает современным проектам _не использовать_ это. Представь себе. Это человеческий фактор.

Ничто не мешает современным проектам не использовать VCS вообще. Удачи и с этим.

В общем всё свелось к тому что «я очень-очень не люблю github, поэтому сделаю назло себе и другим максимально неудобно».

slovazap ★★★★★
()
Ответ на: комментарий от sasha1024

По-моему, в Вас говорит такая черта характера... даже не знаю как сказать... Короче, сила в многообразии; а зацикливание на каком-то единственном решении (даже, если оно на данный момент лучшее) — плохо (в дальней перспективе).

Это пустые слова. Речь даже не о GH, речь о сообществе. Вы хотите много изолированных сообществ, чтобы многообразие и не зацикливание? Если хотите, значит вы вредитель. Если не хотите, то у меня плохие новости - альтернатив GH пока нет.

зациклены только сами на себе и нету единого стандарта
Но она решаемая, и её, ИМХО, нужно решать.

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

slovazap ★★★★★
()
Ответ на: комментарий от ncrmnt

бендеровое: СР! УВЧ!

вот ещё, к примеру: проц 6502 (тот самый, что стоит в Бендере и Терминаторе ;-) реализованный на CLASH и в итоге на Хаскелле.

как будто бы что-то практичное.

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

только железо у нас например на троичной логике. в троичной логике закон Мура будет выглядеть по другому: добавление нового элемента может привести к уменьшению количества общего элементов за счёт увеличения числа связей. то есть, закон Мура будет не «в два раза больше за те же деньги» или «в два раза дешевле с тем же количеством элементов», а «+столько же элементов => больше связей, мощней машина, более чем в два раза :) »

с многозначными логиками >3 может тоже, хотя пи или е — нормальные естественные константы.

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

или в логику с основанием больше трёх — и сразу бы заработало, на новой элементной базе.

anonymous
()
Ответ на: комментарий от slovazap

Вы хотите много изолированных сообществ

Если будет много изолированных обществ, то в конечном итоге это приведёт к поиску более-менее универсальных решений по их интеграции. Если будет всего одно сообщество (или 2) — скорую интеграцию ждать не придётся, потому что «а зачем? и так работает!».

А, ну так решайте.

Я не мессия. Даже если я предложу стандарт и реализую POC (если моих умственных способностей хватит, чтобы самому составить хороший стандарт) — это не взлетит без помощи других людей. А уход от проблемы (кучкование в одном месте вместо разработки стандартов) только уменьшает вероятность, что достаточное кол-во людей возьмётся.

ваши слова о том какой GH плохой

где я такое говорил?

предложения использовать другие хостинги - вредны

оставлю без комментария

sasha1024
()

Нда... Только я хотел посмотреть на отечественный труд поближе... - сайт лежит, альтернатив не предлагается. Шамищательно... 8(

Olegarch
()
Ответ на: комментарий от sasha1024

Если будет много изолированных обществ, то в конечном итоге это приведёт к поиску более-менее универсальных решений по их интеграции. Если будет всего одно сообщество (или 2) — скорую интеграцию ждать не придётся, потому что «а зачем? и так работает!».

Я не мессия. Даже если я предложу стандарт и реализую POC (если моих умственных способностей хватит, чтобы самому составить хороший стандарт) — это не взлетит без помощи других людей. А уход от проблемы (кучкование в одном месте вместо разработки стандартов) только уменьшает вероятность, что достаточное кол-во людей возьмётся.

«Давайте всё сломаем, чтобы страдающие люди сделали хорошо, потому что всё плохо, но слишком хорошо чтобы люди что-то делали, а я вообще не при делах.» Добавить нечего.

slovazap ★★★★★
()

Безотносительно около'GitHub'ных обсуждений, с автором всё понятно:

https://bitbucket.org/excanoe/microcached/pull-requests/1/improve-makefile/diff

Автор что-то уже пытается замутить поскольку последовательность комментариев изменилась, поэтому цитирую как было:

Котрибутор:

--- src/makefile
+++ src/makefile
-CC=gcc
-CFLAGS=-s -O2 -Wall -Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable -Wno-missing-braces
-LIBS=-lpcre
+CC?=gcc
+CFLAGS?=-O2
+CFLAGS+=-s -Wall -Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable -Wno-missing-braces `pkg-config --cflags libpcre`
+LIBS=`pkg-config --libs libpcre`

Автор: Dear Dmitry, this is a mirror repository. Not a development repository. Thank you.

Котрибутор: How do you accept community contributions then?

Автор: Currently I don't accept community contributions.

Т.е. «вот вам код - жрите, но идите нах*й со своими патчами».

Требую комментариев автора.

slovazap ★★★★★
()
Ответ на: комментарий от slovazap

«Давайте всё сломаем, чтобы страдающие люди сделали хорошо, потому что всё плохо, но слишком хорошо чтобы люди что-то делали, а я вообще не при делах.» Добавить нечего.

Я не говорил «давайте всё сломаем». Вообще, пользоваться разными инструментами — это хорошо и не значит «ломать». Не говоря уже о том, что это право людей.

Если пользоваться Вашей терминологией: (а) я вижу, как оно постепенно «ломается»; (б) я не настаиваю, чтобы люди жертвовали своим комфортом ради «высокой цели»; (в) но если кто-то добровольно это делает, я только рад.

Та блин... Вы похожи на человека, который говорит всем: «нафиг этот линукс, им только 2% пользуются». И ведь действительно, логично: если все перейдут на винду/MacOS, зоопарк систем станет меньше — админить станет удобнее. Но что-то в этой логике не так, Вы не находите?

Например, когда кто-то из знакомых спрашивает, какую ОС ему ставить, я не проповедую ему про Линукс. Потому что я понимаю, что объективно (а) недостатков много, (б) популярность решает (так любой Вася-сосед-по-подъезду подскажет, а так нет). Но если человек, услышав информацию, сам решает — мне остаётся только порадоваться.

В первую очередь, я ценю право человека сделать свой выбор (и не навязываю свой, независимо от того, что считаю правильным). Это — важнее удобства какой-то третьей стороны, заявляющей, что, мол, из-за того, что все выбрали разные решения, у неё (3-й стороны) теперь больше мороки. Но если человек делает «правильный» с моей точки зрения выбор — я тихо радуюсь.

sasha1024
()
Ответ на: комментарий от Olegarch

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

Уважаемый Olegarch, вы можете ознакомиться с интересующей вас информацией когда вам будет удобно.

excanoe
() автор топика
Ответ на: комментарий от slovazap

В тред, как гром среди ясного неба, врывается автор :)

Уважаемый slovazap, это первый и последний раз, когда вы от меня что-то требуете, и я иду вам навстречу.

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

Если вам в молодости не объяснили как стоит и не стоит разговаривать с людьми, то возможно стоит наверстать упущенное? Еще не поздно.

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

Если я не ошибаюсь, автор пул-реквеста изменил свой первый комментарий, у меня на почте другое сообщение с этим идентификатором и временем, там вопрос касательно причины отмены пул-реквеста. Я отвечал на два разных вопроса, а с комментариев выглядит как будто я немного не в себе :) Я уже запутался.

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

Касательно пул-реквеста: я действительно отклонил пул-реквест, вы даже не представляете как грустно мне было нажимать на кнопку «отменить». Человек потратил свое время, сделал пул-реквест.

Я это понимаю. Грустно.

Но что меня еще больше расстраивает, так это то, что несмотря на то, что в ридм файле черным по белому написано «пожалуйста, ПОЖАЛУЙСТА, никаких пул-реквестов, это репозиторий-зеркало», человек, не прочитав внимательно ридм (или внимательно прочитав, что еще хуже), сделал форк и сделал пул-реквест. Я стараюсь быть последовательным, и поэтому, я отклонил пул-реквест.

Это логично.

Я думаю, что было бы странно, если бы я принял первый же пул-реквест, имея фразу «пожалуйста, никаких пул-реквестов» на главной странице.

Возможно люди просто так пишут ридм файлы, не знаю как у других, я туда вкладываю определенный смысл.

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

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

Не обязан.

Не нравится программа? Отлично. Не нравится метод дистрибуции? Замечательно! Я не нравлюсь? А я и не должен нравиться.

Мой внутренний метр негодования возрастает, когда я читаю ваши сообщения. Я не понимаю, с какой целью вы грубите мне.

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

Я бы «потребовал» от вас покинуть страницу этой новости, но «требовать» что-то от вас, это не в моем праве.

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

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

excanoe
() автор топика

Сколько соплей, а всего-то навсего можно было оформить проект так чтобы его было удобно использовать и можно было улучшать. Либо так, либо вы засланный казачок, вредитель продающий какашку обёрнутую в MIT лицензию ради каких-то там своих интересов, и отношение к вам будет соответствующее, другого не ждите.

slovazap ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.