LINUX.ORG.RU

Сообщения vertexua

 

Кеширование nginx

Экспертам по nginx вопрос есть.

Допустим есть сторонний сервер. К нему приходит запрос

/myurl?myParam1=A&myParam2=B

Сервер даст некий ответ на сейчас и будет его считать долго. Есть еще вариант

/myurl?myParam1=A&myParam2=B&date=11/11/2013&time=10:05:20

Тогда сервер даст ответ на некоторое указанное время в будущем.

Мы решили ускорить работу системы в целом поставив nginx перед сервером. nginx будет искать в кеше /myurl?myParam1=A&myParam2=B, если не будет находить, то допишет дату и время на +30 сек, отправит запрос на основной сервер

/myurl?myParam1=A&myParam2=B&date=11/11/2013&time=10:05:20

получит ответ, отправит клиенту, но положит в кеш по ключу /myurl?myParam1=A&myParam2=B

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

Такое вообще реализуемо или велосипед писать? Под велосипедом подразумевается написать рядом веб-приложение, запихнуть в тот же сервер

 

vertexua
()

Веб грядет

Поставил текстовый редактор Brackets

Обычный текстовый редактор, казалось подвоха нет. Хоть и жрет более 100 МБ.

Но он написал на Node.js+HTML5+JS+CSS3+WebKit.

А теперь внимание вопрос. Есть ли на этом форуме люди которые считают что это хорошая идея и почему? Ну и естественно хотели бы видеть побольше такого софта?

 ,

vertexua
()

Ruby не в веб-разработке

Всем известны сильные позиции Ruby в веб-разработке. Как минимум все работает, компании запускают веб-приложения, деньги зарабатываются.

Как насчет вне веба?

P.S. Например близжайший конкурент - Python захватил наверно пол линукс десктопа, широко используется как встраиваемый язык, а так же очень известен в научных кругах, data mining, data analisys. И это не смотря на тоже очень сильные позиции в веб сфере.

 , ,

vertexua
()

Свободный PaaS

Что я подразумеваю под этим?

Вот например есть Google App Engine. Очень много фич, базы, map reduce, blobstore, ресайз изображений, авторизация, поиск и т.д и т.п. Перечислять можно много. Но он завязан на гугле, максимум есть костыль от Red Hat - Cape Dwarf для их облака.

Есть ли такой PaaS

1) Одна из открытых или свободных лицензий.

2) Горы сервисов

3) Центральный сервер куда можно деплоить свои hello world стартапы уже сейчас

4) Деплой заключается в заливании парочки файлов програмы и статики. Все остальное предоставляет env

5) И главное: возможность скачать сабж, гонять у себя на виртуалке, переехать на амазон или свой VDS. Подымается готовым образом, легко соединяется в кластер через какой-то zookeeper

Из того что я уже знаю - уберунылый Openshift, предоставляющий своих сервисов чуть менее чем 0

Как вам идея?

 

vertexua
()

HTTP бенчмаркинг

Нужен инструмент для бенчмаркинга

Что нужно

  • поддержка списка URL из файла. for+ab не предлагать, так как тогда получится что один URL протестируется 1000 раз, потом другой. Софт сложный на сервере, может хорошенько покешировать
  • желательна поддержка подробного вывода, например в CSV
  • высокая скорость инструмента не нужна, так как запросы очень тяжелые - 200, 300 мс. О тысячах запросов в секунду не говорим.

Что не хотелось бы

  • программировать на Lua ;)

Пока тыкал ab, httperf, wrk. Первый без списка файлов, есть костыль какой-то кривой с заменой С файла. Второй без детального вывода и с наркоманскими параметрами. Третий заставит ковыряться в Lua, с непонятными профитами.

Что еще? JMeter?

 

vertexua
()

Нужен ли мне R?

На работе обрабатываю многогигабайтные датасеты из JSON, XML, CSV.

Пока хватало Python, bash, sed, grep, head, tail, wc, xargs, cut, sort, XML Starlet.

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

Если что-то одновременно не разовое, чтобы на bash, и одновременно не часть основного приложения, чтобы на Scala, то пишу на Python, особенно если скрипт нужно дать другим людям погонять.

Станет ли мне легче жить если я попробую с bash+python перейти на R?

 

vertexua
()

Боитесь ли вы коллизий хешей?

Если бы вы летели например на самолете, который при коллизии хеша SHA в его компьютере взрывался или летел носом в землю. В сколько бы бит вы установили SHA?

Хеши вычисляются очень часто, можете считать что в цикле while на современном CPU

UPD. Сравнивать сначала по хешу, потом по значению не предлагать, не спортивно

 домовой, леший,

vertexua
()

Data Science книги

Решил чуть ликвидировать свою безграмотность в этой сфере. Есть хорошая литература?

Девелопмент потому что не в толксы же

 , ,

vertexua
()

Ваши ставки господа?

Доживет ли до production quality или у мозиллы не хватит ресурсов?

Язык годный в принципе, писать удобно. Производительность тоже ничего

 

vertexua
()

Кто нынче корпорация добра?

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

Кому передает эстафету?

 

vertexua
()

Сортирующий итератор

Кто знает как сделать ленивый итератор по существующему массиву, который не меняя сам массив и используя минимальное количество памяти будет выдавать элементы в отсортированом порядке? Под минимальным можно считать «не порядка размера самого массива». Или на крайняк не в худшем случае

Мне абсолютно не приходит ничего в голову кроме полной пересортировки или совсем всяких дурацких алгоритмов. Может таки нельзя так?

Производительность желательно чтобы хоть и не обязательно n log n, но не совсем ужасная, главное памяти поменьше. Let the battle begin

 ,

vertexua
()

Клиенты из разных стран

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

 ,

vertexua
()

Все по закону, но начальник - дятел

Заказчик тут британский упоролся. Начали пользоваться одним здоровенным опенсорс проектом на GPL. Нужно поменять одну строчку в текстовике внутри WAR файла. Проект работает на бекенде, в веб не торчит.

Так вот, не дает. Опенсорс, все дела, придется возиться с раздачей исходнков, рассказывать всем чем мы пользуемся. А что если нас похакают? Короче бегает как квочка и мешает работать, хотя на эту строчку всем пофиг, это по большому счету конфигурация, которая из-за дебилов разработчиков не является внешней, а запихнута в WAR (который ZIP), но он как бы результат билда.

Ппц, негодую. Если быть до конца упоротыми с точки зрения закона, то что нельзя просто в текстовике заменить строчку конфигов?

 ,

vertexua
()

Добра тред

http://tonsky.livejournal.com/281876.html

Node.js это замечательная server-side платформа, очень быстрая, можно использовать общий код на клиенте и сервере, и никаких проблем с многопоточностью by design.

Ruby on Rails замечательный веб-фреймворк, нет ничего быстрее чтобы делать веб-приложения, огромное сообщество, библиотеки для всего, простая установка.

Java замечательный язык, огромное количество устоявшихся практик и рекомендаций, самый популярный язык в мире, безумное количество библиотек, хорошо защищенная и оптимизированная VM, почти не уступает C/C++ по скорости, решает проблемы с памятью без участия программиста, первоклассное ООП и многопоточность, деплоится на любую платформу, легко найти разработчиков.

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

PHP замечательный язык, очень простой в изучении и использовании, идеальный для создания веб-сайтов, весь интернет на 99,9% состоит из PHP — facebook, wikipedia, Wordpress, Flickr и т.д.

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

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

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

Objective C классный язык, разработчики на нем деньги просто лопатой загребают. Плюс на нем можно писать под iPhone.

Windows замечательная ОС, самая распространенная, нет проблем с драйверами, совместимостью, ни с чем. Огромный выбор программ, включая антивирусы.

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

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

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

Erlang классный язык потому что он работает в кластере и очень надежный, можно посадить любого программиста писать код и через неделю он уже может выкатываться на кластер, если что и сломает, то не все. Erlang учится за 2 недели, то есть за год можно выучить до 26 Эрленгов.

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

Scala блестящий язык потому что очень легко найти работу в Силиконовой долине, и можно писать как угодно — хоть ООП, хоть ФП. Он очень академичный и продуманный до мелочей, по одним декларациям типов в стандартной библиотеке видно насколько тщательно и кропотливо его продумывали и сколько в него вложено труда.

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

MongoDB удобная база данных, в которой не надо думать о реляциях, джоинах, каких-то формах нормализации. Просто и интуитивно, как json. Очень интуитивно, в отличие от SQL, хранить массивы, делать map-reducы и она web-scale.

Юзера проявляют фантазию и креативность в своих требованиях, поэтому жизнь программиста — постоянное самосовершенствование.

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

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

 ,

vertexua
()

ReiserFS на SSD

С какими опциями лучше монтировать? Кажется еще говорили что лучше бросить симлинки c /tmp и /var/log на каталоги на жестком диске.

Anything else?

 ,

vertexua
()

Нашел идеальный дистр для работы

На работе генту не покомпиляешь сильно. Нуже был дистр который легко поставить, удобные дефолтные DE/WM, стабильно работает, допиливать не нужно.

Нашел: Elementary OS.

Дистр на основе Ubuntu LTS с нескучными обоями. Много компонентов из Gnome 3, но DE свое - Pantheon. Завелось абсолютно все, ни одной малейшей проблемы, все летает, анимации очень плавные и ненавязчивые

Все очень минималистичное и почти без настроек (читай «вилка с пробкой»). Дефолтный софт самый минимальный, но вот почтовый клиент такой милый, что не смотря на вилку с пробкой я его оставил. Но браузер заменил на FF, которые непонятно почему тут летает.

Минусы: в Dock хрен что добавишь. Нужно запустить приложения строго из *.desktop файла, а потом кликнуть галочкой Keep in Dock. Музыкальный плеер о соцсетях или вообще инете не слышал, строго для локальной коллекции. Повторяет за гномом концепцию с переключалкой, которая не привязывает раскладку к приложениям

Кто еще пробовал сабж, как полет?

Выводы: говнодистры нужны, они иногда бывают допиленее оригиналов

 ,

vertexua
()

Интересных СУБД тред

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

Можно начинать с банальных MySQL если есть уникальные фичи или сферы применения

 

vertexua
()

Управление демоном из командной строки.

Например запущен сервис. Он по определенным причинам должен работать постоянно.

Нужно соорудить к нему клиента командной строки чтобы запускать определенные операции в нем. Нужно чтобы сервис имел возможность писать логи в консоль клиента запустившего команду о прогрессе выполнения задачи. Не хотелось бы просто отправлять какие-то сигналы и отдельно tail -f лога делать.

Есть протоколы, примеры, подходы? В принципе понимаю как сделать, могу написать с нуля, хоть бы даже через curl+http. Но я просто хочу найти примеров приложений чтобы посмотреть как существующие приложения которые так делают, поиграться чтобы узнать удобно это, может какие-то нюансы.

Еще нужно упомянуть фактор безопасности. Если использовать сетевое соединение, или например HTTP, то придется возможно пользоваться HTTPS/SSL. Можно обойтись возней с сертификатами напрямую если разрешить только локальный доступ, но для удаленный соединений создавать SSH туннель. Как вам такая идея?

Казалось бы задача простая, но начинаешь делать и появляются вопросы

Альтернативная форма вопроса

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

JMX

JMX видел. Люто доставляет древними консольными клиентами, возней в SSL, java-only, логи не потоком не отправляет (разве что можно вернуть строку статуса)

HTTP/HTTPS

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

vertexua
()

Я пропустил OSDN 2013

Только сейчас узнал что она сегодня.

Список тем докладов читал. А реально было что-то интересное?

 , ,

vertexua
()

Нужность эффективных алгоритмов

У меня на работе большинство разработчиков негативно относятся к усложнениям алгоритмов. Например вместо глупого перебора среди нескольких ГБ данных использование специализированых структур данных вызывает бурю негодования. Аргументы следующие: алгоритм запускается раз в неделю и ускорение с 1 часа, до 3 мин ничего не меняет, но усложняет поддержку и понимание. Зато кто из среднестатистических сениоров в нашем ущербном перегретом рынке знает дальше ArrayList и HashMap? Суффиксные деревья, триграммы, 100 строчечные geospatial индексы пугают людей, ибо написаны вручную, а максимум что дозволено - интегрировать какой-то фреймворк. Доки умеют читать все. Я велосипедист и не нужен.

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

Насколько у вас развито ощущение того, что код нужно писать правильно и эффективно просто потому что код нужно писать правильно и эффективно?

 

vertexua
()

RSS подписка на новые темы