От переводчика: Думаю, что статьи по архитектуре приложения и организации кода наиболее важны на начальном этапе, т. к., в отличие от всего остального, основу приложения поменять очень трудно. [Оригинал статьи]
Многие разработчики изо всех сил стараются организовать кодовую базу приложения, как только оно вырастает в размерах. В последнее время наблюдал это и в ангуляр и в яваскрипт приложениях, но исторически такая проблема присуща любым технологиям, включая Яву и многие флекс-приложения, с которыми работал в прошлом.
После года работы с большим проектом на AngularJS, думаю поделиться некоторыми, извлеченными в процессе, уроками. Во-первых, мне нравится Ангуляр. Он отлично удовлетворяет моим потребности и, думаю, полностью перейти на него в обозримом будущем, когда мне потребуется надежный фреймворк для одностраничного «толстого клиента». Он потрясающий. Над ним работает команда мирового уровня, сообщество фантастическое, и он содержит (или предлагает сообщество) целый комбайн функций для создания веб-приложений.
Хотел бы преподнести на суд общественности перевод одной чудесной статьи, в которой описаны базовые принципы программирования. Пару слов о том — зачем собственно это все и кому это надо? Отвечаю — последние несколько месяцев я, сам начинающий программист, активно пытаюсь переквалифицировать свою девушку из ее никому не нужной не перспективной экономической специальности в нашу развивающуюся IT-сферу. В этом нелегком труде мне приходится шерстить интернет в поисках в первую очередь интересных материалов, чтобы разбить ее стереотипы насчет того что код — это скучно и нудно. К моему глубокому сожалению, таких материалов не так уж много. Я уверен, есть огромное количество новичков, которые регулярно читают хабр и эта статья будет им крайне интересна и полезна.
Четыре месяца назад ребром встал вопрос о тексте для моего дипломного перевода. Результатом помощи коллективного разума стало решение переводить главу Scalable Web Architecture and Distributed Systems за авторством Kate Matsudaira. Нужно отметить, что это мой первый перевод такого объема и сложности. Текст, был мною относительно успешно переведен, хотя по качеству перевода я поставил бы себе 6-7 из 10. Дабы мои усилия не пропали втуне, публикую результат своих трудов.
В последнее время, я часто слышу мнения, что “Объем отправки писем это ключ к успеху в email-маркетинге!”. По своей сути, они означают, что отправка дополнительных email приводит к большей активности подписчиков, зарабатыванию большего числа денег, и, вообще, лучше (вне зависимости от того, что “лучше” значит для вас).
Их аргументы просты:
Мои данные показывают, что чем больше получает/открывает/кликает мою рассылку, тем больше денег я зарабатываю.
Так как я не могу волшебным образом “наколдовать” новые email-адреса, поэтому я должен чаще отправлять рассылки тем, кто уже есть.
Ведь если у вас есть адресная база в 10 000 адресов и каждый раз, когда вы отправляете по ним email, вы получите 100 заказов, то, отправив email на эти адреса два раза в месяц, а не один, вы ожидаете получить на 100 заказов больше, верно? Деньги у вас в кармане! Почему бы не пойти на это?
Безусловно, рассуждения верные. Но не все так просто.
Может быть, вы сможете увеличить частоту ваших рассылок для роста продаж, а может и не сможете. И вот почему: Активность подписчика (открытия, клики) зависит от частоты отправки рассылок. Чем больше вы отправляете, тем меньше подписчиков открывают ваши рассылки и кликают по ссылкам в них. А значит должна быть точка равновесия, в которой определенная частота рассылки максимизирует активность подписчика (а, следовательно, и ваши продажи).
Говорят, хорошо написанная программа на COBOL читается как роман. Даже не программист вполне сможет понять происходящее в программе на этом языке, что значительно упрощает обслуживание, если код написан грамотно. В мире, где некогда находить время для документирования программ, COBOL является в значительной степени самодокументируемым. Простой на первый взгляд, COBOL, который начинал свою историю листингом с нумерацией строк, позволяет создавать собственными средствами очень мощный код.
Однако, поможет ли это языку сегодня?
Мир компьютерных игр полон драматизма: великие идеи зарубают на корню криворукие менеджеры, а идеи, которые не смогли дотянуться до звания «великих», подвергают болезненной публичной эвтаназии. Именно поэтому рождение Diablo кажется еще более триумфальным. С самого начала ребятам сопутствовал успех, в том числе и в лице Стига Хелдунда (Stieg Hedlund), который помог им наладить рабочий процесс. Даже превращение компании Condor в Blizzard North за полгода до официального релиза не повлияло на дальнейшую популярность игры.
«Хотели бы вы зарабатывать больше денег?», «Сложно ли нанимать людей?», «Завалены почтой?», «Хотите улучшить свое здоровье и форму?»
Конечно же, большинство людей ответит на эти вопросы «да». Это прописные истины. Глобальные проблемы. И они не решаемы.
В очень многих стартапах путают глобальное видение (big vision) и попытки решить вселенские проблемы. Глобальное видение важно. Необходимо ставить высокие, благородные цели, направленные на то, чтобы изменить мир. Но, если вы утверждаете, что решаете глобальные проблемы, вы, скорее всего, не понимаете проблем реальных.
Весной 2012 г., Питер Тиль (Peter Thiel), один из основателей PayPal и первый инвестор FaceBook, провел курс в Стенфорде — «Стартап». Перед началом Тиль заявил: «Если я сделаю свою работу правильно, это будет последний предмет, который вам придется изучать».
Один из студентов лекции записывал и выложил транскипт. В данном хабратопике shellx переводит тринадцатое занятие, редактор astropilot.
Камера Люцида.
Это призма на палочке! Для создания реалистичных рисунков!
Раньше использовалась повсеместно.
Уже целые поколения ничего не знают о ней, камера давно не производится.
И мы её вернули. Действительно недорого.
Для художников и студентов во всем мире.