Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (12)

Наибольший вклад в теги

Все теги (57)

Лучшие ответы пользователя

Все ответы (69)
  • С каких книг начать изучение C#!?

    @Oxoron
    Шарпер
    Шилдт Г. Полное руководство С#4.0. Сейчас вышла 5 версия, но на русском пока не видел. Отлично пишет для новичков.

    Далее - Троелсен. Troelsen_C# 2010 and the .NET 4 Platform. Видел переводы на русский, но качество у них хромает. Средний уровень.

    Финал - Рихтер. CLR via C#. Программирование на платформе Microsoft .NET Framework 4.0 на языке C#. Это для спецов скорее по внутренней реализации, явно не для начинающих.

    www.microsoftvirtualacademy.com/training-courses/c...
    www.microsoftvirtualacademy.com/training-courses/e...
    www.microsoftvirtualacademy.com/training-courses/a...
    www.microsoftvirtualacademy.com/training-courses/c...
    www.microsoftvirtualacademy.com/training-courses/f...
    Тут курсы MVA. Есть на русском, есть на английском. Возможно, начинать стоит там.

    sergeyteplyakov.blogspot.ru/2014/04/best-books-on-... Здесь подробный обзор от .NET спеца.

    Спокойно кодировать можно будет после после первой половины Шилдта. Это полгода неспешного обучения.

    upd. Есть еще .NET Book Zero Петцольда. Её можно читать самой первой.
    Ответ написан
  • Кто может дать пример парсинга json в C#?

    @Oxoron
    Шарпер
    internal static class Serializer
        {
            internal static void Serialize<T>(this T arg, string fileName)
            {
                string res = JsonConvert.SerializeObject(arg, Formatting.Indented);
                File.WriteAllText(fileName,res);
            }
    
            internal static T Deserialize<T>(string fileName)
            {
                string json = File.ReadAllText(fileName);
                T res = JsonConvert.DeserializeObject<T>(json);
                return res;
            }
        }

    Этот класс сериализует\десериализует объекты.

    public class Item 
    {
    ...
    public string title{get; set;}
    public string url{get;set;}
    ...
    }

    Это класс одной записи. Для сериализации используйте автосвойства (те самые get; set;), обязательно public.

    public class Response
    {
    public int count{get;set;}
    public List<Item> items{get; set;}
    }


    Для получения данных используете код вроде
    string pathToFIle = @"C:\temp\anyFile";
    Response response = Serializer.Deserialize<Response>(pathToFile);
    String[] titles = response.items.Select(item => item.title).ToArray(); // Массив названий
    String[] urls = response.items.Select(item => item.url)ToArray(); // Массив адресов


    библиотека: newtonsoft.json.dll

    Если надо - могу скинуть готовый пример (на тостере есть личка?).

    Также посетите json2csharp.com
    Вставьте в поле свой Json-образец, сразу получите необходимые классы.
    Ответ написан
  • Литература для изучения C# с нуля?

    @Oxoron
    Шарпер
    Был подобный вопрос про книги на Тостере. Здесь мой развернутый ответ.
    Если вкратце: ты выбрал правильные книги и правильный порядок. Разве что, Шилдта стоит поискать 5 издание, а Троелсена читать на английском - перевод ругают.
    Кроме того, для работы вполне достаточно первой части Шилдта (до потоков).
    Так же обрати внимание, что в этих книгах рассматривается, в основном, сам язык, его синтаксис. Помимо этого программист частенько занимается тестированием (как минимум модульным), проектированием, работой с системами контроля версий, работой с БД. В случае с .NET (C#) БД скорее всего лежит на MS SQL Server.

    Так что после первой половины Шилдта рекомендую написать Unit-tests (модульные тесты) на один из своих проектов (в качестве литературы гугли Art of Unit Testing, для начала хватит первых нескольких глав), написать несколько модульных тестов с MS Fakes (Shims, Stubs), почитать про рефакторинг, например, тут, завести профиль на Гитхабе, закинуть туда один из своих проектов, сделать несколько коммитов. Для работы с БД используются либо родные классы .NET (C#), либо EntityFramework, NHibernate, etc.
    Важно все перечисленное в этом абзаце выполнять после освоения первой части Шилдта. До этого у тебя скорее всего не будет проектов, для которых нужны подобные навыки.

    .NET и C# в названиях подобных книг почти равнозначны. Если проводить (очень грубую) аналогию, платформа .NET - это ассемблер, в нем все кодируется байтами (ну, или ноликами и единичками). Так программировать неудобно. Поэтому есть несколько ЯП (C#, VB6, в некотором роде PowerShell), которые свой код переводят в байты .NET кода. Для начала можешь считать, что .NET и C# это одно и тоже, понимание разницы придет со временем (либо прочтением Троелсена).

    Удачи.
    Ответ написан
  • Как догнать однокурсников?

    @Oxoron
    Шарпер
    Проблема: недостаток времени.
    Проблема: ухудшение здоровья. Напрямую вытекает из первой (в данном случае).

    Цель: взять знаний по математике по максимуму. (ИТ потом сам догонишь, раз для тебя это проще. Даже полгода это не проблема). Вывод: забиваешь на ИТ-предметы. Изучаешь ровно настолько, чтоб пропустили в следующий семестр. Матан грызешь дальше, в освободившееся от ИТ время спишь. Побольше спрашиваешь у однокурсников, у всех. Один-два смогут обеспечить тебе прорыв, относительный.
    На лекции ходить обязательно, но через раз. Наблюдай, что эффективнее. Через месяц будешь знать, ходить или не ходить.
    Обязательно высыпаться. Обязательны прогулки. Или велосипед. Или плавание. Упражнения для глаз, раз в час.
    То, что не понимаешь половины - это нормально. Большинство не понимает, просто привыкают. Рекомендую почитать книги Дмитрия Письменного. Минимум доказательств, много примеров. Думаю, на контрасте Письменного и классических учебников сможешь что-нибудь понять.
    Еще вариант: пытайся понять, зачем доказывают теоремы. Трать на это час в день. Выбираешь лемму\теорему и задаешь себе вопрос: для чего её доказывают? Для какого док-ва она нужна? Для какой задачи?
    Еще вариант: готовься не к прошедшим лекциям, а к будущим. То есть, если идешь на лекцию - прочитай её материал предварительно. На лекции ты возможно не успеваешь что-то понять, и буксуешь из-за этого. При предварительной подготовке некоторые вещи будут уже понятны, и сможешь поинтересоваться у лектора о действительно непонятных деталях. Готовься к такому скачку. В пятницу хорошо выспись, в выходные сосредоточься на изучаемом предмете.

    Стоит математика усилий, или нет, каждый решает сам. Я не стал математиком, но до сих пор иногда что-нибудь решаю, для души. Год учебы догонишь впахивая в таком же темпе, как описал сейчас (только на пару часов больше отдыхая). Уйти в ИТ можно, но это популярный путь. Я бы посоветовал потерпеть год (учебный).
    Удачи.

    P.S. Стать профи за год в ИТ - это тоже нелегко.
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (36)