• 0.62

  • +1.94

  • ,

Добровольцы! Нужно протестить задание, помогите!

Привет народ! Пишу тестовое задание. Это форма регистрации. Нужно протестить. Если есть желающие, стучите в скайп uladzimir.kordzik дам документацию и ссылку на приложение. Не стесняемся)))
  • ,

Шаблон Bridge, правильно ли я понял?

Коллеги, помогите… Сейчас разбираю шаблон Bridge. Ниже набросал код в котором демонстрирую мое понимание данного подхода. Правильно ли я понял?

Демо задача:
Бухгалтерия печатает отчеты… Сегодня нужны за неделю и месяц, а завтра фиг его знает))) Формат пока нужен PDF и DOC, но и это может измениться))) Т.е. система отчетов должна быть масштабируемой по условным двум осям.


Реализация:
abstract class AbstractFormat {
    abstract void print();
}


public class DOCFormat extends AbstractFormat {
    @Override
    void print() {
        System.out.println("This is a DOC representation:");
    }
}


public class PDFFormat extends AbstractFormat {
    @Override
    void print() {
        System.out.println("This is a PDF representation:");
    }
}


abstract class AbstractReport {
    void print(AbstractFormat abstractFormat){
        abstractFormat.print();
    }
}


public class MonthlyReport extends AbstractReport{
    @Override
    void print(AbstractFormat abstractFormat) {
        super.print(abstractFormat);
        System.out.println("Monthly report");
    }
}


public class WeeklyReport extends AbstractReport{
    @Override
    void print(AbstractFormat abstractFormat) {
        super.print(abstractFormat);
        System.out.println("Weekly report");
    }
}


public class Main {
    public static void main(String[] args) {
        new MonthlyReport().print(new PDFFormat());
        new MonthlyReport().print(new DOCFormat());

        new WeeklyReport().print(new PDFFormat());
        new WeeklyReport().print(new DOCFormat());
    }
}


Кстати, ребята! В процессе решения задачек не забывайте про фундамент. Я вот как дошел до поиска работы, неожиданно пришлось в шаблонах разбираться)))
  • ,

Dependency Injection. Помогите чайнику!

Я уже вовсю юзаю Spring, где на каждый «пук» ложиться @autowired. Все отлично работает, удобно и просто до обалдения. Но в один прекрасный момент я понял, что я ничего не понял))) Как это работает? Коллеги! Помогите разобраться…
  • ,

Есть ли разница где инициализировать переменную?

Дошел до 28 уровня. И неожиданно осознал, что я не понимаю есть ли разница инициализации переменной при ее объявлении или в конструкторе который у нас присутствует явно. Для примера возьмем final которую обязаны инициализировать. Пожалуйста, на «пальцах» разъясните разницу между примерами:

a)
public class Test {
    private String name;
    private final Object obj = new Object();

    public AdvertisementManager(String name) {
        this.name = name;
    }
}


b)
public class Test {
    private String name;
    private final Object obj;

    public AdvertisementManager(String name) {
        this.name = name;
        obj = new Object();
    }
}
  • ,

Новые проблемы Silverlight под Ubuntu. Решение - костыль.

Pipelight
There was an error during the plugin initialization!
Press OK to open a page with additional information.

Знакомая проблема? По ходу вы обновляли ядро. Проверяем:

uname -r


Получили 3.13.0-59? Угу… Судя по комментариям на форуме поддержки Firefox, пока человеческого решения нет. Единственный вариант, откатиться до предыдущего ядра. Т.е. во время загрузки жмем Shift и выбираем 3.13.0-58.

Убить в себе перфекциониста. А стоит ли?

Вопрос скорее к практикующим программистам, особенно к тем у кого в подчинении уже есть кто-либо…

Как-то прочел статью о классификации программистов на типы. В ходе решения тестовых заданий (да и в свое время я уже работал в индустрии программирования) прихожу к выводу, что мой тип, скорее — перфекционист. Вместо того чтобы решить задачу в лоб, я трачу значительное время на обдумывания красивого и хорошего с точки зрения быстродействия решения. Буквально сегодня решая задачку 22-го уровня свел алгоритм к трем строкам отлично читаемого кода. Судя по форуму эту же задачу люди решают на портянках в десятки строк и не думают заморачиваться.

Собственно вопрос… Стоит ли уже на данном этапе (обучение) пытаться задавить в себе перфекциониста? Ведь очевиден тот факт, что в индустрии часто нафиг не нужно быстродействие, а тем более краткий код.

Что Вы скажете на это?
  • ,

Тяжело заходит Synhronized? Делюсь решением.

Сто пудов я не оригинален. Большинство и без моего совета смотрят видео Головоча, но все же… Если Вам тяжело дается Synchronized, да и вообще Multithreading гляньте следующие лекции:

Multithreading #1
Multithreading #2
Multithreading #3

Мне очень помог момент когда Головач нарисовал два set'а, wait и blocked. Стола понятно кто кого ждет и зачем. Именно этот момент помог разложить концепцию Multithreading в голове.
  • ,

com.javarush.test.level10.lesson11.home03

package com.javarush.test.level10.lesson11.home03;

/* Правильный ответ: d=1.0
Добавить одну операцию по преобразованию типа, чтобы получался ответ: d=1.0.
*/

public class Solution
{
    public static void main(String[] args)
    {
        int a = 257;
        int b = 4;
        int c = 3;
        int e = 2;
        double d = a + b/c/e;

        System.out.println(d);
    }
}


Как такое может быть? Намекните плз!
  • ,

Множество Set, уникальность значения?

Ребят, на сколько я понимаю, если попытаться занести в Set значение которое уже есть во множестве, то ошибки никакой не будет. Просто произойдет проверка и операция будет автоматом проигнорирована. Правильно? Т.е. есть ли смысл вводить проверку на уникальность значений добавляемых во множество Set?
  • ,

Вырабатываем правильные привычки

Привет Всем!

Мне уже 40ет. Хочу сменить карьеру. Точнее я свою трудовую деятельность начинал с программирования. В старые времена работал с базами ForPro, dBase. Давалось все без проблем. Потом вскочил в мелкий бизнес. Больших успехов не достиг. Точнее так… Задолбалось выползать из кризисов, чтоб через несколько лет тебя новый накрыл. Вот и решил вернуться в базы но со сторону ООП.

Курс очень понравился. Пока, 8-ой уровень, задачки идут как семечки. Но, дают о себе знать старые привычки. Допустим, я стараюсь по минимуму плодить переменные/ссылки если они участвуют в процессе один раз. Но анализирую решения задач от других участников, вижу, что люди фигачат лишние переменные на право и на лево.

Хочется «поставить руку» (стиль) еще в процессе обучения. Вот конкретный пример: