• Как организовать сложную бизнес-логику?

    Ptolemy_master
    @Ptolemy_master
    Постарайтесь уйти от императивной логики к декларативной.
    Скажем набор правил - это массив некоторых объектов, в полях которых вы задаете какие-то формулы и ссылки на другие объекты, данные которых надо использовать. И отдельно существует некая логика, которая читает эти объекты, читает элементы интерфейса и в соответствии с ними делает ветвления и вычисления. Достаточно один раз задать общие правила на чтение объекта и формирование действий и потом вам придется только задавать свои правил в массиве.
    Ответ написан
  • Как стать быстро хакером( тестировщиком, путем взлома сайтов с согласия его владельца за деньги)?

    Ptolemy_master
    @Ptolemy_master
    Я совсем не в теме, но когда-то интересовалась похожим вопросом... как мне кажется, быстро обучиться этому нельзя. Ну то есть можно узнать, какие существуют скрипты и утилиты, чтобы делать penetration tests автоматически, но вы не будете понимать, что за всем этим стоит, и не сможете объяснить заказчику, что означают результаты теста.

    Кроме того, есть весьма скользкий момент... как вы будете устанавливать ваши отношения? Заказчик должен подписать серьезные бумаги, в частности, отказ от претензий в случае неумышленного повреждения данных или функциональности как результат работы теста, если что-нибудь составлено не так, вас всегда смогут обвинить в чем-нибудь нехорошем. Без хорошего знающего юриста лучше сюда не соваться.

    Все вышесказанное - сугубое имхо, поправьте меня, если я соврала в чем-то.
    Ответ написан
    Комментировать
  • Как снизить потери концентрации внимания?

    Ptolemy_master
    @Ptolemy_master
    С этим можно бороться только одним способом - ловить себя на отвлечениях и возвращаться к основному предмету. Сначала эта борьба утомляет, но потом, когда видишь результаты - все встает на свои места.
    Ответ написан
    Комментировать
  • Почему не работает пересылка формы в модальном окне Angular?

    Ptolemy_master
    @Ptolemy_master
    Рискну предположить, что, скорее, всего, этот диалог находится вне scope контроллера. Заход в функцию SendData осуществляется? Когда вы в браузете делаете правый клик на кнопке, заходите в Inspect, то во вкладке scope вы видите эту функцию? (Я использую Batarang для этой цели, а что у вас, я не знаю).
    Ответ написан
    2 комментария
  • Ховер эффект при наведение на select option, возможно ли?

    Ptolemy_master
    @Ptolemy_master
    Ответ написан
    Комментировать
  • Кто писал свою CMS?

    Ptolemy_master
    @Ptolemy_master
    Хотя наша CMS написана не на PHP, все же отвечу.
    1) Никакой, руководствуемся собственной фантазией и видением продукта.
    2) Нет, все онлайн
    3) Свое, но у нас пока все просто.
    4) Да! Системя для создания сообществ. Не соцсетей, не форумов, а сообществ.
    5) Пока нет, но в планах такое есть.
    6) Используем ejs
    Посмотреть (не кода, а реализации) можно на ptolemy.cc, но пока там только заглушка. Планируем выпуск первой версии через 2-3 недели, основной сайт тоже работает на том же движке, что и все сайты, создаваемые пользователями.
    Ответ написан
    Комментировать
  • Возможно ли как-то добавить адаптивности не адаптивному шаблону?

    Ptolemy_master
    @Ptolemy_master
    Ну если вы использовали Bootstrap и его сетку, то должно было получиться нормально. Добавьте в заголовок страницы
    <meta name="viewport" content="width=device-width, initial-scale=1.0">


    Все таблицы следует заменить на элементы div.
    Убрать абсолютные величины и позиционирование.
    Ответ написан
    Комментировать
  • Какую вы знаете литературу о внутренностях С++?

    Ptolemy_master
    @Ptolemy_master
    Практика и еще раз практика!
    Попробуйте книгу "Решение сложных задач на С++" порешайте, читайте разъяснения, там, глядишь и понимание придет.
    Ответ написан
    3 комментария
  • Как лучше деплоить Angular + NodeJS REST приложение?

    Ptolemy_master
    @Ptolemy_master
    У нас похожий стэк ангуляр + node, запускаем на heroku, там есть бесплатный план. После того, как вы создаете эккаунт, специальный "мастер" проводит через все этапы деплоя, получается довольно легко, он сам все автоматически подхватывает и запускает. Попробуйте.
    Ответ написан
    Комментировать
  • Какую специальность в IT выбрать?

    Ptolemy_master
    @Ptolemy_master
    RostNov, не отказывайтесь от возможности получить высшее образование. Помимо того, что люди с вышкой ценятся все же выше, чем без (вы вряд ли сможете устроиться в Microsoft, если у вас не будет корочки), студенчество - лучший из периодов в жизни человека. А знания в вузах дают, только надо идти в правильный вуз. Я не знаю, где вы находитесь, но думаю, что ИТМО - лучший выбор во всех отношениях.
    Ответ написан
  • Флэнаган vs You Don't Know JS?

    Ptolemy_master
    @Ptolemy_master
    Мне кажется, самая лучша книга по JS это "JavaScript. Шаблоны". Ну и конечно, как вам правильно выше заметили, важно не только книжки читать, но и применять полученные знания на практике.
    Ответ написан
    4 комментария
  • С чего начать изучения?

    Ptolemy_master
    @Ptolemy_master
    У вас странный подход и странная мотивация. Все-таки в программирование надо идти только если вас действительно привлекает работа с компьютером и написание программ. Надо понимать также, что работа программистом - это очень много рутинной работы, при этом очень много сложных задач, невероятно много информации, которую надо переварить в кратчайшие сроки. То есть у вас должна быть любовь к изучению всего нового, быстрый ум, трудолюбие, а также стойкость и железная воля.

    Если у вас все это есть, определитесь, какая область нравится вам больше всего, где бы вы хотели начать изучать IT - может быть, вам нравятся игры? компьютерная графика? или работа с данными? а может, вам интересен веб? Вот что вам больше всего нравится, начните гуглить, какие языки используются, возьмите в библиотеке несколько книжек по программированию, прочтите их, выполните все задания, и, если вы все еще будете полны желания двигаться дальше, возьмите какие-нибудь бесплатные курсы, изучайте общую теорию информации, структур данных и так далее, и к тому времени вы уже будете представлять себе, куда двигаться дальше.
    Ответ написан
    Комментировать
  • Что за фигня с приравниванием в js?

    Ptolemy_master
    @Ptolemy_master
    Не мешало бы немного ознакомиться с объектами в JavaScript. Когда вы "приравниваете" объекты, вы на самом деле приравниваете ссылки. То есть разные переменные указывают на один и тот же участок памяти. Для того, чтобы избежать этого поведения, следует использовать "клонирование". Делать это можно разными способами, от ручного (создаете вручную объект и приравниваете по очереди все поля от другого) до библиотечных, почти все либы jQuery, Angular etc. имеют функции клонирования.
    Вот, по ссылке, почитайте https://stackoverflow.com/questions/728360/how-do-...
    Ответ написан
    4 комментария
  • Как совершить одно действие, для разных классов (jQuery)?

    Ptolemy_master
    @Ptolemy_master
    Просто вызывайте селектор не отдельной кнопки по ID, а класса, затем определяйте, какая нажата, это можно делать по-разному, например, так:
    $(function() {
     $('.click').on('click', function(e) {
      var blockClass = '.' + ( e.target.id.indexOf('block3') > -1 ? (e.target.id.indexOf('block2') > -1 ? 'block2' : 'block') : 'block3'); 
    // очень  тупо, лучше использовать регулярные выражения, но это другая тема
      if ($(blockClass).is(':hidden')) {
         $(blockClass).show(0);
      } else {
      $(blockClass).hide(0);
      }
      });
    });
    Ответ написан
    1 комментарий
  • Как правильно сделать облако тегов с MongoDB?

    Ptolemy_master
    @Ptolemy_master
    Я бы сделала так.
    Страница со списком документов загружается как обычно, попутно подгружается список тэгов, который хранится как обычный массив строк, привязанный к профилю пользователя, сформированный как описано в вашем варианте номер 1. (Делать отдельную коллекцию для простых списков смысла не вижу, всегда лучше начинать с минимизации сущностей - бритва Оккама, ага :)
    Когда мы загружаем страницу со списком, идет подгрузка тэгов. Все последующие обращения к другим страницам делаются асинхронно, следовательно, облако тэгов больше загружать не надо.
    Я не знаю, что вы используете на клиенте, я работаю плотно с Angular, поэтому говорить могу только про него.
    Технически это было бы сделано так - маршрут для списка документов прописан на сервере, идет возврат клиенту профиля со списком тэгов. А маршруты ангуляра содержат обращения к страницам. В случае первичной загрузки идет запрос на страницу номер 1 (как resolver для этого маршрута), последующие вызовы - просто асинхронно к выборке соответствующей страницы.

    Добавление.
    Автор поста задал дополнительный вопрос. Вы спрашивали, когда обновлять список. Вопрос не такой просто и очевидный. В идеальном варианте облако тэгов должно обновляться сразу же как только пользователь добавил или изменил существующие тэги. Если хотите реализовать именно эту функциональность, то можно сделать через сокеты (новый список тэгов посылается клиенту в браузер, это не сложно на самом деле). Другой вариант - отслеживать на сервере при сохранении документа, изменился ли список тэгов, и, если да, в ответе отправлять обновленный список и его на клиенте обновлять. Тоже ничего вариант, по-моему.
    Ответ написан
    Комментировать
  • На что лучше перейти на Angular, React, Vue?

    Ptolemy_master
    @Ptolemy_master
    Странно вы как-то подходите. А серверные технологии уже не в счет?
    У нас в проекте похожая проблема - загружать только те файлы, которые нужны данному проекту (у нас их три сейчас). Связка: grunt, node+ejs, Angular (1.5)
    В grunt прописываем, какому проекту что идет.
    И еще есть главный домен и неглавные, у них разные наборы файлов - логика отрабатывает на серверной стороне и реализовать ее несложно.
    Вашу проблему также можно решить на сервере с использованием любой серверной технологии/языка.
    Ответ написан
    6 комментариев
  • А Вы встречали гениев-программистов?

    Ptolemy_master
    @Ptolemy_master
    Разработчик гениален не тогда, когда он умеет пользоваться интернетом, поисковыми системами, знает, как настроить среду и установить нужные плагины.
    Он должен просто уметь быстро и хорошо программировать! Уметь применять алгоритмы, делать код, который не стыдно показать и который будет работать эффективно и без ошибок.
    Да, такие разработчики мне встречались. Обычно они пользовались минимумом инструментов.
    Ответ написан
    Комментировать
  • Как "дойти" точечной нотацией до вложенного объекта в JSON?

    Ptolemy_master
    @Ptolemy_master
    Точно так же и доходить:

    programs["Abs"][2]["name"] //Один из многих
    programs["Abs"][1]["dr"]["p"] //0


    Только неужели вам это нужно?
    Ответ написан
    Комментировать
  • Где найти продажника на мои услуги?

    Ptolemy_master
    @Ptolemy_master
    По-моему, это называется "агентство" и их на том же апворке полно, можно там поискать.
    Ответ написан
    5 комментариев
  • Как спроектировать архитектуру большого проекта с начальным знанием программирования?

    Ptolemy_master
    @Ptolemy_master
    Попробуйте начать с описания функционала. Что должна уметь делать система в минимальной версии? Выбрасывайте все лишнее. Запишите функции в виде списка, без деталей, например: "отправка и сохранение данных в серверной БД". Избавляйтесь от любых финтифлюшек, без которых может обойтись MVP.
    Затем переходите к интерфейсу. Определите, что именно должна делать система, как это будет выглядеть. На бумаге нарисуйте экраны вашего будущего приложения. Отработайте с карандашом сценарии, вот буквально проговаривайте "пользователь кликает на эту кнопку, открывается такое-то окно".
    После этого вам станет ясно, на какие логические модули можно разбить приложение, запишите их.
    Теперь разберитесь с горизонтальными уровнями.
    Первый слой обычно - это интерфейс веб- и мобильного приложений.
    Второй слой - обработка пользовательских данных (что куда отправляется, какие окна открываются и т.д.).
    Третий слой - работа с данными (какие объекты создаются, что с ними происходит).
    Сама база данных - создайте объекты и связи между ними, можно использовать какое-нибудь приложение для моделирования типа Visio.
    Затем в каждом уровне в соответствии со сценариями определяйте объекты, функции. Если не знакомы с ООП, познакомьтесь, это не займет много времени, но сэкономит вам его потом.
    Ответ написан
    Комментировать