Задать вопрос
  • Есть ли бесплатное облачное решение для хранения файлов, но чтоб сервер был свой?

    Zoominger
    @Zoominger Куратор тега Windows
    System Integrator
    NextCloud, Pydio.
    Не знаю, подойдёт ли вам это. В NC можно доки сразу в веб-интерфейсе редактировать.
    Ответ написан
    Комментировать
  • Почему при подключении трейта в два класса, один из этих классов программа перестает видеть?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Столкнулся с необходимостью применения трейтов PHP, и тут проблема.

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

    Конструктор в трейте - это, не нахожу подходящего цензурного слова, пусть будет табу.

    Что касается непосредственно вашей ошибки - смотрите в сторону автолодинга.

    https://github.com/index0h/php-conventions почитайте на досуге
    Ответ написан
    23 комментария
  • Как конвертировать pdf в HTML средствами python?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    И так, скажут прямо. Конвертировать pdf в html не получится ни на каком языке программирования! Максимум, что можно извлечь из pdf , это текст, который будет лишен какой бы то ни было разметки. Ибо сам формат pdf создан для препринта и в нем отсутствует информация о заголовках, параграфах, стилях. Более того, в pdf есть текст и атрибуты, где и как этот текст разместить, и больше ничего для текста.
    Ответ написан
    6 комментариев
  • Лучшие книги для изучении информатики с нуля?

    Psixodelik
    @Psixodelik
    Преподаватель на Hexlet
    но понял что там 80% воды, 15% бредни "академиков" написавших эти книги, и только 5% реально годной информации


    Каким образом вы это определили?

    не писать быдлокод как 90% программистов


    Смелое заявление.

    Начните с «Код. Тайный язык информатики» Чарльза Петцольда — это прекрасная книга для постижения основ информатики. Далее берите учебники по ОС, Сетям, Алгоритмам. По-последнему очень рекомендую «Грокаем Алгоритмы».
    Ответ написан
    1 комментарий
  • Где черпать информацию?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Из учебников черпать. Если прочитать Лутца, то в коде на скрине будет понятно 98% Оставшиеся два процента можно будет почерпнуть из документации PyQt.
    Ответ написан
    Комментировать
  • Где черпать информацию?

    @AVKor
    Единственный видеоурок, который надо было бы посмотреть, если бы его кто-то создал: "Как перестать смотреть видеоуроки и начать читать книги и документацию".
    Ответ написан
    Комментировать
  • Зачем в условии if такое?

    greyhard
    @greyhard
    Программист, автолюбитель
    .match возвращает массив
    [] пустой массив
    если в строке не будет символа 3 то массива не будет
    || означает или
    это нужно что бы потом сработало .length !== 0
    так как если .match не вернет соответствие то мы подставим [] и уже от него посчитаем .length
    иначе будет ошибка для строки без символа 3

    все это можно заменить на if (name.includes(3)) {
    Ответ написан
    1 комментарий
  • В Windows на жёстком диске установлены программы более чем на 100г и игры более чем на 150г, куда это добро установится в linux?

    shambler81
    @shambler81 Куратор тега Linux
    В линуксе другая иерархия ОС
    если в винде философия хранить все файлы программы в папке этой проограммы
    То в линуксе программа рассыпается по всей системе
    запускаемые файлы к запускаемым
    логи к логам
    библиотеки к библиотекам и тд
    и не забывайте что линукс это конструктор по этому вариантов сверху еще миллион.
    В общем нет одной папки как правило.
    Ответ написан
    2 комментария
  • Какие библиотеки и фреймворки стоит изучить в c++?

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

    Действительно продаваемые навыки - это умение разбираться с незнакомой вам библиотекой, способность не падать в обморок при виде килотонны ошибок линковки, понимание разницы между статической и динамической линковкой и так далее.

    То есть, нужно сформировать у себя способность решать задачи на C++ и искать информацию в интернете.

    Попросят вас нарисовать текстурированный вертящийся кубик - вы буквально эту формулировку можете набить в гугл, оттуда получить сведения о том, что кубики можно рисовать вручную, написав весь 3d код самостоятельно (это интересно и увлекательно, кстати), или есть три кита opengl, d3d и vulkan, которые рисуют

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

    Короче, на рынке полезно не знание наизусть телефонного справочника, а умение искать в нем телефоны.
    Ответ написан
    1 комментарий
  • Зачем требуются различные СУБД, если можно использовать структуры данных языка, например словари и списки в питоне?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Если на структурах языка реализовать весь набор функций, предоставляемых СУБД, то получится новая СУБД. Зачем тратить время и силы на написание СУБД, если есть уже готовые?
    Ответ написан
    Комментировать
  • В чем разница между M.2 и PCI Express 2.0 x4?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Не знаю, какую вики читает ваше впечатление, но M.2 - это универсальный интерфейс, который, в зависимости от ключа, может предоставлять и PCI-E, и SATA, и USB и другие интерфейсы.
    https://ru.wikipedia.org/wiki/M.2#%D0%A4%D0%BE%D1%...
    Ответ написан
    2 комментария
  • Почему Service Locator это зло и что использовать вместо?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Все эти страшные слова - они на самом деле всегда про одно и то же - про связность. Когда ты хардкодишь внутри класса вызов какого-то конкретного сервиса - ты намертво к нему привязываешься. И чтобы поменять сервис на другой, ты будешь вынужден поменять код класса. Окей, поменял. И тут же в другом месте, где этот же класс использовался, что-то сломалось! И что теперь? Делать два класса, которые различаются одной строчкой? Нет конечно. А как тогда использовать один и тот же класс для обработки разных входящих данных (или одних и тех же данных, но разными способами)? Сделать его поведение изменяемым. То есть сделать изменяемыми те инструменты, которыми он пользуется - т.е. его зависимости.

    Поэтому все зависимости обычно передаются через конструктор (и поэтому и называются инъекция зависимостей.)

    Таким образом мы можем менять поведение класса, не меняя его код

    Но тут надо понимать, что всё это работает только при правильном применении ООП. А точнее просто при применении ООП. Потому что 98% "ООП" кода, который пишется на РНР - это голимая процедурщина, даже если она обёрнута в классы и методы. Если у тебя метод класса представляет из себя стену кода, которую ты тупо перенёс из файла, инклюдившегося в любимое похапешное спагетти - то это не ООП. Это та же процедурщина, вид сбоку. И смысл использования dependency injection ты с ним не почуствуешь. Будешь конечно применять, но в качестве карго культа - потому что тебе это на тостере написали.
    А вот когда твой код начнет становиться действительно объектным - тогда стразу станет понятнее.


    Похожим на сервис локатор является сервис- или DI-контейнер. Используемый вручную, он является тем же самым сервис локатором. Поэтому вручную его никогда не надо вызывать - что и запрещается в симфоневских конроллерах - а только для автоматического создания классов. В МВЦ у тебя ведь очень многие объекты создаются автоматом - сущности, контроллеры. И вот для того, чтобы при автоматическом создании экземпляра класса у тебя были на руках все требуемые сервисы - и нужен контейнер.

    Соотвтственно, ответ на вопрос "что использовать?" очень простой:
    - при ручном создании экземпляра объекта, все зависимости передавать в него через конструктор, а не получать "из воздуха" в коде.
    - при автоматическом создании экземпляра объекта, использовать dependency injection container

    В этим смысле очень полезно освоить Симфони - строгий фрейворк, в котором нет сервис локатора и в котором запрещено пользоваться контейнером напрямую.
    Ответ написан
    4 комментария
  • Какую книгу об оконных приложениях на C++ почитать?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    40083994-maks-shlee-qt-5-10-professionalnoe-programmirovanie-na-c-40083994.jpg
    Ответ написан
    Комментировать
  • Как лучше проверять приходящие данные PHP?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Это все полная бессмыслица.
    "типо от атак" никакие "проверки" вообще не нужны
    функция testInput - это вообще какаой-то ужас, который кочует из отного видео в другое

    Надо понимать две вещи

    1. "от атак" ничего никогда не проверяют. Нормально написанному коду никакие атаки не страшны. Поэтому надо просто писать нормальный код.
    2. проверять данные в принципе можно. Но не "от атак", а просто для удобства. Нормальное рест апи всегда скажет клиенту, если у него данные не в том формате. Только в случае, если проверка не прошла, надо не молча корёжить данные, а вежливо ответить что они не подходят. А сейчас у тебя код только тупо портит входящие данные.
    Ответ написан
    4 комментария
  • Как установить kali linux второй системой на андроид телефон?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Никак. Если кто-то спрашивает "как поставить kali" - она ему не только не нужна, она ему категорически противопоказана.

    Доспехи не делают пейзанина рыцарем.
    Kali не делает нуба "хакиром"
    Ответ написан
    Комментировать
  • С чего начать обучение PHP?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Битрикс - это не РНР. Это битрикс.
    Чтобы заниматься битриксом, надо учить битрикс. И задания выполнять на битриксе.

    Да, и в любом случае, перед тем как учить любой язык программирования, сначала надо научиться гуглить.
    Чтобы научиться находить тот миллион ответов на твой вопрос, который уже написан в интернете.
    Ответ написан
    7 комментариев
  • Чем плох Microsoft SharePoint Designer?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Любой WYSIWYG генерирует мусорную разметку.
    Ответ написан
    1 комментарий
  • Как вы изучаете языки программирования и технологические стеки БЫСТРО?

    Zoominger
    @Zoominger Куратор тега IT-образование
    System Integrator
    начинать с курсов ... а доки приберечь на потом

    Это вы-то не новичок? Только новички пренебрегают официальной документацией от разработчиков, предпочитая курсики или убогонькую литературу, которая пересказывает ту же документацию, привязав её к таким же убогим частным случаям. Изучая частное, вы будете обезьянкой (я сейчас не про веб, честное слово, просто другого слова нет), которая надрессировалась делать что-то определённое, а на другой задаче растеряется.

    А остальные пункты норм, их отбрасывать как раз нельзя.
    Ответ написан
    8 комментариев
  • Как вы изучаете языки программирования и технологические стеки БЫСТРО?

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

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

    это конечно работает если уже есть хороший девелоперский бэкграунд. Если слабый или нет - слово "быстро" надо забыть и сначала создать себе фундамент - долго и основательно.
    Ответ написан
    2 комментария
  • Как сократить условия php?

    @dzhebrak
    if(in_array($_GET['year'], ['2016', '2017', '2018', '2019', '2020', '2021', '2022', '2023', '2024', '2025'])) {
    	$jndns['year'] = $_GET['year'];
    }

    https://www.php.net/manual/ru/function.in-array.php
    Ответ написан
    4 комментария