• oDesk — как подняться до 15-20 долларов в час

    @joneleth
    Перестаньте ныть, засучите рукава и возьмитесь за работу. За первый свой месяц фриланса я заработал 5 долларов. За 2й — двести. За 3й — тысячу.
    Ответ написан
    1 комментарий
  • Пример использования связного списка?

    Artem_zin
    @Artem_zin
    Я в общем-то спорить не хочу, вы скорее всего LinkedList просто «алгоритмически» не взлюбили и троллите его :)

    Да, применений у него мало, конкретно так мало. В основном кто-нибудь всунет куда не надо по незнанию и потом сиди разгребай в чем проблема.

    Но все же, для списка слушателей я использую именно LinkedList т.к. все что я перечислил выше + он ожидаемо ведет себя во всех ситуациях при данном использовании и не создаст мне неожиданных проседаний производительности (маааленьких, но все же), как тот же ArrayList если я просто хочу добавить/удалить слушателя не парясь заранее об их количестве.

    Вам понравится подход к отделению LinkedList в C# от просто списков, там он не реализует IList и случайно применить его не выйдет, только если как коллекцию и то вряд ли, там ArrayList называется List и большинство даже не в курсе про LinkedList.

    В статье снизу список с результатами среднего времени по операциям:
    (наносекунды, меньше лучше)

    ArrayList add:    13265642
    LinkedList add:    9550057
    
    ArrayList get:       1543352
    LinkedList get:     85085551
    
    ArrayList remove:    199961301
    LinkedList remove:    85768810
    


    Вот. Просто такое ощущение, что вы задали вопрос чтобы убедится в правоте своего мнения и других слушать не хотите :)
    Ответ написан
    7 комментариев
  • Преимущества C# в GameDev?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Поддержка и лобирование крупным вендором, кросс-платформенные инструменты вендора, "много шума из ничего": все знают, что C# - это круто (но не знают почему, да им это и не особо важно - главное клепать на рынок "поделки") и поэтому, можно проще устроиться в небольшую или среднюю gamedev-студию мобильных разработок и, как правило, там разрабатывают на Unity в 99%.
    Кстати, а вот и пруф пункт 1, абзац 1.
    Т.е., основная цель этой затеи - экономия времени на проект, говнопродукт, быстрый доход и переход к следующему (вместо того, чтобы сделать один и нормально).

    Но в целом, C# - это подсадка молодняка на "перспективные" инструменты разработки от MS и не более того. Т.е., подсадка на вендора, чтобы "кормить" его платой за курсы и т.д.

    И вот, собственно и пришла мысль освоить ещё один инструмент — C#, игра стоит свеч в контексте разработки игр?
    Если игры ширпотреба для мобил, где у инструмента: туча плагинов, большое комьюнити и экспорт под все платформы, и всё это должно сжирать батарейку и работать на компах с пониженным FPS и только на топовых видюхах - да.
    Если нужно создавать игры AAA-класса, движки которых используют ресурсы без прослоек и максимальным КПД, то здесь однозначно - нет.

    Если, зная C++, здесь Вы не сможете найти, на чём сделать игру, тогда я... ...тогда учите C#!
    Ответ написан
    Комментировать
  • В чем отличия C++ и C# ?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    Тут все пишут про отличия. Рискну написать про сходства.

    Во-первых, о чём бы ни писала Елена и Си++ и C# - оба языки общего назначения. Даже больше, оказывается - C# ни разу не заточён под объёмную библиотеку (или фреймворк) .NET, однако с ним намного, много проще. Но если таки учитывать .NET, то для Си++ есть Boost и Qt, так что здесь скорее паритет - библиотек для обоих хватает.
    Во-вторых, сложность разработки на Си++ часто преувеличена. Разве только дисциплины надо поболее - выстрелить в ногу здесь попроще. Однако при этом Си++ будет чутка более гибкий и без танцев с бубнами unmanaged код не запустить на C#. Если внезапно потребуется.
    В-третьих, оба языка, раз они общего назначения, таки мультипарадигмальные. То есть они реализуют большинство практик. И хотя Си++ развивается довольно медленно, сейчас Си++ резко догнал C# в плане нереализованных фич (здесь как минимум лямбды). Ну и метапрограммирования у Си++ поболее будет (наглая ложь).
    В-четвёртых, оба языка кроссплатформеные. Впрочем, C# будет более кроссплатформенный, чем Си++. Разве только тот же Qt резко стёр границы, но это не значит почти ничего - C# компилируется в тот же самый CIL для всех платформ, Си++ - в совершенно разный код для разных платформ (i386, amd64, ARM Cortex-AXX).
    Наконец, в пятых, синтаксис у них действительно очень похож. Оба языка принадлежат к семейству Алгол-подобных, так что и брейсы, и остальные скобки здесь имеют примерно одно предназначение.

    Различия, которые казалось бы делают языки совершенно разными, таки не столь принципиальны на том уровне абстракции, на котором был задан вопрос. А различия действительно колоссальны: C# - managed код, что означает, что скомпилированный код будет исполнятся не на прямую в CPU, а на специальной виртуальной машине. Это съедает производительность, но сильно облегчает перенос кода. Ну и потом, C# - полупроприетарный ответ Java (что интересно, так как получается, что C# - более свободный, чем Java), которая была создана как замена сложному и небезопасному C++ в том числе.

    В общем, как человек, который начал давно с C#, продолжив C++ и по пути изучив Python, Java, D и другую ООП-чушь могу с уверенностью сказать, что разницы в общем-то и нет... То есть придётся немного проникнуться в чуть другую философию и выяснить, какие проблемы более новый язык пытался решить. Но если подходить к этому, как подошёл lookid, то это скорее не как изучать языки одной языковой группы, а как изучать один и тот же язык в разное время или в разных сферах.

    Почему так? Потому что ООП... Оно как бы ООП, ничего сверхъестесственного ни один язык не предлагает, это не Haskell, и тем более не Brainfuck. Так что принципиально общие вещи в них будут. То подмножество, что реализует машину Тьюринга - у них общие. Сами посмотрите: циклы, ветвления, передача аргументов, арифметика... С небольшими правками всё совершенно одинаковое. Да, Дмитрий совершенно прав, traits на C# не повторишь, ибо та аналогия будет уже не traits, однако... Это уже [programming_language] related, то есть это попытка совладать с особенностями.

    Немного пруфов: лично я ходящий пруф. Зная C++ и C# и немного Java я просто начал программировать на Python. При том, что Python даже алголоподобным не принадлежит. А всё потому, что логика одна и та же, хотя различий между Python и C(++|#) намного, много больше. Но не читая почти никаких туториалов, пройдясь галопом по европам с документацией сейчас я знаю python достаточно для серьёзного проекта.

    UPD. По поводу метапрограммирования... Таки рантайм рефлекшн шарпа тащит. И хотя ни макросов, ни шаблонов, ничего. Но изменять код на лету - это уже очень круто. По дефолту плюсы так не умеют, и хотя шаблоны с макросами тащат, сильно, очень сильно тащат и вытаскивают его, Си++, со дна, надо признать - рефлешн у шарпа будет поинтереснее. Извиняюсь за дезу.
    Ответ написан
    6 комментариев
  • Как разбить массив на группы с равными суммами в каждой группе?

    Читайте алгоритмы задачи об укладке рюкзака - у Вас получается ее разновидность с общим штрафом по нескольким рюкзакам.
    Ответ написан
    1 комментарий
  • Как разбить массив на группы с равными суммами в каждой группе?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Сумму всего массива нужно разделить на кол-во групп (ср.арифметическое число в группе, к которому будем стремиться) и по-очереди набирать в группы, начиная с самой большой цифры (значения элемента) из массива. Как только сумма в группе превысит среднее арифметическое - пропустить и перейти к следующей группе и так до тех пор, пока не останется самое меньшее из всего массива, которое после 1-го цикла превышения попадает в группу с самым минимальным превышением целевой суммы.
    PS: нескромный вопрос можно: а зачем такое может пригодиться?
    Ответ написан
    4 комментария
  • Cколько выделяет места Github при free использовании?

    @FoxInSox
    Бесплатный урок по использованию Гугла
    1. Открываете Гугл
    2. Вводите в строку поиска ключевые слова: github maximum repository size
    3. Наслаждаетесь результатом и осознанием того, что вы наконец-то научились пользоваться гуглом:
    webapps.stackexchange.com/questions/45254/file-siz...
    https://help.github.com/articles/what-is-my-disk-quota/
    Ответ написан
    1 комментарий
  • Cколько выделяет места Github при free использовании?

    AlexIndex
    @AlexIndex Автор вопроса
    Разработчик, Web и разное остальное понемногу
    GitHub предоставляет в использование по рекомендации до 1GB - на каждый из хранилищ. Но репозиториев может быть достаточно много? При достижении данного объема Гитхаб "пришлет вам письмо об уменьшении объемов занимаемых файлов. Так же есть ограничение, что один файл не должен иметь размер более 100МБ.
    Ответ написан
  • Как сделать правильный выбор между C# и Java?

    @eccrs
    АвтоКуА
    То, что ты написал - это жуткий трешак.

    А то, что ты 4 языка параллельно изучаешь... От того, что ты можешь написать hello world на 10 языках, тебя никто на работу не возьмёт. Только если в вуз преподавать за 20к.

    Вообще ответ очевиден, C# больше всего нужен только в экосистеме майкрософта, и на нем только корпоративная фигня.

    А у Java есть JVM, мобилки, 90% автоматизации тестирования ведётся на Java, да и Scala с Kotlin есть. Ну и куда же без Spring
    Ответ написан
    4 комментария
  • Как сделать правильный выбор между C# и Java?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Простому разработчику, наверное, все равно, но разработчику, который в будущем будет искать работу...
    Простого разработчика - всегда ищет работа!
    А разработчик-лентяй - ищет сам работу, чтобы обучаться и ещё за это получать деньги!
    Советую, вначале, стать простым разработчиком. ;)
    Ответ написан
    5 комментариев
  • Что делают программисты на Unity целый день на работе?

    maximpushkarev75
    @maximpushkarev75
    Very bad monkey coder
    Всё так.
    Мы, "типо программисты на Юнити", 80% времени создаем лишь видимость работы - сначала вносим в игру баги, чтобы потом кучу времени потратить на их починку. И так по кругу.
    Ответ написан
    Комментировать
  • Что делают программисты на Unity целый день на работе?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Все как и везде. есть некий внутренний ресурс типа гитлаба в котором есть списки задач и списки багов. Тот кто старше рисует и назначает задачи, вот это джунам а это мидлам, так же с багами. Кодер пришел, открыл гитлаб и берет себе задачу или баг и бодается с ним.
    Сами задачи соответсвенно распределяются по сложности тем самым джунам\мидлам и т.д.
    В день необходимо сделать N задач а как ты их будешь делать уже твои проблемы. К примеру знаю что в эпаме такая ситуация, сделал быстро можешь даже домой свалить а если не успел то будь добр ишачь до последнего.
    Ответ написан
    Комментировать
  • Как изменить масштаб текста в Intellij Idea?

    1Serg
    @1Serg
    Нажать Ctrl+Shift+A, набрать font size и включить изменение маштаба по ctrl+колесико мыши.
    ssmaker.ru/d7708792.png
    Ответ написан
    3 комментария
  • Как выбрать узкую специализацию?

    @Shetani
    Напишите на бумажках что нравиться и вытащите одну (когда будете вытаскивать узнаете чего хотите больше).
    Ответ написан
    Комментировать
  • Так ли важно выучить только один язык программирования?

    BacCM
    @BacCM
    C++ почти с рождения
    У каждого языка есть куча подводных камней, своих заморочки и т.д. Плюс к этому к каждому прилагается набор окружения - от библиотек, стандартных и не очень, до фреймворков и стеков, так же ide, отладчиков, профайлеров, систем тестирования и пр.
    И всё это постоянно развивается.
    Поэтому препод одновременно прав и не прав. Хорошо изучить можно только то, с чем постоянно имеешь дело. Знать общие принципы и быть неплохим разработчиком можно для большого набора языков.
    Ещё важный момент момент, опытные ребята утверждают, что важно какой язык был изучен первым. Динамический или со статической типизацией( строгой). Это определяет подход к разработке на всю жизнь. Потом люди меняют язык, а принципы и подходы сохраняхт теми же.
    Ответ написан
    4 комментария
  • Есть ли смысл в изучении новых (совсем молодых) инструментов и языков программирования и какие у них перспективы?

    barmaley_exe
    @barmaley_exe
    Как справедливо заметили выше, Python и Ruby существуют уже 20+ лет, так что популярность они набрали уже давно.

    Go, Dart, Rust, D, etc интересны для изучения в целях расширения кругозора, но "в продакшен" не годятся: за 5 лет обширным сообществом не обзаведёшься, а, значит, ни выбора в плане библиотек, ни профессиональных кадров. Конечно, могут существовать отдельные проекты, исповедующие эти языки, но таких меньшинство.

    В последнее время многие прыгают вокруг JavaScript'а: сначала его перенесли на сервер (на самом деле, это сделали задолго до Node.JS, но не взлетело), а потом стали использовать чуть ли всюду (в win8, например, или PhoneGap). Но JS'у повезло иметь довольно больше коммьюнити на момент разгара этого хайпа, потому и понеслось.

    Выберите что-то из Python, Ruby, JS и разберитесь в этом (не столько в самом языке, сколько в его экосистеме, т.е. библиотеках, фреймворках и паттернах). Будет нужно — разберётесь в другом языке с его экосистемой. Идеи везде одни и те же, отличается только синтаксический сахар.
    Ответ написан
    Комментировать
  • Unity - Как выбрать сцену, которая будет запускаться при старте игры?

    freeExec
    @freeExec
    Участник OpenStreetMap
    В окне Build она должна быть первой, под номер 0.
    Ответ написан
    1 комментарий
  • Нужно ли выгружать ресурсы, загруженные Resources.Load()? Это затратная операция?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Загруженные спрайты не удаляются, если вы сидите на одной сцене, если вы меняете сцену, то всё должно выгрузиться автоматически при условии, что у вас в каком-нибудь синглтоне не осталась висеть ссылка. UnloadUnusedAssets может помочь в ситуации, когда вы нагрузили кучу разных ресурсов, использовали их, потом обнулили все ссылки и хотите всё вычистить. Если это одиночные большие картинки, то лучше выгружать более явным образом через Resources.UnloadAsset. В этот метод нужно передавать то, что вы загрузили из ресурсов, например, если вы загрузили текстуру и создали из неё спрайт с помощью Sprite.Create, то передавать нужно текстуру, а не спрайт. С Destroy нужно работать аккуратно, он тоже может освободить память, но в некоторых ситуациях он может удалить объект так, что вы потом без перезапуска приложения не сможете его повторно загрузить. Ещё настоятельно рекомендую подобный код тестировать изолированно на отдельной сцене на целевом устройстве, в редакторе правильность выгрузки не проверить.
    Ответ написан
    Комментировать