Статьи - Программирование

Программистское чтиво - Что почитать программисту

В самом начале пути программиста желательно прочитать книгу по базам языка программирования, который вы выбрали. Я в основном C# программист, поэтому посоветую книгу только по этому языку. Хотел бы посоветовать что-то по Java, но не могу, потому что с этой платформой я не связывался уже более 10 лет. Последний раз что-то читал более 10 лет назад.

Машинка Arduino – как собрать и программа

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

Условная компиляция в .NET

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

Отладка .NET приложений в Visual Studio

Далеко не всегда удается писать код абсолютно без ошибок. Если ошибки компиляции нам помогает отловить компилятор, то с ошибками логики дело обстоит немного сложнее. Как узнать, почему какая-то переменная не изменяется или почему результат выполнения какого-то кода не такой, как вы ожидали? Все это сложно, если в вас нет мощного средства отладки программы, а в Visual Studio средства отладки достаточно мощные, чтобы найти любые ошибки.

Настройка Apache на macOS

Я обожаю использовать mac для web разработки и на php я пишу только на нем. На Surface Pro у меня нет ни PHP, ни MySQL, ни Apache. Давние читатели блога уже знают, что я когда-то пробовал MAMP, но потом перешел на чистый MAMP (Mac, Apache, MySql, PHP). Недавно получил письмо с просьбой расказать, как настроить Apache на маке. Выполняю просьбую.  

Когда использовать интерфейсы в программировании

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

Как учить языки программирования

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

git - современное управление кодом

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

Unit тесты

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

Безопасность в PHP - системные команды

Язык PHP интерпретируем, и можно считать, что он узконаправлен, потому что основное его предназначение – WEB программирование. Свою задачу по формированию WEB страниц и обращению к базам данных он выполняет отлично. Но он не всесилен. В PHP может быть обращения к железу или других низких функций, например, управление безопасностью в ОС. Это связано еще и с тем, что безопасность на каждой платформе разная и архитектура в Windows и Linux отличается. Чтобы получить доступ к возможностям, которых нет в языке, можно обращаться к ОС и программам на других языках.

Использование интерфейсов

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

Боевые действия в условиях ограниченной видимости

Даже при наличии 512 мегабайт, расходовать память, не думая о последствиях глупо. Дело в том, что Windows XP в домашней редакции уже съедает от этого объема 128 метров, а профессиональная редакция отнимает все 256. Всякие примочки и побрякушки в районе часов, антивирусы и сетевые экраны могут отнять еще 64 метра. Получается, что для других приложений остается не так уж и много места. Если одновременно будет запущен Delphi 2006, 3DS Max и Photoshop, то работа станет невыносимой, ведь эти монстры сжирают оперативку хуже вирусов.

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

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

Пишите мне