Блог

Форум для программистов

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

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

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

Магия компилирования .NET

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

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

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

Программирование дома

На работе так много программирую на C#, что когда прихожу домой, уже совершенно не хочется этим заниматся. Чтобы разнообразить мир, дома программирую только на PHP, а когда впоследний раз запускал Visual Studio уже и не помню. Пару раз пытался заставить себя пересилить и начать дома писать, но не могу. В основном пишу заметки для сайтов, улучшаю сайты на PHP, а дальше загрузки Visual Studio дома руки не идут.

А ты дома можешь писать на том же языке программирования, что и на работе? Не достало?

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

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

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

Проектирование кода

Давно я не выкладывал на сайт статей. Иногда даже палка стреляет, а я пишу довольно часто, но вот сегодня не просто заметка, а целая статья: Проектирование кода. Читайте и пишите свои коммментарии. Буду рад, если ты найдешь в заметке хоть что-то полезное для себя.

Конференция Fast Reports

Сегодня хочу пропиарить конференцию Fast Reports Inc для программистов и делаю это бесплатно, т.е. даром. Конференция будет проходить на моей родине и даже в районе, котором я вырос. Недалеко парк дружба, где я купался в дедстве (если будете там, то сейчас я этого делать не советую).

Еще из достопримечательностей там недалко БСМП-2, в которой мне сделали последнюю операцию по ошибке - перепутали апендицит с отравлением и вскрыли мне пузо за 2000 рублей (по старинным еще деньгам), а на следующий день выписали, чтобы не загружал. Та операция повлияла на то, что я свалил из Ростова. Ох, и занастальгировал я.

Но вернемся к конференции. Кто не знает Fast Reports? Shame on you!!! Для .NET я их отчеты не пробовал, а вот для Delphi у них самая офигенная система отчетов. То, что встроенно в Delphi - это фуфло поганое, которое можно вырезать из системы и не позориться. Не даром отчетность в Delphi несколько раз менялась, а Fast Reports стабилен и удобен. Так что пиарю не только конференцию, но и Fast Reports. Как я уже сказал - бесплатно, т.е. даром.

Что важнее для программиста

Еще один интересный вопрос, который упал в мой почтовый ящик:

Изучаю программирование недавно, но возник такой вот вопрос. Обычно, что-либо куда гораздо легче изучать, если из этого чего-то можешь выделить главное, так сказать основное. Есть известный холивар на тему что важнее в программе : язык и всё ему сопутствующее или алгоритм; умение грамотно спроектировать или грамотно закодировать. Подскажите пожалуйста, как человек с большим опытом - а что-же всё-таки важнее для программиста - алгоритм/проектировка или остальное?

Я конечно же считаю, что оба навыка очень даже важны, особенно, если придется работать в небольшой компании. В России, кажется, вообще всегда программистам приходится делать все сразу. Правда я в крупных компаниях не работал и не работал в софтверных компаниях. Хотя нет, в одной софтверной я был, но там я банально подстраивался под происходящее и работал только из принципа «тише воды, ниже травы». А в остальных компаниях приходилось самому решать какой алгоритм использовать и как все реализовывать.

Следование стандарту в HTML

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

Еще пример, в HTML5 атрибуты тегов можно описывать по любому, указывая кавычки или опуская их. Например, вполне нормальной считается запись типа:

<meta value=something>

С точки зрения XHTML эта запись не корректна, потому что тег не закрыт и значение параметра value не в кавычках. В 5-й версии HTML эта запись корректна, потому что это больше никак не связанный с XML язык и может оформляться как угодно. Теперь вы свободны, писать все как угодно.

Хранение комментариев в базе данных

Михаил, как лучше, заносить комментарии к заметкам в ту же БД где и сама заметка, или создать отдельную БД для комментариев?

Всегда и во всех действиях пытаюсь найти смысл. Какой может быть смысл в отдельной базе данных? Если посмотреть на блоги, то в движке блога почти все запросы будут SELECT и только комментирование будет INSERT. Я так понимаю, что автор этого письма хочет обезопасить всю базу записей блога от взлома комментариев. Но отдельная база не всегда поможет. Дело в том, что если на сервере не правильно распределены права, то жопа настанет всем базам данных.

И вот тут мы подошли к тому, что защищаться лучше правами. Можно завести две учетных записи, одна будет с правами на SELECT на все таблицы и другая только с правами на INSERT на таблицу комментариев. Все будет в одной базе и если хакер взломает, то максимум что может сделать, так это насорить в таблице комментариев. Так что с точки зрения безопасности выносить комментарии в отдельную базу данных не вижу смысла.

Национальная платформа

Сегодня поступил вопрос о том, что я думаю по поводу того, что Путин утвердил национальную платформу с ссылкой на Cnews. Если честно, то даже не знаю, что думать. То, что национальная платформа будет платформой, уже красиво звучит, но никаких подробностей нет о том, как она будет реализована. Будет ли это Linux платформа, Windows или даже тучка в небе, ничего не понятно. Никаких подробностей нет, поэтому я абсолютно ничего не думаю и не могу думать.

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

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

О блоге

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

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

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

Пишите мне