Пограммирование, электронная почта и велосипед

от автора

Преамбула

Привет, Хабр! Сегодня мой день рождения, мне исполнилось 36 лет, но я верю, что менять свою жизнь никогда не поздно.

Программирование

История эта началась больше года назад… Хотя, если быть точным, началась она гораздо раньше, а если ещё точнее — в детстве. Я всегда увлекался компьютерами, хотя когда это увлечние только начиналось, это были даже не персональные компьютеры, а программируемые калькуляторы. Про компьютеры я только слышал и мечтал (и, кажется, видел их по телевизору), но калькуляторы и программирование уже очаровали меня. Тогда я написал свою первую “программу” на калькуляторе. Конечно, это было что-то столь же полезное, сколь и примитивное, но сам процесс и, главное, результат были для меня просто каким-то волшебством!

Вскоре я узнал про Бейсик, после мнемонического языка калькулятора он выглядел как Квейк после Дума — с компьютером можно разговаривать практически на человеческом языке! Я начал программировать на Бейсике. В тетрадке.

В школе на уроках информатики, когда десяток “Электроник” загружался с центрального компьютера преподавателя и это занимало несколько минут, я просил не “гонки”, а Бейсик, и, проникшись уважением, молодой преподаватель загружал мой компьютер первым.

В 1992 у меня появился первый “настоящий” компьютер — ZX-Spectrum. Я начал изучать Ассемблер. Вместо “Хроник Амбера”, которыми увлекался мой друг, я зачитывался практически самиздатовским справочником по Ассемблеру Z80, который выпускала редакция существовавшего тогда журнала “ZX-Ревю”. Я даже поучаствовал в создании электронного журнала для Спектрума, правда, в качестве художника, но это уже другая история.

Всё это звучит как начало истории какого-нибудь успешного программиста, какого-нибудь Джека Дорси, например (я скромный и специально выбрал его, а не Марка Цукерберга), правда? Но не в моём случае. Дело в том, что по разным причинам я совершенно не дружил ни с алгеброй, ни с физикой, ни даже с химией. Отчасти потому, что часто пропускал школу и потом не мог (а скорее, не пытался) догнать материал. Поэтому как-то само собой я превратился в “гумманитария”, а математика и прочие точные науки стали, вроде как, “не мои”. К тому же у нас в городе был педагогический институт, в котором был иняз, и там считалось “престижно” учиться, а у меня как раз английский вроде стал получаться… В итоге я поступил на иняз и стал больше увлекаться музыкой (играл на гитаре) и компьютерными играми, чем программированием. Да и ведь математика же — “не моё”. А вид синтаксиса того же “Си” наводил на мысли о чём-то недоступном простому смертному и порождал вопросы вроде “А есть ли жизнь без GOTO”?

Почти всю жизнь я проработал переводчиком, что, само по себе, конечно не прошло зря — хотя бы потому, что я получил возможность хорошо освоить английский язык, побывал в разных интересных местах и повидал разных интересных людей, но где-то году в 2009 я попробовал написать свой плагин для ВордПресса на php и у меня получилось! Тогда я первый раз почувствовал, что не боги горшки обжигают.

To be or not to be

Короче говоря, почти два с половиной года назад в моей жизни произошли два важных, можно даже сказать, ключевых события: я переехал на ПМЖ в Санкт-Петербург, я решил стать программистом.

Во-первых, раз уж я в Санкт-Петербурге, я решил поступить на вечернее отделение Политеха по направлению “Информационные системы и технологии”. Я честно закончил три семестра, но на 4-м ушёл, так как стало жалко времени, но и это не прошло зря — я понял, что математика с физикой вполне даже “моё”, почему я их так боялся в школе? Эх… Я стал сносно разбираться в высшей математике и мат. анализе и даже по-своему полюбил их!

С началом обучение, я начал задумываться о дальнейшем трудоустройстве: каковы мои шансы? Джуниор в 38? Без опыта работы? Когда вокруг столько таких же неопытных, но, хотя бы, молодых? Не смешите мои тапочки. Но что делать? Получать опыт.

Велосипед и электронная почта

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

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

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

В итоге я пришёл к тому, что начал просто отправлять то, что нужно сохранить, себе же на почту, потому что единственное приложение на ноутбуке, которое у меня открыто всегда — это браузер, а в браузере всегда открыты несколько вкладок: поисковик, RSS-читалка и почта. Поэтому, отправить письмо — это самое простое. А на том же айпаде, например, отправка на почту иногда является чуть ли не единственным приемлемым вариантом «экспорта» информации.

Тогда я и решил, что для тренировки и получения опыта я сделаю для себя Млог (mlog, MailLOG) — простой инструмент для создания и хранения записей на базе электронной почты: отправляешь письмо, и его содержимое сохраняется на твоей страничке. Затем начали появляться мысли и о том, что, может быть, такой сервис будет полезен ещё кому-то? В любом случае, даже если это окажется очередным велосипедом, это будет полезно в первую очередь мне самому, как с точки зрения наработки опыта, так и просто как моя личная записная книжка. Я уволился с работы, рассудив, что деньги пока есть, а время стремительно уходит, и принялся за работу.

Mlog

image

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

Это же, всё-таки, Хабр!

Основная часть Млога работает на Django.
Доставкой и отправление писем занимается Mailgun.
Есть ещё один маленький серверок на Node, который выполняет предварительную обработку сообщений от Mailgun и сохраняет их в базу, после чего ими уже занимается Django.

Вот и весь стек. Всё это дело хостится на двух “инстансах” Heroku. Можно было обойтись и одним, без части Node.js, но я заранее попытался подумать о некой “масштабируемости” (ха-ха). Мало ли что, ну и для практики, опять же. Ещё предусматривается вариант с использованием Celery для асинхронного фонового выполнения задач. Но пока решил обойтись без него, хотя для его внедрения практически всё готово.

Подробнее о возможностях Млога можно узнать из небольшой презентации и справки.

Если вдруг кто заинтересуется, предупреждаю, что сервис ещё сыроват, наверняка есть неотловленные баги, так что прошу относиться с терпением и о багах сообщать либо тут, либо на support@mlog.in.

Я с удовольствием отвечу на ваши вопросы в комментариях и с большим интересом выслушаю пожелания и впечатления о Млоге.

P.S.

Что я собираюсь делать дальше? Расти и развиваться!

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

Я начал изучать Objective C (кстати, могу порекомендовать книгу “iOS Programming” из серии The Big Nerd Ranch Guide, 4 издание), и мне даже показалось, что писать нативные приложения под iOS проще, чем веб-приложения, потому что нет такой разницы между браузерами, нет CSS, нет сотен тысяч фреймворков. Возможно, мне так показалось из-за недостатка опыта, не знаю, но впечатление пока такое. Планирую написать приложение, пока подбираю интересную идею, для наработки опыта тоже не помешает.

В общем, я понял, что программирование — это то, чем я хочу заниматься. Я каждый день узнаю что-то новое, в чем мне, опять же, помогает моё переводческое прошлое, так как 99% подобной информации я поглощаю на английском. Мне нравится учиться этому и я многое хочу в этой области попробовать.

Эпилог

Позволю себе дать небольшой совет сомневающимся. Если вдруг на вас навесили ярлык “гумманитарий” (или наоборот — “технарь”) или вы считаете, что какая-то область знаний или деятельности недоступна вам по определению и что даже пытаться не стоит, но вам всегда хотелось попробовать себя в чём-то новом, отбросьте все сомнения! Главное — усердно трудиться, и всё получится! Пробуйте, дерзайте!

Интересно, ляжет ли Млог под хабраэффектом? 🙂

P.P.S. К сожалению, для хаба «Я пиарюсь» не хватило кармы.

ссылка на оригинал статьи http://habrahabr.ru/post/231467/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *