• Какой простой графический редактор посоветуете для наложения на фото всяких стрелочек, надписей и пр.?

    @nehrung
    Не забывайте кликать кнопку "Отметить решением"!
    Не нужно для таких работ никаких графических редакторов - в них куча избыточных инструментов, затрудняющих освоение. Вполне достаточно применять продвинутый просмотровщик картинок. Лично я применяю FastStone Image Viewer, в главном меню которого есть пункт "Рисование". Если кликнуть его, открывается окошко простенького оформительского редактора - рамки, стрелки, надписи и прочие подобные элементы, ну и возможности их регулировки (смена цветов и пр.).
    Допускаю, что и другие популярные просмотровщики имеют что-то подобное. Но FastStone Image Viewer сам по себе - практически идеал просмотровщика изображений (впрочем, здесь это оффтоп).
    Ответ написан
    1 комментарий
  • Существуют книги с примерами, которые рассказывают, как правильно проектировать ПО?

    @ivodopyanov
    NLP, python, numpy, tensorflow
    "Совершенный код" МакКоннела
    "Чистый код" Мартина
    "Приемы объектно-ориентированного проектирования" Эрих Гамма и т.д. - т.н. "банда четырех"
    "Scrum и XP: заметки с передовой"

    За эскизы архитектуры и UML-диаграммы никто не заморачивается. Слишком часто архитектура меняется, и диаграммы быстро теряют актуальность. Задачу разработчику никто никогда не формулирует на уровне архитектуры классов. А когда ты сам начинаешь реализовывать какой-то функционал, твоя первоначальная задумка может раз 5 измениться, потому что какой-то момент в постановке забыл.
    UML бывает полезен, когда один разработчик другому хочет свой код объяснить. Но в таком случае лучше бы он еще раз вышеупомянутые книжки перечитал.
    Ответ написан
    1 комментарий
  • Как победить ошибку JS "Uncaught SyntaxError: Unexpected token"?

    @Negr_Iz_Afriki
    у меня такая ошибка со ")" была искал долго, но таки выловил. суть была в **. консоль строку с ошибкой не показывала, а только материлась. помогло перечитываение кода
    ------------------------------------------------------------------------------
    **блин, грёбаный сай, код вырезает (
    в атрибуте href тега a был код javascript:void());
    ------------------------------------------------------------------------------
    PS. до чего у вас тут тупая система отправки сообщений ( одмины, относитесь внимательнее к пользователям. чай не дрова везёте )
    Ответ написан
    1 комментарий
  • Есть ли нюансы при использовании бесплатного плана в Firebase?

    @orbit070
    1. Достаточно ли базового бесплатного плана к примеру для приложение (Vue.js+Firebase) внутреннего пользования, для малого бизнеса (ведение учета, графики зависимостей и т.д.), в плане бд, хостинга, количества запросов и т.д. ?

    В большинстве случаев достаточно. Если не ошибаюсь в прошлом году публиковали статистику, согласно которой лишь чуть более 1% проектов превышали бесплатный тариф, что как понимаете очень мало.

    2. На сколько вообще распространена практика использования бесплатного плана Firebase для продакшен ?

    Более чем распространена, особенно в стартапах или просто новых проектах. Но на деле я рекомендую подключить платный тариф(не тот что за 25$ а тот который за фактическое использование), в таком случае если вы не превысите лимиты бесплатного тарифа то у вас ничего не будет списываться, но даже если вдруг будете превышать, то как правило это будут единицы долларов. Если вы делаете условную соц. сеть с миллионами юзеров, то я не рекомендую firebase, но для какого-то простенького проекта с десятками тысяч пользователей firebase лучшее что можно найти.

    3. Есть ли какие-то нюансы при использовании в продакшен такого плана ?

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

    4. Достаточно ли являются защищенными данные в БД ? Нужна ли для защиты дополнительная утилита?

    Дополнительная защита не нужна, вряд ли существует что-то более защищенное, чем сервисы гугла.
    Ответ написан
    2 комментария
  • Как вы освоили шаблоны проектирования?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Когда начался бум и восторг вокруг концепции паттернов проектирования, выкрики "GoF рулит!" и так далее, я озадачился тем, чтобы понять, что за шум?

    По своей сути - паттерны - это обычные шаблоны проектирования. Заимствовано у обычных архитекторов (те, которые зданиями занимаются). Суть проста. В работе архитектора есть задачи, которые удобно решать одним или несколькими проверенными способами.

    По аналогии в проектировании софта имееются свои архитектурные вопросы вроде разбиения приложения на компоненты/модули, организации зависимостей между ними, распределение функциональных обязанностей и т.п. Как ловко подметили авторы книжки из этой банды четырех (The "Gang of Four") в нашей индустрии можно также выделить некоторе количество типовых шаблонов, проверенных на практике, чтобы тем самым не наступать на уже обойденные другими грабли.

    Суть постижения паттернов заключается в том, чтобы осознать в каких ситуациях правильно использовать тот или иной шаблон проектирования и правильно его применить. Важно понимать при этом, что формула "чем больше паттернов я придумал засунуть с свое приложение - тем лучше" - неверная. Использовать их следует с умом и только там, где они действительно нужны. Кроме того, патерны устаревают, превращаются в анти-паттерны по мере развития технологий (которые в нашей области делают это более чем стремительно). Ну и, конечно, есть шаблоны общепринятые и есть те, которые успешно используются в узких кругах.
    Тут тоже надо понимать, что это не догма какая-то - типа 10 священных паттернов проектирования :)

    Чтобы понять, где они нужны - нужен опыт. То есть (я лично убежден), что учиться на ошибках других может только крайне ограниченное число людей. Все остальные обязаны набить шишки самостоятельно :)

    К изучению паттернов я дам такие советы:

    1) Прочтите пару книжек, чтобы понять, что это за зверь и с чем его едят. Можно взять одну из вариаций книжки GoF или какие-то производные для вашего стека разработки - познакомиться с основными популярными шаблонами. Сразу после этого я посоветовал бы прочесть книжку "Горький вкус Java" (Брюс Тейт) - она про анти-паттерны. Это чтобы понять обратную сторону их использования. Мне понравилась и уберегла думаю от многих проблем. То что на примере Java - неважно. Речь идет о шаблонах, так что представителям других стеков (к которым отношусь и я) будет просто понять все равно.

    2) Постарайтесь осознать, доводилось ли вам сталкиваться в работе раньше с чем-то, что является или могло бы легко стать одним из шаблонов. Где получалось применить концепт верно, а где из-за этого только проблемы были.

    3) В новых проектах, держите в голове полученные по шаблонам знания - вдруг пригодятся.

    В конечном итоге, знаете ли вы паттерны, или нет - с опытом приходит понимание того, какая архитектура будет правильная, а какая - нет. Как сделать удобно, а как нет. И неважно, какими паттернами это обозвать.

    Я даже пожалуй посоветовал бы подойти к освоению айтишной архитектурной мудрости с другой стороны - со стороны нефункциональных требований или так называемых "-ilities" - их много. Тут вот описаны 7 штук. А вообще их десятки.

    Среди прочих - такие как maintainability (простая поддержка кода), scalability (масштабируемость), extensibility (расширяемость), availability (устойчивость ) и тп. Если, проектируя свое приложение, вы задумываетесь об этих "илитях" и стараетесь их обеспечить в необходимом проекту объеме, то, как правило, ваше приложение будет иметь отличную архитектуру. При этом шаблоны проектирования в ней появятся лаконично сами собой.

    Поскольку идея использовать шаблоны - это попытка опытных программных инженеров дать десяток готовых рецептов менее опытным, чтобы пока они не научились варить "вкусную кашу", они не варили уж что-то совсем несъедобное. :) Учитесь "готовить", разбирайтесь в -ilites :) и все будет хорошо
    Ответ написан
    6 комментариев