Задать вопрос
  • Для чего используют абстрактные классы?

    Denormalization
    @Denormalization
    1) Нельзя создать инстанс абстрактного класса.
    2) Методы объявленные как "abstract" - обязательны к реализации. Что дает уверенность в том, что любой наследник будет реализовывать эти методы.
    3) Открыв файл с абстрактным классом, я сразу вижу методы которые у него есть, и которые мне необходимо реализовать. В вашем же примере я не знаю какие методы относятся конкретно к ChildClass, а какие к ClassName.

    Все эти интерфейсы, абстрактные классы и т.д и т.п нужно тогда, когда над проектом работает несколько (много) человек, и проект чуть больше чем "свой мегакрутой бложик".
    Ответ написан
    Комментировать
  • Лучший Collation в MySQL (только англ. язык)?

    Sanasol
    @Sanasol
    нельзя просто так взять и загуглить ошибку
    Всегда и везде UTF-8
    Ответ написан
    2 комментария
  • Как начать фрилансить на C#?

    newross
    @newross
    Product owner
    Полно проектов на Xamarin и бэкэнд. Часто попадаются задачи по Asp.Net. В качестве дополнительного заработка работы достаточно. В качестве основного - нет. Гораздо выгодней будет работать удаленно на одну компанию, чем рыскать в поисках заказов.
    Ответ написан
    9 комментариев
  • Как начать фрилансить на C#?

    Rou1997
    @Rou1997
    Полно заказов для Windows Desktop, это основной язык.
    Ответ написан
    5 комментариев
  • Как начать фрилансить на C#?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    C# - язык использующийся в крупных компаниях, активно использующих инфраструктуру MS. Это практически противоположное фрилансу понятие. Выбрав C#, вы сами по сути вышли из сферы 99% фриланс-проектов, но это не значит что вам нужно учить пхп, C# отличный язык. Ищите нормальную работу или стажировку на нем.

    Мобильная разработка под Win Phone, теряет всякий смысл, так как MS не удалось занять сколько нибудь ощутимую нишу на мобильном рынке. Судя по последним новостям, MS вообще будет сворачивать это направление, и думать над чем-то еще.
    Ответ написан
    7 комментариев
  • Как связать enum с radioButton?

    AxisPod
    @AxisPod
    Из коробки нет. Берите ItemsControl и вперед.
    Ответ написан
    2 комментария
  • Что практичнее изучать ES6 или Typescript?

    @SergeyZelensky-Rostov
    Стоит учить и то и то TypeScript надмножество JS так что лучше разбираться сразу в двух
    Ответ написан
    2 комментария
  • Что практичнее изучать ES6 или Typescript?

    AMar4enko
    @AMar4enko
    Начав использовать типы в TypeScript, с нормальным автодополнением в IDE, тяжело возвращаться обратно - это мой опыт.
    Ответ написан
    Комментировать
  • Почему не получается создать TCP-клиент?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Там в колбэке функции есть аргумент отвечающий за описание ошибок. Воспользуйтесь им что бы понять в чем причина.

    Так же убедитесь что сервер поднят на том порту и на том хосте что нужно. Ну и что он поднят. Проще всего через netcat.
    Ответ написан
    2 комментария
  • Как запустить старую игру на Windows 10?

    @generalx
    Системный администратор
    Dx9 и в режиме совместимости.
    Ответ написан
    5 комментариев
  • Зачем в ES6 get и set?

    mannaro
    @mannaro Куратор тега JavaScript
    Умею профессионально гуглить
    Потому что аксессоры в JS предназначены для того, чтобы задать какую-то логику на геттер или сеттер. Таким образом можно, например, реализовать счетчик того, сколько раз какое-то свойство было изменено и т.п.
    Да и с помощью них можно реализовать такую штуку как:

    var Test;
    (function() {
      var super_priv = 1;
      Test = class {
        get priv() {
          return super_priv;
        }
        set priv(val) {
          super_priv = val;
          return priv;
        }
      };
    })();
    Ответ написан
    2 комментария
  • Как отличить полиморфизм в языках программирования?

    @MiiNiPaa
    Вам нужно хорошую книжку. Это одно из базовых понятий и вряд ли вы изучите этот вопрос на Тостере.

    Начнём с того, что основная идея полиморфизма — одинаково работать со множеством типов.

    Типов полиморфизма много, начиная с самого простого — параметрического полиморфизма, aka перегрузка функций. В Питоне, например, можно написать print x, и получить этот икс на экране. Причём получим разный результат в зависимости от конкретного типа x. В С++ можно писать cout << x, можно писать abs(x), и выполнятся будут разные действия в зависимости от x. В С, к примеру, пришлось бы самому выбирать какую функцию вызвать: abd, fabs, labs... так как в С нет перегрузки функций.

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

    maaGames
    @maaGames
    Погроммирую программы
    А вот не нужно смотреть презентации, надо читать книжку, хотя бы для чайников. Нельзя про С++ смотреть видосики, надо читать. Без этого никак. Тогда часть вопросов отпадёт, ещё больше вопросов появится...
    Ответ написан
    Комментировать
  • Какие вы знаете хорошие обучаюбщие материалы/курсы по C#, ASP.Net?

    Atanvar
    @Atanvar
    Frontend developer
    Возможности PHP очень ограничены
    Можно пример? ПХП гавнище редкостное, но возможности в вебе у него ни разу не ограничены.
    Ответ написан
    7 комментариев
  • Как убрать возможность просмотра фильмов на компьютере?

    @oni__ino
    Как бы вы не старались, люди найдут как обойти. Принесут свой portable плеер или браузер с установлеными плагинами: сам так делал, ничего проще чем обмануть админов ;-) Можно пустить интернет только через прокси-сервер, и на стороне прокси делать такие ограничения. Ну файлы больше 20мб нельзя скачивать или там еще что-нибудь придумать. Но это борьба с ветром. И с людьми которые не хотят работать.
    Ответ написан
    Комментировать
  • Как добавить скаченную билиотеку в решение с C#?

    Kr0nic
    @Kr0nic
    Пишу код за еду
    Я обычно делаю папку Library на одном уровне с sln. В файле проекта,после добавления библиотеки, должно быть
    <Reference Include="CustomLibrary">
      <HintPath>..\Library\CustomLibrary.dll</HintPath>
    </Reference>

    Это смело можно заливать в гит
    Ответ написан
    4 комментария
  • Какие требования к С# джуниору?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    Джун джуну рознь. Чем больше знаний - тем лучше.
    Троелсен и правда очень медленно и педантично повествует. Он удобен как настольная книга джуниора, как справочник - по конкретным задачам копать. Но, ИМХО, Шилдт будет приятнее.


    Основные контейнеры - преимущества и недостатки. Сложность алгоритмов поиска и вставки, сортировки. Хэш-таблицы, хэш-код объектов, equality и как это все устроено. Неплохо бы знать про многопоточность и примитивы синхронизации (в общих чертах).
    Хорошо бы знать кое-что про платформу .NET - типы-значения и ссылочные типы (про стек и кучу), про GC с поколениями, SOH/LOH, как можно устроить утечку памяти -> IDisposable.
    Уметь делать запросы к базе через голый ADO.NET.
    По базам данных: владеть основными запросами SQL, писать и вызывать хранимые процедуры. Знать что такое и зачем нужны индексы, нормализация, View, где смотреть query execution plan.
    Суметь рассказать о том, что такое MVC, ориентироваться в основных паттернах.

    Если курс на веб, то понимать работу HTTP, REST, знать основы фронта (приоритет селекторов в CSS, "всплывающие" объявления переменных в javascript, разницу "==" и "===", чем отличается асинхронность от параллельности и чем это грозит).

    Вызовет уважение в глазах интервьюера: понимать и применять IoC/DI, уметь писать тесты, работать с ORM (EntityFramework допустим), async/await и SynchronizationContext.
    Ответ написан
    11 комментариев
  • Помечать данные, которые появились в момент отсутствия юзера на сайте?

    AMar4enko
    @AMar4enko
    Записывайте в профиль пользователя дату последней активности.
    Дата обновления / создания новости > дата последней активности пользователя = отметка "новое"
    Ответ написан
    3 комментария
  • Разработка: что должно быть впереди фронтэнд или бекенд?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    В идеале второй вариант, если это возможно.

    Скажем я на своих проектах пытаюсь делать так насколько это возможно. Перед началом разработки какой-то фичи разработчики просто договариваются между собой как будет организовано взаимодействие с сервером (по сути пишется описание API на каком api blueprint, сейчас будем переходить на raml).

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

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

    p.s. этот подход я форсирую еще и потому, что при таком варианте можно легко наладить кодогенерацию как для клиента так и для бэкэнда. Скажем валидация запросов, маршрутизация, мэппинги и т.д. - все можно сгенерировать. RAML в этом плане дает из всех форматов максимальную гибкость, и поэтому я и планирую на него переходить. В очень простых случаях можно сгенерировать код хоть всего бэкэнда, но и так в целом скорость разработки неслабо увеличивается.
    Ответ написан
    6 комментариев
  • Как правильно переконвертировать изображение в 1-битовое?

    alsopub
    @alsopub
    Для начала currbit>=7 надо заменить на currbit>=8, но проблема кажется не в этом.
    Сходу сложно сказать в чем проблема, так как тут задействована еще и процедура чтения файла и сам исходный файл.
    Есть еще момент - строка должна быть кратна 4 байтам.
    Плюс биты заполняются не слева-направо, а справа-налево, то есть currbit должен пробегать значения не 0..7, а 7..0.
    Ответ написан