Архив категории ‘Программеру’.

День программиста

В пятницу президент подписал указ об учреждении Дня программиста, 256 дня года. Соответственно, 13 сентября в невисокостные года, 12 сентября в високостные.

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

Представляю новый проект

Представляю новый проект – специализированный блог веб-разработчика http://filonov.org. RSS здесь – http://filonov.org/feed/.

Сегодня статья об одной инсталляции Wordpress на несколько доменов, немного о Movable Type, Wordpress MU и регулярных выражениях.

Delphi for PHP 2

Потестировал этот продукт. Могу сразу сказать – попытка занять нишу RAD-среды разработки для платформы LAMP (Linux, Apache, MySQL, PHP), на которой, кстити, держится более 60% инета, окончилась полным провалом.

Перечислю вещи, которые меня очень удивили:

  1. Среда работает только под Windows. Удивительно, не правда-ли? Для Linux платформы выпущена среда разработки под Windows.
  2. Среда, мягко говоря, тормозная. Визуальное конструирование тормозит порой так, что приходится ждать минуты до начала перемещения компонента по форме.
  3. Малое количество компонент. Проект основан на фреймворке VCL for PHP, который сам по себе весьма сырой. Фрэймворк содержит в себе гору JavaScrypt фрэймворков разных производителей, которые часто конфликтуют между собой. Некоторые компоненты из-за этого нельзя разместить на форме.
  4. Сырость. Многие методы классов заменены заглушками. Кодовая страница базы не настраивалась, пришлось дописывать руками.
  5. В комплекте тормозной шаблонизатор Smarty.
  6. Объём. Deployment Wizard, конечно, зёрна от плевел отделять не умеет. Поэтому, создав страничку с одной кнопкой вы получите на выходе каталог с 4 мегабайтами барахла.
  7. Говнокод. Код страничек, генерируемый на выходе, фееричен. Например, содержимое таблицы, связанной с базой вываливается прямо в мегабайтный JavaScrypt, а чтобы не утруждать себя генерацией циклов, разработчики позволяют себе такое:
    DBGrid_tableModel.setColumnEditable(0, true);
    DBGrid_tableModel.setColumnEditable(1, true);
    DBGrid_tableModel.setColumnEditable(2, true);
    DBGrid_tableModel.setColumnEditable(3, true);
    DBGrid_tableModel.setColumnEditable(4, true);
    DBGrid_tableModel.setColumnEditable(5, true);
    DBGrid_tableModel.setColumnEditable(6, true);
    DBGrid_tableModel.setColumnEditable(7, true);
    DBGrid_tableModel.setColumnEditable(8, true);
    DBGrid_tableModel.setColumnEditable(9, true);
    DBGrid_tableModel.setColumnEditable(10, true);
    
  8. Глючность среды. Периодически вылетает с любимым борландовским криком «Acess Violation».
  9. При размещении проверенного локально проекта на удалённом хостинге вновь возникают проблемы.
  10. Стоимость. Они за это хотят денег. Серьёзно.

В общем, было заманчиво, но сыро. Использовать такую вещь даже для несерьёзных проектов – опасно, есть риск упасть до уровня ASP.NET как по производительности, так и по безопасности.

На сайте лежит 30-дневный триал, проверьте сами. Ну а к чему приведёт широкое распространение такого продукта – оставлаю гадать читателя.

Кудесники

/[0-9a-z_]+@[0-9a-z_^.]+\.[a-z]{2,3}/i

Типа проверяют валидность почты. Господа создатели интернет-порталов, наверное, для вас это откровение, но домены могут содержать и четыре символа! Например info, name.

Битрикс

Они за это денег ещё хотят… К сожалению, решения о покупке того или инего движка чаще всего принимают люди, от программирования весьма далёкие и поддающиеся облапошиванию продажниками. В противном случае покупку ЭТОГО можно объяснить только клиническим идиотизмом.

О мерах по обеспечению информационной безопасности Российской Федерации

Указ Президента РФ от 17 марта 2008 г. N 351 "О мерах по обеспечению информационной безопасности Российской Федерации при использовании информационно-телекоммуникационных сетей международного информационного обмена". Как говорится, "продолжают доставлять". К неопределённости с персональными данными добавилось теперь вот это.

Пункт 1.в гласит:

государственные органы в целях защиты общедоступной информации, размещаемой в информационно-телекоммуникационных сетях международного информационного обмена, используют только средства защиты информации, прошедшие в установленном законодательством Российской Федерации порядке сертификацию в Федеральной службе безопасности Российской Федерации и (или) получившие подтверждение соответствия в Федеральной службе по техническому и экспортному контролю;

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

Пункт 3:

Администрации Президента Российской Федерации, Аппарату Совета Федерации Федерального Собрания Российской Федерации, Аппарату Государственной Думы Федерального Собрания Российской Федерации, Аппарату Правительства Российской Федерации, аппаратам Конституционного Суда Российской Федерации, Верховного Суда Российской Федерации, Высшего Арбитражного Суда Российской Федерации и Генеральной прокуратуре Российской Федерации осуществлять взаимодействие с сетью "Интернет" и представлять в нее информацию через сегмент сети "Интернет" для федеральных органов государственной власти и органов государственной власти субъектов Российской Федерации, находящийся в ведении Федеральной службы охраны Российской Федерации. В исключительных случаях по согласованию с Федеральной службой охраны Российской Федерации указанные государственные органы могут осуществлять взаимодействие с сетью "Интернет" и представлять в нее информацию через сегменты сети "Интернет" и технологические серверные площадки, находящиеся в ведении федеральных органов исполнительной власти, подведомственных им учреждений и организаций, Российской академии наук, научных академий и иных научных организаций, имеющих государственный статус, а также государственных образовательных учреждений высшего профессионального образования.

Голову сломали, какого рода "взаимодействие" нам надо осуществалять с интернетом и какую информацию туда через сегмент предоставлять? Да и что за сегмент?

Пункт 1.а:

…в том числе к международной компьютерной сети "Интернет" (далее – информационно-телекоммуникационные сети международного информационного обмена), не допускается;

Ладно, что такое интернет более менее ясно, смотрим, что за сегмент в пункте 2:

Федеральной службе охраны Российской Федерации обеспечивать поддержание и развитие сегмента международной компьютерной сети "Интернет" (далее – сеть "Интернет") для федеральных органов государственной власти и органов государственной власти субъектов Российской Федерации.

 benderНу теперь всё ясно. "Интернет" – это сегмент международной компьютерной сети "Интернет", информационно-телекомоникационная сеть международного информационного обмена – сегмент международной компьютерной сети "Интернет", далее "Интернет", информационно-телекоммуникационные сеть международного информационного обмена, которая поддерживается и развивается Федеральной службой охраны.

ФСО должны все быстро переквалифицироваться в админов и начать тянуть, ставить серваки, поднимать DNS? Или сделать специальный такой интернет для федеральных органов и субъектов?

Теперь опять будем ждать документ, именуемый "Разъяснение", в котором обычно объясняется, или делается попытка объяснить, что имелось ввиду. Хотя к положениям о персональных данных разъяснений так никто и не дождался.

Хотите проследить цепочку с самого начала? Начните с Доктрины информационной безопасности РФ.

P.S. А я буду делать свой интернет, с блекджеком и шлюхами!

Персональные данные

Воистину, законы пишут неясно кто и для кого. В конце прошлого года вышел пакет законов о персональных данных.

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

Ну а теперь самое интересное. "Соответствующие органы" должны были представить в трёхмесячный срок некие разъяснения, потому что исходя из текущих законов и положений персональные данные фактически приравниваются к секретным, из за чего даже для их передачи организации вынуждены покупать программно-апаратное обеспечение, сертифицированное этими же органами, где, естественно, используется единственный законный у нас алгоритм шифрования – ГОСТ 28147-89. Использовать тот же PGP, Truecrypt – незаконно, так как алгоритмы, использующиеся в них, и, зачастую по криптостойкости превосходящие ГОСТ не сертифицированы.

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

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

Время идёт, а мы всё ждём разъяснений…

Чтение и обработка

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

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

Вот что говорит по этому поводу Роберт Виейра, программирующий на всём, что позволяло себя программировать с 1978 года:

978-5-8459-1329-6 Сам я рассматриваю книги и любые другие справочные материалы, относящиеся к программированию, под таким углом зрения, что просто невозможно сосредоточить в одних руках достаточное количество подробных источников информации. Впервые я начал  заниматься разработкой программного обеспечения примерно в 1980 году. В то время было возможно удержать в памяти основную часть необходимых сведений (но не все), а сейчас это просто невозможно. Если же вы заняты в нескольких областях деятельности (что само по себе в настоящее время является довольно сложным), то приходится запоминать слишком многое, и те сведения, к которым не приходится возвращаться повседневно, постепенно забываются.

Примите простой совет — не старайтесь всё запомнить. Старайтесь удерживать в памяти то, что является неотъемлемой частью вашей деятельности и с чем вам приходится работать повседневно. И не упускайте из виду то, что необходимо постепенно создавать хорошую справочную библиотеку (начиная с этой книги), чтобы можно было извлечь из неё другие нужные данные.

Абсолютно справедливый и адекватный подход. Я предпочитаю держать в голове только индекс (идентификатор в базе данных) нужных сведений. Наиболее важные моменты переношу в свою собственную базу знаний, которая постоянно доступна мне на всех моих компьютерах и в интернете. Тематические учебники я читаю по диагонали или через строчку, научился доверять своему подсознанию, оно зацепится взглядом за нужный абзац и подом подскажет, где искать информацию в случае надобности. Большинство сведений из учебника вам никогда не понадобится, поэтому и не имеет смысл часами сидеть над каждой из полутора тысяч его страниц. Это так же абсурдно, как чтение подряд материалов MSDN, локальная копия которого, кстати, сжатая, занимает 1,6 гигабайт.

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

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

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

Альтернативы

Интересно, через сколько десятилетий Microsoft сделает что нибудь похожее и заявит, что это оригинальная разработка?

 

Интерфейсы Microsoft

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

Знакомый с детства консольный интерфейс. Представляет из себя приглашение и мигающий курсор в области ввода. Пользователь вводит команды, операционная система печатает ответы. Интерактивность минимальна, но и перимущества в скорости и возможности пакетной обработки настолько велики, что в обозримом будующем никто от командной строки отказываться не будет. Используется в Microsoft POSIX, MS DOS и всех версиях ОС Windows.

Clipboard

Первый графический интерфейс в первой версии линейки новых операционных систем. Элементы управления – графические. Это не означает, что концепция кнопок, окон и меню появилась непосредственно в Windows 1.01 в 1985 году. И конкуренты не дремали в это время, и программы для DOS отображали кнопки, полосы прокрутки с окнами при помощи псевдографических символов. Но тем не менее здесь появились окна с заголовками, двумя кнопками управления, главным меню и полосой прокрутки. Несочетаемые цвета объяснялись использованием 16-цветной палитры и видеоадаптеров CGA, Hercules и EGA. Использовался в Windows 1.01, 1.02 и 1.03.

windows_01
Продолжить чтение ‘Интерфейсы Microsoft’ »