Задать вопрос
  • При $(document).click(selector) как не обрабатывать вложенные элементы в jQuery?

    0xD34F
    @0xD34F Куратор тега JavaScript
    $(document).click('.e-1', function(event) {
    console.log(event.target)
    });

    Вот бы узнать: первый параметр метода click, он тут по вашему мнению как используется? Мне кажется, вы не до конца понимаете, что написали.

    Устанавливаем делегированный обработчик правильно, смотрим у объекта события свойство currentTarget:

    $(document).on('click', '.e-1', function(e) {
      console.log(e.currentTarget);
    });
    Ответ написан
    2 комментария
  • Хочу в геймдев?

    GavriKos
    @GavriKos Куратор тега Разработка игр
    1. Сложен. Нужно много знаний помимо программирования
    2. Очень-очень-очень вряд ли. Особенно если нет опыта.
    3. Стоит, конечно, почему нет.

    Совет - учите сишарп и идите трейни в студию. Дадут больше структурированной информации и опыта.
    Ответ написан
    Комментировать
  • Как учить ларавел 8 по старым урокам?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Laravel
    Использовать отличную от урока версию фреймворка - это странно.

    есть решение по другому написать код
    Есть решение загуглить и по первой же ссылке увидеть и объяснение и решение, которое требует только понимания основ PHP.

    IDE helper для phpstorm работает как оказалось только с 8+ версией
    Предыдущие версии пакета прекрасно работают с предыдущими версиями фреймворка, их никто не сжигал.

    И это при том что я взял готовый архив из урока автора с композер и pacage json файлами
    Уроки не отменяют необходимости думать и разбираться самостоятельно.

    что посоветуете
    если долго мучится - что нибудь получится
    Ответ написан
    3 комментария
  • Есть ли хороший задачник по программированию?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Если хочешь быть программистом, то надо программировать, а не задачки решать.
    Ответ написан
  • Как на linux (ubuntu server) сделать типа рейда в одну папку?

    @rPman
    при создании btrfs просто указываешь списком все твои разделы и сказв чтоь тебе нужно linear распределение
    mkfs.btrfs -d single /dev/sdb /dev/sdc /dev/sdd /dev/sde


    это даже не raid так как данные не размазываются по дискам а просто последовательно заполняют пространство (правда так как btrfs это cow файловая система, каждая следующая запись идет в новое место, так что постоянная запись на диск будет периодически кочевать между дисками, а значит при чтении разных файлов будет размазывать нагрузку

    И да, смерть одного диска скорее всего создаст кашу пропавших из файлов

    https://btrfs.wiki.kernel.org/index.php/Using_Btrf...
    Ответ написан
    2 комментария
  • Как получить элементы одного массива, отсутствующие в другом?

    0xD34F
    @0xD34F
    $ids = array_unique(array_column($arr, 'user_id'));
    $result = array_filter($arr2, fn($n) => !in_array($n['users_id'], $ids));
    Ответ написан
    8 комментариев
  • Как быть если сочитание клавиш не перекрываются в linux?

    @santiaga1
    Мне помог вот такой вариант:

    sudo add-apt-repository ppa:nrbrtx/xorg-hotkeys
    sudo apt-get update
    sudo apt-get upgrade
    sudo reboot

    После этого шорткаты работают правильно.
    Ответ написан
    2 комментария
  • Примерно в одно и тоже время пропадает частично интернет?

    @alfill
    Роутеры не перезагружаются раз в сутки (иначе у них флеш-память сдохнет) - у них есть время аренды ip клиентов в настройках DHCP-сервера, обычно небольшое, но желательно увеличить на неделю или больше чтобы часто не перестраивать маршруты.

    Видимо, комп не может обновить маршруты с роутера, может в сетевой отключен Link Layer Topology Discovery (lltd) протокол (в Wi-Fi учтены разрывы, оповещения ч/з Beacon Interval, поэтому такого нет), если сброс DNS ipconfig /flushdns или netsh winsock reset не помогает, то

    По кабелю лучше указать статичный ip: в DHCP-настройках роутера для каждой сетевой указать постоянный внутренний IP (чтобы Lan не пропадал), в настройках компа - соответственно указанный IP/маску/шлюз роутера.

    Примерно похожее происходит: интернет замирает на 2~5мин пару раз в день на получение внешнего IP потому что автоконфигурация по DHCP у [конкретно моего] провайдера обновляется ч/з 12ч (43200сек - lease time), т.к. его доступная подсеть имеет всего ~7тыс. IPv4 адресов, вот он проксирует и объединяет как может. Раньше сеть раз в 2-3..6 мес наглухо пропадает от 2ч до полдня, пока маршруты не настроятся и сам не разобрался.
    например по логам видно:
    Apr  7 05:50:22 udhcpc[1184]: Lease of 10.240.*.* obtained, lease time 43200
    Apr  7 11:50:22 udhcpc[1184]: Sending renew...
    Apr  7 11:50:24 udhcpc[1184]: Lease of 10.240.*.* obtained, lease time 43200
    Apr  7 13:59:07 udhcpd[1066]: Found static lease: 2301a8c0
    Apr  7 13:59:07 udhcpd[1066]: Sending ACK to 192.168.1.35
    Apr  7 17:50:24 udhcpc[1184]: Sending renew...
    Apr  7 17:50:26 udhcpc[1184]: Lease of 10.240.*.* obtained, lease time 43200
    Apr  7 17:51:37 pppd[4433]: LCP terminated by peer
    Apr  7 17:51:37 pppd[4433]: Connect time 1440.0 minutes.
    Apr  7 17:51:37 pppd[4433]: Sent 37511333 bytes, received 75485940 bytes.
    Apr  7 17:51:37 pppd: Disable forwarding for ppp0 interface
    Apr  7 17:51:37 pppd: Restore netfilter rules from pppd
    Apr  7 17:51:38 resolv: Generate resolv DNS1: 45.90.28.213 DNS2: 45.90.30.213
    Apr  7 17:51:38 pppd: Restore default gateway
    Apr  7 17:51:39 pppd: Flush route cache
    Apr  7 17:51:39 pppd: Restart need service and rebuild shaper and iptables rules
    Apr  7 17:51:39 services: Restart needed services and scripts. Mode pppd
    Apr  7 17:51:40 pppd[4433]: Connection terminated.
    Apr  7 17:51:40 pppd[4433]: Sent PADT
    Apr  7 17:51:40 pppd[4433]: Modem hangup
    Apr  7 17:51:41 iptables: Clear iptables rules fo ipv6 and set default actions.
    Apr  7 17:51:41 iptables: Starting IPTABLES
    Apr  7 17:51:42 iptables: Set default filters
    Apr  7 17:51:42 iptables: Service limit set
    Apr  7 17:51:42 iptables: Dnsproxy allow to connect
    Apr  7 17:51:42 iptables: Remote managment web limit
    Apr  7 17:51:42 iptables: icmp drop ping from wan eth2.2
    Apr  7 17:51:42 iptables: Set forward rules
    Apr  7 17:51:42 iptables: Add rules for web content filters
    Apr  7 17:51:43 iptables: Add QoS rules
    Apr  7 17:51:43 QoS: TOS add simple_qos netfilter rules
    Apr  7 17:51:44 iptables: Add NAT rules
    Apr  7 17:51:44 iptables: Call to add VPN netfilter rules.
    Apr  7 17:51:44 dnsserver: Generate /etc/hosts file.
    Apr  7 17:51:44 dnsserver: Send HUP to dnsmasq.
    Apr  7 17:51:44 dnsmasq[587]: read /etc/hosts - 6 addresses
    Apr  7 17:51:44 dnsmasq[587]: using nameserver 45.90.28.213#53
    Apr  7 17:51:44 dnsmasq[587]: using nameserver 45.90.30.213#53
    Apr  7 17:51:45 pppd[4433]: PPP session is 38429
    Apr  7 17:51:45 pppd[4433]: Connected to a4:6c:2a:a5:d8:10 via interface eth2.2
    Apr  7 17:51:45 pppd[4433]: Using interface ppp0
    Apr  7 17:51:45 pppd[4433]: Connect: ppp0 <--> eth2.2
    Apr  7 17:51:45 pppd[4433]: CHAP authentication succeeded
    Apr  7 17:51:45 pppd[4433]: CHAP authentication succeeded
    Apr  7 17:51:45 pppd[4433]: peer from calling number A4:6C:2A:A5:D8:10 authorized
    Apr  7 17:51:45 pppd[4433]: local  IP address 176.118.*.*
    Apr  7 17:51:45 pppd[4433]: remote IP address 172.30.*.*
    Apr  7 17:51:45 dyndns: Stopping DynDns
    Apr  7 17:51:45 dyndns: Starting DynDNS
    Apr  7 17:51:46 ntp: Stopping NTPD
    Apr  7 17:51:46 ntp: Starting NTPD
    Apr  7 17:51:47 vpn-server: Stop l2tp vpn server
    Apr  7 17:51:48 pppd: Down is OK
    Apr  7 17:51:48 pppd: No dgw stored.
    Apr  7 17:51:48 pppd: Replace default route to ppp0
    Apr  7 17:51:48 resolv: Generate resolv DNS1: 45.90.28.213 DNS2: 45.90.30.213
    Apr  7 17:51:48 pppd: Flush route cache
    Apr  7 17:51:48 pppd: Restart dns server, dyndns, ntp sync and rebuild shaper and iptables rules
    Apr  7 17:51:49 services: Restart needed services and scripts. Mode pppd
    Apr  7 17:51:49 QoS: Stopping SHAPER
    Apr  7 17:51:50 QoS: Set default rules.
    Apr  7 17:51:50 QoS: TOS Load module.
    Apr  7 17:51:50 QoS: TOS Generate /etc/qos_firewall
    Apr  7 17:51:51 Prio: port based QoS Load netsched  modules.
    Apr  7 17:51:54 iptables: Clear iptables rules fo ipv6 and set default actions.
    Apr  7 17:51:54 iptables: Starting IPTABLES
    Apr  7 17:51:54 iptables: Set default filters
    Apr  7 17:51:55 iptables: Service limit set
    Apr  7 17:51:55 iptables: Dnsproxy allow to connect
    Apr  7 17:51:55 iptables: Remote managment web limit
    Apr  7 17:51:55 iptables: icmp drop ping from wan eth2.2
    Apr  7 17:51:55 iptables: Set forward rules
    Apr  7 17:51:55 iptables: Add rules for web content filters
    Apr  7 17:51:55 iptables: Add QoS rules
    Apr  7 17:51:55 QoS: TOS add simple_qos netfilter rules
    Apr  7 17:51:56 iptables: Add NAT rules
    Apr  7 17:51:56 iptables: Call to add VPN netfilter rules.
    Apr  7 17:51:57 dnsserver: Generate /etc/hosts file.
    Apr  7 17:51:57 dnsserver: Send HUP to dnsmasq.
    Apr  7 17:51:57 dnsmasq[587]: read /etc/hosts - 6 addresses
    Apr  7 17:51:57 dnsmasq[587]: using nameserver 45.90.28.213#53
    Apr  7 17:51:57 dnsmasq[587]: using nameserver 45.90.30.213#53
    Apr  7 17:51:58 dyndns: Stopping DynDns
    Apr  7 17:51:58 dyndns: Starting DynDNS
    Apr  7 17:51:58 ntp: Starting NTPD
    Apr  7 17:52:00 vpn-server: Stop l2tp vpn server
    Apr  7 17:52:00 pppd: Enable forwarding for ppp0 interface
    Apr  7 17:52:00 pppd: All is start OK
    Apr  7 17:52:00 pppd: All is start OK
    Apr  7 20:23:04 udhcpd[1066]: Found static lease: 1c01a8c0
    Apr  7 20:23:04 udhcpd[1066]: Sending ACK to 192.168.1.28
    Apr  7 23:50:26 udhcpc[1184]: Sending renew...
    Apr  7 23:50:28 udhcpc[1184]: Lease of 10.240.*.* obtained, lease time 43200
    Apr  8 05:50:29 udhcpc[1184]: Sending renew...
    Apr  8 05:50:31 udhcpc[1184]: Lease of 10.240.*.* obtained, lease time 43200
    Apr  8 11:50:32 udhcpc[1184]: Sending renew...
    Apr  8 11:50:34 udhcpc[1184]: Lease of 10.240.*.* obtained, lease time 43200
    Apr  8 14:13:41 udhcpd[1066]: Found static lease: 2301a8c0
    Apr  8 14:13:41 udhcpd[1066]: Sending ACK to 192.168.1.35

    Еще вариант, если соединение позволяет - прописать на роутере определение DNS-имен не у провайдера, т.к. иногда глючит, а через него напрямую к NextDNS, AdguardDNS или яндекса 77.88.8.7 (немного увеличит время +50ms резолвинга и сделает недоступные внутренние подсети, если были, но зато вырежет рекламу).
    // Совсем способ - если модель роутера поддерживается и памяти хватит, то обновить прошивку на что-ниб более продвинутое типа Wive-RTNL или OpenWRT, DDwrt если старая прошивка глючит (мой роутер взламывали по сети, пока он был D-Link); настроить Encrypted DNS over-HTTPS/TLS/Quic DNSSEC для приватности, накатить пакетов Transmission BT, и ни разрывы, цензура, реклама не помеха.
    Ответ написан
    Комментировать
  • Как в VBA excel получить ФИО из полного текста?

    ProgrammerForever
    @ProgrammerForever Куратор тега Excel
    Учитель, автоэлектрик, программист, музыкант
    С помощью регулярок (надо подключить библиотеку к проекту, чтобы работало):
    Tools – References…
    ☑ Microsoft VBScript Regular Expression
    Код:
    Public Function getShortName(strText As Variant) As String
        Dim myRegExp As New RegExp
        Dim matches As MatchCollection
    
        myRegExp.Global = True
        myRegExp.IgnoreCase = True
        myRegExp.Pattern = "(\S+)\s+(\S)\S*\s+(\S)\S*"
        Set matches = myRegExp.Execute(strText)
        
        getShortName = matches(0).SubMatches(0) & " " & matches(0).SubMatches(1) & "." & matches(0).SubMatches(2) & "."
    End Function

    Можно через Split(), даже покороче получится код, хотя на двойных пробелах споткнётся.
    Function getShortName(strText As String) As String
        Dim a
        a = Split(strText, " ")    
        getShortName = a(0) & " " & Left(a(1), 1) & "." & Left(a(2), 1) & "."
    End Function

    А можно вообще формулой сделать - отталкивайтесь от поиска текста(пробелов)
    Ответ написан
    Комментировать
  • Как такое сверстать?

    RAX7
    @RAX7
    Держи, немного поправил один из своих старых набросков.

    Принцип работы примерно, как описал Максим Морев в своем ответе.
    Ответ написан
    2 комментария
  • Что лучше Phpstorm vs VS code?

    sim3x
    @sim3x
    Phpstorm
    Ответ написан
    Комментировать
  • Выборка из БД в огромный excel файл с помощью php или laravel?

    @sl0
    Для этого (не только для этого, конечно, но в том числе) и придумали брокеры очередей. Создаете событие, которое воркер будет обрабатывать в отдельном процессе. Я так делаю выгрузку по гигабайтным базам. В отдельном процессе происходит запись экселевского файла, а по окончании просто выдается ссылка на него.
    Ответ написан
    1 комментарий
  • Как "не унифицировать" пользователей в запросе mysql?

    @mletov
    Если нужно с повторами, то уберите GROUP BY. А раз без GROUP BY, то COUNT неуместен.
    Часы нужны по конкретному договору? Тогда вместо COUNT пишите user_dolg.hours
    Ответ написан
    24 комментария
  • Как продумать структуру "склада" в БД?

    flapflapjack
    @flapflapjack
    на треть я прав
    По идее в перемещениях товар перемещается между складами. Незачем перемещать товар между юзерами. Юзер может быть ответственный за перемещение, и быть указан, как userid в таблице перемещений.

    Для того, чтобы переместить товар со склада на человека, можно просто завести склад, имеющий название как и имя человека.

    Например:
    Перемещение:
    ИЗ: Склад Иванов. А.В.
    В: Склад Погрузка на отправку.
    Ответственный: Иванов А.В.

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

    Тогда будут таблицы:
    Юзеры
    Склады
    Товары
    Перемещения

    А вот итоговый подсчет остатков на складах делать можно уже двумя способами:
    1) Либо менять в таблице "склады" кол-во товаров, и параллельно создавать запись в таблице перемещения.
    2) Либо вводить начальные остатки в таблицу складов, а вот окончательный подсчет делать на основании только одних лишь перемещений.

    Выбирать уже вам, но я бы выбрал второй вариант, так как если в таблицу перемещений добавить поле проводки документа, то при окончательном подсчете остатков можно исключить непроведенные документы.

    А это даст возможность работникам подготавливать и сохранять перемещения, и изменять их до того, как документ проведен и товар физически перемещен.
    Ответ написан
    3 комментария
  • Wordspress и написание кода вручную, в чем разница?

    @AstraVlad
    Финансист, консультант, программист-любитель
    Потому что любой конструктор ограничен тем набором блоков, которые он предоставляет. Грубо говоря, невозможно собрать из Лего штопор даже если блоки будут стальными: форма не позволит. Так что как только вам нужно сделать что-то не укладывающееся в стандарт конструктора, тут же приходится что-то учить.
    Ответ написан
    4 комментария
  • Как правильно поступить proxmox + nginx?

    ky0
    @ky0 Куратор тега Nginx
    Миллиардер, филантроп, патологический лгун
    На сам Проксмокс не стоит ничего ставить. Рекомендую отдельную виртуалку для разруливания HTTP - и именно на ней держать сертификаты.
    Ответ написан
    1 комментарий
  • Стоит ли учить DS на отдельном факультете?

    @d-sem
    В университетах, особенно новых, большее значение играет конкретная программа, набор предметов, преподаватели и доступ к плюшкам вроде стажировок нежели название факультета.
    Ответ написан
    5 комментариев
  • Стоит ли учить DS на отдельном факультете?

    @mkone112
    Начинающий питонист.
    Ты во всех случаях будешь учить все сам.
    Ответ написан
    Комментировать
  • Какую ОЗУ добавить в сервер с материнкой X8DT3?

    VaInDis
    @VaInDis
    Человек интересующийся IT сферой.
    Для уточнения, стоит зайти на сайт производителя, в вашем случаи www.supermicro.com
    Найти вашу мат.плату:60058158c89c2148896144.png
    И там-же указана какая RAM подходит под данную плату.

    На скриншоте видно, что в данную мат.плату рекомендуемые к установки, модули память: DDR3 1333/1066/800MHz - ECC Registered DIMM/48GB.
    Это значит, что подойдут любые модули DDR3 ECC REG. Объём устанавливаемой памяти до 48ГБ данного типа.
    Чистота память: 1333 или 1066 или 800MHz.
    Чистоту модуля оперативной памяти, уже подбираем согласно установленного процессора в мат.плату.
    Ответ написан
    2 комментария
  • Почему не работает интернет через свич после асус роутера?

    Jump
    @Jump
    Системный администратор со стажем.
    почему свич не раздает нечего?
    Неисправный свич. Или петлю делаете если в свитч еще что-то подключено.
    Ответ написан
    3 комментария