Меня очень часто спрашивают, какой язык программирования выбрать и я уже писал что-то подобное про выбор на блоге. Не помню, что я ответил в прошлый раз но из-за того, что количество писем увеличилось, напишу еще раз.
Выбор языка – дело каждого и тут советовать очень сложно. Можно ошибаться и я могу дать неправильный совет. Я уже много раз объяснял, что выбрал я и почему я это сделать. В вашем выборе тоже должна быть причина, но ваша, а не моя.
Я рекомендую изучать сразу пару языков. Когда я начинал изучать программирование, то выбрал С++ и Delphi. Я их изучал одновременно и писал программы на обоих языках сразу, просто разные программы. Благо на работе моему начальству было пофиг, на каком языке я пишу программы, им нужно было, чтобы они работали. Я использовал поочередно оба языка и постепенно потребность в Delphi выросла и С++ сам собой отпал. Его я стал использовать очень редко и в основном для себя. Я и сейчас его использую редко и в основном для написания небольших DLL, функции которых потом вызываю из C#.
Выберите для себя пару языков. В любом случае, от этого хуже не будет. Широкие знания никому не мешали.
Вчера залил серьезное обновление своего пакета базовых компонентов для .NET. Основное изменение произошло в компоненте Small Report Renderer. В нем добавлена возможность выделять текст и копировать его в буфер обмена. Ведь очень часто нужно не просто вывести на экран текст в виде отчета, нужно еще и дать пользователю возможность копировать текст из этого отчета.
Вообще компонент Small Report Renderer вызвал неплохой интерес и только ради него один пользователь хочет купить его и ожидал функцию выделения. Его заинтересовали возможности компонента и он готов был заплатить 1000р (именно столько стоит Heapar Essential Library .NET) и он хочет посмотреть, как он реализован. Я так понял, что он хочет написать что-то собтственное в виде движка отчетности как у Fast Report. Правда Fast Report очень хороший двиг и с ним тягаться будет тяжеловато.
Помимо этого исправлено несколько недочетов и пару ошибок, оптимизирована работа графики в трех компонентах и улучшин внешний вид компонента TabManager.
Злые вы. Вот сколько народу посещает мой блог и большинство из вас уже посетило мой сайт Digital Photo Workshop. Я уже давно использую 8-ю версию браузера IE, а сайт прекрасно выглядел в этой версии, а так же в сафари и в огненной лисице, но вот в 7-й версии IE разметку сайта просто рвало на части. Если кто видел это, то почему-то я не получил ни единого сообщения за пол года существования сайта.
Пару дней назад переустанавливали Windows жене после ремонта ноута и я сам заметил этот косяк. Если находите косяки, то пожалуйста, сообщайте через форму обратной связи на сайте. Если я не исправил, продолжайте пинать меня.
Кстати, судя по аналитике гугла, на данный момент на сайте побывало 399 человек. По моему времени сейчас 10 вечера, а это значит, что за ближайшие два часа блог стопудово и впервые привысит 400 посетителей за сутки. Причем должны будем серьезно превысить эту цифру. Ура товарищи!!! Надеюсь, что до конца этого года мы каждый день будем превышать эту цифру.
Совсем недавно я восхищался тем, какую крутую мышь придумали в Apple. Если кто не в курсе, то современные компьютеры Apple теперь поставляются с мышкой, поверхность которой является как бы тачпадом и реагирует на многоточечные нажатия и движения пользователя. Я поменял работу, и из-за этого никак не получается вырваться в Apple Store и увидеть эту мышь. Меня уже из России просили достать ее и выслать (сорри дима, очень занят был из-за сменя работы).
Сегодня случайно наткнулся на блог одного из разработчиков Microsoft, на котором увидел видео, где Microsoft Reserch рассказывает про свои много точечные мышки. Microsoft опять отстала, но как это часто бывает, сделала все круче, чем Apple.
Смотри видео в полной версии этой заметки. Выглядит очень круто, особенно в играх мне понравилось.
У PHP есть одна очень серьезная проблема. Возможности этого языка не безграничны. Когда возможностей не хватает, то PHP может обращаться к системе и использовать его функции. Это вообще является торговой маркой всего подхода Linux, где каждое приложение пишется так, чтобы оно выполняло одну небольшую функцию, но делало это очень хорошо. С одной стороны, эта функция выполняется отлично, с другой стороны, требования к безопасности повышается.
Каждый вызов системной функции из PHP – это переход из одной доверительной системы в другую со своими приколами и обломами. Получая параметры от пользователя, мы должны их проверить на безопасность. Любое обращение к системе является небезопасным и проверка параметров должна повторяться.
В случае с .NET и Windows вообще, то тут подход немного другой. Тут предпочитают строить все целыми платформами и переходы меж уровнями и доверительными зонами сводится к минимуму. Например, сама платформа .NET на столько мощная, что необходимость в обращении к системе минимальна. Если в PHP для выполнения операции ping нужно вызвать system, то в .NET можно использовать классы.
Последние три дня Internet Explorer начал меня сильно бесить. Среди недели было обновление Windows 7 и после него браузер постоянно говорит, что он падает. Просто сижу в интернете, что-нибудь читаю или смотрю, а тут появляется диалоговое окно, что Internet Explorer упал и ищет возможные решения проблемы в интернете. Конечно же он ничего не находит и появляется окошко с предложением закрыть браузер. Нажимаю закрытие - и нифига. Ничего не происходит, а браузер продолжает работать вполне корректно. Минут через 10 все может повториться.
Получается, что вроде бы ошибка есть, но ничего не происходит, а постоянное появление окна о том, что браузер хочет найти решение проблемы бесит. Сотрудники Microsoft, которые могут случайно заглянуть на этот блог - пожалуйста, добавьте в окошко рядом с кнопкой "закрыть программу" еще одну кнопку - "задолбал". По нажатию этой кнопки окно поиска проблем для данной проблемы больше не должно появлятся. От него смысла просто нету, все равно ничего не находят, а пользователей это раздражает.
Кто-нибудь еще встречался с этой проблемой в последние дни? Или я один лох сижу в IE?
Последние четыре дня я наблюдаю нереальный взлет посещаемости на сайте Professional Web Development. Раньше его посещало человек 5 в день, одним из которых был я :), но последние три дня посещаемость взлетела сразу до 60 человек в день. Причем все 100% народу зашли на сайт по собственной воли и через прямой линк. Ну бывали кратковременные взлеты, когда я писал заметку про этот сайт на этом блоге, но эти взлеты были не более двух дней, а тут посещаемость стабильно держится на уровне выше 60 человек в день.
Неплохо в рост пошел мой юморной блог. Но тут все более понятно, ведь этот блог я хоть немного, но продвигаю. На нем рост идет постепенный и плавный, а не за один день и сразу в 12 раз увеличение.
Сначала я подумал, что какой-то блог поставил на мой сайт ссылку, но не оформил ее в тег, поэтому она выглядит на странице как текст. Пользователям приходится вводить адрес вручную и поэтому аналитика видит такое заходы как прямые. Но когда четыре дня я вижу стабильное посещение, это не может быть ссылка на блог. Это что-то другое, но что...
Apple обошла своего конкурента Nokia на рынке смартфонов по прибыльности. При этом, в количественном показателе Nokia кажется все еще остается лидером. Когда я впоследнй раз натыкался на отчет о позиции производителей, то Nokia обходила Apple чуть ли не в два раза.
Если в количественном выражении Nokia так и продает намного больше гаджетов, чем Apple, перед системой продаж яблочного производителя нужно в очередной раз снять шляпу. Они умудрились продать устройство с в несколько раз завышенной ценой так, что при меньшем штучном выражении получить большую прибыль.
Немалую роль в прибыльности играет и качество продуктов. Очень часто компании несут неоправданные потери из-за отзывов устройств. Это очень дорогое удовольствие и не только с пристижной точки зрения. Apple за все время кажется только раз отзывала свои устройства в массовом порядке. Хотя там было намного больше проблем, компания умудряется выкрутиться из любых положений.
Помню меня как-то спрашивали, почему я использую Internet Exlporer. Сегодня читаю очередной обзор безопасности. Самым дырявым браузером оказался Firefox. Из всех найденых уязвимостей, 44% принадлежит именно огненному лису. На втором месте оказался Safari от Apple. Третье место поделили Internet Explorer и Opera и они набрали по 15%. И это при том, что IE намного популярнее, а Opera не так сильно интересует хакеров.
Мне лень скачивать что-то и устанавливать. Стандартный Internet Explorer меня вполне устраивает. А сейчас я понимаю, что он меня устраивает не только в плане браузинга, но и в плане безопасности.
Что нужно для интернета? Правильное отображение страниц и безопасность. Правильное отображение всегда будет в самом популярном браузере, даже если он нарушает стандарты. Дело в том, что WEB мастера будут делать сайты так, чтобы они корректно выглядели в популярном браузере, а не соответствовали стандартам. Получается, если конкуренты IE не смогут предоставить хотя бы сравнимое с Microsoft качество кода, то их популярность может начать падать.
Моя жена постоянно теряет пароли от всего подряд. У меня иногда складывается ощущение, что она вообще не пытается их запоминать. А зачем, ведь есть муж. Несколько дней назад она мне сообщила, что она в очередной раз забыла пароль от Mail.ru агента. Современные программы стали хорошо относиться к безопасности и прошли те времена, когда пароли так легко находились в реестре в открытом виде или шифровались простейшими XOR с чем-то простым. Ничего не пообещав жене, я все же принялся за поиски проблем.
Первое, что я стал просматривать – реестр. Современные правила построения программ требуют сохранения конфигурационной информации в реестре и это первое место, где следует искать что-то подобное. Конфигурация учетных записей действительно была в реестре, но только пароли (если я правильно определил их местоположения) были зашифрованы. Чем? Да фиг его знает.
Не надеясь ни на что хорошее, я решился проверить окно ввода пароля в самой программе. Запустил агента и вошел в окно конфигурации. Нашел поле для ввода пароля и натравил на него мою программку, которую я описывал в книгах: