Ответы пользователя по тегу Java
  • Есть ли перспективы ПО разработки?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    Ох... И не знаю даже, как Вам ответить. Да, появилось такое направление, как web-программирование. Но оно появилось уже давно, несколько десятков лет назад. Оно набирает популярность, чему есть объективные и субъективные причины. Но про "сейчас все уходит в веб" Вы сказали не подумав. Web-программирование - это только одно из многих направлений прикладного программирования.
    Я, например, занимаюсь сложными программно-аппаратными комплексами. В них входят разные подсистемы: есть web-интерфейс пользователя, есть web-сервисы, но за этим фронтоном стоят очень мощные системы сбора, обработки и хранения информации. Часто эти системы распределены по всей территории России, и вопрос их взаимодействия/синхронизации - тоже весьма не тривиальный.
    Очень активно сейчас развиваются системы типа "умный дом" или "умный офис", и в них web - важная, но не решающая часть. Важнее по сигналу датчика выполнить корректно некое действие, чем уведомить об этом пользователя. Да и способы уведомлений бывают разные, не только посредством Интернет, и всем этим занимаются программисты.
    В общем, я бы говорил о проникновении программного обеспечения в самые разные области жизнедеятельности человека, просто одни люди чаще работают с web-интерфейсом, а другие - со штурвалом самолёта или щитом управления АЭС.
    А стоит или нет изучать программирование на Java и C# - это уж Вы сами решите. Платформы очень мощные, но есть прикладные задачи, для которых они не очень подходят. Решите, чем Вы сами хотите заниматься, тогда станет понятно, какие инструменты использовать.
    Ответ написан
    Комментировать
  • Как правильно спроектировать базу данных?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    У Вас не сильно нагружена операционная часть (создание, изменение, удаление задач пользователя), поскольку самих задач у пользователя много не бывает. В сутках только 24 часа, и в году только 365 дней. Гораздо бОльшая нагрузка падает на поиск и фильтрацию списка задач (или дел, как Вы это назвали).

    Возможным решением будет многомерное представление данных. Например, по схеме "звезда": есть таблица задач и несколько таблиц измерений, по которым можно проводить выборку (пользователь, тип задачи, проект или категория задачи, место встречи, дата и время и т.п.). Это требует некоторой денормализации и бОльших затрат на операции с отдельными записями, но упрощает агрегацию и выборку списков.
    Ответ написан
    2 комментария
  • Изучаю java,загвоздка состоит в том,куда двигаться дальше?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    Но чтобы устроится на работу junior developer мне нужно сделать хотя бы два проекта


    В чём проблема? Возьмите и сделайте. Что-то суперсерьёзное делать не нужно. Надо лишь показать, что можете работать со средой разработки и знаете основы языка Java. От стажёра большего не требуется.

    В этом состоит загвоздка,проект без помощи я еще не могу создать,да и не знаю толком какой проект сделать.


    А вот эти навыки Вы должны продемонстрировать. Достаточно бесплатных курсов, чтобы получить первичные навыки. Например, этот. Тщательно воспроизведите примеры.

    Неплохая среда разработки Eclipse (https://eclipse.org/downloads/packages/eclipse-ide...). Есть книги на русском, есть статьи и документация.
    Ответ написан
    1 комментарий
  • C чего стоит начать переход с C# на Java?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    Начинайте с начала. Несмотря на некоторую похожесть названий классов, архитектура .NET и Java разная. Начальный уровень владения C#, возможно, даже хорошо в Вашем случае: мозг клинить не будет.

    Я бы посоветовал сначала познакомиться с возможностями языка. Возьмите какой-нибудь бесплатный видеокурс, например, Разработка приложений для ОС Android. Не спеша работая с демонстрируемыми примерами, получите первые навыки и почувствуете среду разработки.

    А дальше - книги, более глубокие курсы, проработка разных тематик и выбор своего пути.
    Ответ написан
    Комментировать
  • Как избавится от дублирования кода?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    Я бы создал класс AbstractClass, чтобы CommonClass и ConcreteClass1 наследовались от него. ConcreteClass2 должен наследоваться от ConcreteClass1. В AbstractClass вынес бы из CommonClass те члены, которые должны быть общими для всех классов. Всё.
    Ответ написан
    Комментировать
  • Как обеспечить прозрачный доступ к зашифрованным файлам без их полного расшифрования?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    На данный момент я использую такой поход:
    1. При подключении контейнера полностью расшифровываю все файлы в обычную папку.
    2. Монтирую папку как диск.
    3. Наблюдаю за событиями в папке с расшифрованными файлами используя WatchService.
    4. Например, при добавление нового файла зашифровываю его и сохраняю в контейнер.
    5. После отключения контейнера удаляю все расшифрованные файлы и отключаю папку.


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