Как стать автором
Обновить
8
0
Ераков Валерий @evkin

Java програмист

Отправить сообщение

Возник такой вопрос, после прочтения AN4151ru.pdf по вашей ссылке: ваша схема эквивалентна рисунку 1 (Полумостовой последовательный LC), а для LLC там добавляется еще один дроссель параллельно первичной обмотке трансформатора (рис 2). Так у вас все таки LC или LLC? И если второе, то как без дросселя?
UPD: вдумчиво перечитав документ, вопрос снят... шунтирующим дросселем выступает индуктивностью намагничивания самого трансформатора, который надо хитро намотать

Через ВПН он работает. Там я проблемы не увидел. Но для теста другими рекомендую хоть кого то из собеседников добавить, что бы было 24/7. Например просто держать клиента в постоянном подключении, пусть хоть стену или вид из окна транслирует...

Да. Я тоже посмотрел недолго как он никого не может найти и закрыл. Про это уже писать не стал))

Слегка сыроват. Попробовал зайти - из Украины не открывается, ладно есть впн. на компе поиск не работает, веб консоль показывает что код падает если нет камеры. Ок, беру телефон... Заполняю форму фильтра - по кнопке "сохранить и начать поиск" форма не закрывается и не видно что поиск начался))

Жаль что вы не добавили Executors.newVirtualThreadPerTaskExecutor в тесты. Было бы интересно сравнить

Сразу в глаза бросилось, что вы 2 раза вычитываете файл, для определение кодировки и потом для чтения. Зачем? читайте сразу в массив байтов или тот же ByteArrayOutputStream, скармливая данные декодеру пока не определит, дальше дочитываете до конца файла и возвращаете new String(bytes, charset)
Так же, возможно, можно упростить работу с картинками, без необходимости их сохранять в файлы, если вы используете html view. Тег img, позволяет это, в такой формате: <img src="data:image/gif;base64,R0lG....

Если я правильно помню, NordicEnergy не удалился, а переименовался. И сейчас он IlyaGalkin

Нет, я там заметил описание кода реализации сканирования по пакетам, в примере самописного (упрощенного) IoC и подумал, что PqDn это может быть интересно.
А на спринг вы местами сами ссылаетесь в тексте. И взять какое то промышленное решение и сделать более удобную для себя имплементацию, сохраняя частичную привычность использования и понимания, имхо более правильный подход, чем увековечивание своего "имени" в паблик апи аннотаций)))

Совсем недавно была статья по этому поводу: "Реализация Spring Framework API с нуля. Пошаговое руководство для начинающих. Часть 1", (https://habr.com/post/419679/) с разбором как оно работаем и примером кода, а-ля свой упрощенный спринг.
А по поводу своего велосипеда из этой статьи, в первую очередь бросаются в глаза аннотации. Что помешало взять JSR-330 и реализовать тот же @ Inject & компанию? если уж спринговые не нравятся....

попадалась презенташка, в которой был кусочек сравнения https://www.slideshare.net/alexeymigutsky/jsp-thymeleaf-20

По поводу динамических шаблонов — вообще не проблема. У нас шаблоны хранятся в базе (+кеш) и чудненько в процессе работы перегенерируются. Причем используются именно html, т.е. с экранированием тоже проблем нет. Соответственно вообще можно построить логику, что будет по нужным звездам разные шаблоны подаваться, делая ветвление в java логике или же if-ами.
С бинами проблем тоже нет. Через точку можно обращаться к свойства любой глубины вложенности. Там есть реализация бин обработчика (BeansWrapperBuilder), Map-у мы вообще не используем

Мне в этом плане очень понравился MyBatis. Особенно когда используется не JdbcTemplate, а какой то ORM типа Hibernate, JPA, spring-data…
Если что то сильно выходит за границы CRUDа — плачешь, колешься пишешь на соответствующем фремворке и думаешь, как было бы проще если бы сам накидывал структуру таблиц и выгребал это все SQLем (а местами так и делаю, через native query)

В большинстве случаев уже предпочитают использовать Java Native Access (JNA). С ней все становиться попроще.

Жесть… как минимум добавить какой то ключ (пароль) что бы любое сканирование портов не запускало эту чудо команду и не выключало комп.
Да и не мешало бы добавить в параметры shutdown (для windows) добавить еще ключик "f", что бы перезагрузка не уперлась, в какой то не сохраненный файл / подтверждение

Конечно же правильно вынести переменную вне цикла.
Можно даже сделать её полем класса (но это не самый лучший вариант, т.к. код становиться не многопоточным).
Проблема в том, что соединение строк — это всегда создание нового объекта в джаве и соответствующие копирование памяти 2х строк, в новый буфер.

Ну, давайте попробуем:
Код теста
package test;

import org.openjdk.jmh.annotations.*;
import org.openjdk.jmh.infra.Blackhole;

import java.util.concurrent.TimeUnit;

@State(Scope.Thread)
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
public class MyBenchmark {

    @Benchmark
    public void testOptMethod(Blackhole bh) {
        for (int y = 0; y < 100; y++) {
            if (y % 3 == 0) {
                bh.consume(y % 5 == 0 ? "MissKiss" : "Miss");
            } else {
                bh.consume(y % 5 == 0 ? "Kiss" : Integer.toString(y));
            }
        }
    }

    @Benchmark
    public void testMethod(Blackhole bh) {
        for (int y = 0; y < 100; y++) {
            String outStr =  "";
            if ((y % 5) == 0) outStr="Miss";
            if ((y % 3) == 0) outStr=outStr + "Kiss";
            bh.consume(outStr.isEmpty() ? Integer.toString(y) : outStr);
        }
    }
}


Результаты:
# Run complete. Total time: 00:13:27

Benchmark _______________ Mode _ Cnt __ Score ___ Error __ Units
MyBenchmark.testMethod ____ avgt _ 200 _ 1755,979? 22,389 _ ns/op
MyBenchmark.testOptMethod _ avgt _ 200 _ 1415,720? 14,703 _ ns/op
Я джавист, поэтому выделять переменную, да и еще и генерить несколько строк в результате их соединения, для меня лютый оверхед, если можно просто вынести их как константы)))
мне тяжело воспринять фразу «сложнее воспринимать код», который состоит из 5 строчек))))
Интересно, мне одному глаза режет двойная проверка условия и лишние соединения строк? Почему то никто не предложил чуть более оптимизированный вариант внутреннего цикла:
if (y % 3 == 0) {
    console.log((y % 5 == 0) ? "MissKiss" : "Miss");  
} else {
    console.log((y % 5 == 0) ? "Kiss" : y);
}
Вот так вот, вы выложили, а людям потом по ночам не спать — смотреть)))
а вообще, прекрасная новость. Спасибо))

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность