Ответы пользователя по тегу C#
  • Есть ли смысл реализовывать интерфейс абстрактным классом?

    Fockker
    @Fockker
    Потомок старинного рода Ипатьевых-Колотитьевых
    Я это понимаю так:
    Интерфейс - это публичный контракт. Информация для посторонних, для тех кто будет с классом взаимодействовать.
    Абстрактный класс - это внутренняя кухня, прототип для реализации.
    То есть одно другому никак не противоречит. Даже если абстрактный класс и интерфейс будут сильно похожи.
    Ответ написан
    Комментировать
  • Есть ли разница между памятью в PHP и C#?

    Fockker
    @Fockker Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    РНР работает как консольная утилита. Запустился, поработал долю секунды, завершился.
    Поэтому вопросы управления памятью в 99% случаев РНР разработчиков не волнуют. Как и её очистка
    Чисто технически подробности управления памятью также полностью скрыты от разработчика.
    Всё что надо знать о работе РНР с памятью - "РНР работает с памятью за тебя"
    Так что в целом, единственное что вас должно интересовать - это не работать с большими объёмами данных в скрипте. Но это и так очевидная рекомендация.

    Если хочется прям вдаваться в детали (хотя совершенно непонятно, зачем это джуну), то PHP insernals Memory management
    Ответ написан
  • Как обработать запрос с формы на сервере?

    Fockker
    @Fockker Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Для этого очень давно придумали https://en.wikipedia.org/wiki/Common_Gateway_Interface
    Фактически это тот же самый cli но на стероидах: перед тем как вызвать бинарник и передать ему на stdin строку с закодированным постом, надо установить несколько обязательных переменных окружения

    В составе РНР до сих пор поставляется бинарник php-cgi, который сам всё раскодирует, а так же, в качестве бонуса, сформирует все нужные заголовки ответа.

    Пара ссылок:
    https://stackoverflow.com/questions/4030147/how-to...
    https://www.oreilly.com/openbook/cgi/ch04_02.html
    Ответ написан
    Комментировать
  • Почему интерпретатор php не воспринимает кириллицу?

    Fockker
    @Fockker Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Перед тем, как писать веб-серверы на C#, надо учиться описывать проблемы не языком домохозяек.

    Не существует такой кодировки - "кириллица". Есть конкретная кодировка, которую необходимо указать в вопросе.
    Нет такой команды в C# -"послать интерпретатору". Есть конкретная команда или действие, которое надо описать в вопросе.
    Нет такой команды - "сказать, что находится по пути". Есть конкретный код, который надо привести в вопросе.
    РНР - не посетитель в ресторане, чтобы "отказываться". Это программа. Которая либо работает, либо выдаёт сообщение об ошибке. Которое программист должен прочитать. Или по крайней мере, если не понял в нем ни одного слова, то аккуратно скопировать в свой вопрос.

    В целом РНР прекрасно работает с любыми кодировками, которые используются для отображения русских букв, даже с теми адовыми костылями, которые используются в Микрософт Виндоус с середины конца прошлого века по сей день.

    Для того чтобы убедиться в том, что РНР прекрасно работает с русскими буквами, надо создать скрипт test.php
    <?php
    header('Content-Type: text/html; charset=utf-8');
    echo hex2bin('d0bfd180d0b8d0b2d0b5d182'); 
    // текст UTF закодировн в hex чтобы избежать влияния кривых ручек тестировщика/выкрутасов Виндоус


    перейти в папку с ним
    запустить встроенный веб-сервер
    php -S localhost:8081
    и открыть в браузере адрес localhost:8081/test.php

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

    Судя по классической картинке, https://habr.com/en/post/147843/ где-то происходит перекодирование utf-8 -> 866(!)
    Ответ написан
    1 комментарий
  • Нормально ли что джуна бэкэндера просят проектировать бд?

    Fockker
    @Fockker
    Потомок старинного рода Ипатьевых-Колотитьевых
    Если ты только в самом начале пути, и единственный вопрос, который тебя при этом заботит - это "а не слишком ли много от меня хотят?", то далеко по этому пути не уйдешь. В этой профессии любой опыт ценен. И возможность получить дополнительные знания - это плюс вакансии, а не минус.
    Суть профессии программиста в том, что ты учишься все время. То есть, любые полученные знания - это не вершина, а всего лишь еще одна ступенька. И просто глупо ставить какие-то рамки - "это будем учить, а это уже они много хочут".

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

    Fockker
    @Fockker
    Потомок старинного рода Ипатьевых-Колотитьевых
    string phrase = @"Class: Warrior
    Weapon: Axe
    Strength: 55";
    string[] words = phrase.Split(Environment.NewLine.ToCharArray());
    Console.WriteLine(words[1]);


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

    При том что не зная ни слова на сишарп, я тупо с помощью гугля за 3 минуты получил требуемый код.
    Отсюда вопрос: у вас тут все такие? "Специалисты по крупному ПО", которые не то что простой код на три строчки написать не могут, на даже ответ на вопрос от комментария отличить не в состоянии?
    Ответ написан
    Комментировать