Search
Write a publication
Pull to refresh
-7
0

Программист

Send message

У вас используют React и Vue. Это конкурирующие фреймворки. Какой больше нравится и почему?

Я пишу комментарии только к методам в интерфейсах и к самим интерфейсам. Иногда они выражают «контракт» наподобие «переопределил hashcode(), переопредели и equals()». Многие вещи кодом не описать. Из последнего, контракт «назови перечисление так же, как и имя ResourceBundle, назови константы из перечисления так же, как и поля в ResourceBundle».

Они говорят, что вулканы исстребили 95% жизни до динозавров, а метеорит позже исстребил динозавров.

Книги и доступная информация в интернете сводят ценность онлайн-курсов на нет. Я бы еще сходил на курсы, если они настолько специфические, что информация даже не гуглится, например, на курсы по программированию под Teamcenter. Или схожу на командные курсы по подготовке к хакатонам, где почти не будет теории, одна разносторонняя практика с разными стеками и целями и атмосферой состязания. Очные курсы оправданы живым общением с учетом разной подготовленности учеников и забытой с годами атмосферой учебы в классе. Курсы по настройке оборудования в гараже хороши тем, что дома нет нужного зоопарка оборудования. А так все эти онлайн-курсы отличаются от самостоятельного домашнего поиска с книгами и попиливания домашнего проекта… ничем. А денег стоят как два хороших ноутбука. За что? Из традиционных университетов выходят великие специалисты, например, Линус Торвальдс, обучавшийся Minix, несовременному и вообще никому не нужному инструменту. А какие великие специалисты вышли из онлайн-курсов, научившись современным инструментам? Да хотя бы какой процент выпускников находит себе просто работу в первые два месяца после курса? Я ходил на курсы программирования Java, из 20 человек устроилось по специальности 3.
Отзанимавшись на десяти платных, бесплатных и нелегально скачанных онлайн-курсах (GeekBrains, OTUS, Udemy) я пришел к выводу, что онлайн-образование — фигня. Мне жаль 60000 рублей, которые я на это дело грохнул с почти нулевым выхлопом. Поступайте в классические университеты, вас там еще и рисовать на ватманах научат, а без этого навыка дизайнер не дизайнер. Кстати, вступительный экзамен в традиционный университет — рисунок на бумаге.
– Примерно с четырехлетнего возраста. Пришел как-то к нам очень умный человек и ради шутки задал сыну вопрос: «Скажи-ка, Коля, если у стола отпилить один угол, сколько углов у него останется». До моего сознания еще не успел дойти смысл вопроса, как Коля ответил: «Пять».


Если угол отпилить лобзиком, то он останется углом, пусть и скругленным. Если отпилить ножовкой, то будет угол с фаской, даже если фаска будет огромной. А чтобы реально ликвидировать угол, нужно ликвидировать два отрезка прямых, которые образуют этот угол. Для этого пилим стол ножовкой по диагонали. Останется у стола 3 угла.
Я попробовал решить первую задачу. Я подумал, что если использовать объектно-ориентированные языки, то решать лучше в объектно-ориентированном стиле — через взаимодействие объектов. Могу дать ссылку на репозиторий, если хотите глянуть.
Нужно перенимать лучшее

Гора книг уже написана о том, что нельзя просто взять из социально-хозяйственной системы несколько лучших элементов и перенять в другую систему.
Вас уволили из-за вашей токсичности, и вы решили написать этот пост?
С чего это вдруг появится уважение к человеку, который игнорирует критику и советы?

Да не уважайте его, кто вас заставляет?! Просто с раздачей советов и критики прогореть можете вы.
Если вы поняли, что вас, умного, никто не любит, и вы придете к любому психологу, то с большой вероятностью он предложит вам попробовать не давать никому советов и посмотреть что будет. Вам самим то нравится, когда вам сыплют советы? Вы сами то их выполняете или игнорируете? У советов нулевая ценность, об этом есть тысяча афоризмов.
Критика имеет гораздо большее значение. Но критиковать надо еще уметь. Можно посмотреть у Зыгмантовича.
очевидный формат «Твой код плохой, я сейчас подробно изложу причины и дам советы» уже считается токсичным поведением

Да, такое поведение токсично. На Хабре уже были публикации о том, как этично делать код-ревью. Что-то вроде «Код-ревью с человеческим лицом».
Неожиданный факт — программисты не хотят работать без печенек.

Лично я предпочитаю не делать кофебрейки вообще. Заодно решается проблема с разговорами о рыбалке.

Ок. В данном случае ни ArrayList, ни LinkedList не годятся, ибо они потоконебезопасные.

Дальше я напишу несколько слушателей (listener), которые будут при разных событиях читать список, добавлять в список кнопки и удалять их, возможно из середины.

А если я пишу прогу с графическим интерфейсом и хочу сделать список кнопок, то какой из этих двух выбрать?

Один раз на сайте знакомств мамба я в диалоге похвастался, что пробежал марафон и упомянул, что у меня теперь мозоли на пальцах ног как у балерины. Я больше это нигде не писал. Через 30 минут яндекс-директ выдает мне в рекламу разделителей пальцев ног. Еще я несколько раз замечал, что то, что я пишу в Watsap, влияет на релевантность рекламы.
Наверное так будет лучше всего
Например, заказчик добавляет:
Пользователь сначала перенес файл, что вызвало окно с прогрессом копирования. Далее пользователь переносит другой файл, но опускает не в окне папки, а в окне с монитором прогресса копирования. В этом случае нужно проверить, что можно скопировать файл, что данный файл в данный момент не копируется, после чего поставить файл в очередь на копирование.


Изменения в коде плоские и линейные:
    //------------------------------------------------------
    // Исходные предикаты 
    // ...
    boolean Z = isTargetPlaceIsCopyingMonitor(event);
    boolean Y = isQueueContainsFile(event);

    boolean copyQueueCase = Z & !K;
    boolean copyQueueRewriteCase = Z & K;

    // ...
    if (errorMessage.isEmpty()) {
        // ...
        if (copyQueueCase) addToCopyQueue(event);
        if (copyQueueRewriteCase) addToCopyQueueRewrite(event);
    } else {
        showMessage(errorMessage + reasons);
    }


Проверку на невозможность я не сделал, но там тоже изменения плоские и линейные

Вы пришли к тому, от чего я убежал. Раньше я делал либо 10-уровневые деревья, либо сочетания 5-уровневых деревьев с вынесенными отдельными поддеревьями с досрочным return. Во время изменения требований я путался и делал ошибки, так как приходилось держать в уме ситуации досрочных выходов и при необходимости возвращать вынесенные отдельные поддеревья в единое общее дерево. Каждый раз приходиться пересматривать все ветки и все вынесенные поддеревья, это было утомительно. Ведь когда-нибудь появится действие на предикат! А с сочетанием с другим предикатом и т.д.

Как предлагаете записать иначе? Условие может быть очень длинным, например таким: !(A & H) & (K | !D | (F & D) | !(E & !G)) & Z & !Y
При этом каждая буква может расшифровываться как очень длинное предложение, если дать нормальное имя, то оно будет состоять из нескольких слов, пяти, шести. Так хотя бы видны дизъюнкции, конъюнкции, отрицания и скобки. Расшифровка букв всегда рядом.
С вызовом add(arg1, arg2) через контейнер.sendTo(метод_вроде_add) я в данном случае выпендрился. Однако если методов вроде add(), одинаково принимающих два аргумента, будет штук пять и более, а у меня будут контейнеры EBehaviors, в полях которых присутствуют все нужные аргументы и один метод sendTo(), то я, желая передавать аргументом цельный контейнер в методы вроде add(), сэкономлю на их перегрузках.
Мартин не пытался реализовывать паттерны проектирования, так как не знал о них ничего. Ни Стратегию, ни Command, ни Publisher-Subscriber. Он сделал так, как подсказывали ему нововведенные лямбда-выражения, стандартные функциональные интерфейсы (из OpenJDK) и развитые стандартные динамические структуры данных (из OpenJDK), о которых можно узнать в обычном исчерпывающем современном учебнике по языку Java. Он не думал слишком долго об ахритектуре, не продумывал ее, не рефакторил, а сделал тяп-ляп. Если он случайно при этом сделал нечто похожее на какой-то шаблон проектирования, то это говорит о том, что этот шаблон стал тривиальным решением для Java 8 (OpenJDK).
Я думал об этом. Планировал добавть в класс BehaviorRegistry возможность хранить и обрабатывать разные функциональные интерфейсы.
1

Information

Rating
Does not participate
Location
Хабаровский край, Россия
Registered
Activity