• Как из строки из mysql получить определённые данные?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Вы и привели массив строк. Если он сам у вас является строкой, то это json и с ним нужно работать стандартными механизмами БД или PHP.
    Ответ написан
    Комментировать
  • Что такое self в Python?

    @olegshv
    SysAdmin
    Объяснение self в python:

    dog‎: у котов внутри есть мурчалка
    dog‎: она реализована для всех котов в классе кот
    ‎dog‎: в объекте кот надо как то вызвать метод мурчало у класса кот
    ‎dog‎: как ты это сделаешь?
    dog‎: кот.мурчало()
    ‎dog‎: ежели ты вызовешь кот.мурчало(), муркнут сразу все коты на свете
    ‎dog‎: а ежели ты вызовешь self.мурчало(), муркнет только тот кот, на которого указывает self
    Ответ написан
    5 комментариев
  • Какую базу данных учить?

    hottabxp
    @hottabxp Куратор тега Python
    Сначала мы жили бедно, а потом нас обокрали..
    какую базу данных учить в данный момент лучше под Python

    Это то же самое, что и вопрос:
    Какие буквы в букваре учить, чтобы читать сказки?

    Учите язык SQL. Далее смотрите что такое PostgreSQL, MySQL, SQLite. В чем-то одном разберетесь, далее будете понимать. А так, нельзя дать внятный ответ на данный вопрос.
    Ответ написан
    Комментировать
  • Как лучше организовать работу с json?

    TTATPuOT
    @TTATPuOT
    https://code.patriotovsky.ru/
    В PHP вы можете конвертировать JSON в массив или объект только по средствам json_decode. А конвертировать из PHP в JSON только через json_encode.
    В чём конкретно ваши опасения?
    Ответ написан
    Комментировать
  • Как называется расширение файла для запуска html на компьютере без браузера?

    @Dolosweb Автор вопроса
    Решено: Это был формат .hta можно писать безбраузерные приложения + поддержка javascript

    HTML Application — приложение Microsoft Windows, являющееся документом HTML, отображаемым в отдельном окне без элементов интерфейса обозревателя таких как строка меню, строка адреса, панель инструментов с помощью движка Microsoft Internet Explorer.
    Ответ написан
    8 комментариев
  • Зачем в методе пишут имя класса?

    @Hanneman
    Потому что в методе это тип возвращаемого значения. Это основы языка.
    Ответ написан
    1 комментарий
  • Что учить администратору баз данных?

    Melkij
    @Melkij
    PostgreSQL DBA
    Как человек в этом году неожиданно сменивший деятельность с senior php dev на DBA - хочу задать встречный вопрос:
    а вы вообще видите вакансии на начинающего-студента-DBA? Целую одну или хотя бы даже две? Для увидевшего SQL вот только что студента и уже желающего быть DBA всего через пару месяцев? Человека, который даже не написал, какую именно СУБД ему интересно изучать до уровня DBA?

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

    Я не знаю как стать DBA с нуля. Похоже DBA становятся только имея за плечами заметный опыт администрирования или разработки.

    Определитесь с конкретной СУБД и прочитайте полностью её мануал. Например мануал postgresql 10 в pdf занимает свыше 3 тысяч страниц A4. На пару месяцев этого уже хватит. А это только мануал. Только по непосредственно СУБД.
    Плюс необходимо знать базовое администрирование той ОС под которой эта СУБД используется (например, я как postgresql dba даже близко не представляю что делать с windows - такая экзотика в жизни не встречается. А вот для MS SQL наверняка необязательно разбираться в linux).
    Плюс теория: реляционная логика, обеспечение транзакционного, конкурентного доступа, восстановление после сбоев
    Плюс практика - активность в профильных сообществах, форумах. Читаете, проверяете, запоминаете, вежливо переспрашиваете в комментариях если вам кажется что предыдущий отвечающий ошибся, отвечаете на вопросы.

    Интересно? Вперёд. Но в DBA за 3 месяца из нулевого студента - не верю.
    Ответ написан
    2 комментария
  • Что должен знать и уметь начинающий сетевой администратор?

    @throughtheether
    human after all
    0) Представим, необходимо передать данные между компьютерами 1 и 2. Никаких Ethernet и IP еще не придумали, допустим. Есть провода, оптоволокно, соответствующие трансиверы. Что делать? (семиуровневая модель и почему это не священная корова, мультиплексирование, инкапсуляция)

    1) Коммутация. Как происходит обработка (перенаправление) трафика коммутатором? Допустим, пришел фрейм с таким-то адресом источника и таким-то адресом назначения - что происходит? Что и почему произойдет, если два 'деревянных' (без STP и прочих излишеств) коммутатора соединить двумя линками? Как с этим бороться (STP, в чем минусы)?

    2) Статическая маршрутизация IPv4. Зачем вообще нужен IP, когда есть Ethernet или Serial интерфейсы (хотя, по-моему, IP появился раньше, чем Ethernet, но вопрос имеет определенный смысл, пересекается с пунктом 0)? Допустим, на маршрутизатор приходит пакет (точнее, Ethernet-фрейм, а в нем IP-пакет). Что дальше происходит? Чем концептуально отличается перенаправление пакетов на 3 и 2 уровнях ЭМВОС? Почему l2-петля (в случае Ethernet) это скрежет зубовнай, а L3-петля не так страшна? Чем концептульно отличаются IPv4-адреса от MAC-адресов?

    3) Как заставить работать вместе Ethernet и IP (это про ARP)?

    4) Нарисуйте топологию вида "маршрутизатор на палочке", где маршрутизатор маршрутизирует трафик между двумя вланами. К нему транком подключен коммутатор, к коммутатору - два хоста в разных вланах. Один хост шлет icmp echo запрос другому ('пингует'). Что происходит на каждом устройстве? Какие адреса (IP, MAC) используются в заголовках пакетов и фреймов на разных этапах? Каково содержимое таблиц маршрутизации, коммутации, ARP-таблиц?

    5) Уже после четкого освоения вышеописанного: безопасность (ACL, фаерволлы), туннели (зачем нужны, в чем минусы), NAT (зачем нужен, в чем минусы). Динамическая маршрутизация. Как устроен Интернет (и чем Интернет отличается от Worldwide web)

    Из книг, Jeff Doyle, 'Routing TCP/IP', volume I, первые несколько глав. И есть неплохая книжка, на тему 'чего не сказали в курсе CCNA'.

    Привел самые базовые вопросы. Разобравшись с ними, думаю, дальнейший вектор развития сами будете способны задать.
    Ответ написан
    3 комментария
  • Почему в JS взятие остатка от деления -11 на 10 возвращает -1?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Потому что проще всего реализуется в широком диапазоне подходов аппаратного деления и лучше всего способствует многоэтапному делению в длинной арифметике.

    Можете почитать википедию (секцию про программирование), чтобы узнать, как это работает в разных языках программирования. Конкретно в JavaScript знак остатка всегда совпадает со знаком делимого. То есть если делимое - отрицательное число, то и остаток будет отрицательным.
    Ответ написан
    Комментировать
  • Зачем изучать java.util.concurrent, если пишешь под Android?

    @onepavel
    Консультация и разработка мобильных приложений
    1 BlockingQueue музыкальный плеер, есть очередь откуда проигрываются треки, плеер снизу забирает трек, сверху пользователь накидывает в очередь новые треки. работа с очередью идет из разных потоков.
    2 качалка файлов, очередь файлов для закачки, настройками могу регулировать кол-во одновременно качающих потоков
    3 CountDownLatch отличный инструмент для отсчета оставшегося времени
    4 CyclicBarrier чумовой механизм ожидания завершения работы нескольких потоков, парсинг сайта,
    закачка файлов, обработка текстов, подсчет данных или игр
    5 Executors и ExecutorService быстрая организация пула потоков использую для работы с sqlite,
    а также ScheduledExecutorService для организации таймера для проверки изменения чего либо у пользователя на девайсе
    6 полезная штука Exchanger, моментальная реализация задачи producer - consumer
    7 ConcurrentHashMap вообще классика для организации хешей, это сейчас есть LRU, а раньше не было. А было WeakReference и эксперементы с очередями и хешами WeakHashMap
    8 Atomic, легко позволяют создавать потоко-безопасные переменные, использовал AtomicBoolean, как межпотоковый стейт
    Я знаю, что есть конторы, как крупные так и мелкие не используют Retrofitы robospicы DI фреймвори и так далее.
    Учитывая проблемы с 65к dex, из-за тучи либ сторонних и особенно play services, собрать уже сложно.
    И для мелкой задачи стоит ли с собой тащить либу, вопрос холиваный
    И стоит знать java.util.concurrent потому что, это используется в либах. Тот же volley, там три чистых потока Thread для выполнения http, а в ui пробрасывается через хендлер и Executor
    Ответ написан
    5 комментариев
  • Нужно ли изучать delphi 10.3 с нуля если шарю в delphi 7?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Или документации embarcadero хватит, если владею языком delphi 7?
    +подучить новые фишки и кросс-платформ-разработку.
    Ответ написан
    Комментировать
  • Нужно ли изучать delphi 10.3 с нуля если шарю в delphi 7?

    @zedxxx
    С нуля учить не надо. Надо ознакомиться с новыми возможностями и использовать их по мере необходимости.

    Самая главная особенность при переходе с D7 - Юникод. И вот этот документ надо просто выучить в обязательном порядке: https://www.embarcadero.com/images/dm/technical-pa...

    Вот тут хорошо расписан список новых фич в языке по мере их появления: https://stackoverflow.com/questions/8460037
    Ответ написан
    1 комментарий
  • Нужно ли изучать delphi 10.3 с нуля если шарю в delphi 7?

    HemulGM
    @HemulGM Куратор тега Delphi
    Delphi Developer, сис. админ
    Я переносил крупные проекты прямиком из Delphi 7 в Seattle и проблемы были только с WideChar и AnsiChar.
    В остальном появилось огромное кол-во фишек и нововведений. Одни ускоряют процесс разработки, другие увеличивают кол-во возможностей языка и ООП и многое-многое другое. Новые версии среды - это тот же Delphi, что и Delphi 7, тебе не стоит переживать по этому поводу.
    Ответ написан
    Комментировать
  • Как из браузера сохранить текстовый файл?

    lastuniverse
    @lastuniverse
    Всегда вокруг да около IT тем
    Уважаемые Роман Мирр, Руслан Лопатин, не обманывайте людей:)))

    вот живая демонстрация:


    PS: реально несколько костыльный прием))) и открывает много неприятных возможностей для различных злыдней.
    Идея и реализация честно скоммунизжена из исходного кода frontend фреймворка webix
    Ответ написан
    3 комментария
  • Почему не работает?

    Vlad_IT
    @Vlad_IT Куратор тега JavaScript
    Front-end разработчик
    document.getElementsByClassName возвращает список элементов, а не один элемент.
    let heroBlocks = document.getElementsByClassName('hero');
    if (heroBlocks.length > 0) {
       let hero = heroBlocks[0];
       console.log(hero.offsetHeight);
    }

    ну, или можно в лоб
    let hero = document.getElementsByClassName('hero')[0];
    console.log(hero.offsetHeight);

    или используя querySelector
    let hero = document.querySelector('.hero');
    console.log(hero.offsetHeight);

    UPD: дам совет, научитесь использовать инструменты отладки, например вкладка Sources инструментов разработчика хрома. Там можно проставить breakpoint точку остановки скрипта, и навести мышкой на нужную переменную, и узнать, что же она на самом деле содержит.
    Ну, или дедовским способом
    let hero = document.getElementsByClassName('hero');
    console.warn(hero);  // выведет HTMLCollection [], вы сразу поймете, что это не элемент, а коллекция/список.
    Ответ написан
    1 комментарий
  • Как использовать RAW сокеты в Java?

    @asd111
    Ищите java обертку для libpcap - библиотека для работы с raw пакетами по сети.
    вроде вот эта должна подойти
    jnetpcap.com

    пример отправки своего пакета
    package org.jnetpcap.examples;
    
    import java.nio.ByteBuffer;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    
    import org.jnetpcap.Pcap;
    import org.jnetpcap.PcapIf;
    
    public class PcapSendPacketExample {
      public static void main(String[] args) {
        List<PcapIf> alldevs = new ArrayList<PcapIf>(); // Will be filled with NICs
        StringBuilder errbuf = new StringBuilder(); // For any error msgs
    
        /***************************************************************************
         * First get a list of devices on this system
         **************************************************************************/
        int r = Pcap.findAllDevs(alldevs, errbuf);
        if (r == Pcap.NOT_OK || alldevs.isEmpty()) {
          System.err.printf("Can't read list of devices, error is %s", errbuf.toString());
          return;
        }
        PcapIf device = alldevs.get(0); // We know we have atleast 1 device
    
        /*****************************************
         * Second we open a network interface
         *****************************************/
        int snaplen = 64 * 1024; // Capture all packets, no trucation
        int flags = Pcap.MODE_PROMISCUOUS; // capture all packets
        int timeout = 10 * 1000; // 10 seconds in millis
        Pcap pcap = Pcap.openLive(device.getName(), snaplen, flags, timeout, errbuf);
    
    
        /*******************************************************
         * Third we create our crude packet we will transmit out
         * This creates a broadcast packet
         *******************************************************/
        byte[] a = new byte[14];
        Arrays.fill(a, (byte) 0xff);
        ByteBuffer b = ByteBuffer.wrap(a);
    
        /*******************************************************
         * Fourth We send our packet off using open device
         *******************************************************/
        if (pcap.sendPacket(b) != Pcap.OK) {
          System.err.println(pcap.getErr());
        }
    
        /********************************************************
         * Lastly we close
         ********************************************************/
        pcap.close();
      }
    }


    На указанном сайте есть ещё примеры в разделе documentation examples думаю разберетесь
    Ответ написан
    Комментировать
  • Паттерн MVP - в чём его суть?

    @red-barbarian
    Cуть в том, что код в активити сложно тестируем. Кроме того, проблема разрастания активити, включение в него разного рода кода который работает с вьюхами, логикой, базой данных, сервисами и проч и проч.
    Поэтому программистами искались выходы и находились. )
    MVP был придуман задолго до андроида. Суть его (как и других аналогичных шаблонов) в разделении модели и ui. Особенность в том, что мы делаем полностью пассивную вьюху, логику вьюхи переносим в presenter.
    схематично это так: есть интерфейс view. активити реализует этот интерфейс. презентер знает об этом интерфейсе.
    Получается презентер не зависит напрямую от активити, только от некого интерфейса. Поэтому его сравнительно легко тестировать (подставляя свою заглушку view)
    Так решается две основных проблемы:
    - код стал более тестируемым
    - код разделен на пассивную активити и ее логику в презентере.
    По вопросам:
    1. активити читает пароль и логи и передает их в презентер (вызывая соотвествующие методы презентера). а он далее из обрабатывает.
    2. отрисовку данных делает активити с интерфейсом (названным например ActivityView). презентер имеет ссылку на этот интерфейс (активити передает свою ссылку ему), а далее вызывает например activityView.setText(text)
    3. есть два подхода
    а) время жизни презентера равен (не больше) времени жизни активити
    б) время жизни презентера больше времени жизни активити
    соотвественно а) данные сохраняются в budle и передаются в презентер
    б) данные хранятся в презентере
    4 - выше
    5. активити - пассивный объект. управление через презентер. любая хоть немного сложная логика в презентер.
    Применение интерфейсов обязательно. иначе потеряем тестируемость и не избавимся от жесткой зависимости презентер-активити.

    это все описано очень неточно. например вместо "активити" можно подставить "фрагмент". но суть надеюсь понятна.
    Ответ написан
    Комментировать
  • Паттерн MVP - в чём его суть?

    Stalker_RED
    @Stalker_RED
    6. Интерфейс не обязательно, но желательно.
    Фишка в чем: если у вас нет интерфейса, то вы в ашем Activity можете писать любые методы как угодно, а если вы сперва описываете интерфейс а затем делаете его реализацию, то приходится соответствовать требованиям интерфейса. И когда у одного интерфеса появляется несколько реализаций их методы будут одинаковыми, а не какими попало, что значительно облегчает дальнейшую разработку и развите проекта.

    А про андроид практически ничего не знаю.
    Ответ написан
    Комментировать
  • Как скрыть номер карты или счета в форме?

    @dmitryKovalskiy
    программист средней руки
    По соображениям безопасности ваши реквизиты не нужны клиенту от слова "никак".
    1) Вы подключаетесь к некому платежному сервису, сообщая ему реквизиты, на которые будут поступать деньги.
    2) Вы направляете клиента в этот платежный сервис с нужными входными параметрами.
    3) Клиент передает свои деньги платежному сервису.
    4) Платежный сервис передает деньги вам, забрав свою долю.

    На какой их этих шагов вы хотите засунуть свой номер карты или счета?
    Ответ написан
    2 комментария