Кстати, можете объяснить, почему redis делали таким простым и предсказуемым и вроде бы даже внедряли то, что вы считаете своими features (diskstore у redis был, но они отказались от него из-за просадок в производительности). Проблемы совместимости? Почему у них именно так?
По идее — у них и клиентов в разы больше и может они столкнулись с какими-то проблемами, которые заставили их идти строго по тому пути, по какому они сейчас и идут?
Ведь различные форки redis без блокировок и.т.п. почему-то не пользуются популярностью, хотя и обещают очень многое.
По-моему, слишком большое внимание уделяется курсам по программированию.
Глупо думать, что в эру капитализма, что-то делается не для получения прибыли. Что могут предложить — то и продают.
Особенно радуют кадры, которые начали что-то изучать в программировании, написали первую программу и сразу прозрели, что могут всех научить. Сразу делают сайт и завлекают клиентов. Ну это же бред!
Понравился MessagePack.
Если уж у вас цель — минимизировать трафик, то JSON можно скормить его алгоритму HPack, реализация которого тоже есть во всех языках, а дальше запаковать GZIP.
Если у вас большие коллекции, то вы ужмете весь трафик вплоть до 80%.
Только как всегда, есть свои проблемы.
Например, есть команда MGET, которая возвращает множество значений по множеству ключей.
В обычном Redis, который запущен как кластерный, она будет работать некорректно, если значения лежат на разных шардах, но о, чудо, она работает отлично, если у вас Enterprise версия Redis (redislabs). Ну вы поняли…
Погодите, а причем тут клиенты Redis и шардинг?
Есть StackExchange, который все базовые вещи делать умеет, а шардингом сейчас занимается сам Redis.
В 3 версии Redis (под Windows уже идет портирование) есть рекомендация указывать в имени ключа данные в фигурных скобках posts_{userId}.
В этом случае, если экземпляр запущен как кластер, он парсит имя, находит эти скобки, берет хэш от данных внутри них и на основе этой информации выбирает нужную ноду и решардинг при добавлении новых узлов происходит автоматом.
Нет конечно, это аналог Windows RT с возможностью установки универсальных приложений из Windows Store.
Образно говоря, чтобы открыть браузер на большом мониторе или отредактировать Word, Excel документ.
Интересно, что быстрее: взять и загрузить сборку с диска или взять и начать компилить множество мелких *.cs файлов?
Мне кажется, что первый вариант будет быстрее.
Менторы, расскажите пожалуйста, что вами движет. Мне просто для себя, чтобы понять.
Хороший программист — человек увлеченный. Даже если у него появилось свободное время — он постарается использовать его с максимальной пользой (должны быть какие-то свои проекты).
Из этого вытекает вопрос: каким образом человек распределяет свободное от работы время между:
— человеческим отдыхом: нон-программинг хобби, сон, девушка, жена и.т.п
— программинг-хобби (если у вас его нет — можете ничего больше не говорить)
— менторством (по выходным после 7 вечера чтоли ?)
По идее второе должно занимать значительное время, потому что делать какие-то вещи для себя интересно и полезно, и это занимает очень значительное время.
Может быть вы в таком возрасте, когда уже все надоело? Тогда пойму — иначе — ну никак не верю, что вы, в ущерб своим интересам обучаете людей от хорошей жизни.
P.S Насмотрелся я на программистов у которых нет 2 пункта в списке интересов: Обычно приходили после университета и тупо отбывали номер без интереса, устаревшие техники и технологии, нет стремления к развитию, список можно продолжать бесконечно.
Зависит от области.
Всеобщее помешательство на программировании (каждый день везде статьи о курсах программирования) и толпы непонятных программистов, которые вдруг захотели всех обучить — это по крайней мере странно.
Если бы этого шума не было, наверное, мнение было бы другим.
Получилось то может и неплохо, просто обычно все фреймворки пишут для своих нужд и когда человек будет пытаться адаптировать все это под свои (не в HelloWord), то возникнут проблемы, иногда не решаемые и тогда начнется…
А собственно зачем это тут? Мало чтоли фреймворков? Кто будет это использовать?
Кому нужно изучать странный способ определения банальных вещей (это я больше про *.cshtml)?
Менторство выглядит нормальным, если ты человек-звезда, который реально сделал что-то стоящее в своей области.
Пример тому — Скот Гатри и много других и того же OpenSource. Они многое прошли, написали то, чем мы пользуемся сейчас, но когда каждый мало-мальский программист хочет кого-то обучать, то проблема скорее в том, что пора заводить детей.
По идее — у них и клиентов в разы больше и может они столкнулись с какими-то проблемами, которые заставили их идти строго по тому пути, по какому они сейчас и идут?
Ведь различные форки redis без блокировок и.т.п. почему-то не пользуются популярностью, хотя и обещают очень многое.
Глупо думать, что в эру капитализма, что-то делается не для получения прибыли. Что могут предложить — то и продают.
Особенно радуют кадры, которые начали что-то изучать в программировании, написали первую программу и сразу прозрели, что могут всех научить. Сразу делают сайт и завлекают клиентов. Ну это же бред!
Если уж у вас цель — минимизировать трафик, то JSON можно скормить его алгоритму HPack, реализация которого тоже есть во всех языках, а дальше запаковать GZIP.
Если у вас большие коллекции, то вы ужмете весь трафик вплоть до 80%.
Вещь платная, но позволяет формировать контент Word-файла как в темплейте AngularJs.
Например, есть команда MGET, которая возвращает множество значений по множеству ключей.
В обычном Redis, который запущен как кластерный, она будет работать некорректно, если значения лежат на разных шардах, но о, чудо, она работает отлично, если у вас Enterprise версия Redis (redislabs). Ну вы поняли…
Есть StackExchange, который все базовые вещи делать умеет, а шардингом сейчас занимается сам Redis.
В 3 версии Redis (под Windows уже идет портирование) есть рекомендация указывать в имени ключа данные в фигурных скобках posts_{userId}.
В этом случае, если экземпляр запущен как кластер, он парсит имя, находит эти скобки, берет хэш от данных внутри них и на основе этой информации выбирает нужную ноду и решардинг при добавлении новых узлов происходит автоматом.
Образно говоря, чтобы открыть браузер на большом мониторе или отредактировать Word, Excel документ.
Мне кажется, что первый вариант будет быстрее.
Хороший программист — человек увлеченный. Даже если у него появилось свободное время — он постарается использовать его с максимальной пользой (должны быть какие-то свои проекты).
Из этого вытекает вопрос: каким образом человек распределяет свободное от работы время между:
— человеческим отдыхом: нон-программинг хобби, сон, девушка, жена и.т.п
— программинг-хобби (если у вас его нет — можете ничего больше не говорить)
— менторством (по выходным после 7 вечера чтоли ?)
По идее второе должно занимать значительное время, потому что делать какие-то вещи для себя интересно и полезно, и это занимает очень значительное время.
Может быть вы в таком возрасте, когда уже все надоело? Тогда пойму — иначе — ну никак не верю, что вы, в ущерб своим интересам обучаете людей от хорошей жизни.
P.S Насмотрелся я на программистов у которых нет 2 пункта в списке интересов: Обычно приходили после университета и тупо отбывали номер без интереса, устаревшие техники и технологии, нет стремления к развитию, список можно продолжать бесконечно.
Просто своими словами опишите.
Всеобщее помешательство на программировании (каждый день везде статьи о курсах программирования) и толпы непонятных программистов, которые вдруг захотели всех обучить — это по крайней мере странно.
Если бы этого шума не было, наверное, мнение было бы другим.
Кому нужно изучать странный способ определения банальных вещей (это я больше про *.cshtml)?
Пример тому — Скот Гатри и много других и того же OpenSource. Они многое прошли, написали то, чем мы пользуемся сейчас, но когда каждый мало-мальский программист хочет кого-то обучать, то проблема скорее в том, что пора заводить детей.