30 сентября 2009 г.

Чем занимаются программисты в провинции

"Никто не обнимет необъятного" (Козьма Прутков)

Сегодня профессия программиста - это практически необъятная область знаний. Количество языков программирования, сред разработки программного обеспечения, различных парадигм программирования так велико (и все это еще и быстро эволюционирует), что познать все это одновременно одному человеку становится непосильной задачей. Добавьте сюда огромное количество предметных областей, для которых разрабатывается программное обеспечение. А участие в создании или сопровождении софта, как ни крути, подразумевает знание предметной области. В общем, свою мысль я уже выразил цитатой Козмы Пруткова: стать специалистом во всех областях невозможно! И подкреплю сказанное еще одной его же цитатой:

"Плюнь тому в глаза, кто скажет, что можно обнять необъятное!" (Козьма Прутков)

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

19 сентября 2009 г.

Планы по благоустройству дневника

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

Хочу сказать, что процесс шел бы гораздо быстрее, если бы не особенности шаблонов Blogger'a. Шаблон сделан на основе XML, и ни Dreamweaver, ни HomeSite его не понимают. Редактирую его вручную прямо здесь же в Blogger'e, без подсветки синтаксиса. В общем, неудобно. А тут еще эти специфические теги. Документацию к ним нашел не сразу, пришлось разбираться интуитивно. Впрочем, теперь уже справляюсь, поскольку шаблон делаю не "с нуля", а перекраиваю и перекрашиваю из того, что сейчас на тебе.

15 сентября 2009 г.

Мой путь в профессию программиста (часть 4)

Продолжение. Начало:
Мой путь в профессию (часть 3)
Мой путь в профессию (часть 2)
Мой путь в профессию (часть 1)
В самом начале моей программистской карьеры я был готов писать что угодно и на чем угодно, лишь бы заниматься любимым делом. Сказали бы писать операционную систему на Ассемблере, я бы, наверно, согласился. Неизвестно, конечно, что бы из этого получилось, но настрой был именно такой - что угодно и на чем угодно. Материальный вопрос тоже стоял не на последнем месте. Но я понимал, что главное начать работу и закрепиться в профессии.

Специфика трудоустройства в провинции такова, что работы нет ни хрена. Даже сейчас, имея за плечами почти десятилетний опыт работы, найти достойное место работы было бы непросто. А 10 лет назад для меня, начинающего специалиста без опыта работы, это было практически нереально. Я прекрасно понимал, что с чистой трудовой книжкой и дипломом инженера-[специальность] я выглядел, мягко говоря, не очень привлекательно в роли соискателя на должность программиста.

13 сентября 2009 г.

День программиста стал официальным праздником!

Помню, лет 6-7 назад я впервые узнал о том, что в 256 день года празднуется профессиональный праздник программистов - День программиста. Но, честно признаюсь, я о нем постоянно забывал. А все, видимо, потому, что праздник-то был неофициальный, самопровозглашенный, так сказать.

Но вот свершилось. 11 сентября 2009 года наш президент Д. А Медведев своим указом установил новый профессиональный праздник - День программиста, который будет отмечаться в 256-й день года, то есть 13 сентября в обычный год и 12 сентября в високосный.

12 сентября 2009 г.

Для чего нужны транзакции

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

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

10 сентября 2009 г.

Мой путь в профессию программиста (часть 3)

Продолжение. Начало:
Мой путь в профессию (часть 2)
Мой путь в профессию (часть 1)
Первый семестр в аспирантуре - это был просто праздник какой-то, а не учеба. Каждый аспирант должен был сдать экзамены так называемого "кандидатского минимума" - философию, иностранный язык и специальность. Специальность обычно никто не сдавал, ставили так. Ну, а философию с иностранным - по полной программе.
Занятия проходили два раза в неделю по две пары - лекция по философии и практика по языку. В остальное время - свободен, как птица. Правда, еще полагалось за этот семестр провести всесторонний обзор исследований по теме диссертации. Все это я исправно выполнял, но все равно еще оставалась масса свободного времени. И оно было с удовольствием потрачено... на личную жизнь. :)

2 сентября 2009 г.

Мой путь в профессию программиста (часть 2)

Продолжение. Начало:
Мой путь в профессию (часть 1)
Первый курс университета прошел под флагом фундаментальных и общетехнических дисциплин. "Высшая математика", "Начертательная геометрия", "Вычислительная техника и программирование" - многие мои однокурсники разбили лбы об эти непростые науки. После первого курса наши ряды поредели процентов на 30. Я, наоборот, чувствовал себя как рыба в воде и сдавал все на "отлично".
Предмет "ВТ и программирование" пользовался на факультете особой нелюбовью. Нелюбовь скорее была не столько по отношению к предмету, сколько к преподавателю. Я же, несмотря ни на что и ни на кого, всегда с нетерпением ждал лекции, а особенно лабораторные работы по "вычтехнике". Для меня это была очередная ступень к познанию любимого дела.