• 0.30

  • +0.55

naatsms
  • naatsms
  • 0
Вообще у меня разговорный elementary, но технический upper-intermediate, я могу читать доки на английском и все понимать. Собственно, способность читать доки на английском спрашивали везде, да.
naatsms
  • naatsms
  • 0
В Москве, да. Была бы вышла, пришлось бы ехать в Иннополис в сбертех. Так что считай повезло.)
naatsms
3310.10 ни разу не заработала.
naatsms
  • naatsms
  • 0
То же самое.
Намертво, причем. Я сравнивал свое решение с готовым на гитхабе — все один в один, но что-то идет не так.
У меня уже черной материи нет, чтобы дальше двигаться: три больших задачи подвисли на таких вот траблах.
naatsms
  • naatsms
  • 0
Task39.task3913.big1
Уважаемые разработчики, можно уточнить, работает ли эта задача? Принимает ли решение с использованием Stream API, дополнительных классов и методов?
Мое решение не проходит ни по одному пункту у валидатора.
public int getNumberOfUniqueIPs(Date after, Date before) {
        List<LogEntry> list = getAllEntries(logDir);
            return (int) list.stream()
                .filter(s -> {
                    if (after == null && before == null) return true;
                    if (before == null) return s.date.compareTo(after) >= 0;
                    if (after == null) return s.date.compareTo(before) <= 0;
                    else return (s.date.compareTo(before) <= 0 && s.date.compareTo(after) >= 0);
                })
                .map(s -> s.ip)
                .distinct()
                .count();
    }
naatsms
  • naatsms
  • 0
CloNeable :)
naatsms
  • naatsms
  • 0
task36.task3612
Рабочее решение, если и существует, лежит за гранью возможностей наших бубнов.
private void updateLastDate(long delta) {
        dates.remove(lastDate);
        lastDate.setTime(lastDate.getTime() + delta);
        dates.add(lastDate);
    }

Не знаю, читаете ли другой топик, вот тут еще шесть багов в задачах 30+
naatsms
  • naatsms
  • 0
task34.task3412
Во первых, в библиотеке по ссылке у класса Logger нет метода trace()
Ну допустим, валидатор принимает 5 методов trace, расположенных в определенных местах, удалось угадать, в каких именно.
А что с методами debug? Чтобы решить эту задачу, мне нужно перебрать 21125 способов разместить эти методы? Или в задаче баг?

Так же хотелось бы получить подтверждение работоспособности следующих задач, прежде, чем продолжать ломать голову:
task33.task3309
task34.task3404

Все тесты, которые смогли придумать JavaRush-сообщество и я, мой код проходит, но задачи сдать пока не удалось.
ЗЫ Спасибо за вашу работу, надеюсь, что ошибки будут исправлены в ближайшем будущем.
naatsms
  • naatsms
  • 0
task33.task3303
Тоже, где в этих четырех строках можно было накосячить?
public static <T> T convertFromJsonToNormal(String fileName, Class<T> clazz) throws IOException {
        ObjectMapper objectMapper = new ObjectMapper();
        StringReader stringReader = new StringReader(fileName);
        T obj = objectMapper.readValue(stringReader, clazz);
        return obj;
    }

Объект возвращаемый методом convertFromJsonToNormal должен быть получен с помощью метода readValue класса ObjectMapper. — говорит Валидатор.
naatsms
  • naatsms
  • 0
task33.task3305
Валидатор говорит: Класс Auto должен быть отмечен аннотацией @JsonSubTypes с подходящим набором параметров.
@JsonAutoDetect
@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, property = "className")
//@JsonSubTypes({@JsonSubTypes.Type(value = Auto.class, name = "auto"),
        //@JsonSubTypes.Type(value = Car.class, name = "car"),
        //@JsonSubTypes.Type(value = Motorbike.class, name = "motorbike"),
        //@JsonSubTypes.Type(value = RaceBike.class, name = "racebike")})
public abstract class Auto {
    protected String name;
    protected String owner;
    protected int age;
}

Вообще непонятно, зачем здесь требуемые аннотации, если вывод соответствует указанному без них.
Задача не принимается ни при каких вариациях, разумеется.
naatsms
  • naatsms
  • 0
task32.task3208
Тоже вроде решение не должно вызывать сложностей, сделано полностью по аналогии с предыдущей задачей лекции.
Валидатор говорит: Для Cat и Dog нужно добавить в registry связь уникального текстового ключа и Remote объекта используя registry.bind (String, Remote).
public static Thread SERVER_THREAD = new Thread(new Runnable() {
        @Override
        public void run() {
            final String CAT_BINDING_KEY = "cat_vaska";
            final String DOG_BINDING_KEY = "dog_zuchka";
            try {

                registry = LocateRegistry.createRegistry(2099);
                Cat cat = new Cat("vaska");
                Dog dog = new Dog("zuchka");
                Remote stub1 = UnicastRemoteObject.exportObject(cat, 0);
                Remote stub2 = UnicastRemoteObject.exportObject(dog, 0);
                registry.bind(CAT_BINDING_KEY, cat);
                registry.bind(DOG_BINDING_KEY, dog);
            } catch (RemoteException | AlreadyBoundException e) {
                e.printStackTrace();
            }
        }
    });
naatsms
  • naatsms
  • 1
task31.task3112
Вообще одни эмоции.
Мало того, что предполагаемое автором задачи решение кидает FileAlreadyExistException (это к тому, что метод files.copy не принимается с параметром StandardCopyOption.REPLACE_EXISTING), метод Move валидатор не видит в принципе.
Рабочий код:
public static Path downloadFile(String urlString, Path downloadDirectory) throws IOException {
        URL url = new URL(urlString);
        Path temp = Files.createTempFile("temp", "tmp");
        try (InputStream in = url.openStream()) {
            Files.copy(in, temp, StandardCopyOption.REPLACE_EXISTING);
        }
        if (Files.notExists(downloadDirectory)) Files.createDirectories(downloadDirectory);
        Path target = downloadDirectory.resolve(url.getPath().substring(url.getPath().lastIndexOf("/") + 1));
        Files.move(temp, target, StandardCopyOption.REPLACE_EXISTING);
        return target;
    }

Почему не работает такой код?
naatsms
  • naatsms
  • 0
task32.3209.big15
Валидатор не принимает очевидное решение (и никакое другое, впрочем).

HTML Editor (15)
Добавь в контроллер метод resetDocument(), который будет сбрасывать текущий документ. Он должен:
15.1. Удалять у текущего документа document слушателя правок которые можно отменить/вернуть (найди подходящий для этого метод, унаследованный от AbstractDocument). Слушателя нужно запросить у представления (метод getUndoListener()).
Не забудь проверить, что текущий документ существует (не null).
15.2. Создавать новый документ по умолчанию и присваивать его полю document.
Подсказка: воспользуйся подходящим методом класса HTMLEditorKit
15.3. Добавлять новому документу слушателя правок.
15.4. Вызывать у представления метод update().

public void resetDocument(){
        if (document != null) {
            document.removeUndoableEditListener(view.getUndoListener());
        }
        document = (HTMLDocument) new HTMLEditorKit().createDefaultDocument();
        document.addUndoableEditListener(view.getUndoListener());
        view.update();
    }
naatsms
  • naatsms
  • 0
Ммм, думаю нет.
naatsms
  • naatsms
  • 0
Спасибо!
Ждем фиксов задач 30+;
naatsms
  • naatsms
  • 0
По поводу материи даже не знаю, вообще выглядит так, словно она закончится быстрее, чем я успею накопить новую. Ну да поглядим, может и не закончится.
За работу над фильтром спасибо, очень ждем.
Еще ждем (я точно, не знаю, как другие) отображения задач и лекций списком в дополнение к «плитке».
naatsms
В качестве альтернатив autoboxing, если речь о коллекциях, можно использовать специфические коллекции типа IntObjectMap — в которых параметризируется только value. Есть сторонние библиотеки, хотя можно и самому написать при желании.
naatsms
Написал в итоге классический итеративный BottomUp алгоритм, который валидатор съел. 76 попыток :)
naatsms
Ужасная задача. Впервые подорвала мою мотивацию. Двое суток сидел над десятым заданием, трижды переписал метод (с рекурсией, без рекурсии), прочитал все топики по 10 заданию, перебрал все возможные варианты исправлений, прогнал все возможные тесты. Результат один. Психанул и сбросил прогресс задачи. Перепишу сейчас все по-новой.
naatsms
Это не значит, что main участвует. Не морочь людям головы, можно вообще убрать из решения метод main и все равно сдать задачу.