• Как в миксине JADE передать html теги?

    arsenty
    @arsenty
    Full Stack Designer
    mixin name(text)
    tag!=text

    +name("text with tags")
    Ответ написан
    Комментировать
  • Как построить связь сущностей в базе данных "Фрилансер -> Заказчик"?

    @nrgian
    1) Если вы не можете их однозначно и автоматически идентифицировать при добавлении, то дубли будут, смиритесь.

    2) Иначе это классические для реляционных СУБД "многие-ко-многим":
    Реализуется через отдельную таблицу для связей как-то так:

    Table Customer
    ID OtherData

    Table Worker
    ID OtherData

    Table Relationship
    IDCustomer IDWorker


    Это позволяет заказчику быть связанными с многими исполнителями.
    И исполнителю быть связанным с многими заказчиками.
    Ответ написан
    1 комментарий
  • Как поступить с неприятным заказчиком?

    Stalker_RED
    @Stalker_RED
    Потратьте 20 минут, напишите вежливое письмо типа "уважаемый ФИО, т.к. вы два года не оплачивали хостинг, сайт был отключен и удален хостером. Работы по его восстановлению будут стоить столько-то. А услуги по доработке будут оплачиваться отдельно, в зависимости от объема работ".

    И цену поставьте такую, которая сможет компенсировать ваши душевные страдания:)
    Ответ написан
    Комментировать
  • Хочу стать хорошим программистом,как быть?

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

    Поймите, что, во-первых, программист учится всегда, потому что постоянно что-то меняется в его работе. Во-вторых, он постоянно ищет решения новых проблем самостоятельно, а не применяет решения, которые ему показали во время учёбы. И, в-третьих, программирование на 90% состоит из рутины, которая никак не тянет на развлечение.

    Я не исключаю, что вы сможете, наконец, справиться с всем этим избытком эмоций, обуздать тягу к немедленной гратификации (вознаграждению за совершенные действия), избавиться от эффектов современного воспитания, которое вы получили, но что в вас останется после этого, я сказать не могу. Могу только сказать, что вам на вход в профессию понадобится больше сил и времени, чем если бы вы уже сейчас могли спокойно ковыряться с интересом в каких-то (пусть и самых простых) задачах, проводя за этим часы. Маленький совет: забудьте о том, что видеокурсы существуют, вообще. Только печатная информация: книги, статьи. Видео крадёт время.
    Ответ написан
    10 комментариев
  • Как передать контент кастомным иконкам и балуну через ObjectManager Yandex.Maps?

    sinneren
    @sinneren Автор вопроса
    ymaps.ready(function () {
      var mapCenter = [54.738363, 55.965014],
          map = new ymaps.Map('map', {
              center: mapCenter,
              zoom: 12,
              controls: []
          }),
          placemarks = [];
      var customClusterIconLayout = ymaps.templateLayoutFactory.createClass(
         '<div class="balloon__icon">$[properties.geoObjects.length]</div>'),
          clusterIcons = [
          {
             href: 'map_bubble.svg',
             size: [46, 55],
             // Отступ, чтобы центр картинки совпадал с центром кластера.
             offset: [-23, -55]
          }],
          customItemContentLayout = ymaps.templateLayoutFactory.createClass(
            // Флаг "raw" означает, что данные вставляют "как есть" без экранирования html.
            '<h2 class=ballon_header>{{ properties.balloonContentHeader|raw }}</h2>' +
            '<div class=ballon_body>{{ properties.balloonContentBody|raw }}</div>' +
            '<div class=ballon_footer>{{ properties.balloonContentFooter|raw }}</div>'
          );
      var customPlacemarkLayout = ymaps.templateLayoutFactory.createClass(
            '<div class=placemark_layout_container>{{ properties.cost }}</div>'
          );
      // Создаем собственный макет с информацией о выбранном геообъекте.
      var customBalloonContentLayout = ymaps.templateLayoutFactory.createClass([
              '<h2 class=ballon_header>{{ properties.rooms }}</h2>'
          ].join(''));
      
      
      var objectManager = new ymaps.ObjectManager({
          clusterize: true,
          clusterDisableClickZoom: true,
          clusterOpenBalloonOnClick: true,
          clusterBalloonPanelMaxMapArea: 0,
          clusterBalloonMaxHeight: 200,
      });
      objectManager.objects.options.set({
        iconLayout: customPlacemarkLayout,
        iconShape: {
          type: 'Rectangle', 
          coordinates: [
            [-70, -60], [70, 0]
          ]
        },
        balloonContentLayout: customBalloonContentLayout,
      });
      objectManager.clusters.options.set({
        clusterIcons: clusterIcons,
        clusterIconContentLayout: customClusterIconLayout,
      });
      // Заполняем кластер геообъектами со случайными позициями.
      for (var i = 0, l = data.features.length; i < l; i++) {
        var placemark = {
            type: 'Feature',
            id: i,
            geometry: {
              type: 'Point',
              coordinates: data.features[i].geometry.coordinates,
            },
            properties: {
              // Устаналиваем данные, которые будут отображаться в балуне.
              balloonContentHeader: 'Заголовок метки №' + (i + 1),
              balloonContentBody: 'Информация о метке №' + (i + 1),
              placemarkId: i,
              cost: data.features[i].properties.cost,
              rooms: data.features[i].properties.rooms,
            }
        };
        placemarks.push(placemark);
      }
      
      objectManager.add(placemarks);
      map.geoObjects.add(objectManager);
    });
    Ответ написан
    1 комментарий
  • Как с помощью jQuery определить что устройство - планшет?

    AlexanderTsymbal
    @AlexanderTsymbal
    tsymbal.su
    thematthewhudson.com/current-device вам поможет Device.js
    Это маленький скрипт (~4кб), который я вставляю перед jQuery во всех своих проектах. Безотказно определяет тип устройства, ОС и разворот экрана.

    UPD 2021: Актуальная ссылка: https://github.com/matthewhudson/current-device
    Ответ написан
    1 комментарий