• Генерация данных на Java?

    @Dmtm
    Android
    Ответ написан
    Комментировать
  • Как защитить админку?

    rozhnev
    @rozhnev
    Fullstack programmer, DBA, медленно, дорого
    Любая авторизация должна выполнятся на строне сервера, всё что на стороне клиета обходится на раз!
    Как именно - дело Вашею Есть десятки систем авторизациию Имя + пароль - самая распостраненная
    Ответ написан
    1 комментарий
  • Как получить результат из exec с русскими символами?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Точного ответа на твой вопрос сразу нельзя дать. Потому - что тут идет экспертное дерево вопросов и ответов.
    Непонятно где ты запускаешь. В среде разработки или в консоли.

    Попробуй сначала в консоли сделать так.

    C:\>chcp 866
    Active code page: 866

    Запустить приложение.

    И потом еще так.
    C:\>chcp 1251
    Active code page: 1251
    Ответ написан
    4 комментария
  • Как ограничить качество звука в видео с помощью FFmpeg?

    i229194964
    @i229194964
    Веб разработчик
    ffmpeg -i input_video.mp4 -c:v copy -b:a 64k output_video.mp4
    Ответ написан
    2 комментария
  • Почему сайты на сервере работают медленно?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Гадание на листьях опавших с ветвей сакуры нифига не даст.

    Тупо ставьте метки по ходу выполнения кода, в конце считайте время выполнения кусков, смотрите какой кусок тормозит, разбивайте его на более мелкие таймфреймы, пока не вычлените проблемный кусок. Из опыта - 90% что тормозят запросы в бд, но вышеописанным способом это легко вычисляется.

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

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Установите live reload

    https://chrome.google.com/webstore/detail/liverelo...
    https://addons.mozilla.org/ru/firefox/addon/live-r...
    https://addons.mozilla.org/ru/firefox/addon/livere...

    И включите возможность в İDE (по ссылке ниже есть инструкция для intellij idea)
    https://stackoverflow.com/questions/33349456/how-t...
    Ответ написан
    Комментировать
  • Как вносить изменения в шаблон страницы без перезагрузки томкат?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Тут говорят, что можно включить hot reload для Thymeleaf. Это позволит автоматически обновлять страницу при изменении шаблона без необходимости перезапуска сервера. Для этого нужно добавить следующие строки в файл application.properties:

    spring.thymeleaf.cache=false
    spring.thymeleaf.enabled=true

    После этого, при изменении шаблона, он должен автоматически перезагружаться и отображаться на странице.
    Ответ написан
    Комментировать
  • Можно ли настроить сеть от одного абонента к другому посредством wi fi направленных антенн?

    @TheBigBear
    СтарОдмины мы
    Если прямая видимость - без проблем можно до 500 Мбит до 11 км вытянуть используя диапазон 5 ГГц и спецоборудование, например Микротик. Всё утыкается в бюджет
    Вопрос другой - а зачем?
    Что мешает на роутере правильно QoS настроить? Тогда ничего лагать не будет - роутер сам будет приоритеты трафика разруливать
    На компе, что торренты качает - с самом торренте ограничение на 50 Мбит поставь - хватит выше крыши
    По секрету скажу, FullHD трансляция - это около 5 Мбит
    4K При частоте 24 – 30 кадров в секунду – порядка 35 – 45 Мб/с.
    4K При частоте 40 – 60 кадров, битрейт составляет 58 – 65 Мб/с.
    У меня на работе полсотни человек сидит на 100Мбитном канале. Если верить Zabbix - средняя нагрузка Интернет канала - 22 Мбит в рабочее время с редкими скачками
    Ответ написан
    4 комментария
  • В чем минусы событийно ориентированного подхода?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Ну да, Вы перепутали сообщение и событие. Вызов метода объекта в ООП можно интерпретировать как сообщение этому объекту из конкретного места и контекста в выполняющемся коде.
    Это не то же самое, что события. Нет никакой шины или очереди событий.
    Для событийного программирования существуют Pub\Sub механизмы, в рамках которых есть паблишеры, которые формируют событие в любом месте и контексте кодовой базы, а есть подписчики, которые реагируют на конкретные типы событий, обрабатывают и передают их дальше или терминируют.
    Этот подход иногда полезен, но часто он рубит распыляет логику по куче обработчиков. Такие системы очень сложно отлаживать, трудно тестировать, практически невозможно доказывать корректность программы для любой допустимой входной последовательности событий. Антипаттерн это потому, что после некоторого порога сложности начинает накапливаться много формальных событий и неочевидных состояний системы. Эта мешанина трудно воспринимается и анализируется человеком
    Ответ написан
    7 комментариев
  • В чем минусы событийно ориентированного подхода?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Не претендую на правду. Просто несколько мыслей.

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

    Мысль первая. Наследие.

    Когда мы говорим о наследии Алана Кея - надо просто глянуть что он создал практически.
    А создал он язык Smalltalk. Поэтому логично изучать минусы событийного подхода на
    примере софта который написан с использованием Smalltalk. Кто из коллег в топике
    знает примеры такого софта? Я - к сожалению не знаю.

    По ссылкам википедии https://en.wikipedia.org/wiki/Smalltalk можно видеть в категории
    influenced мы просто видим что Smalltalk
    влиял на Java, Go, Swift. Но я здесь не согласен потому что мы не можем измерить глубину
    этого влияния. Это все равно что сказать что Сталин влиял на Черчилля. Как влиял? На 10%?
    Или более чем половину? Сложно. Насчет Java я тут сказал-бы что сомнительно. ООП? Может быть.
    Акторы? Нет. В Java изначально нет акторов. Они существуют позже в виде фреймворков но
    языком не поддерживаются.

    По поводу MessageBus. Если брать технологию акторов которая используется в Erlang.
    то там скорее не message bus а очереди сообщений между потоками-акторами.
    Если про Smalltalk сказать нечего то про Erlang я могу сказать что на нем написаны
    две единицы софта такие как RabbitMq (очень надежная и неубиваемая система MQ).
    Может не супер-производительная. И CouchDb которая выделяется своей
    устойчивостью ко всяким сетевым сбоям. Реклама говорит что Кауч работает
    практически при мигающей сети, при обрывах и т.п. лучше чем аналогичый TCP-IP совт.

    Мысль вторая. Что Кей говорил про ООП.

    У меня есть цитатник. Я туда собираю некоторые слова на лытни. И иногда слова Кнута, Дейкстры
    и прочих it-академиков. Вот из цитатника Кея:

    I made up the term "object-oriented," and I can tell you
    I did not have C++ in mind.

    Что в этой прямой речи можно понять. Что господин Кей открещивается от современного ООП.
    А фактически все современное ООП зеркалит то что есть в С++. Здесь вы можете со мной спорить
    о первенстве (я не буду спорить я не знаю). Но абсолютно очевиден факт что мир пошел по пути
    жесткой синхронщины в 80х. И пока все еще идет. Будут ли примитивные типы int/double обьектами
    не суть важно. Тут важно что Кей постулирует среду в которой двигаются сообщения. Как сеть в миниатюре.
    А классическое ООП С++ - лишает нас этой среды и заменяет ее вызовом метода. Никакого сообщения
    в С++ нет и быть не может потому что сообщение НЕ существует в отрыве от основного потока который
    инициировал вычисления. Умрет поток - развалится весь стек и параметры и все. В противоположность
    в языке Erlang поток (процесс) приёмник может дохнуть много раз но стек сохраняет свою живучесть
    просто повторяя вычисления заново. И здесь мне кажется и идет развилка путей.

    И здесь как-раз мы может говорить о недостатках. Очевидно что у нас появляется лаг приемки-передачи
    сообщения. У нас появляются мягкие гарантии времени обработки. И многое другое.

    Интересно почему в 80х Алан Кей проигрывал. Я думаю что победил прагматизм. В те далекие 80-е
    комьютеры были еще слабыми. Частота мерялась сотнями килогерц и мегагерцами. И в расчетах
    каждый такт был важен. И красивые и академические языки такие как Lisp, Prolog, Smalltalk
    просто проигрывали языку С в силу оверинжинеринга. А поскольку С++ был вначале действительно
    ООП-надстройкой над С - то он предлагал и ООП-подход и скорость портабельного ассемблера.
    И хотя я лично не люблю С++ (я считаю его перегруженным техническими долгами прошлого)
    я признаю что бизнес выбирая С++ выбирал просто скорость вычислений. Академизм и красивые
    доказательства правоты программ были тогда не нужны. Нужно чтоб банковское приложение
    быстро считало кредиты и выдавало зарплаты и пенсии.

    Сегодня, когда мы нежемся в сладкой неге мощных процессоров и даже (!) облаков - мы можем
    себе позволить любого уровня парадигмы и абстракции. Цена 1 абстракции стала настолько дешево
    стоить что нам дешевле в банках запускать Java/Net приложения и на ходу фиксить ошибки
    чем долго разрабатывать на С++ и иметь неопредленнное поведение и тяжелый анализ
    в случае падения. Даже такой уродец как Python взлетел как язык интеграции а не разработки.

    Мысль третья. Нестандартные и асинхронные архитектуры реализованные в железе.

    Недавно смотрел анонс нового процессора от Чака Мура (это тот самый Мур который создал закон имени себя).
    Мне кажется это пример той самой асинхронной клетки о которой мечтал Алан Кей.

    Мысль четвертая. На кого похож Алан Кей?

    Не знаю как вам. :) А мне он уж очень напоминает Боливара Траска из Люди Икс Дни Минувшего будущего.

    Мысль 5. Что делает Алан Кей на фото?

    Бренчит на музыкальных инструментах. Наверное блюз. Блюз потерянных архитектур :)
    Ответ написан
    Комментировать
  • Как оценить количество ресурсов, необходимых для работы микросервиса?

    @vitaly_il1
    DevOps Consulting
    Как уже сказали - для сферического сервиса в ваккуме - ответа нет.
    В K8S есть свои нюансы с конфигурацией pods, но в целом все как всегда:
    - написать бета версию
    - запустить load test
    - проанализировать и прикинуть, где надо увеличить систему (sizing) а где оптимизировать
    - починить код, базу данных и т.п.
    - все повторить - load test и т.п.
    Ответ написан
    Комментировать
  • Как оценить количество ресурсов, необходимых для работы микросервиса?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Я могу двум разработчикам из моей команды дать написать микросервис по одному ТЗ и на одних технологиях, а на выходе получаться сервисы с разной производительностью и разным потреблением ресурсов. Как раз для сферических в вакууме случаев невозможна даже приблизительная оценка. При достаточно профессиональной команде и полной свободе выбора технологических решений можно идти от обратного - определить в ТЗ границы доступных ресурсов.
    Ответ написан
    Комментировать
  • Как оценить количество ресурсов, необходимых для работы микросервиса?

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    Нагрузочным тестированием.
    Для примера, предположим, что есть (сферический в вакууме) CRUD сервис ... Предположим, что точная оценка не требуется. Даже погрешность в несколько раз будет приемлемой.
    Сервисов в вакууме не бывает, разный код и внешние зависимости будут влиять по-разному на использование ресурсов с разбегом в несколько порядков.
    Например, для оценки latency существуют подобные таблицы
    Путаете физику с лирикой. В приведённой вами таблице значения вырастают из физических и технических ограничений.
    Ответ написан
    Комментировать
  • Как открывать заблокированный в рф сайт по своему домену?

    kawabanga
    @kawabanga
    https://docs.nginx.com/nginx/admin-guide/web-serve...
    Должен сработать по идее, если нюансов особых нет. Vps самую дешевую покупаете и настраиваете nginx.
    Ответ написан
    Комментировать
  • Как удалить ненужные версии JDK?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Не знаю откуда вы сформировали такой отчет.

    С точки зрения современной ОС вы можете хранить много конфигураций JDK/JRE и перключаться между ними просто изменяя PATH/CLASSPATH. Это работает для Linux в основном. Для Windows мне это не удавалось. По крайней мере был еще один способ конфигурирования путей доступа к библиотекам который я на тот момент не знал. Возможно через реестр.

    Чтобы удалить ненужный - нужно знать какие вам нужны. Я-бы оставил только 17 поскольку она LTS (Long Term Support) а все остальные бы удалил если нет других требований.

    Из оставшихся двух версия corretto - разрабатывается и поставляется амазоном на его виртуалки. Поэтому если хостинг покупаете в амазоне то имеет смыл и ее использовать. Но я не вижу JDK это или JRE. Для процесса разработки софта (компилляции) нужна только JDK.
    Ответ написан
    2 комментария
  • Как удалить ненужные версии JDK?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Вообще не должны мешать. Но и держать без необходимости кучу версий не стоит.
    Джава живет себе спокойно в одной папке, а все, что в системе о ней известно - путь в path и переменная JAVA_HOME.

    На маке лучший способ управлять Java SDK - использовать https://sdkman.io/
    Ответ написан
    1 комментарий
  • Почему в Kotlin (а может и в Java) так много методов?

    Jacen11
    @Jacen11
    Зачем так много?
    то есть по вашему лучше когда в проекте велосипеды, так еще они и постоянно повторяются, потому что названия разные и один разраб просто не знал что уже другой сделал простой метод в проекте. Плюс частенько реализация лучше и продуманее своей, нормальный человек не будет тратить много времени на велосипед. Требуется решать задачи бизнеса, а не думать как обрезать строку после определенного символа.
    ИМХО в котлине эти методы скорее наделаны скорее показать преимущество котлина с их эксеншенами, в джаве с этим сложнее было.
    Ответ написан
    8 комментариев
  • Как убедиться что сжатые изображения является продуктами исходного?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ну... сжатая картинка сохраняет стационоарными некоторые свойства. Например палитра. Цветовые кривые.
    Если не сильно сжимать то и некоторые частотыне свойства сохраняются. Вот. Персептуальный хеш.
    Это такое 8х8 черно белая матрица. Тоже идентичная для оригинала и для скейлинга. На habr.com была
    хорошая статья про эти виды хешей.

    Но честно я-бы такое вообще не делал. Больше
    холивара чем практической пользы.
    Ответ написан
    3 комментария
  • Как удалить идентифицирующую покупателя информацию из PDF?

    mayton2019
    @mayton2019
    Bigdata Engineer
    На бумаге могут стоять водяные знаки в виде мелкой сетки желтых точек.
    Глазами не видно. Но софт распознает как watermark. Технология такая есть.
    Чтоб документы не тырили. Из секретных ведомств.

    Зачем я это говорю. Просто поддерживаю автора в его параноидальных мыслях.
    Ну а если-б не говорил было-б лучше? Предупрежден - вооружен!
    Ответ написан
    3 комментария
  • Стоит ли переписывать старый проект на .NET6 (на голом энтузиазме)?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    В таких случаех все решается деньгами.

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

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

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

    Собственно как эту инфу соберешь, сам поймешь имеет ли смысл переходить
    Ответ написан
    1 комментарий