• Как нарабатывать мышление "правильного" программиста?

    Adamos
    @Adamos
    Разбор ряда часто используемых алгоритмов. По-русски, подробно.
    Код, правда, на Паскале, но это для понимания практически неважно.
    Ответ написан
    Комментировать
  • Как нарабатывать мышление "правильного" программиста?

    @Got_Oxidus
    Учусь
    С опытом придёт.
    Ответ написан
    Комментировать
  • Чем отличается Visual C# от C#?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Под C# обычно следует понимать Visual C#, точнее Microsoft Visual C#.

    Microsoft Visual C# - реализация языка C# компанией Microsoft.

    Наверное выглядит странно, учитывая что язык создан в Microsoft для Microsoft .NET Framework, но на данный момент есть две спецификации C#: ECMA-334, ISO/IEC 23270:2006 (в чем разница, не имею представления).
    Microsoft штампует новые версии C# со страшной скоростью, и как следствие выпускает новые спецификации :-)

    Из-за разных реализация C#, стандартов, юридических проблем в языке появляются искажения и не стыковки. Например, при программировании под Mono есть мелкие особенности, которые следует учитывать. А в целом, C# - он один.
    Ответ написан
  • Чем отличается Visual C# от C#?

    Daniro_San
    @Daniro_San
    Программист
    Язык один - C#
    Visual C# - это компонент в среде Visual Studio, отвечающий за его поддержку.
    Ответ написан
    Комментировать
  • C# 6.0. Справочник. Джозеф Албахари ошибка или нет?

    AxisPod
    @AxisPod
    Если взять Рихтера по .NET 4.0, то там ошибок столько, что лучше русскую вообще не читать, часто просто блоки текста скопированы и повторяются. В Dragon Book к примеру отсутствуют прям целые абзацы. Так что подобные ошибки это нормально.
    Ответ написан
    Комментировать
  • C# 6.0. Справочник. Джозеф Албахари ошибка или нет?

    Опечатка + напротив английского текста русский имеет противоположное значение.
    Ответ написан
    Комментировать
  • C# 6.0. Справочник. Джозеф Албахари ошибка или нет?

    fedorez
    @fedorez
    Хатуль мадан
    Комментарии перепутаны. Бывает.
    Ответ написан
    Комментировать
  • Как совместить гармонично совместить теорию и практику на C#?

    @artemt
    Full-stack developer
    Нахожусь в аналогичной ситуации. Программирую с прошлого века. Сейчас мой стек — это C#, T-SQL, JScript, JavaScript, XSLT, CSS. Собеседование пройду максимум на мидла.

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

    Во-первых, перечитать книгу Скита "C# in depth", реализуя примеры. Книга опускает элементарные основы языка, но даёт перспективу его развития.

    Во-вторых, перепройти Стэнфордский или Принстоновский курсы по алгоритмам на coursera.org, реализуя их на C#.

    Не только это в планах, но данные пункты выбраны в качестве основы.
    Ответ написан
    Комментировать
  • Как совместить гармонично совместить теорию и практику на C#?

    Rou1997
    @Rou1997
    Нет, это не антисовет, и вы не живете по этому принципу, вы просто не определились с тем от чего вам будет польза, вы решили что будете устраиваться в фирму, но не поинтересовались о собеседованиях, поэтому и не знали насколько сильно они "оторваны" от практики, и не подготовились.
    А собеседования это действительно "изврат", там же тесты составляются не специалистами, а дилетантами, обычно получается "опросник" по теории из "топовой" литературы по C#, поэтому подготовка к собеседованием это всегда "изврат", не ищите связь с практикой, а ищите способы все это изучить чтобы пройти собеседование, вот это вот ваша польза, но если для запоминания нужны практические эксперименты, то пожалуйста, но лучше цитируйте литературу.

    Но полезность структур осознать не сумел, поэтому в реальных проектах использую только классы.

    Это стоит познать практически чтобы уметь сказать хоть что-то, но лучше цитируйте литературу.

    очередь, стек, hashtable и т д

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

    про рефлексию

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

    домены приложений.

    Это стоит познать практически чтобы уметь сказать хоть что-то, но лучше цитируйте литературу.
    Ответ написан
    2 комментария
  • Как понять книгу Рихтера, если ты новичок?

    ИМХО: То что вы читаете книги это прекрасно, но так как вы новичок, не нужно пока забивать себе голову этим Рихтером. Читай те пока общие вещи по ООП, принципам программирования, заглядывайтесь на паттерны, книги по рефакторингу и алгоритмам, смотри те как программируют другие люди, в будущем это принесет вам большую пользу.
    С# - это просто инструмент для выполнения какой-то вашей задачи, а книга Рихтера, как раз рассказывает об особенностях этого языка(описание этого инструмента), что толку от того если ты знаешь глубоко язык и все его нюансы и особенности, когда твой код при компиляции погибает в багах и через 2 месяца ты уже не понимаешь, что и как у тебя устроено. А добавление нового функционала приводит к аду из ошибок и кишков.
    Зная основы не трудно будет даже выбирать инструмент для решение ваших задач, будь то C# или какой-то другой язык.
    Ответ написан
    Комментировать
  • Как учить что-то новое и быстро не забывать?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Я всегда учу только самый необходимый минимум, исходя из принципа Парето, что 20% усилий дают 80% результата. Зачастую этих 80% результата за глаза хватает для большинства задач.

    Второй момент, я всё учу на практике. Конечно, сначала я делаю массированное теор исследование, так сказать провожу рекогносцировку, но конкретные приемы только в приближенных к боевым условиям.

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

    Так-что я рекомендовал бы каждый навык оттачивать в конкретном модуле, на практике, в разных обстоятельствах, тогда в голове уложатся принципы и примерное представление, где, если потребуется, быстро найти детали и нюансы...
    Ответ написан
    Комментировать
  • Есть ли онлайн редакторы C#?

    @MADm
    Ответ написан
    Комментировать
  • Есть ли онлайн редакторы C#?

    Ответ написан
    Комментировать
  • Существует ли "карта программиста"? Что и за чем учить?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Нет одинаково эффективного пути для всех и каждого.

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

    Тут главное - настолько сильно хотеть достичь результата, чтобы любые препятствия только добавляли азарта. Чтобы ночами спать не мог и думал о задаче. Это ключевой момент обучения. Все остальное - декорации, способы, инструменты...

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

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

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

    На первых порах, тестирование будет занимать до 99% времени и сил. Заодно подтягивается синтаксис используемых языков (вообще не важно каких), вырабатывается внимательность, концентрация, тренируется память и пр.

    О даа, детка, хороший программист имеет нереальную оперативную память, в которой умудряется держать десятки и сотни ключевых аспектов контекста задачи, учитывать их особенности, взаимное влияние (комбинаторика), и пр., без чего никакая задача никогда решена не будет.

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

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

    Обрати внимание, самое главное качество во всем этом многабукафф - упорство на грани фантастики. Любой, кто не дойдет до конца, не треснет себя по лбу в соты раз с воплем, так вот же она где, эта запятая, пропущена - сломается в самый неподходящий момент на боевом проекте...

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

    Ах да, обложись справочниками по любому инструменту и научись быстро вникать и подхватывать необходимый минимум. Обычно достаточно на 20% владеть инструментом, чтобы решать 80% задач.

    В любом случае я за критерий истины держу платежеспособный спрос.
    Ответ написан
    3 комментария
  • Анонимность и честность VPN сервиса?

    edinorog
    @edinorog
    Троллей не кормить!
    может. любую. нельзя проверить
    Ответ написан
    4 комментария
  • Как стать тру админом?

    athacker
    @athacker
    Вопрос задаётся не в первый раз, можно уже цитировать ответы :-)

    Придумайте себе сеть организации. С доменами Active Directory, с внутренней почтой (сначала, допустим, на linux/FreeBSD/postfix/dovecot, а потом -- на Exchange, или наоборот), с внутренними DNS и DHCP-серверами.

    С файловыми серверами, доступ к которым на уровне доменных учётных записей и групп распределяется. И запилите эту сеть на виртуальных машинах. Несколько виртуальных серверов Windows/Unix, парочку клиентских станций с виндой/линуксом.

    Поднимите свой веб-сервер, нарисуйте на нём простенький веб-сайт на базе какой-нибудь популярной CMS типа Joomla, Wordpress, чо-там-ещё-нынче-модно.

    Потом придумайте этой конторе удалённый филиал, и постройте инфраструктуру для него, и чтобы между ними ещё и VPN был, и с маршрутизацией правильной, чтобы машины из одного филиала видели другой, и наоборот.

    А потом сделайте так, чтобы VPN-канал между филиалами был зарезервирован через двух разных провайдеров, да причём переключения производились автоматически и абсолютно прозрачно для клиентов. В этом вам поможет динамическая маршрутизация и протоколы OSPF или BGP.

    Факультативно -- можете поднять в удалённом филиале так называемый RoDC -- read-only domain controller :-)

    Про якобы умершую FreeBSD не слушайте, об этом линуксоиды мечтают не первый год, но их мечтам сбыться не суждено. Я с фрёй работаю с 2006 года, и ответственно заявляю -- слухи о её смерти сильно преувеличены :-)
    Ответ написан
    7 комментариев
  • Путь программиста.Стоит ли?

    Andrey_Pletenev
    @Andrey_Pletenev
    Pletenev.com
    Есть 2 способа получения образования:
    1) Методом push - это когда в тебя запихивают, хотя оно не лезет и ты сопротивляешься. Этот подход используют все формальные структуры образования школы, училища, вузы.
    2) Методом pull - это когда ты сам с жадностью ищешь и изучаешь то, что тебе действительно интересно и нужно.
    Судя по "Образование в школе не очень", "пытаться" и "бал", история "в хороший вуз на бюджет" - кончится обычным "куда угодно лишь бы диплом" или "клянчить деньги с родителей" на платное. Поскольку ты этого не хочешь - рекомендую тебе опцию 2.
    Ответ написан
    Комментировать
  • Путь программиста.Стоит ли?

    machine_messiah
    @machine_messiah
    http://CodeFlex.co
    Умные люди вузы не заканчивают

    Ответ написан
    Комментировать
  • Путь программиста.Стоит ли?

    @JohnJon
    Не стоит сейчас заниматься самообразованием, стать пхп-макакой никогда не поздно. Надо бросить все силы на поступление в топовый вуз, их не так много в России. Хорошее образование это важно и нужно.
    А то будешь через несколько лет задавать дурацкие вопросы вроде этого Где получить дистанционное образование по Data Science?
    Ответ написан
    Комментировать
  • Путь программиста.Стоит ли?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Не важен путь, который выберете вы. Важно то, как вы его пройдете.
    Самообразование - ключ к любой профессии. Никто и никогда вас не станет ничему учить. Забудьте об этом, все только сами.
    Как, по-вашему люди из самых запдрыпанных мест становятся великими? Трудом.
    Учитесь тому, что интересно. Хотите GameDev? Без проблем. Сейчас осень, впереди зима и весна. Садитесь за Java или Swift. Напишите к лету приложение и разместите его в магазине. Будет настоящий незаменимый опыт. Потом еще и еще. Не сразу, но начнете на этом зарабатывать. Было бы желание, остальное приложится.
    И к экзаменам тоже можно подготовиться. И сдать их на отлично самому. Не смотрите на ленивцев вокруг. Они вас кормить не станут. Они так и дальше будут сосать пиво из бутылочки и сидеть на шее у родителей до последнего.
    Или вы тоже хотите пойти на стройку, чтобы зарабатывать на пиво? Тогда вперед.
    Ответ написан
    Комментировать