• Июня 16, 2019, 05:42:31 am
• Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
Новости: Вебинар о выборе IT профессии и руководство для новичков: http://bit.ly/2HG2vFp

Автор Тема: Java Pro 14.05.2019 Vsevolod  (Прочитано 456 раз)

Vex788

  • Пользователи
  • *
  • Сообщений: 5
    • Просмотр профиля
    • E-mail
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #30 : Июня 05, 2019, 10:13:47 pm »
https://github.com/Vex788/Archivizer - архиватор онлайн

Vex788

  • Пользователи
  • *
  • Сообщений: 5
    • Просмотр профиля
    • E-mail
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #31 : Июня 06, 2019, 10:35:50 pm »

Alexander Ts

  • Преподаватели
  • Пользователи
  • *
  • Сообщений: 11812
    • Просмотр профиля
    • E-mail
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #32 : Июня 07, 2019, 12:30:50 am »
Larszz
Вы в качестве ключа карты используете изменяемый тип данных, а именно массив.
private static HashMap<String[], String> usersList = new HashMap<String[], String>();Мало того, для него невозможно переопределить hashCode — который нужен для работы карты. Поэтому вот такой кусок кода

String[] array = {login, password};
return usersList.getOrDefault(array, "Not found");

Не сработает, так как по умолчанию ссылка на массив хешируеться именно как ссылка, и не использует данные этого массива. Так, что все ваши пользователи не будет зарегистрированы.


Vex788
Решение верное

Лагунов Евгений

  • Пользователи
  • *
  • Сообщений: 7
    • Просмотр профиля
    • E-mail
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #33 : Июня 07, 2019, 04:18:44 pm »
https://github.com/YevgeniyLagynov/SQLTask  - Задача Руслана по SQL

Alexander Ts

  • Преподаватели
  • Пользователи
  • *
  • Сообщений: 11812
    • Просмотр профиля
    • E-mail
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #34 : Июня 09, 2019, 12:30:50 am »
Лагунов Евгений
Решение верное, но вот это явно не реализация паттерна DAO. Так, что названия классов не отражают их суть, но работать то будет.

Larszz

  • Пользователи
  • *
  • Сообщений: 30
  • Илларион
    • Просмотр профиля
    • E-mail
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #35 : Июня 09, 2019, 03:06:02 pm »
https://github.com/Larsszz/ChatClient - добавление ф-и авторизации в чат

Alexander Ts

  • Преподаватели
  • Пользователи
  • *
  • Сообщений: 11812
    • Просмотр профиля
    • E-mail
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #36 : Июня 10, 2019, 02:41:29 pm »
Larszz

Решение верное

Larszz

  • Пользователи
  • *
  • Сообщений: 30
  • Илларион
    • Просмотр профиля
    • E-mail
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #37 : Июня 10, 2019, 03:48:32 pm »

Mikroelektrik

  • Пользователи
  • *
  • Сообщений: 10
    • Просмотр профиля
    • E-mail
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #38 : Июня 11, 2019, 02:14:07 am »
Доброго вечера.

Домашнее задание по Data Access Object Pattern

Вот мое решение:
Класс Main
Класс Clients
Класс ClientsDAO
Класс ConnectionUtils

Alexander Ts

  • Преподаватели
  • Пользователи
  • *
  • Сообщений: 11812
    • Просмотр профиля
    • E-mail
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #39 : Июня 11, 2019, 02:52:29 pm »
Larszz
Решение верное

Mikroelektrik
Решение верное
Для всех.
Хотя этот паттерн предполагает объявление интерфейса и один или более его реализаций.

Mikroelektrik

  • Пользователи
  • *
  • Сообщений: 10
    • Просмотр профиля
    • E-mail
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #40 : Июня 11, 2019, 11:54:53 pm »
Доброго вечера!

Доработал предыдущее задание.
Вот что получилось:
Класс Main
Класс Clients
Класс ClientsDAO
Класс ReleaseClientsDAO
Класс ConnectionUtils



Renata Hl

  • Пользователи
  • *
  • Сообщений: 35
    • Просмотр профиля
    • E-mail
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #41 : Июня 12, 2019, 01:22:24 am »
Здравствуйте. Спасибо, я тоже рада вернуться в строй, так сказать  ;D

Задание Web-chat v1.0
Исключения и многопоточность - упрощенный вариант, тк уже очень хочется двинуться дальше по заданиям. Название пакетов в Server - условное.

Client: https://github.com/Reni21/Web-Chat-Client/tree/master/src/main/java
Server: https://github.com/Reni21/Web-Chat-Server/tree/master/src/main/java/ua/kiev/prog

PS: интересно в целом как правильно проектировать подобные задачи изначально. Например я не создала отдельное псевдо-dao/DB/table)) для Message, тк решила, что его хранит Group, хоть  в реальности ведь на каждую сущность создается таблица? или нет?  или вот еще - синхронизировала только методы из dao-классов, а методы в самих сущностях - нет. Еще конечно этот огромный if-else в клиенте который чекает введенные команды, по хорошему надо было наверно вырезать из введенной строки нужную часть, ее проверять через свич кейс и энамы и дальше уже в отдельные методы передавать на реализацию и проверки?
« Последнее редактирование: Июня 12, 2019, 01:43:27 am от Renata Hl »

Alexander Ts

  • Преподаватели
  • Пользователи
  • *
  • Сообщений: 11812
    • Просмотр профиля
    • E-mail
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #42 : Июня 13, 2019, 12:53:08 am »
Mikroelektrik
А вот так вообще просто супер

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

А вот насчет if вы правы тут нужно быстро принимать решения. Так что тут switch сработал бы лучше.

Vex788

  • Пользователи
  • *
  • Сообщений: 5
    • Просмотр профиля
    • E-mail
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #43 : Июня 13, 2019, 04:08:20 pm »
Реализовать функцию обновления с помощью рефлексии используя dao
https://github.com/Vex788/HibernateTasks/blob/master/universal_dao/Dao.java

Создать таблицу «Меню в ресторане». Колонки: название блюда, его стоимость, вес, наличие скидки. Написать код для добавления записей в таблицу и их выборки по критериям «стоимость от-до», «только со скидкой», выбрать набор блюд так, чтобы их суммарный вес был не более 1 КГ.
https://github.com/Vex788/HibernateTasks - App содержит main
https://github.com/Vex788/HibernateTasks/blob/master/GetDataInRange.java - функция сортировки

Larszz

  • Пользователи
  • *
  • Сообщений: 30
  • Илларион
    • Просмотр профиля
    • E-mail
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #44 : Июня 13, 2019, 04:23:37 pm »
Задание с ресторанным меню и функциями выборки - https://github.com/Larsszz/JavaEE/tree/ClientChat/Menu_HW/src/main