
Ro
31.08.2018
15:01:10
Открою флудовыхи:
===
Ваше преимущество
Прежде чем мы приступим к созданию вашей первой программы, важно будет упомянуть о том, что к программированию не относится. Любой человек имеет разный набор жизненного опыта. Возможно кто-то пришел в программирование из музыки, кто-то из финансов. Любому музыканту будет в разы проще написать программу для обучения людей нотной грамоте. Финансисту будет проще написать программу для учета торгового баланса. В чем заключается ваше преимущество?
По мере изучения языка руби постоянно будет возникать вопрос о создании вашей собственной программы или серии программ по вашим идеям. Это необходимо по следующим причинам.
Во-первых, любая программа обычно решает какую-то бизнес-задачу. Программистам платят деньги за то, что они оптимизируют бизнес-процессы, упрощают реальную жизнь, сокращают время, которые люди тратят на какие-либо действия. Например, представьте себе очередь в каком-нибудь государственном учреждении в 1986 году. Много людей собрались в зале ожидания и ждут своей очереди. А теперь представим что есть программист, который написал программу “электронная очередь”. Через сеть Интернет любой человек может записаться на прием, прийти ровно к назначенному времени, а время, которое он провел в очереди, он потратит, например, преподавая урок математики школьникам.
Экономическая выгода очевидна: время, проведенное в очереди, теперь тратится с пользой. А все из-за того, что был создан какой-то полезный сайт. То же самое и с вашими знаниями. Знания какой-либо предметной области уже являются ценным активом. Попробуйте увидеть ваше преимущество, подумать о том, каким образом вы могли бы улучшить мир. Хорошо если у вас будет несколько идей, записанных на бумаге. По мере работы с этой книгой, вы можете к ним возвращаться и задавать себе вопрос: а могу ли я это реализовать с помощью руби?
Во-вторых, используя свое преимущество в какой-либо области, вы сможете создавать программы просто для демонстрации своих знаний. Даже самая простейшая программа, которую может написать профессиональный музыкант, будет вызывать восторг у программистов с большим опытом, которые музыкантами не являются.
Не выбрасывайте свои программы, даже самые наивные из них можно будет в будущем улучшить. Они также пригодятся когда вы будете искать работу, иметь на руках хоть какой-то образец кода намного лучше, чем вообще его не иметь. Ваши программы могут казаться незначительными, но при приеме на работу играет роль не отдельная программа, а совокупность всего, что вами было продемонстрировано: знания программирования, написанные программы, резюме, знания предметной области, активный GitHub аккаунт, активный блог по программированию в Интернете.
В-третьих, если вы не работаете над своим проектом, то ваш успех зависит от случайности. Сложно предсказать в какой именно коллектив вы попадете, какие стандарты качества создания программных продуктов будут в вашей компании. Человеку свойственно надеяться на лучшее, но практика показывает, что в реальной жизни все немного иначе, и успех часто зависит от случайности.
Досадно попасть в компанию с бюрократическими сложностями, досадно попасть в коллектив с низкой технической квалификацией. Более того, начинающий программист может даже не распознать эти признаки, и как следствие - депрессия и разочарование в выбранном пути. Но на самом деле программирование должно доставлять удовольствие. И свой собственный проект это ваш ориентир, показатель роста вашего уровня и страховка от случайности.
В любой сложной ситуации на вашей новой работе вы сможете сказать себе "да, может быть я не очень продуктивен на этой работе, но вот мой проект, и вот демонстрация моей технической квалификации. Скорее всего дело не во мне, а в чем-то другом". Более того, этот аргумент можно всегда использовать для диалога с вашим менеджером, а сам проект добавить в резюме. Ваш проект зависит только от вас, и существует отличная от нуля вероятность, что ваш собственный проект начнет приносить вам деньги.
===
^ отрывок из книги http://rubyschool.us/book/

Andrey
31.08.2018
15:45:37
Кажется опоздал серьезный вопрос спросить ?
Спрошу все равно вдруг кто хорошо SQL знает.
Короче у меня большой запрос из многих однотипных джоинов, и мне хочется как то типа в функцию выделить кусок запроса, чтобы пхнуть параметр и получить подзапрос с учетом этого параметра. Но функции я так понимаю вещь глобальная они сохраняются насовсем, а мне хочется чтобы оно только здесь и сейчас было. Как сделать?
Типа мне надо получить запросы
SELECT id
FROM users
WHERE role={какая то переменная}
и я такой делаю join table("admin") join table("manager") и все работало без шаблонного кода )