Сегодня читал статью о git и там было написано немного неверное представление о команде checkout. Автор не совсем понимает идеологию git, поэтому допустил несколько досадных ошибок в описании. Статья и автор не имеют значения, потому что я не собираюсь обсуждать его и его работу. Но я решил написать эту статью о git со своей точки зрения и опыта работы.
Самое сложное - это научится программировать на своем первом языке программирования. Когда только начинаешь свой путь профессионала клавиатуры, то приходится учить не только синтаксис языка, но и основные принципы программирования, понимать, как машина обрабатывает команды и как она мыслит. Необходимо научится понимать, как все работает, и как пишутся программы, а потом новые языки будут даваться легко.
Недавно получил письмо с вопросом о том, зачем нужны интерфейсы, если это всего лишь описание функций и там нет реализации кода. Наследование на много лучше, потому что можно создать объекты с нужной реализацией и просто наследовать их.
Я обожаю использовать mac для web разработки и на php я пишу только на нем. На Surface Pro у меня нет ни PHP, ни MySQL, ни Apache. Давние читатели блога уже знают, что я когда-то пробовал MAMP, но потом перешел на чистый MAMP (Mac, Apache, MySql, PHP). Недавно получил письмо с просьбой расказать, как настроить Apache на маке. Выполняю просьбую.
Далеко не всегда удается писать код абсолютно без ошибок. Если ошибки компиляции нам помогает отловить компилятор, то с ошибками логики дело обстоит немного сложнее. Как узнать, почему какая-то переменная не изменяется или почему результат выполнения какого-то кода не такой, как вы ожидали? Все это сложно, если в вас нет мощного средства отладки программы, а в Visual Studio средства отладки достаточно мощные, чтобы найти любые ошибки.
Бывают такие случаи, когда нужно написать код, который будет компилироваться в проект при определенных обстоятельствах. Например, при сборке проекта в конфигурации отладки (Debug) может возникнуть необходимость включить в проект определенные участки кода, которые будут сохранять в ваш журнал состояние выполнения программы. Или наоборот, в окончательную версию (Release) включать код, который будет отвечать за проверку легальности копии, а в отладочной версии этот код должен быть отключен, чтобы не загружал вас лишними проверками при старте программы.
Я уже давно увлекаюсь Arduino и понемногу делаю небольшие проекты. В прошлом году я начал собирать свою машинку, у которой в качестве мозга выступала бы плата Arduino. Для этого я купил пластмассовую платформу, на которую можно крепить все остальные детали, четыре двигателя и четыре колеса.
В самом начале пути программиста желательно прочитать книгу по базам языка программирования, который вы выбрали. Я в основном C# программист, поэтому посоветую книгу только по этому языку. Хотел бы посоветовать что-то по Java, но не могу, потому что с этой платформой я не связывался уже более 10 лет. Последний раз что-то читал более 10 лет назад.
Я увидел тут код, с не очень приятной для мена архитектурой, где бизнес логика выполнена в виде больших интерфейсов. В каждом интерфейсе было по несколько десятков методов. Я с таким встречался раньше и обычно за подобным интерфейсом скрывался класс фасад, который скрывает вызов сложных вещей.