Задать вопрос
  • Как подключены 4 жилы к интернет розетке?

    anthtml
    @anthtml
    Системный администратор программист радиолюбитель
    Перепутаны цвета пар на коннекторе (обжато не по стандарту но в рабочем виде)
    по виду обжато на коннекторе
    1 - БК, 2 - К, 3 - БС, 6 - С вместо 1 - БО, 2 - О, 3 - БЗ, 6 - З
    Если нужно подсоединить этот кабель к розетке то подключать по картинке 568В но на место
    БО подключать БК, на место О подключать К, на место БЗ подключать БС, на место З подключать С
    И будет все работать, просто провайдер решил "сэкономить" и кинул "телефонную" витуху, часто встречал такую цветогамму именно в дешевых двухпарках
    Ответ написан
    Комментировать
  • Как подключены 4 жилы к интернет розетке?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Если это кабель, который к вам приходит от провайдера, то они (возможно, намеренно) использовали вместо оранжевой пары коричневую, а вместо зелёной - синюю. Соответственно в розетке надо коричневую пару уложить в оранжевые клеммы, синюю пару в зелёные клеммы.
    651d6d658f41b417766256.png
    Ответ написан
    2 комментария
  • Что лучше: больше полей или больше Join?

    @alexalexes
    Куча count - возможно, но не join-ов.
    SELECT 
        posts.id, 
        posts.name, 
        count(case when s_vk.social_name = 'vk' then 1 end) as count_vk, 
        count(case when s_vk.social_name = 'tg' then 1 end) as count_tg,
        count(case when s_vk.social_name = 'ok' then 1 end) as count_ok,
        count(case when s_vk.social_name = 'tw' then 1 end) as count_tw
    FROM posts
       LEFT JOIN socials as s_vk on s_vk.post_id = posts.id 
    GROUP BY posts.id, posts.name

    В вашем случае для ускорения не подходит ни то, ни другое.
    Нужно вести отдельную таблицу в качестве кеша с аналогичными полями:
    posts_id,
    count_vk,
    count_tg,
    count_ok,
    count_tw
    При возникновении события клика на соц. сеть - добавлять запись в socials, а также триггером плюсовать значение по полю кеш-таблицы (и предварительно создавать запись в этой таблице по post_id, если не было ранее событий).
    Для необходимости сброса кеша нужно сделать хранимую процедуру для его перегенерации на основе данного запроса.
    PS:
    Еще бы разбить таблицу socials - на справочник соц. сетей:
    id - идент. соц сети.
    full_name - полное название соц. сети,
    abbrev - аббревиатура, например, ОК, ВК и т.д.
    tag_name - тех. название, например, ok, vk и т.д.
    ... - другие параметры соц. сети

    И таблицу для фиксации кликов:
    soc_click_events
    id - идент. события,
    post_id - идент. поста,
    social_id - идент. соц. сети,
    event_date - дата и время клика,
    ... - другие параметры клика

    PPS:
    В итоге, для фиксации событий клика и поддержания структуры базы в нормальной форме вы используйте три таблицы - posts, socials и soc_click_events.
    Для решения статистических задач вы делаете отдельные кеш-таблицы и обслуживаете их либо триггерами, либо хранимыми функциями и процедурами, получая статистические данные из первичной структуры.
    Ответ написан
    1 комментарий
  • Как юзать вычисленные значения в SELECT через AS?

    rozhnev
    @rozhnev Куратор тега SQL
    Fullstack programmer, DBA, медленно, дорого
    CTE:
    WITH p AS (
      SELECT
        payments.*,
        extract(EPOCH from (now() - updated_at::timestamp) / 60) AS minutes_passed
      FROM public.payments
    ) SELECT 
    	p.*,
        CASE
            WHEN 60 - minutes_passed > 0
                AND 60 - minutes_passed <= 15 THEN 'expires'
            WHEN 60 - minutes_passed > 15 THEN 'success'
            ELSE 'expired'
        END
        AS exp_status
    FROM p;


    PostgreSQL CTE
    Ответ написан
    Комментировать
  • Стоит ли разделять проект?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Веб-разработка
    В этом и заключается ваша работа - принимать такие решения на основе детального понимания проекта и планов его развития.
    Дяди и тёти из интернета за вас её сделать не могут, потому что детального понимания проекта у них нет и планов развития они не знают. Дяди и тёти из интернета могут только сказать абстрактные плюсы и минусы разделения или неразделения абстрактного проекта, но эта информация плохо транслируется на реальные проекты.
    Ответ написан
    Комментировать
  • Выборка из трех разных таблиц одной базы данных с подсчетом?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    "Ты просишь помощи, но просишь без уважения..."
    Во первых, фактически это задание, а не вопрос. А чужие задания здесь выполнять не принято.
    Во вторых, чтобы это превратилось в вопрос, нужно попытаться решить его самостоятельно. А столкнувшись с конкретной проблемой, уже о ней и спрашивать, например: Нужно сделать то-то. Я сделал вот так <пример кода>, но у меня в результате получилось (описание что получилось) а нужно (объяснение что не так с результатом).
    Ну и в третьих, допустим у меня сегодня хорошее настроение, и мне не трудно написать запрос за вас. Я жму на приложенный вами скриншот, а там всё такое мелкое, что я не могу разглядеть даже имена полей таблицы.
    Ответ написан
    Комментировать
  • Быстрый доступ к проекту из разных стран?

    @KingstonKMS
    Репликация
    Ответ написан
    Комментировать
  • Как в php немедленно выводить данные?

    @Vitsliputsli
    То что вы хотите не нужно делать через http, либо используйте web-socket, либо полностью перетащите этот функционал на фронт. Http предназначен для получения данных, а не отправки команд-сигналов с сервера. Манипуляции с ajax или переполнением буфера - также будут извращением.
    Ответ написан
    1 комментарий
  • Чем выкачать большой объём данных с хостинга?

    sergiks
    @sergiks Куратор тега Веб-разработка
    ♬♬
    на локальном компе или новом сервере, куда сохранять:
    rsync -avz  username@old-site.com://var/www/site/    /Volumes/My-Big-Disk/backups/site/
    Ответ написан
    Комментировать
  • Как получить Bearer токен?

    @Codebaker
    Всё умею, всё могу!
    Я не знаком с реализацией Passport, но общие OAuth2 принципы везде одинаковы.
    Вы аутентифицируетесь (то есть система вас узнаёт в лицо (в логин-пароль): о, да это же NNovosad !!). В ответ вам присылают access_token - на вот тебе штуку для "действия". Вы этим токеном должны заявить о намерении. То есть начинается вторая фаза - авторизации. Обычно это означает, что вы идёте на некий эндпойнт, который уже сверившись с валидностью access_token-а может подтвердить, можно вам такое действие Х выполнять или нет.

    Беглый осмотр доков подсказывает, что вам необходимо реализовать провайдера, который по скоупу (scope) будет выдавать вам Bearer-токен или нет.

    Пример из жизни: заходит человек на проходную завода. Его по паспорту и спискам сверяют и выдают пропуск - это аутентификация. А теперь этот человек на "территории завода" и хочет люлей бухгалтерии выписать за медленную работу. Можно ему так делать или нет? Вот если у него авторизация (scope - "управление бухгалтерией") не ниже руководителя правления завода - то конечно же может. В жизни авторизация происходит по визуальным признакам, а в цифровом мире - вот так, через токены, разрешающие действие "разнести в пух и прах"!

    В гугл-продуктах, например, не требуется создавать своих провайдеров, а можно для указанных учетных записей задать роли, если такая учетка будет запрашивать действие (ну например, СкачатьГуглДок()), то в соответствии с настройками ролей, Bearer будет выдан или нет). Scope при этом указывается в виде url- для гугл-док-апи.

    Надеюсь, работа OAuth2 стала яснее для Вас.
    Ответ написан
    Комментировать
  • Стоит ли сегодня новичку изучать C/C++?

    gbg
    @gbg
    Любые ответы на любые вопросы
    И так, случайные чуваки из интернета, перед вами человек, о знаниях, умениях, навыках и способностях вы ничего не знаете.

    И он спрашивает вас - а стоит ли мне заниматься X?

    НУ ОТКУДА МЫ ЗНАЕМ, стоит ли вам заниматься X? Вот я программирую уже больше 20 лет, 16 из них я программирую на C++, 14 - получаю за это зарплату в виде пяти, а потом и шестизначной суммы

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

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

    Если у вас есть желание работать типа в айти 5/2 с 9 до 18, получать стабильные 90к рэ в месяц - есть более "легкие" пути.

    Чем грозит неправильный выбор при высокой зарплате? Размазыванием слез и других жидкостей по хабру в духе "ребята, мне 25 годиков, на мне жена, дите, ипотека, я получаю три штуки баксов в месяц, но я совсем выгорел, у меня депрессия, тревога, импотенция, жена говорит, что я эмоционально холоден к ней, изменяет и грозит разводом...

    КАКОГО ПСИХОТЕРАПЕВТА МНЕ ВЫБРАТЬ, ШТОБ ПОМОХ?"
    Ответ написан
    4 комментария
  • Как привыкнуть к коду Flutter?

    Lucian
    @Lucian
    https://t.me/MakeFreelance
    Привык за пару недель. Запутаться невозможно, наоборот все логично вложено, попробуйте сделать вёрстку html и css, там реально как попало каждый делает как хочется, флаттер унифицирует и упорядочивает код и его удобно читать. Используйте плагины для рефакторинга/выравнивания виджетов, если не перестает бесить значит это не ваше.
    Ответ написан
    4 комментария
  • Как использовать переменную в MySql?

    @uuuu Автор вопроса
    А вот и ответ:
    Можно обойтись без переменной и group_concat().
    Можно сразу в IN (SELECT id FROM world WHERE account=8)
    Ответ написан
    Комментировать
  • Адекватный хостер VPS в России?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Из русских пользуюсь FirstVDS и Flops, доволен. Про IHC и VScale толком ничего не слышал, что само по себе показательно. У IHC ещё сайт подозрительно стрёмный.
    Ответ написан
    Комментировать
  • Как рисовать google.maps.Polygon также красиво как ymaps.Polygon?

    Приветствую, наткнулся на вопрос может уже и не актуально. Но мало ли пригодиться.

    Я вот так делал

    https://jsfiddle.net/n4tj5yj3/

    var map = new google.maps.Map(document.getElementById('map'), {
        zoom: 15,
        center: {lat: 53.905551719718574, lng: 27.55868911743164},
        mapTypeId: google.maps.MapTypeId.TERRAIN
      });
    
      var MobilePoligon = function( map ) {
    
              //Линия
              var polyline = new google.maps.Polyline({
                      map: map,
                      strokeWeight: 2,
                      strokeColor: 'rgb(1, 1, 1)',
                      editable: true,
                      path: [] // Без указания координат
              });
    
              //Полигон
              var polygon = new google.maps.Polygon({
                      map: map,
                      strokeColor: 'rgb(1, 1, 1)',
                      strokeOpacity: 0.1,
                      strokeWeight: 2,
                      fillColor: 'rgb(1, 1, 1)',
                      fillOpacity: 0.2,
                      editable: true, 
                      paths: [] // Без указания координат
              });
    
              //Храним координаты
              var paths = polyline.getPath();
    
              //Сохраним первые координаты
              var firstClick = false;
    
              //Протягиваем линию 
              var updatePath = function( evt ){
                 // Обьект координат
                 var latLng = new google.maps.LatLng( evt.latLng.lat(), evt.latLng.lng() );
    
                 if(paths.length == 0 && !firstClick) firstClick = latLng;
    
                 //Добавляем к уже сохраненным
                 paths.push( latLng );
                 //Протягивам линию к новой точке
                 polyline.setPath( paths );
    
              };
    
              //Слушаем клик по карте
              google.maps.event.addListener( map, 'click', updatePath );
    
              //Отрисуем полигон при клике на первые координыты
              var polygonDraw = function( evt ){
                    var lat = evt.latLng.lat();
                    var lng = evt.latLng.lng();
    
                    //Сравниваем с первым кликом
                    if( lat === firstClick.lat() && lng === firstClick.lng() ){
                        polyline.setMap( null ); //Убираем линии
                        polygon.setPath( paths ); //Ставим полигон
                        polyline.setPath( [] );
                    }
    
              };
    
              //Слушаем клик по точкам линии
              google.maps.event.addListener( polyline, 'click', polygonDraw );
      }
    
      var mobilePoligon = new MobilePoligon( map );
    Ответ написан
    1 комментарий
  • Как узнать город из координаты lat long?

    @Fixid
    Web api есть? Или только доступ к самой бд? Есть ли таблица placex?
    Ответ написан
  • Что нужно для безболезненного перехода на linux?

    @magazovski
    Все что вы перечислили есть в OSX, a это знаете ли вы, самый настоящий unix. Остального знать не надо :)
    Ответ написан
    Комментировать
  • Кто может подкинуть красивые чекбоксы?

    knitevision1
    @knitevision1
    Ванька Скайуокер
    Ответ написан
    Комментировать
  • Как написать форму обратной связи?

    @Facetrollex
    Ответ написан
    Комментировать