• Где хранить проекты Android Studio?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Хранить проекты нужно в репозиториях.
    Для максимального быстродействия все должно быть на ссд.
    Когда проект не требуется, удаляете с ssd.

    Свой HDD можете использовать в дополнение к внешнему хостингу в режиме зеркала.
    В общем ваш HDD винт для архивов.
    Ответ написан
    Комментировать
  • Могу ли я делать и продавать ремастеры знаменитых игр и фильмов?

    vabka
    @vabka
    Токсичный шарпист
    Использовать торговую марку, без разрешения правообладателя - точно нельзя.

    Разрабатывать - иногда можно (Если не используешь торговую марку, оригинальные ассеты, имена персонажей итд) , но в общем случае - тоже нет.
    Есть куча случаев, когда крупные корпорации запрещали мододелам разработку и публикацию всяких модов-ремастеров.

    Но если будет разрешение - тогда вполне можно и разрабатывать и даже продавать. Black Mesa тому пример.
    Ответ написан
    Комментировать
  • Могу ли я делать и продавать ремастеры знаменитых игр и фильмов?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Конечно можете. Заключаете договор с правообладателем, приобретаете право на создание производного произведения и вперёд, творите.
    Ответ написан
    Комментировать
  • Как настроить vs code на два монитора?

    @maksam07
    Для того, чтобы разделить Visual Studio Code на два монитора, можно воспользоваться функцией разделения редактора на несколько групп.

    Для этого нужно выполнить следующие шаги:

    - Откройте VS Code на одном из мониторов.
    - Откройте необходимые файлы или папки, которые вы хотите отображать на другом мониторе.
    - Перетащите вкладки с нужными файлами в новое окно VS Code, которое вы хотите разместить на другом мониторе.
    - Правой кнопкой мыши щелкните на вкладке и выберите "Split Editor".
    - Выберите желаемое расположение разделенных групп редакторов (например, вертикальное или горизонтальное расположение).

    Теперь вы можете перетаскивать вкладки между разделенными группами, чтобы настроить их расположение на экранах мониторов.
    Ответ написан
    1 комментарий
  • На сколько сложно утроиться джуном на позицию C++ dev?

    @dima20155
    you don't choose c++. It chooses you
    Совет - иметь навыки мидла, претендовать на позицию джуна тогда все получится))
    В целом, не слишком сложно, все зависит от навыков, о них ниже:

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

    По навыкам - мне нравится этот road map, ну и самый главное желание и стремление обучаться.
    Ответ написан
    2 комментария
  • Как определить, что у пользователя включен vpn?

    vovka3003
    @vovka3003
    Фрилансер. Инженер систем безопасности.
    Только по косвенным признакам.
    Если вы ждёте аудиторию из РФ, а VPN находится за ее пределами, можно дергать IP посетителя ($_SERVER['REMOTE_ADDR'];) и прогонять через какой-нибудь сервис типа https://ip-api.com. Результат отличный от "Russua" - обрабатывать, как вам требуется...
    Но это как вариант. Способ весьма костыльный.
    Ответ написан
  • Бесплатное портативное ПО для очистки следов активности на Windows и на Android-устройствах?

    @ewgenc
    Поднять виртуалку и работать в ней. Перед границей образ удалять. Для телефона взять Самсунг и работать в режиме скрытой папки.
    Ответ написан
    2 комментария
  • Как автоматически отправить форму?

    @whoiam_frontend
    Python-разработчик
    Клиент ид и время отправки - это не личные данные, так что проблем с законом нету. Но если так боишься, можешь добавить пункт "данные, которые мы используем" (и обьяснение зачем)
    Ответ написан
    Комментировать
  • А время с DS1302 всегда-всегда корректное?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    И решение, если я читаю часы-минуты-секунды и получаю в секундах 00 - то мне следует перечитать минуты ещё раз и сделать вывод.

    Обычно в таких случаях самый часто изменяющийся разряд читают дважды -- в начале и в конце чтения составного значения и перечитывают значение целиком если этот разряд изменился.
    Ответ написан
    1 комментарий
  • Можно ли в одном проекте создать несколько выполняемых или jar файлов?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Можно.
    Это называется модули maven.
    Ответ написан
    1 комментарий
  • Можно ли в одном проекте создать несколько выполняемых или jar файлов?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Значит смотри. Что такое несколько выполняемых файлов. Это просто несколько jar-файлов в которых просто есть нужный манифест. Я достигал это с помощью профилей и с помощью Makefile который уже автоматизировал сборку проекта. Вот пример проекта с двумя main артифактами. Приведу только ключевые фрагменты которые есть суть.

    pom.xml
    <profiles>
        <profile>
          <id>java</id>
          <properties>
            <main.class.name>org.example.JavaTemplate</main.class.name>
            <jar.name>java-template</jar.name>
          </properties>
        </profile>
        <profile>
          <id>java-kafka-producer</id>
          <properties>
            <main.class.name>org.example.kafka.JavaKafkaProducerTemplate</main.class.name>
            <jar.name>java-kafka-producer-template</jar.name>
          </properties>
        </profile>
       ....
    <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.2.0</version>
            <configuration>
              <archive>
                <manifest>
                  <addClasspath>true</addClasspath>
                  <Main-Class>${main.class.name}</Main-Class>
                </manifest>
              </archive>
              <finalName>${jar.name}</finalName>
            </configuration>
          </plugin>

    Makefile
    java-kafka-producer-template: build
    	mvn package -DskipTests -Pjava-kafka-producer
    	cp -f target/java-kafka-producer-template.jar ./bin/
    
    build: clean
    	mvn install dependency:copy-dependencies
    	cp -f target/dependency/* ./bin/
    	rsync src/main/resources/shell/* ./bin
    
    clean:
    	rm -fr bin/*
    	mkdir -p bin/
    ...


    Сразу скажу что я не искал коробочного решения в виде готового gradle/maven плагина. Я просто скриптовал последовательность действий для нескольких сборок. Фактически я делал несколько компилляций проекта с разными параметрами. Я думаю что я достиг своей цели не заморачиваясь java-перфекционизмом или зависимостью от IDE.
    Ответ написан
    Комментировать
  • Можно ли в одном проекте создать несколько выполняемых или jar файлов?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Да, можно. Делаете сколько нужно классов с методом main, свой jar подключаете библиотекой -cp, классы указываете по имени.
    Если же хотите, чтобы вызывался именно как -jar, то в манифесте можно указать только один main-класс.
    Ответ написан
    6 комментариев
  • Как избежать впустую расходования ресурсов при чтении из BlockingQueue Java?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Кажется, вашу проблему полностью решает project reactor

    Вот небольшое демо:

    @Test
        void testMultiproducer() throws InterruptedException {
    
            Sinks.Many<Integer> sinksA = Sinks.many().multicast().onBackpressureBuffer();
            Sinks.Many<Integer> sinksB = Sinks.many().multicast().onBackpressureBuffer();
            Sinks.Many<Integer> sinksC = Sinks.many().multicast().onBackpressureBuffer();
    
            Sinks.Many<Integer> sinkCommon = Sinks.many()
                    .multicast()
                    .onBackpressureBuffer();
    
            sinkCommon.asFlux()
                    .mergeWith(sinksA.asFlux().delayElements(Duration.ofMillis(100)))
                    .mergeWith(sinksB.asFlux().delayElements(Duration.ofMillis(200)))
                    .mergeWith(sinksC.asFlux().delayElements(Duration.ofMillis(300)))
                    .subscribe(e -> log.info("Element {}", e));  // Your consumer
            
            IntStream.range(0, 100)
                    .forEach(sinksA::tryEmitNext);  // Your producers
    
            IntStream.range(1000, 1100)
                    .forEach(sinksB::tryEmitNext);
    
            IntStream.range(2000, 2100)
                    .forEach(sinksC::tryEmitNext);
    
            Thread.sleep(10000); // Is necessary for test only
        }
    Ответ написан
    Комментировать
  • Подойдет ли mysql для работы с aiogram?

    mayton2019
    @mayton2019
    Bigdata Engineer
    При 700 наверное вообще любая БД подойдет.
    Но тут надо еще отметить что архитектура БД выбирается исходя из наиболее типичных запросов.
    Например для установления дружбы между людей в соц-сетях и для принятия маркетинговых решений
    берут графовую БД. Для хранения сета вариативных документов - берут Mongo. Для финансовых транзакций
    с историей - берут классические реляционные типа Oracle/PG.
    Ответ написан
    Комментировать
  • Как лучше обращаться к базе?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Если рассматривать аналогию с php, то там каждый запрос отправляется с новым подключением к базе.
    Это не так. Соединение открывается на все время выполнения скрипта, и закрывается автоматически по завершении работы всей цепочки вызовов. В процессе, одно соединение может выполнить стопицот запросов.

    На сколько целесообразно "пытаться" держать соединение, или все же просто по аналогии с php?
    Вот тут точного ответа не дам, однако в пхп стараются избегать персистент соединения, так как пул соединений не бесконечный, и чем быстрее закроется соединение, тем быстрее можно освободить очередь для открытия нового, таким образом с небольшой задержкой можно обслужить очередь из сильно превышающей пул очереди. А с одним соединением начинается жонглирование запросами внутри 1 соединения, что приводит к блокировке кучи пользователей пользующихся 1 соединением с бд, вместо локально тормозящего 1 юзера в случае открытия/закрытия...

    Более точно можно узнать у нодеров, мои выкладки по отношению к данной платформе больше теоретические.
    Ответ написан
    3 комментария
  • Какие навыки требуются Junior программисту микроконтроллеров?

    @dima20155
    you don't choose c++. It chooses you
    1. Прежде всего, нужно знание схемотехники, но в вашем случае этот этап можно вычеркнуть.
    2. Естественно, знание основ С и С++ (синтаксиса, базовых конструкций). Советую вам использовать в своих проектах С++, поскольку зачастую вы сможете писать в стиле С без каких-либо проблем, а при необходимости воспользоваться фичами/библиотеками для С++.
    3. Навыки hardware и software отладки. Здесь просто нужна практика с любимой IDE.
    4. Понимание указателей, типов памяти (статическая, динамическая, автоматическая, регистровая). Как память выделяяется и прочее.
    5. Знание базовых структур данных. Это немного скользкий пункт, поскольку С++ предоставляет хорошую (хотя и весьма минималистичную) стандартную библиотеку STL, в которой есть большинство из необходимых структур данных, но они используют довольно много дополнительной аллокации памяти, поэтому если пишете под что-то 8битное, то имейте это ввиду.
    6. Знание git на базовом уровне сейчас важно для джуна любой IT специализации.
    7. Неплохо бы иметь базовое представление о том как устроен микроконтроллер и его архитектура.
    8. Неплохо бы понимать RTOS (FreeRTOS - классика жанра), а главное зачем он нужен, а когда он не нужен или вреден.
    9. Лично мне всегда в работе пригождается python, но это всегда сторонние задачи/автоматизация.

    P.S. Нашел ещё вот такой RoadMap.
    P.S.S. Получилось довольно объемно. Но пункты 2-5 по сути можно объединить в один. Все это можно изучить написав парочку проектов для классической STM32 + HAL.
    P.S.S.S. Сам начинал как hardware разработчик. Путь embedded разработчика начального уровня не был сложным для меня и занял не очень много времени.
    Ответ написан
    Комментировать
  • Можно ли в Spring перехватывать все исключениия у тасков и контроллеров?

    @Dmtm
    Android
    можно попробовать через аспекты https://habr.com/en/post/428548/
    Ответ написан
    Комментировать
  • Возможно ли на java сделать микросервис, который бы генерировал xls со сложной структурой и использовать его через api?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Микросервис можно
    Обращаться по api можно
    Генерировать xls можно
    Осталось понять, что вы имеете ввиду под «сложной структурой»

    Начните со знакомства с apache poi
    Ответ написан
    3 комментария
  • Возможно ли на java сделать микросервис, который бы генерировал xls со сложной структурой и использовать его через api?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Вопрос состоит из двух частей.

    1) Можно ли на java сделать микросервис? Ответ - да. Есть много готовых шаблонов типа Spring-REST
    которые являют собой почти готовые микро-сервисы.

    Например https://start.spring.io/;

    2) Генерировать XLS со сложной структурой. Тут не знаю. Насколько сложной? Что там? Вся база знаний о планете Земля со времен Шумеров? Ну для работы с XLS есть библитечка apache poi

    https://poi.apache.org/
    Ответ написан
    4 комментария