Pull to refresh
1
0

User

Send message
Мне очень не понравился Vaadin, как фреймворк для enterprise приложений. К сожалению сейчас проект на нем написали и приходится поддерживать сам Vaadin и кучу кастылей для него, чтобы он хоть как-то работал.

Фреймворк очень тяжелый и не гибкий. Например, можно сделать generated column, а потом узнать что при открытии страницы на сервере исчезает 100 Мб на каждую, потому что где-то там внутри вызывается некий refresh row cache, который перегенерит каждую ячейку 100500 раз и создаст столько layout-ов и прочего стафа для нее.
Кастомные компоненты — писать тоже очень не удобно.
Очень много дефектов на UI связанных с zooming, scrollbars и resize'нгом для IE бразуеров (которые наиболее часто используются в корпоративном секторе, для которого собственного вроде как и делалася Vaadin).
Очень много проблем так же возникает с интеграцией в корпоративную инфраструктуру. Любые лаги в сети делают Vaadin абсолютно неработоспособным.

Для себя вижу его хорошим фреймворком для создания эмуляторов и админ консолей.
Здорово. Пока что перебиваюсь тем что копирую нужной кусок текста в саблайм и потом обратно вставляю после редактирования. Если такая функциональность будет теперь в intellij это значит не будет больше этой траты лишних секунд на копирование туда/обратно.
Мораль. Функции, выполняющие какие-то побочные действия, в логических выражениях лучше не использовать. Чтобы гарантировать вызов обеих функций с сохранением результата, код листинга 3 нужно переписать следующим образом
bool update1Result =  update1();
bool update2Result =  update2();
bool updatedSuccessfully = update1Result && update2Result ;


Можно еще так:
if (update1() & update2()) { ... }

Будут вызваны обе функции, но if пойдет только если обе вернули true. Конкретно к С++ это имеет весьма малое отношение, т.к. работает в большестве ЯП.
Все эти модные мапперы по большу счету выносят ошибки compile-time в runtime — что есть плохо. Это не считая дополнительных расходов на то что они пельменят/мерджат/конвертят в рантайме объекты.
Ну, а вбить getter/setter с помощью multicursor (как в sublime text) можно за 10-30 секунд для сколько угодно количества полей (если имена getter/setter совпадают, конечно же — ну впрочем такое же условие у большенства мапперов, ну а расходы на конфигурацию маппера гораздо больше чем поменять аналогичный get/set).
ConEmu под винду тащит + clink и как-то линукс терминалы выглядят не очень по сравнению с этой парочкой.
Проблема скорее всего в том что вы до сих пор не определились со своей специализаций. Веб-программист, прикладной, базы данных или системное программирование. Технологий слишком много и невозможно их все обьять, приходится выбирать какую-то специализацию и концентрироватся на ней. Из вашего описания видно что у вас по сути нету специализации — у вас все и сразу и демоны с ассемблером и джанго на питоне, а это невозможно. Т.е. возможно, но понятно что тут чуть-чуть и там чуть-чуть, а нужно именно глубокое понимание технологий.

файлы редактировал упорно в FAR-е, и моя производительность не страдала от этого

Невозможно эффективно работать редактируя в файлы в FAR. Сказать такое на интервью — верный способ получить отказ, если собеседует технический специалист.
А разве для кого-то секрет что почти все ресурсы сплавляют персональные данные, за некоторым исключением?
Вот и пришло время, что теперь помимо специального эмейла для регистрации на форумах/порталах еще появится и нокия с паленой симкой для регистрации на ресурсах с требованием номера телефона.
TDD — это не серебряная пуля, это просто техника. Где-то она полезна, где-то нет. Как раз профессинализм разработчика помогает определить, где нужно сделать быстро, а где качественно (с TDD или нет, вопрос уже не такой важный).
Месяц или полтора назад эта же самая статья/перевод уже был.
Да вроде такой функционал много где есть в интегрированном виде. Называется он snippets/templates. В sublime text, eclipse (С++), idea, netbeans (С++) он есть из коробки, только в Visual Studiи от MS это делается с помощью платных плагинов + к тому же как написал пользователь impwx они из коробки еще умеют:
Преимущества перед прямым копипастом — автоматическая подстановка макросов, например имя текущего класса, или значение некого типа по умолчанию.

А так же возможность определить параметры сниппета и быстро их заполнить после вставки.

Ну и вообще кажется идея больше подходит для реализации как плагина, для какого-нибудь qt-creator, а не отдельного приложения.
Все здорово, мне нравится.
Единственная проблема пока, которую я вижу — это вынос подобных выражений в конфигурационные файлы. Если с регксами все было просто, то тут еще нужен будет конвертор, который из текста будет преобразовать вербальный экспрешен в код.
breakbeat, liquad drum and bass, house — т.е. музыка в которой есть темп, ритм и мало слов, помогает концентрироватся и как следствие выполнять работу гораздо быстрее.
Плейлисты уже давно не слушаю, только интернет радио или миксы/подкасты.
Водянисто. Мне кажется все это можно было описать гораздо короче.
У меня все IDE помнит, ориентируюсь по подсказкам, автокомплиту. В официальные доки по API не помню когда последний раз глядел.
Выделения текста без мышки есть (т.е. клавой как в обычном текстовом редакторе)?
Если комментариев много и не по делу, я просто меняю их цвет в своей любимой IDE на цвет близкий к background, таким образом глаза перестают за них цепляться.
Ну и всегда приятно, когда есть комментарий к классу описывающий его назначение в системе, сам их тоже пишу.

Комментарии в самих методах/логике пишу только если используется workaround, обходный путь, чтобы было понятно почему-то так странно сделано.
Даже вроде бы работает в связке с ConEmu — очень неплохо. Спасибо за дельную утилиту.
Использую опцию 1мб за 1р. у билайна + 1р. абонентка в день. На мой взгляд отличный вариант.
Вопрос — существует ли single instance mode?
Я пользуюсь тоталом и по хоткею вызываю консоль в активном каталоге, проблема в том что если консоль уже открыта я хочу чтобы создавался новый таб. Для console2 кое как сделал себе запускалку, которая чекает процесс и эмулирует хоткей создания новой вкладки (если он уже есть) и делает cd в каталог, который передается как параметр.
Я поизучал настройки и не нашел подобной опции, может плохо смотрел? По умолчанию у меня всегда открывается новое окно с консолью.
Потому что в твоем случае ты не увидишь значения getPerimiter, если ассерт зафейлится. И если для таких простых примеров это не критично, то для реальных тестов необходимость знать что за статус вернула функция или состояние принял объект — крайне важно для тестирования.

Information

Rating
Does not participate
Location
Тегусигальпа, Тегусигальпа, Гондурас
Registered
Activity