• Как в phpstorm двигать текст влево/вправо?

    @Geroinm
    Может еще актуально, ответ тут:
    File => Settings => Keymap => Indent Line or Selection (это сдвиг вправо)

    File => Settings => Keymap => Unindent Line or Selection (это сдвиг влево)

    Биндим на привычное и наслаждаемся.
    P.S. чем не удобен таб, если курсор на середине строки, то он двигает часть от курсора, а не всю строку.
    Ответ написан
    1 комментарий
  • Как конвертировать в обучную дату по нужному часовому поясу?

    alex4answ
    @alex4answ
    1. Дата в базе должна храниться по UTC.
    2. Date.UTC(dateFromDB);
    3. Date.toLocalDateString();

    А вообще, вы можете просто получить смещение часового пояса и добавить его к полученной дате, в принципе базовые вещи работы с Date
    Ответ написан
    Комментировать
  • Ubuntu путь к файлам 403 Wordpress?

    dyuriev
    @dyuriev
    A posteriori
    1. адекватный совет звучит примерно так:
      nginx/apache2/php-fpm или что у вас там работает с теми же правами, что и пользователь-владелец?
      сведите всех к одному пользователю (от имени которого работаете, чтобы шторм мог редактировать)

    2. вредный совет, как поступать не надо
      на все файлы поставьте права 777, а на каталоги 666
      find /var/www/wordpress/ -type f -exec chmod 666 {} \;
      find /var/www/wordpress/ -type d -exec chmod 777 {} \;

    3. если вы поступили как в совете 2, то возвращайте все назад
      find /var/www/wordpress/ -type f -exec chmod 644 {} \;
      find /var/www/wordpress/ -type d -exec chmod 755 {} \;
      и смотрите совет 1
    Ответ написан
    3 комментария
  • Как пересобрать массив в новым с новыми ключами?

    Tim-A-2020
    @Tim-A-2020
    Если я Вас правильно понял, то примерно так
    let id = 1, name = 'test name', price = 100
    const oldArr = [
    	{ id, name, price},
      { id, name, price},
      { id, name, price}
    ]
    
    const newArr = oldArr.map(item => ({
    	code: item.id,
      orderName: item.name,
      orderPrice: item.price
    }))
    console.log(newArr)
    Ответ написан
    Комментировать
  • Принцип работы авторизации по смс, NODE JS?

    Babayka_od
    @Babayka_od
    Full-stack developer
    При отправке телефона на бекенд можно делать запись в БД вида
    {
      "id": "uuid,
      "challenge": "random string",
      "otp": "six-digit code", // для otp бессмысленно использовать bcrypt, потому что этот код одноразовый и у него малое время жизни
      "expires_in": timestamp
    }

    После отправить otp пользователю и записать challenge в cookie
    При отправке otp на бекенд нужно достать challenge из cookie, найти по этому challenge запись в базе и сверить код
    Ответ написан
    Комментировать
  • Как это можно порефакторить?

    delphinpro
    @delphinpro Куратор тега PHP
    frontend developer
    <?php for ($i = 0; $i < 5; $i++) { ?>
        <li class="<?= ($i <= $countStarts ? 'star-fill' : '') ?>"></li>';
    <?php } ?>
    Ответ написан
    Комментировать
  • Как это можно порефакторить?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    Например, так:
    <?php for ($i = 0; $i < 5; ++$i) { ?>
      <li<?php if ($i < $countStart) { ?> class="start-fill"<?php } ?>></li>
    <?php } ?>

    Или так:
    <?php
    for ($i = 0; $i < 5; ++$i) {
      echo $i < $countStart ? '<li class="star-fill"></li>' : '<li></li>';
    }
    ?>
    Ответ написан
    Комментировать
  • Как отправить HTTP запрос методом POST на URL через PHP?

    taliban
    @taliban
    php программист
    Это капец, все что угодно перечислили, лишь не встроенную функцию
    http://php.net/manual/ru/function.file-get-contents.php#108309
    Ответ написан
    1 комментарий
  • Сайт на MERN + приложения для IOS на React Native?

    tsepen
    @tsepen
    Frontend developer
    Приложения на react native при сборке компилируются в нативный код поэтому для эпл разницы нет на чем написан проект, почти вся бизнес логика приложения может быть единой как для сайта так и для приложения, основные отличия будут в верстке - для мобил там есть особенности, но в них разобраться можно за пару часов.

    Ну и большой бонус что приложение также можно будет собрать под андроид
    Ответ написан
    Комментировать
  • Сайт на MERN + приложения для IOS на React Native?

    Можно завернуть приложение в cordova или что-то подобное - тогда даже переписывать не придётся.
    Процесс проверки никак не отличается
    Ответ написан
    Комментировать
  • Как сделать действия после того как State redux обновится?

    alex4answ
    @alex4answ
    Может вообще не попал в суть вашего вопроса, но у store есть subscribe на обновления
    Ответ написан
    1 комментарий
  • Как отключить приближение к формам в мобильной версии сайта?

    zzloy
    @zzloy
    Дизайнер
    Если речь идёт о мобильной версии, в ней как минимум должно быть всё для этого подготовлено. То, что браузер виляет масштабом как хочет, гововорит как минимум об отсутствии этой строки:

    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">


    О том что это, почему, зачем и как читайте тут.
    Ответ написан
    1 комментарий
  • Как найти топовые приложения в Appstore?

    NSA-bot
    @NSA-bot
    Фильтра нет, есть только топ приложений по разным категориям. Клацаете в апсторе внизу по средней иконке и откроются подборки наиболее скачиваемых приложений, которые можно посмотреть поподробнее.
    spoiler
    5fbe74700a601633380603.jpeg
    Ответ написан
    Комментировать
  • Woocommerce одна функция вместо несколько?

    Все достаточно просто.
    Вам надо изменить данные которые отправляете и отправлять все выбранные пользователем позиции и их количество. А на сервере обработать входящие данные и добавить все в корзину.

    Пример обработки запроса на множественное добавление в корзину
    /**
    	 * Множественное добавление в корзину
    	 * Вызывается по Ajax
    	 *
    	 * @hook-handle qop_add_to_cart
    	 */
    	public function ajax_add_to_cart() {
    
    		$product_items = isset( $_POST['products'] ) && is_array( $_POST['products'] ) ? $_POST['products'] : false;
    
    		$errors               = array();
    		$added_products_count = 0;
    
    		foreach ( $product_items as $item ) {
    			$product_id   = $item['product_id'];
    			$quantity     = $item['quantity'];
    			$variation_id = $item['variation_id'];
    			$title        = $item['product_title'];
    			$sku          = $item['sku']; // для простого товара здесь тоже его sku
    
    
    			$passed_validation = apply_filters( 'woocommerce_add_to_cart_validation', true, $product_id, $quantity );
    			$product_status    = get_post_status( $product_id );
    
    			if ( $passed_validation && WC()->cart->add_to_cart( $product_id, $quantity, $variation_id ) && 'publish' === $product_status ) {
    
    				do_action( 'woocommerce_ajax_added_to_cart', $product_id );
    				$added_products_count ++;
    
    			} else {
    				$notices = WC()->session->get( 'wc_notices', array() );
    				if ( isset( $notices['error'] ) ) {
    					$error   = array_pop( $notices['error'] );
    					$err_msg = preg_replace( '/<a.*?href.*?=(.*)>(.*?)<\/a>/', '', $error );
    
    					$errors[] = array(
    						'variationId' => $variation_id,
    						'title'       => $title,
    						'sku'         => $sku,
    						'msg'         => $err_msg,
    					);
    				}
    				wc_clear_notices();
    			}
    		}
    
    		$response = array(
    			'added'  => $added_products_count,
    			'errors' => $errors,
    			'popup'  => $this->template_errors_formating( $errors ),  // Формирование собственного popup-a для пользователя
    			'cart'   => $this->get_refreshed_fragments(),  // необходимо для обновления миникорзины в шапке.
    		);
    
    		wp_send_json( $response );
    	}
    Ответ написан
    1 комментарий
  • Почему много людей в IT недовольны своей работы?

    kraso4niy
    @kraso4niy
    fullstack
    IT - это супер интересная область. Тут огромные возможности , потому что компьютер даёт эти возможности. Потому что без компьютера невозможно уже сделать что-то конкурентное. Любое производство, любой текст, любая информация - это компьютер! IT - очень разнообразная сфера. Это не только "кодить в IDE" и "попивать кофе/смузи" и "сидеть за монитором по 18 часов" - это и оптоволокно и спутниковая связь, и работа автомобильных систем, и станки и тракторы и ракеты. Как и любая профессия, она может быть очень интересной и очень скучной.

    Люди чаще недовольны, чем счастливы и это недовольство заставляет их двигаться вперёд - удовлетворять свои материальные и духовные потребности :) и это нормально :)

    Любая профессия интересна по своему и это всё субъективно. IT - одна из немногих сфер которая позволяет жить и работать там где хочется и при этом зарабатывать те деньги на которые можно комфортно жить.

    Недовольства от работы могут быть в любой сфере. Всё зависит от ситуации, компании/бизнеса и хотелок человека.

    Счастье наступает когда человек может то что хочет и хочет то что может :)
    Ответ написан
    9 комментариев
  • Нужны ли еще верстальщики сайтов в 2020 году?

    @ferdasfarmazone
    Верстальщик!
    для толкового верстальщика на фрилансе всегда работа найдется
    скорее всего так в каждой области программирования

    (меня 7 лет уже пугают, что сама верстка инком нужна не будет в будущем)
    Ответ написан
    4 комментария
  • Почему 1 элемент Stat'а пустой?

    mmmaaak
    @mmmaaak
    Для setCart нужно использовать useEffect с зависимостью от item, так как добавление в корзину это по сути сайд эффект установки нового item, в данном случае
    Ответ написан
    Комментировать
  • Почему много людей в IT недовольны своей работы?

    DevMan
    @DevMan
    ноют только те, кто не состоялись в этой сфере.
    кто состоялся, не только не ноют, а толкают свою родню туда.
    Ответ написан
    Комментировать
  • Почему много людей в IT недовольны своей работы?

    У каждого своя причина. Кто-то выгорел, кто-то просто устал. Со временем понимаешь что зп это не главное, да и зарплата в IT не такая уж и большая. И что ты каждый день сидишь по 14, 16 а иногда по 18 часов в день перед монитором. Никакой физической активности. Решаешь какие-то странные хочухи клиентов. Результат твоей деятельности мало кто увидит, большая часть твоего кода уйдет на помойку. Что каждый день выходят новые языки, фреймворки. Что количество данных, которые нужно пропускать через мозг, растет с каждым днем. А мозги только стареют. Помнишь Ваас рассказывал про безумие? Так вот, это оно. Каждый день ты залипаешь перед монитором, пытаясь решать кем то придуманную проблему. У тебя уже искривление позвоночника, зрение -5, туннельный синдром где-то не за горами. А ничего, кроме как пялиться в монитор, ты не умеешь.
    Ответ написан
    31 комментарий