• Книги, советы, курсы по архитектуре приложений?

    @red-barbarian
    Открою секрет )
    Пишите тесты. Тесты невозможно написать на плохую архитектуру. Делая новый класс, думайте как будете его тестировать. У вас сразу появится стремление выполнять половину принципов SOLID. (даже если вы их не знаете). Стремление сделать классы лаконичными. С хорошим интерфейсом. Стремление разбивать приложение на компоненты.
    Про это много есть статей. тестируемость и архитектура.
    Затем можно почитать какие-нибудь книжки. Для начала Роберта Мартина PPP - дословно не помню) но три пи легко можно найти и перевод. (он для C# вроде, но книга классная)
    Попробуйте TDD. В работе возможно она не будет нужна, но ухватить идею как создается хороший интерфейс можно.
    Затем постоянно себе напоминать, что код пишется для программиста (не для компилятора). Т.е. код это объяснение другому (более тупому))) программисту как это работает. Из этого: хорошие названия - 80% успеха. Остальное архитектура и проч.
    Читать код. Свой, чужой, бест практики.
    То что свой код бесит - это нормально. Плохо если старый код нравится - значит рост прекратился. Это тревожный звоночек.
    Итого.
    1)Начинайте свой рост с умения писать тестируемый код.
    2) когда почувствуете жжение нехватки опыта в конкретных механизмах (паттернах, принципах) начинайте читать книги.
    3) пишите код для тупых программистов (это скромность)
    4) быть вне зоны комфорта это нормально.
    5+) Почитывайте книги Чистый код Мартина и Совершенный Код Макконнелла (те главы которые вам "заходят")
    Удачи в умении сделать сложное простым.)
    Ответ написан
    1 комментарий
  • Как вы ведете базу своих проектов?

    idzenski
    @idzenski
    Директор по развитию партнерской сети BPMx
    Notion или Google Tables
    Ответ написан
    Комментировать
  • Как вы ведете базу своих проектов?

    Neolot
    @Neolot
    Make the web great again
    Менеджер паролей KeePass.
    В нем можно не только хранить учетные данные, но и вообще любые файлы, которые будут зашифрованы при прикреплении.
    Ответ написан
    1 комментарий
  • Как вы ведете базу своих проектов?

    amark
    @amark
    rush less, feel more
    • репозиторий для исходников (Bitbucket – так сложилось в моей истории)
    • все детали и особенности проекта в README-подобных файлах внутри репозитория (особенно, если не настроен deploy с зависимостями)
    • KeePass для паролей/ссылок + пояснений к паролям/ссылкам.


    Для доменов рекомендую завести партнерку на любом reg.ru, webames.ru и перенести постепенно все домены в одну кучу, и вообще включить автопродление.
    Если хочется больше контроля и меньше трудозатрат на внимание – отдельный календарь для продления доменов, в который сразу отметить события продления для каждого домена (либо для группы, если у них разброс по сроку до месяца).

    Голосую за эти предложения выше)
    Ответ написан
    Комментировать
  • Как вы ведете базу своих проектов?

    Stalker_RED
    @Stalker_RED
    папки с названиями проектов, внутри которых исходники, всякие "сырые" материалы и документация.
    для очень старых проектов уже заархивированые.

    keepass, и в примечаниях всякая дополнительная инфа о хостингах, ссылки на гуглодоки с подробностями
    Ответ написан
    2 комментария
  • Как вы ведете базу своих проектов?

    @sidni
    Php Developer
    Есть еще дедовский способ хранить все на почте, особенно хорошо когда у вас есть рабочий емейл чтоб не захломляла личная переписка и спам.
    Создаете нужну структуру папок по проектам и храните письма с доступами и соответствующей информацией помечая соответсвующими тегами и цветами, ну или так же можно выделить в отдельные подпапки.
    Ответ написан
    Комментировать
  • Как вы ведете базу своих проектов?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    У каждого проекта репозиторий на Bitbucket с таск-трекером и wiki для документации по проекту.
    Ответ написан
    3 комментария
  • Как вы ведете базу своих проектов?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Юзаю свой includeHTML (стартую html-ку с ярлыка, локально: file:///) и там рядышком всё в JSON-ах лежит и смотрю там всё, и JS авто-мониторит время продления доменов.
    Линки - на папки, репозитории и т.д. - всё в ЕДИНОМ интерфейсе.
    Некоторые данные - получаю по fetch() с сайтов-услуг.
    Можно поднять веб-серв + VPN, чтобы сделать доступным тоже самое с мобилы (вне офиса).
    Ответ написан
    4 комментария
  • Как вы ведете базу своих проектов?

    Zoominger
    @Zoominger
    System Integrator
    Полностью аналогичные проблемы решаю через Гугл Таблицы. Идеально же.
    Ответ написан
    3 комментария
  • Как вы ведете базу своих проектов?

    К этому делу можно хорошо приспособить Notion, можно использовать готовые шаблоны, например «Engineering → Docs / Engineering Wiki». Сделайте для каждого проекта отдельную страницу и придумайте общий шаблон для каждого проекта с логинами / паролями, сопроводительной информацией. Тогда будете быстро находить нужное (доступно со всех устройств) и не потеряетесь, если проектов станет много.
    Ответ написан
    1 комментарий
  • Выделенный сервер для Редмайн?

    XXX
    @XXX
    Решение где-то рядом
    lukoie под ваш проект может подойти и VPS с RAM от 2 Gb, с ростом количества пользователей, если не будет хватать мощности, перейдете на более дорогой тариф. В DigitalOcean дроплет с такой RAM 20$, можете загуглить промокоды, если решите заказывать. Отличатся будет уровнем автоматизации и удобством управления, ни один украинский хостер с DO в этом не сравнится.

    может посоветуете сервер по человечьим ценам с человечьими условиями под данную задачу.
    Можете еще посмотреть этих немцев, давно пользуюсь их услугами, аптайм и адекватность поддержки вполне устраивают.

    где его размещение, если организация в украине?
    Если у вас не гос. компания и нет требований держать серверы у себя, то размещение за пределами Украины для вас будет скорее плюсом. Посмотрите варианты в Нидерландах, Франции, Германии, много предложений интересных по цене, некоторые даже позволяют оплачивать безналом в UAH.
    Ответ написан
    5 комментариев
  • Как в ModX сделать такую страницу?

    Sanes
    @Sanes
    Modx плохо подходит под многопользовательские сайты. Смотреть Tickets.
    Ответ написан
    Комментировать
  • Как адаптивно растянуть фон на два блока?

    andrashh
    @andrashh
    Почему бы и да?
    у section задай фон
    <section>
    			<header>
    				меню
    			</header>
    			<main>
    				оффер
    			</main>
    		</section>
    Ответ написан
    2 комментария
  • Облачный диск без синхронизации?

    Jump
    @Jump Куратор тега Windows
    Системный администратор со стажем.
    mega.nz
    dropbox
    и.т.д.
    Ответ написан
  • Облачный диск без синхронизации?

    @kalapanga
    Облако Майл.ру с их приложением Диск-О: . Облачное хранилище отображается в виде диска.
    Ответ написан
    5 комментариев
  • Облачный диск без синхронизации?

    NeiroNx
    @NeiroNx
    Программист
    Можно яндекс по webdav подключить.
    Ответ написан
    Комментировать
  • Стратегия разбиения верстки на блоки?

    Hyubert
    @Hyubert
    JS
    Подскажите как вы разбиваете вашу верстку на блоки
    Вот возьмем, например, header.

    Хедере это конкретный блок со своим классом и модификаторами (если нужно). Далее все намного проще - позиционирование мы не включаем в стили модификатора, это скорее изменение его внешнего вида, об этом следует помнить.

    Предположим внутри блока есть кнопка, которая есть и в других блоках.

    Ну так и делайте ее отдельным блоком, например с классом .btn или .button и у нее будут свои модификаторы. Чаще всего у блока кнопки их много. Пример как делаю я:
    .btn {}
    /* style */
    .btn--primary {}
    .btn--secondary {}
    /* size */
    .btn--sm {}
    .btn--md {}
    .btn--xl {}
    /* special */
    .btn--link {}


    Маргины мы прописываем в стилях к этой кнопке и добавляем соответствующий модификатор?

    Нет, отступы и кастомные стили (очень специфичные) мы задаем в зависимости от родительского блока в котором находиться кнопка, в данном случае это хедер. Мы может сделать так:

    .header .btn {}
    или например такой класс сделать
    .header__btn {}

    Я предпочитаю вложенность (но не больше 1 уровня)

    А как эти кусочки потом собрать? С помощью pug includes или gulp


    Ну тут уже по разному, как вам удобней и зависит от конкретного инструмента, если говорить о pug, то я делал так
    1. объявление миксина в отдельном файле
    mixin button(caption)
      button.button&attributes(attributes)!= caption

    2. Подключал в глобальный скоуп через шаблоны (include)
    3. Пользовался миксином в любом места.

    Предположим еще в этом блоке есть меню, которое больше нигде не используется, его мы уже верстаем не отдельно, а вместе?


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

    KornevaViktoria
    @KornevaViktoria
    Frontend Developer
    .header
             
    .header__action (обертка для кнопки с маджинами и тд)
        .action.action--buy (кнопка + модификтор (кнопка "купить"))
             
    .header__menu (для стилизации меню для этого блока)
        .menu (меню, которое может использоваться хоть где на сайте)
    Ответ написан
    Комментировать
  • Где хорошее сообщество андроидщиков чтоб задать вопросы?

    @DennySKA
    Designer
    4pda.ru
    Ответ написан
    Комментировать