Блог

Актуальный язык программирования

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

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

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

Как красиво оформить file input тэг

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

Простейший выпендреж – поместить на форму рисунок кнопки, тут же рядом поставить поле для выбора фала: file. Код html будет выглядеть примерно так:

<button name=”decorbutton" class="decorbutton"/> <input type="file" />

Освобождение ресурсов в .NET приложениях

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

В общем, надеюсь, что вам будет интересно. Пока писал эту заметку, получилась целая статья и я ее перенес в соответствующий раздел.

Создание View для MVC в MonoDevelop

Сейчас работаю в MonoDevelop над MVC сайтом и пока мне в большинстве все нравится. Работать можно, и даже очень можно. Просто у меня другого выхода нет, ведь я пишу проекты под MacOS и на него Visual Studio поставить не получиться, а использовать виртуальную машину не хочу. Да и не вижу смысла, ведь MonoDevelop вполне нормальный для работы.

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

Радует только то, что View в MVC проекте не нужно создавать каждые пять минут. Но перезапускать среду разработки каждый день даже 4 раза все же не улыбает. Надеюсь, что скоро будет обновление. Но надежды умирают после нового года. Сейчас все же новогодние праздники, поэтому обновления скорей всего не будет. А жаль.

Переход на Microsoft MVC 3.0

Сейчас на работе делаю небольшой сайт для одной американской компании и делаю это с использованием Microsoft MVC 3.0. Ну что сказать, наконец Microsoft смогла создать реально хороший MVC. Не понимаю, что они так долго и нудно тупили.

Вообще не понимаю, о чем думали в MS, когда пытались втулить народу web Forms. Это же такое дерьмо, с которым работать нереально. Ничего крупнее блога писать на формах невозможно. Любой крупный сайт должен обязательно разделять код на Model, View и Controller. Не знаю, что упало на голову Microsoft, что они решили нарушить эту банальную истину и сделать все на основе форм.

В принципе, с формами тоже можно сделать разделение на Model, View и Controller, просто View получается на столько тупорылое, что с ним работать нельзя. Ведь View – это aspx файл, а котроллер – это привязанный к view файл кода – cs. Не все это поняли и я видел проекты, в которых явно роль view выполнял cs, а функции контроллера выносили на дополнительный промежуточный уровень между моделью и контроллером. В результате получалось еще большее фуфло.

Первые пытки в Objective-C

В общем, пытаюсь писать под iOS и ощущаю реальную пытку, потому что не привычен для меня Objective-C. Некоторые файлы пересоздаю по два раза, потому что постоянно забываю добавить префикс к имени. В то время, как американцы хвастаются тем, что они смогли приземлиться на луну (ну я им очень сильно верю), они не смогли добавить в Objective-C такую банальную вещь, как пространства имен. Теперь приходиться именовать свои файлы и классы так, чтобы не дай бог не получить конфликт имен.

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

Перспективы программирования под Apple

Один знакомый программист сказал мне одну очень умную штуку. В наше время, большая часть разработки приложений уходит в Индию, где нормо-час дерьмопрограммиста стоит 18 долларов. Некоторые особо рисковые американцы идут на такой риск ради экономии, ведь в США нормо-час программиста до 10 раз дороже. В Нью-Йорке в серьезных конторах нормо-час программиста превышает 200 долларов.

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

Но что не пойдет в офшор, так это iOS разработка. Она пока ведется в основном на североамериканском континенте. Во первых, это связано с дороговизной разработки. В принципе, сама среда бесплатна, но для того, чтобы писать для iPad или iPhone, нужно как минимум купить компьютер Mac. Умельцы ставят MacOS на писюшное железо (благо процессор один и тот же), но слышал, что работает такое счастье нефантаново.

Objective-C

Сегодня получил интересный вопрос:

Здравствуйте Михаил! Хотел поинтересоваться, как идут дела с программированием на Objective-C? Вы ходили на курсы, отписывали как они проходят, но закончив курсы больше Objective-C не вспоминали, или я не прав?

Да, действительно я больше не писал про Objective-C, просто потому, что не использую его. Меня направили на курсы, потому что на работе предполагается много работы в этой сфере. Как я уже много раз говорил, в Канаде iPad менапопулярен и планшеты на андроиде я пока ни у кого не видел. Может мне так везет, но я специально ради спортивного интереса стал поглядывать даже в метро на то, чем пользуется народ. С удивлением на прошлой неделе заметил одного мужика с Asus на Windows, а в остальном вижу только iPad.

Отладка программ - метод утенка

Сегодня на сайте журнала хакер прочитал очень интересный метод решения сложных задач. Если не можешь что-то решить, то нужно делегировать задачу мысленному помощнику (резиновой желтой уточке для ванной). Вроде бы так советует делать какая-то книга "Программист прогматик". Лично я ее не читал, но метод в чем-то имеет смысл.

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

Microsoft MVC

На работе дали новый проект, чтобы я размялся от основного проекта, над которым работаю не покладая пальцев уже два года. В моем проекте мы используем корпоративную MVC, а тут для этого проекта нужно использовать MVC от Microsoft. В пятницу запустил устанавливать последнюю Web Developer и бросил компьютер включенным, ушел домой. Сегодня пришел, а программа установки предлагает установить еще кучу фуфла для Web Developer. Ну фиг с ним, я согласился. На установку еще 6 пунктов каких-то дополнений ушло еще 3 часа.

Парень на работе из нашей команды тоже должен работать над этим проектом и запустил ту же установку. У него она шла 5 часов и он не выдержал и остановил. Подозреваю, что нужно было отключить Mac Afee, потому что он может тормозить, но мы далеко не боги в системе и не можем останавливать антивирусы сами.

О блоге

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

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

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

Пишите мне