• Как сделать, чтобы слова переносились целиком, а не частями?

    NooNoo
    @NooNoo
    Yep
    word-break: break-word;
    Ответ написан
    Комментировать
  • Какой ультрабук до 60к выбрать?

    axifive
    @axifive
    Software Engineer
    Посмотрите Xiaomi Mi Notebook. Одно из лучших соотношений цена/характеристики/качество
    Ответ написан
    Комментировать
  • Как улучшить компьютер?

    MrMureno
    @MrMureno
    VR for all
    было все нормально и тут РЕЗКО упала ??

    в принципе оперативной памяти 6 гигов - маловато в 2019 ))

    может еще с охлаждением что случилось..) термопаста) или предвинули системник к батарее))

    а так в принципе если хочется поднять явно так производительность:
    - на этот сокет искать процессор и менять какой нить i5 или i7 с индексом K для разгона)
    - видеокарту тоже менять бы на что то аля 1070 и лучше)

    но все же не могло РЕЗКО измениться просто так))
    Ответ написан
    9 комментариев
  • Почему при заходе на сайт https://core.telegram.org возникает ошибка: "Ошибка при установлении защищённого соединения"?

    Izy
    @Izy Автор вопроса
    Учу
    Решением было прописать DNS в /etc/resolv.conf. Сохранить и потом сделать так чтобы после перезагрузки компа файл resolv.conf остался не измененным. Спасибо большое Владислав Фурсов . Более подробнее про решение в комментариях к вопросу
    Ответ написан
    Комментировать
  • Как взломать шифр Виженера, если исходный текст - случайный набор символов?

    usdglander
    @usdglander
    Yipee-ki-yay
    Если вы поменяете text и key местами, то криптограмма не изменится. Однако это уже будет не Виженер, а одноразовый блокнот, который обладает абсолютной стойкостью. Абсолютная стойкость подразумевает не бесконечное число возможных ключей, а невозможность проверки корректности расшифрованного результата.

    upd: Однако это всё справедливо только если последовательность text - абсолютно случайна. Но генерировать такие последовательности практически очень трудно. Поэтому прибегают к атаке на сам генератор последовательности. Большинство из них имеют затравочные значения, которые можно попробовать подобрать.
    Ответ написан
    Комментировать
  • WINDOWS 10 как сделать два рабочих стола на два монитора?

    @kalapanga
    Два выхода на видеокарте к которым подключают два монитора и hdmi-сплиттер это совсем не одно и то же. Для компьютера ваша система (hdmi-кабель + hdmi-сплиттер + монитор + телевизор) - это один монитор. И разной картинки на мониторе и телевизоре получить нельзя принципиально.
    Другая картинка могла бы быть на родном экране ноутбука, о судьбе которого не написано - сдох что ли?
    Ответ написан
    1 комментарий
  • Nodejs или Golang?

    sim3x
    @sim3x
    Nodejs или Golang?

    Они оба это не умеют

    Desktop и Android
    Ответ написан
  • Как называется формат маской "225.255.255.0" и "/24"? И как перевести "225.255.255.0" в "/24"?

    bingo347
    @bingo347
    Crazy on performance...
    225.255.255.0 - переводим в двоичную СС -> 11111111.11111111.11111111.00000000 - 24 единицы, поэтому /24 в краткой записи, так как маска всегда имеет вид сначала подряд единицы, в конце - подряд нули
    Ответ написан
    4 комментария
  • Какое время выполнения SQL запросов считается большим?

    DMGarikk
    @DMGarikk
    Lead Software Developer
    Это зависит от задачи и от запроса.
    Помню в одном проекте нормальным считался запрос выполнявшийся 5 часов...
    Ответ написан
    Комментировать
  • MySQL грузит все ядра проца. Глюк?

    point212
    @point212 Автор вопроса
    сисадмин linux, программист php
    Итак, граждане. У меня всё хорошо. Проблема ушла.

    Похоже дело было именно в массивных операциях с памятью, которые мускул/ядро вынужден был проводить раз в несколько десятков секунд. А причиной тому были неправильные настройки буфферов и кэшей в конфиге.
    И скорее всего самой повлиявшей из них был query_cache_size.

    Вторая вещь (а скорее даже первая) которую нужно проверить и убедиться что у вас нет с этим проблем - это leap second bug. Гуглите в инете, смотрите и проверяйте.

    Спасибо всем, кто участвовал в обсуждении.

    Погорячился я, ребята.
    С увеличением нагрузки проблема вернулась :( Увы... так что вопрос всё ещё открытый.
    Что крутить дальше - не знаю.
    Ответ написан
    1 комментарий
  • Как добавить кастомное свойство существующей структуре?

    А почему не хотите просто создать вот такую структуру?
    struct User {
        Name string
        LastName string
        Connection net.Conn
    }
    Ответ написан
    3 комментария
  • Как хранить данные в базе веб сервиса?

    Epsiloncool
    @Epsiloncool
    Программер, веб-девелопер, гейм-девелопер
    Таблица users, в ней все пользователи. Таблица clients, в ней все клиенты всех пользователей.

    Далее два варианта. Первый - если каждый клиент может быть прикручен только к одному пользователю, то в таблице clients будет столбец user_id, хранящий id того юзера, к которому он принадлежит.

    Второй вариант - когда каждый клиент может быть прикручен к нескольким пользователям. Тогда нужно завести ещё одну таблицу users_clients, в которой будет два поля user_id и client_id. Каждая запись в этой таблице прикручивает одного любого клиента к одному любому юзеру (вариант М:М).
    Ответ написан
    1 комментарий
  • Вопрос про ООП, как использовать?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вот, например, надо сделать простейшую фотогалерею.
    На вашем примере, что бы было понятно на пальцах, заранее прошу прощения у присутствующих за примитивизм. В данном случае у вас будет коллекция объектов, которая тоже объект, это как массивы, если примитизировать понятия до упора, одни могут быть вложены в другие. Делаете допустим так:
    $image= new Image(); //создаем пустой объект имаж, чтобы иметь его настройки(таблица, поля...)
    $gallery = new Collection ($image); //создаем новую коллекцию объектов типа имаж, пока пустую.
    $gallery->getCollectionByField(array("galleryid"=>"64")); // инициализируем из базы, используя
    // ид галереи, теперь в гэлери одной строчкой мы загрузили все картинки в свойство (например),
    // $gallery->collection  и можем к ним обращаться как к элементам массива, и в свойстве
    // $gallery->collection[1] будет объект типа $image. Как вариант реализации.

    Куча кода остается в объекте, для вас это "черный ящик", видны только входы и выходы, все что внутри скрыто, но работает как надо, т.к. разбито на методы и отлажено по кусочкам.

    Что касается статики - как говорится в любом нормальном источнике - статики нужно избегать по максимуму, на это есть несколько причин:
    - статика загружает оперативку, т.е. статические объекты создаются всегда, не зависимо от необходимости их использования
    - статика плохо поддается тестированию, не всегда, но часто, т.к. глобальная область видимости приносит проблемы пересечения зон ответственности методов, часто это нарушает SOLID, особенно если тыкать статику везде. Почитайте, посмотрите как должен выглядеть нормальный код в объектах - вам понравится.

    ps:
    ваш код - почему бы не писать так:
    $post=BLOG::getPost($айди_поста);
    // меняем 
    $post = new Post($айди_поста);
    
    echo $post['content'];
    // меняем 
    echo $post->content; // не обязательно так, может вот так:
    echo $post->getContent(); // тогда при выводе можно будет сделать какую-то предварительную обработку, 
    //заменить тэги, еще что-то...
    
    $comments=BLOG::getComments($айди_поста);
    // меняем
    $comments = new Comments($post);
    echo $comments->getTree(); // хотя тут скорее всего от вьюшки зависит, я бы тут возвращал не 
    // строку, а массив для итератора, это правильнее для разделения на мвц, мухи отдельно - 
    // котлеты отдельно, в смысле код и хтмл.
    Ответ написан
    Комментировать
  • Как мыслить объектами?

    vitali1995
    @vitali1995
    Господа, не нужно ничего усложнять - всё до безобразия просто))

    Когда вы говорите КомментариЙ - это и есть ваш объект.
    Когда вы говорите КомментариИ - это уже массив объектов: контейнер, коллекция - не знаю на чём конкретно программируете, буду называть списком (массивом называть неправильно).

    Итак, у нас есть Список Комментариев - это объект, который содержит внутри себя (в одном из своих свойств) много объектов типа Комментарий и предоставляет доступ к ним как массив - по индексам. Но в отличие от обычного массива, который является хранилищем конечного числа объектов (если только вы не используете скриптовый язык, в этом случае массив и список - синонимы), список - это такой же объект, который может обладать методами типа: добавить, удалить, выбрать по определённому критерию, и так далее. Также у него могут быть свои свойства, например: фильтр по умолчанию, максимальное количество элементов списка и тому подобное.

    Рассматривайте модели объектов (классы) как описание системы (фрагмента из реального мира). С такой системой могут общаться другие системы: что-то сообщать, о чём-то просить сделать или сообщить.
    Ответ написан
    Комментировать
  • Как закрывать бекенд API от "левого" доступа?

    AMar4enko
    @AMar4enko
    Правильно вам ответил DevMan - ограничение количества запросов, синтетическое увеличение времени ответа сервера при подозрительной активности. В основном все упирается в поведенческий анализ - если кто-то (IP-адрес или можно поискать библиотеки для более сложной эвристики определения уникальных пользователей) целенаправленно стучится по одному и тому же API endpoint, перебирая параметр пагинации, то вас, скорей всего, парсят - ставим этот IP-адрес в список подозрительных и добавляем ему синтетическую задержку ответа в 3 секунды и лимит одновременных соединений. А если он настойчивый, то и вовсе баним
    Ответ написан
    Комментировать
  • Как запретить показывать случайный домен?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    Настройте на сервере "default_server" и там повесьте заглушку.
    Ответ написан
    Комментировать
  • Отличия абстрактного класса от интерфейса?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    В чем отличие абстрактного класса от интерфейса в Java?


    Все упирается в понятие "тип". В былые времена, то есть во времена языка Simula, из которого черпали вдохновение создатели C++, были только классы. И на классах базировалась система типов. Причем механизм наследования был реализован так, как реализован, исключительно для экономии памяти, которая в те времена была очень дорогой.

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

    В Java, которая во многом черпала вдохновения из C++ и smalltalk, решили ввести еще одну сущность - интерфейсы. Это был своего рода упрощенный способ задать абстрактный базовый тип. По итогу чтобы не решать проблему бриллианта (или ромба) от множественного наследования было решено отказаться и дать возможность классам имплементить несколько интерфейсов.

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

    В целом абстрактные классы нужны тогда, когда вам нужно наследование. Обычно это в ситуациях, когда у вас есть несколько классов, которые должны иметь общий абстрактный тип (то есть нельзя выделить наиболее слабого по ограничениям предка). Например если мы делаем цепочку классов String <- Email, то тут нет смысла в абстрактных классах так как тип String уже включает в себе подмножество типов Email.

    В целом в java8 уже ввели возможность интерфейсам иметь базовую реализацию, так что не удивлюсь если со временем от ключевого слова extends в принципе откажутся, избавившись от лишней сущности.

    Так же рекомендую к прочтению: www.javaworld.com/article/2073649/core-java/why-ex...
    Ответ написан
    9 комментариев
  • Как реализовать мгновенные сообщения?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Используйте веб-сокеты для PHP socketo.me
    Ответ написан
    1 комментарий