Поддержка Unicode, безопасность и переполнение буфера

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

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

Почему нельзя просто поменять функции работы с однобайтными строками на двубайтные? Вот тут я могу сказать, что такое делать никогда нельзя, потому что это безопасность. Что будет, если вы просто поменяете функцию копирования строки с однобайтной, на двубайтный? Если функция принимает количество копируемых символов, то вы получите классическое переполнение буфера. Старая функция при копировании 10 символов, копировала 10 байт, а новая будет копировать 20 байт.

SEO - Оптимизация сайта для поисковых систем

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

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

Оптимизировать сайт для подъема в топ по среднечастотному запросу проще простого и не требует больших усилий. А по мелкочастотным запросам вообще не придется напрягаться. Почему? Ответ очень прост - потому что большинство сайтов вообще никак не Оптимизированы и информация на них лежит как на свалке. Конечно же поисковый краулер не может понять о чем сайт и для чего он. Помогите краулеру найти вас и правильно ранжировать с помощью небольшой SEO оптимизацией, и вам воздастся по заслугам.

Вторая рецензия на коммуникатор Toshiba G900

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

Что-то меня понесло... Короче, я пользуюсь своим коммуникатором Toshiba G900 и вполне доволен. Я привык к большинству его проблем и недостатков, хотя, их и не много. Недостатки есть у всех, а меня радует то, что в Toshiba их меньше, а преимуществ больше. Я не могу привыкнуть и понять только две вещи, о которых решил рассказать.

Новый и бесплатный офисный пакет OpenOffice 3.0

Вот и появился долгожданный OpenOffice 3.0. Я не мог обойти это событие стороной, и с удовольствием расскажу свои первые впечатления, которые будут как всегда двояки, ибо нет ничего идеального. А ведь к идеалу нужно стремится и OpenOffice пытается сделать это, пусть и немного маленькими шагами, когда можно было сделать все намного быстрее.

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

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

Деградация в стиле ПК

Сегодня проходил первое собеседование в связи с незапланированным мероприятием под названием "смена работы" и на нем предложили ответить на вопросы теста и заполнить анкету. Самое страшное, что все это пришлось делать дедовским способом – шариковой ручкой. И никаких тебе MS Word или клавиатуры в помощь, все приходиться выводить собственными руками на белом листочке. Я как посмотрел на свой почерк... Хорошо, что я с утра не кушал. У меня и раньше почерк был не из идеальных, но то, как я пишу сейчас, вызывает очень недобрые желудочные позывы.

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

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

Новая статья: Windows Presentation Foundation (WPF)

Графическая система Windows долгое время основывалась на простейших возможностях GDI, которая плохо использует возможности оборудования и ограничивалась простыми функциями рисования. Из-за этих скудных возможностей и элементы управления были серыми, не в смысле цвета, а просто по жизни. Если использовать только стандартные возможности, то интерфейс получается скучным, а для чего-то более серьезного приходиться разрабатывать элементы управления самостоятельно. Исправить положение дел должен WPF (Windows Presentation Foundation), ранее известный как Avalon.

WPF (Windows Presentation Foundation) - это графическая подсистема нового поколения, которая появилась в составе .NET Framework и основана на XAML. Не смотря на то, что .NET создавалась независимой от платформы и должна бы работать на любой системе, WPF скорей всего не сможет жить в любой среде. Может, мы ошибаемся, но слишком сильно прослеживается связь с Windows и DirectX. Уже сейчас есть ограничения на используемую версию ОС Windows - Минимальным требованием является Windows XP SP2. В Windows XP и Windows 2003 требуется отдельная установка, в то время как в Windows Vista данная подсистема уже предоставлена.

Новая графическая система Windows Presentation Foundation позиционируется для создания пользовательских интерфейсов, 2D и 3D графики и т. д. Мощь WPF заключается в том, что 2D графика строится в векторном виде, а это значит, что интерфейсы будут максимально независимы от разрешения экрана и размера окна. Они будут легко масштабироваться без потери качества и быстро работать благодаря максимальному использованию возможностей современных графических ускорителей.

Блог Андрея Шкрыль, автора ИТ книг

Шкрыль Андрей снова начал заниматься своим блогом: Дневник LittleBudda (блог Шкрыль Андрея). Для тех, кто не в курсе, это автор книг:

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

Планирование дискового пространства для баз данных

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

Задумываетесь ли вы о чем-то, когда создаете новую базу данных? Я думаю, что большинство скажет, что нет (если будет отвечать честно), потому что все мы используем параметры по умолчанию, а ведь они далеки от оптимальных. Одних только дисковых настроек целое море, а ведь они реально позволяют повысить надежность и производительность системы. Нет, мы не будем говорить, что для надежности данных в файловой системе нужно использовать NTFS, хотя имена эта файловая система позволяет MS SQL Server использовать диск максимально эффективно. Нас ждет более интересный и конкретный разговор.

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

Читать статью полностью Планирование дискового пространства для баз данных

Рецензия: Программирование драйверов Windows 3-е издание

Когда я покупал эту книгу, то абсолютно не планировал писать драйвера для Windows. Да я и сейчас не особо рвусь в написание драйверов, потому что как-то не тянет. Но просто почитать книгу ради собственного развития очень интересно и познавательно, потому что в ней описано много познавательного из мира внутренностей ОС Windows.

Знание того, как пишутся драйвера, в том числе и WDM (Windows Driver Model) позволит вам узнать много нового о внутреннем мире ОС Windows и даже понять, почему что-то выполняется так, а не иначе на высоком уровне. Драйвера - это практически сердце системы, и жизнь пациента зависит от того, как стабильно бьется это сердце в груди вашего железного друга. Поэтому, даже если ты, как и я не планируешь писать что-то низкоуровневое в стиле ядерных прибамбасов, книгу все равно почитать будет интересно и познавательно.

Что можно сказать именно про эту книгу по написанию драйверов? Конечно же, она хорошая. Я уже должен был приучить вас, что я не критикую книги и плохие книги не описываю. Если я вижу, что книга плохая, то я просто промолчу, уж такое у меня "плохое" воспитание. Поэтому я пишу только о хороших книгах и это одна из тех, которые не просто желательно прочитать, а нужно прочитать всем программистам, и даже тем, кто не знает С и пишет только на Delphi, просто для общего развития.

Все для программистов - новый вид

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

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

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

О блоге

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

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

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

Пишите мне