Для некоторых классов приложений Xmx вообще слабо связан с реальным потреблением памяти, так как данные выносятся в off-heap. Странно что за 3 года эксплуатации явы в кубере они это не осознали )
На самом деле проблема выглядит если не надуманной, то уж явно преувеличенной. Гоняем яву в кубере (опеншифт) на проде уже несколько лет, полёт нормальный. А вот liveness/readyness пробы при старте stateful контейнеров это боль, да.
Вообще stateful штукам (БД, Кафка и т.п.) не место в кубере, особенно на распределённой ФС. Проблем много, выгода неочевидна.
на мой взгляд будущее в структурировании информации это иерархические теги. я уже 5 лет пишу программу для организации файлов, интернет ссылок, приложений при помощи иерархических тегов. все это время использую. нахожу любую информацию в 3 клика мышки. при том что в программу добавлено более 3000 объектов. не сочтите за рекламу. это будущее. tags4.info
Как и автор, собираю заметки. Сделал для себя веб-сервис заметок, может быть кому-то пригодиться.
Основные фичи:
— заводить/менять заметки;
— легко их находить (полнотекстовый поиск сделан на базе Sphinx Search);
— доступ персональный или публичный;
— markdown для разметки;
— прикреплять файлы.
По моему опыту, такая форма работы начинает приносить пользу после
того как база знаний наполнится.
Первые пол года, я по большей части, добавлял заметки. Примерно через год баланс изменился и я стал чаще искать информацию и это позволяет экономить время.
youtube-dl, кстати сказать, качает видео не только с ютуб, но и, как мне показалось, откуда угодно (на самом деле, наверно, нет, но всё же...). Мне удавалось с помощью этой штуки забирать видеопоток с городских камер наблюдения, с разных сервисов с веб-камерами и т.д.
Причем эта штука очень продуманная, сама делает временные файлы, вроде как умеет перекодировать поток опираясь на ffmpeg, подтягивает метаданные создавая внятные названия для загружаемых файлов, поддерживает шаблонизацию этих имён, отчего можно эту утилиту использовать, скажем, для автоматического скачивания роликов из раздела «посмотреть позже», а-то, знаете ли, часто бывает, что пока дойдёт очередь до какого-то ролика, так его уже удалят к тому времени. Тулза, кстати, может использоваться и как библиотека, и как консольная утилита, что, порой, выручает. Даже метаданные со странички по ролику умеет в json рядом с роликом класть — это вообще вне конкуренции.
Хочу на основе этой либы сделать себе телеграм-бот на досуге, который будет мониторить плейлисты и подкачивать ролики для оффлайн просмотра.
А что, всем на самом деле так нравится синтаксис Котлина?
Меня он местами выбешивает.
вместо var, val зачастую полезнее видеть тип
аналогично fun — лишний визуальный мусор
companion object для статических методов и констант выглядит прилепленным сбоку
постоянно приходится использовать !!
не протикся идеей одного конструктора и впихиванием его и нформации о наследовании в одну строчку
синтаксис значения по умолчанию для аргумента функции off: Int = 0 явно разрабатывался в Мюнхенском офисе (как по-немецки говорят "сто четые и двадцать", а не "сто двадцать четыре").
ключевое слово override для метода — лишний мусор по сравнению с @Override.
по умолчанию класс не наследуется (так взяли и задушили всю прелесть OOП)
т.д.
Cинтаксис Java ИМХО значительно гармоничнее, а киллер-фич, значительно повышающих производительность, не обнаружил. Зато намного проще написать в одну строчку код, который потом сложно понять.
Тестировать старые браузеры можно через https://www.modern.ie/ru-ru/virtualization-tools. На выбор любая платформа и все эксплореры от шестого. Скачиваете образ операционной системы, например для Virtual PC и готово.
JIT-компиляция происходит не при запуске, а после сбора статистики. Сначала работает интерпретатор байткода.
Про модификацию и генерацию байткода — применений довольно много: AOP, генерация прокси для классов (не интерфейсов, см. cglib), генерация кода сериализации/десериализации в рантайме (kryo), миграция кода на другие jvm (gridgain).
Было такое. А сегодня товарищи из Малайзии (175.144.142.111) получили доступ к моей почте. Отправили всего одно письмо дебильного содержания, и больше ничего не тронули. Гугл мне сразу сообщил о странных действиях над аккаунтом (очень удобная штука). Такое у меня впервые. Поставил двухэтапную авторизацию. Сижу на стрёме. Пью чай с сушками. Готовлю ужин. Буду кушать гречку с морковной поджаркой. Пожалуй, сверху ещё полю острый бразильский кетчуп. Да, так гораздо съедобнее, а то кашка пресноватая получилась. С другой стороны, если не особо понравится у меня ещё есть полпачки макарон, со вчерашнего вечера не доел. Хотя, наверное правильнее говорить спагетти. Так вчера проголодался, что закинул сразу половину пачки вариться. Так всё и не доел. Стоит возле мойки, засыхает. Может и доем, на сковородке разогрею. Хотя… Потом её ещё мыть.
Говнокод можно писать на любом языке. Просто учитывая, что PHP по распространенности значительно обходит Ruby и Python вместе взятые, то вполне естественно, что и говнокодеров на PHP больше, точно также как и отличных софтин.
Для некоторых классов приложений Xmx вообще слабо связан с реальным потреблением памяти, так как данные выносятся в off-heap. Странно что за 3 года эксплуатации явы в кубере они это не осознали )
На самом деле проблема выглядит если не надуманной, то уж явно преувеличенной. Гоняем яву в кубере (опеншифт) на проде уже несколько лет, полёт нормальный. А вот liveness/readyness пробы при старте stateful контейнеров это боль, да.
Вообще stateful штукам (БД, Кафка и т.п.) не место в кубере, особенно на распределённой ФС. Проблем много, выгода неочевидна.
Основные фичи:
— заводить/менять заметки;
— легко их находить (полнотекстовый поиск сделан на базе Sphinx Search);
— доступ персональный или публичный;
— markdown для разметки;
— прикреплять файлы.
По моему опыту, такая форма работы начинает приносить пользу после
того как база знаний наполнится.
Первые пол года, я по большей части, добавлял заметки. Примерно через год баланс изменился и я стал чаще искать информацию и это позволяет экономить время.
Причем эта штука очень продуманная, сама делает временные файлы, вроде как умеет перекодировать поток опираясь на ffmpeg, подтягивает метаданные создавая внятные названия для загружаемых файлов, поддерживает шаблонизацию этих имён, отчего можно эту утилиту использовать, скажем, для автоматического скачивания роликов из раздела «посмотреть позже», а-то, знаете ли, часто бывает, что пока дойдёт очередь до какого-то ролика, так его уже удалят к тому времени. Тулза, кстати, может использоваться и как библиотека, и как консольная утилита, что, порой, выручает. Даже метаданные со странички по ролику умеет в json рядом с роликом класть — это вообще вне конкуренции.
Хочу на основе этой либы сделать себе телеграм-бот на досуге, который будет мониторить плейлисты и подкачивать ролики для оффлайн просмотра.
А что, всем на самом деле так нравится синтаксис Котлина?
Меня он местами выбешивает.
var
,val
зачастую полезнее видеть типfun
— лишний визуальный мусорcompanion object
для статических методов и констант выглядит прилепленным сбоку!!
off: Int = 0
явно разрабатывался в Мюнхенском офисе (как по-немецки говорят "сто четые и двадцать", а не "сто двадцать четыре").override
для метода — лишний мусор по сравнению с@Override
.Cинтаксис Java ИМХО значительно гармоничнее, а киллер-фич, значительно повышающих производительность, не обнаружил. Зато намного проще написать в одну строчку код, который потом сложно понять.
Он есть в Repaint rate challenge, можете сами сравнить ;)
скайп продолжает работать как ни в чём не бывало.
Про модификацию и генерацию байткода — применений довольно много: AOP, генерация прокси для классов (не интерфейсов, см. cglib), генерация кода сериализации/десериализации в рантайме (kryo), миграция кода на другие jvm (gridgain).