• Как изящно преобразовать массив?

    Alexandroppolus
    @Alexandroppolus
    кодир
    arr.sort((a, b) => Math.abs(a) - Math.abs(b) || b - a);


    upd: поправил, || вместо &&
    Ответ написан
    1 комментарий
  • Можно ли заменить gddr5 Geforce 1050Ti на gddr6?

    Zoominger
    @Zoominger
    System Integrator
    Не совсем понятно, что имел в виду автор.
    Если вы хотите поставить видеокарту с GDDR6, то ставьте, никаких ограничений на этот счёт нет.
    Если хотите перепаять GDDR5 на GDDR6, то смысла в этом просто нет.
    Ответ написан
    5 комментариев
  • Как опубликовать сообщение в группе с помощью API?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Чтобы отправить сообщение в живую ленту нужно еще более изощренный метод.

    Подключаем модуль Соц.сети:
    CModule::IncludeModule("socialnetwork");

    Чтобы отправить сообщение в ленту, нужно чтобы существовал пост, который будет отправлен в ленту, поэтому создаем сначала пост:

    $arFields = array(
     "TITLE" => "Заголовок записи",
     "DETAIL_TEXT" => "Тело сообщения",
     "BLOG_ID" => 1, //ID отправителя
     "AUTHOR_ID" => 1, //ID блога, в котором будет запись
     "DATE_PUBLISH" => '11.02.2014 09:08', // дада
     "PUBLISH_STATUS" => BLOG_PUBLISH_STATUS_PUBLISH, // Читаем в API
     "ENABLE_TRACKBACK" => 'N',
     "ENABLE_COMMENTS" => 'Y'
    );


    При успешном добавлении ($ID = CBlogPost::Add($arFields);) получим ID blogPost записи

    Затем необходимо отправить это сообщение в ленту, для нам нужен фрагмент кода (заменить соответствующим образом):

    $arEvent = array (
    	'EVENT_ID'     => 'blog_post',
    	'=LOG_DATE'    => 'now()',
    	'TITLE_TEMPLATE' => '#USER_NAME# добавил(а) сообщение "#TITLE#" в блог',
    	'TITLE'    => "Заголовок записи",
    	'MESSAGE'  => "Текст записи",
    	'TEXT_MESSAGE'  => "Текст записи",
    	'MODULE_ID'     => 'blog',
    	'CALLBACK_FUNC' => false,
    	'SOURCE_ID'     => $ID,
    	'ENABLE_COMMENTS'  => 'Y',
    	'RATING_TYPE_ID'   => 'BLOG_POST',
    	'RATING_ENTITY_ID' => $newID,
    	'ENTITY_TYPE' => 'U',
    	'ENTITY_ID'   => '1',
    	'USER_ID'     => '1',
    	'URL' => '/company/personal/user/1/blog/'.$ID.'/',
    );


    Создаём запись в ленте через: CSocNetLog::Add, на выходе получаем eventID (в случае успеха)

    Если все прошло хорошо, то выставляем права на пост (в премере отправляем ВСЕМ ПОЛЬЗОВАТЕЛЯМ G3)

    // Выдает права
    CSocNetLogRights::Add ( $eventID, array ("G3") );
    // Отправляет уведомление о новом сообщении
    CSocNetLog::SendEvent ( $eventID, 'SONET_NEW_EVENT' );


    Радуемся =)

    Все параметры получаются по средствам GetList например.
    Ответ написан
    4 комментария
  • Чем отличается junior от middle? а Senior?

    pi314
    @pi314
    Президент Солнечной системы и окрестностей
    Вот как это выглядит с т.з. работодателя

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

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

    Синьор
    - собеседование
    указывает на ошибку в тестовом задании, предлагает два решения проблемы, над которой команда пыхтела последнюю неделю и альтернативный стек технологий, на который можно перевести проект
    - испытательный срок
    рефакторит проект, делает билд джун-устойчивым, по ходу дела пишет алгоритм для киллер-фичи, запланированной только на следующий квартал и под конец испытательного срока организует воркшоп, на котором представляет свои наработки "в свободное время" по переводу проекта на другой стек технологий, в которых уже реализована большая часть функционала следующего релиза.
    - работа
    пинками помогает команде в переходе на одобренный руководством новый стек, в чем его активно поддерживает джун, окрыленный тем, что теперь его накопившиеся косяки точно никто не заметит, переводит проект на новый стек, увеличивает производительность в два раза, через год переводит еще раз, периодически генерирует идеи новых продуктов, может пропасть на неделю и вернуться с новой фичей, а может уйти в накопившийся за несколько лет отпуск и больше не вернуться, т.к. случайно встретил старого знакомого, передложившего другой мега-проект с гига-зарплатой.
    Ответ написан
    4 комментария
  • Как добавить string array правильно?

    usdglander
    @usdglander Куратор тега PHP
    Yipee-ki-yay
    $arr = explode(';', $string);
    $output = [];
    foreach ($arr as $item) {
        list($key, $value) = explode('=', $item);
        $output[$key] = $value;
    }
    var_dump($output);


    upd: или так
    $output = [];
    array_map(function($item) use (&$output) {
        list($key, $value) = explode('=', $item);
        $output[$key] = $value;    
    }, explode(';', $string));
    Ответ написан
    Комментировать
  • Как применяется импликация в программировании?

    wiki смотрели?

    В языках программирования импликация используется, как правило, неявно. Например, конструкция, предполагающая истинность условия B в данном участке программы:

    if ( выражение A ) {
        if ( выражение B ) {
           сделать_что-то_полезное
        }
           else {
           <font color=Red>сбой</font>
        };
     }

    будет успешно выполняться тогда и только тогда, когда верна импликация A→B. В то же время эти условия можно спокойно написать в одной строке, объединив их оператором конъюнкции.

    if ( выражение A ) and ( выражение B ) {
        сделать_что-то_полезное
     }


    При стандартных опциях компилятора (Delphi, C++ Builder) проверка идет до тех пор, пока результат не станет очевидным, и если А ложно, то (А и В) ложно вне зависимости от В, и не нужно ставить еще один условный оператор.

    //выражение A - ложно
     if ( выражение A ) {
        //Дальше проверка не идет
        ... if ( выражение B ) {
           сделать_что-то_полезное
        } ...
     }


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

    babarun
    @babarun Куратор тега 1С-Битрикс
    Безумный план моих идей в руках больных людей
    a. В св-во передаёте массив
    CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/image.gif")


    или

    b.1. Сохраняете файл:
    $ID = CFile::SaveFile()
    dev.1c-bitrix.ru/api_help/main/reference/cfile/sav...

    b.2. Полученный ID файла сохраняете в св-ве ИБ

    или

    с. Самый простой вариант, затрагивающие только св-во.
    $arFile = CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/image.gif");
    CIBlockElement::SetPropertyValueCode($ELEMENT_ID, "picture", $arFile);
    Ответ написан
    2 комментария
  • Как получить значение двух одинаковых по классам инпутов?

    kreotech
    @kreotech
    Абстрактно-ориентированный программист
    Вот так например:
    var classes = [];
    $('.input_class').each(function(index){
      classes[index] = $(this).val();
    };


    Если же надо только второй:
    $('.input_class').eq(1).val();
    Ответ написан
    1 комментарий
  • Как сделать прилипающее при скролле меню при подобном макете?

    @DivineDraft
    Есть скрипты, который просчитывают высоту и после Npx добавляют класс к примеру menu-fixed, если я правильно понял из выше изложенного.

    jQuery(function($) {
     $(window).scroll(function(){
     if($(this).scrollTop()>185){
     $('div.header-menu').addClass('fixed-on');
     }
     else if ($(this).scrollTop()<185){
     $('div.header-menu').removeClass('fixed-on');
     }
     });
     });


    Добавляете transition для меню и если хотите эффекты для перехода, а к fixed-one {position:fixed;top:0;}
    Ответ написан
    3 комментария
  • Как сочетать pixel perfect и flexbox?

    bootd
    @bootd Куратор тега CSS
    Гугли и ты откроешь врата знаний!
    А в чем разница?

    Судя по всему, вы не поняли как работать с flex-box. На pixel perfect ни флоаты, ни flex-box никак не влияют!
    Влияет лишь ваше умение писать css и html.

    Да и pixel perfect себя давно изжил, с приходом адаптивности!
    Ответ написан
    2 комментария
  • Можете помочь источником для изучения?

    @aslanovich
    Web/Art Designer. Front+Back-end Geek
    Давайте пройдемся по пунктам :
    1) Их много. Достаточно популярный codepen

    2) Что касается адаптива.
    Ничего сложного в бутстрапе нет. Особенно в сеточной системе (grid system). Документация по все классам и компонентам лежит на официальном сайте
    Если вы любитель смотреть видосики, то вот рекомендую этого -> чувака

    3) С медиа-запросами тоже всё довольно просто.
    Смысл в том что вы просто переназначаете стили для определенных блоков при определенных размерах экрана
    О медиа-запросах (и не только) понятным языком объясняет Sorax

    HTML+CSS реально изучить за неделю (максимум за 2).

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

    SergGrbanoff
    @SergGrbanoff
    UX/UI Desinger, Front-End Developer
    Фреймворки, библиотеки и плагины для верстки сайта.

    1. Bootstrap - самый популярный HTML, CSS, и JS фреймворк в мире для разработки отзывчивых, mobile-first проектов в вебе.

    2. slick - Адаптивный слайдер для сайта

    3. Owl Carousel 2 - красивый, отзывчивый карусельный слайдер

    4. Fotorama - плагин для создания галереи на сайте

    5. MagnificPopup - плагин для создания модальных окон

    6. FancyBox - построениe всплывающих окон

    7. Mmenu - мобильное меню


    8. bxSlider - отзывчивый jQuery-слайдер для контента


    9. Fullscreen Slit Slider - слайдер с интересной анимацией

    10. parallax.js - эффект Parallax

    Первая 10-ка
    Ответ написан
    Комментировать
  • Почему на инпут не действует псевдоЭлеммент?

    @Rheinmetall
    Могу сморозить глупость
    Непарным тэгам его нельзя прописать. А еще ты забыл повесить на родителя position: relative. Уж не знаю какая была задумка, но можно сделать так
    Ответ написан
    Комментировать
  • Как записать несколько значений в одну ячейку?

    SPAHI4
    @SPAHI4
    реактовцы - это не девы, а прокидыватели пропсов
    Рекомендую почитать про нормализацию БД и правилах образования множественного числа в английском языке.

    В вашем случае будет таблица связей user_cities с ячейками user_id city_id

    Можно извратиться и сделать ячейку cities с типом JSON, где будет массив [city1id,city2id,...]
    Ответ написан
    4 комментария
  • Как сделать книгу на jQuery?

    webirus
    @webirus
    Тыжверстальщик! Наверстай мне упущенное...
    Поискать (1) информацию (2) влом?
    Не говоря уж о расширенном поиске (3) или второй вариант (4)
    Мне лично нравится вот этот (5), его демо (6).
    Свои 14 баксов он давно у меня окупил.
    Хотя я и покупал его за 7 на складчине ^_^
    Быть может, уже где-то слили его.
    Ответ написан
    Комментировать
  • Вопрос верстальщикам. Как вы так быстро верстаете и не умираете от скуки?

    @architawr
    "Ok, Google" и все твои проблемы решены
    Ну для каждого интересны разные вещи. Лично я без проблем верстаю по нескольку часов и норм. Я использую sass
    Ответ написан
    Комментировать
  • Можно ли считывать xml файл с разных доменов/директорий?

    secsite
    @secsite
    Безопасные и быстрые сайты
    Твой коллега прав. Речь о разновидности XSS-дыры.
    А ты смеёшься по глупости, даже не понимая, что права они ЛОКАЛЬНЫЕ и роли вообще не играют, если на него есть права вебсерера. Проще говоря если пхп-скрипт имеет доступ (должен что-то с ним делать), то это уже всё, достаточно.
    Ответ написан
    2 комментария
  • Как начать писать в функциональном стиле?

    @BLVST
    Frontend. Открыт к предложениям.
    Всегда так, применение нового инструмента (или в данном случае подхода) требует усилий, пока не привыкнешь. Главное сначала себя чуть-чуть позаставлять
    Ответ написан
  • Можете посоветовать хороший слайдер?

    @game802
    Ничего проще и быть не может, чем slick slider. Он очень простой, но и при этом очень гибкий.
    Ответ написан
    Комментировать