front-end и back-end разработка, photoshop, 3ds max, visual fx, паркур, акробатика, фотосъемка, видеосъемка, монтаж видео, ретушь фото
Контакты
Местоположение
Россия

Наибольший вклад в теги

Все теги (10)

Лучшие ответы пользователя

Все ответы (7)
  • Как задать минимальную ширина сайта на мобильных устройствах?

    skv1991
    @skv1991
    веб-программист, спортсмен
    Обычно используют:
    <meta name="viewport" content="width=device-width, initial-scale=1">

    А если нужно, чтобы минимальная ширина была 600px, то
    <meta name="viewport" content="width=600, initial-scale=1">

    Допустим страница у нас находится в div с id=page
    Тогда в CSS составляют уже media-queries (медиа-запросы)
    html, body {
           width: 100%;
    }
    #page {
           /* максимальная ширина страницы - 600px */
           width: 600px;
    }
    
    @media all and (max-width: 600px) {
    	#page {
    		/* максимальная ширина страницы - 100% - для телефонов */
    	       width: 100%;
    	}
    }


    И так далее по аналогии.
    Ширину самого сайта лучше описывать в div внутри тега body

    Так же загляните сюда.
    Ответ написан
    Комментировать
  • Как вывести стенку группы вконтакте у себя на сайте?

    skv1991
    @skv1991
    веб-программист, спортсмен
    Сначала получите apiID, затем:
    Подключаем Open API
    <script type="text/javascript" src="//vk.com/js/api/openapi.js?117"></script>

    Затем добавляем JS
    VK.init({
      apiId: ВАШ_APIID
    });
    // Код для вызова в методе execute
    var code;
    code = 'return {';
    code += 'data: API.wall.get({owner_id: OWNER, offset: 0, count: 15, filter: all, v: "5.37"})';
    code += '};';
    // сам метод execute, выполняет созданный код
    VK.Api.call('execute', {code: code, v: "5.37"}, function(r){
      if (r.response){
          if (r.response.data){
              console.log(r.response.data);
          }
      }
    });


    Где ВАШ_APIID - ваш Api ID, OWNER - id пользователя (id группы начинается с знака "-", т.е. например -999999).
    offset - смещение от первой записи
    count - число записей
    filter - фильтр записей (all - все).
    Реализацию отправки комментариев попробуйте сами додумать аналогичным способом.
    Методы:
    execute
    wall.get
    wall.post

    Создать приложение

    Пробовал делать альтернативный виджет группы.
    Ответ написан
    Комментировать
  • Каой выбрать фотоаппарат?

    skv1991
    @skv1991
    веб-программист, спортсмен
    Из предложенных Вами для фото будет лучше Sony Alpha A3500 Kit, поскольку у него лучше характеристики и есть возможность смены объективов. Если снимать видео, возможно лучше будет Nikon Coolpix L840, т.к. у него есть встроенный оптический стабилизатор изображения (меньше тряска от рук будет заметна, плавнее кадры получаться, и чуть проще делать фото при более плохом освещении, т.к. компенсация тряски рук идет). Разрешение у Никона, как и у Сони 1920х1080, однако у первого возможность снимать видео с частотой 50/60 кадров/с, что удобно, для создания видео с плавным замедлением (например как фейерверк взрывается).

    Мой личный вердикт:
    Sony Alpha A3500 Kit
    • больше подходит для фото, в том числе в режиме автомат
    • можно лучше настроить под задачи (никогда не поздно учиться фотографировать)
    • съемка в RAW это плюс
    • можно менять объективы
    • можно использовать внешнюю вспышку
    • на 100г. легче Nikon, но чуточку больше по габаритам
    • матрица больше, кроп-фактор меньше - будет меньше шумов на фото, чуть резче картинка, лучше цветопередача
    • больший размер изображения
    • есть видоискатель
    Nikon Coolpix L840
    • подходит для обычных фото и видео с минимум настроек
    • просто найти аккумуляторы AA запасные
    • есть Wi-Fi
    • серийная съемка 7.4 к/с
    • четче дисплей
    • оптическая стабилизация и программная при съемке видео


    Я бы из данных двух остановил выбор на Сони.
    Советую так же обратить внимание на Canon, например EOS 550D Kit, однако знайте, что весомая часть картинки зависит от объектива, наверное большая часть, и где-то процентов 20-30 от фотоаппарата.
    Так же, если чисто цифровик нужен, без объективов, очень советую Canon PowerShot SX230 HS - шикарная мыльница(однако в продаже его не видно), хороший зум, качество снимков, видео, советовал такой друзьям и маме такой купили, отличный, очень довольны. Сам пользуюсь Canon EOS 7D, Canon EOS 450D (предубеждения против других фирм нет), так что советую по личному опыту и знаниям. Опишите ценовой диапазон и что собираетесь снимать, какие цели использования, и я Вам подскажу модель.

    Успехов!
    Ответ написан
    Комментировать
  • Как суммировать значения свойств по значению свойства?

    skv1991
    @skv1991
    веб-программист, спортсмен
    Вариант на ES6 через функцию reduce, деструктуризацию объекта.
    // исходный массив
    const arr = [
      { name: 'Sasha', apple: 8, banana: 6, cherry: 9 },
      { name: 'Artur', apple: 4, banana: 2, cherry: 1 },
      { name: 'Sasha', apple: 5, banana: 7, cherry: 3 },
      { name: 'Bogdan', apple: 6, banana: 11, cherry: 8 },
      { name: 'Artur', apple: 8, banana: 6, cherry: 9 }
    ];
    
    // Собираем объект
    const result = arr.reduce((acc, current) => {
      
      // если текущее имя есть в свойствах объекта
      if (acc.hasOwnProperty(current.name)) {
        // извлекаем свойства
        const { apple, banana, cherry } = current;
        
        // суммируем количество
        acc[current.name].apple += apple;
        acc[current.name].banana += banana;
        acc[current.name].cherry += cherry;
      } else {
        // иначе добавляем новое имя в объект и копируем свойства
        const { apple, banana, cherry } = current;
        
        acc[current.name] = {
          apple,
          banana,
          cherry
        };
      }
      
      return acc;
    },
    {} // начальное значение
    );
    
    console.log(result);


    Пример на Codepen
    Ответ написан
    Комментировать
  • Как в return_url Яндекс Кассы передать параметр?

    skv1991
    @skv1991
    веб-программист, спортсмен
    Разный return_url задавать нельзя, а вот передать данные о заказе при формировании платежа можно в метаданных.

    Подробнее: https://kassa.yandex.ru/developers/api#payment_obj...

    Пример формирования платежа на php (адаптируйте на js, если надо):
    $paymentConfig = [
          'phone' => 79991234567,
          'email' => "vasya.puplin@example.com",
          'amount' => [
            'value' => "1000.00",
            'currency' => 'RUB',
          ],
          'confirmation' => [
            'type' => 'redirect',
            'return_url' => "url, куда яндекс будет отправлять платежные события на вашем сайте",
          ],
          'capture' => true, // Автоматический прием поступившего платежа.
          'description' => 'Заказ №22',
          'metadata' => [
            'orderId' => 22
          ]
    ];
    
    $payment = $this->yandexCheckout->createPayment(
          $paymentConfig,
          uniqid('', true)
    );


    Здесь $this->yandexCheckout - это у меня в проекте так называется клиент из SDK PHP (yandex-checkout-sdk-php)

    В свойство metadata можно вкладывать нужную информацию. В бою не раз использовал такой подход. Работает.

    При получении платежа, соответственно, смотрите нужное свойство и получите номер заказа.

    При формировании платежа попробуйте передать это свойство.
    Ответ написан
    Комментировать