Некоторое время назад, в силу определенных причин, мне пришла в голову мысль о том, чтобы начать изучать какой-нибудь новый язык программирования. В качестве альтернатив для этого начинания я определил два языка: Java и Python. После продолжительного метания между ними и сопутствующих нытья и долбежки головой о стену (у меня с новыми языками всегда так — сомнения, раздумья, проблема выбора и т.д.), я все-таки остановился на Python. Окей, выбор сделан. Что дальше? А дальше я стал искать материал для изучения…
Роман Дёгрик @Cassum
User
Почему возникают теории заговора и как с ними бороться
8 min
94KВ наш жидомасонский век заговоров и конспирологических теорий человеку бывает трудно понять что же на самом деле вокруг него происходит. И дело здесь не столько в ТВ, советских газетах и американских интернетах. Собака зарыта в природной тяге человека всё объяснять и классифицировать — тяга, которая так же сильна, как тяга поесть, или поспать. Понять, что происходит сейчас — значит предсказать, что будет происходить потом, — что, в свою очередь, позволит повысить вероятность выживаемости.
Благодаря многовековом процессу эволюции, среди нас остались только самые способные к обучению. Кто не обучался, тот погибал. Поэтому за всё это долгое время человек выработал свою собственную систему обучения, основной принцип которой заключается в паттернах.
Принцип действия этой системы самообучения довольно тривиален: все, что случается больше 1 раза — является кандидатом на то, чтобы стать паттерном. Все последующие паттерны, как правило, основываются на базе уже имеющихся паттернов. Так, начинающий горнолыжник будет обучаться езде на лыжах с помощью уже имеющейся у него информации о координации тела в пространстве, которую он мог получить либо научившись до этого кататься на велосипеде, либо же, например, научившись до этого кататься на коньках. Если же не было ни велосипеда, ни коньков, и вообще ничего, то обучение будет проходить на основе имеющейся у человека добытой опытным путем информации о прогулках в парке, или беге по кругу стадиона во время уроков физкультуры. Очевидно, что в таком случае обучение будет проходить значительно медленнее, чем если бы у человека уже был опыт занятий, максимально приближенных к спускам на горных лыжах. Конечно, бывают исключения, когда человек, например, заучил неправильный удар, который он отрабатывал дома годами, а потом попал к тренеру, который хватается за голову и говорит «лучше б ты пришел совсем без навыков (неправильных паттернов), чтоб я с нуля из тебя вылепил бойца». Здесь важно понимать, что такого рода дефективный паттерн, или антипаттерн будет даже мешать скорейшему обучению человека. В данном конкретном случае, модель «чем больше паттернов, тем лучше» — не работает.
Но в целом, если у человека есть толика сознательности и он соблюдает диету на правильные паттерны, то количество этих освоенных паттернов в его голове неуклонно будет повышать скорость обучения новым паттернам — человек будет схватывать на лету.
Паттерны, как основа самообучения
Благодаря многовековом процессу эволюции, среди нас остались только самые способные к обучению. Кто не обучался, тот погибал. Поэтому за всё это долгое время человек выработал свою собственную систему обучения, основной принцип которой заключается в паттернах.
Принцип действия этой системы самообучения довольно тривиален: все, что случается больше 1 раза — является кандидатом на то, чтобы стать паттерном. Все последующие паттерны, как правило, основываются на базе уже имеющихся паттернов. Так, начинающий горнолыжник будет обучаться езде на лыжах с помощью уже имеющейся у него информации о координации тела в пространстве, которую он мог получить либо научившись до этого кататься на велосипеде, либо же, например, научившись до этого кататься на коньках. Если же не было ни велосипеда, ни коньков, и вообще ничего, то обучение будет проходить на основе имеющейся у человека добытой опытным путем информации о прогулках в парке, или беге по кругу стадиона во время уроков физкультуры. Очевидно, что в таком случае обучение будет проходить значительно медленнее, чем если бы у человека уже был опыт занятий, максимально приближенных к спускам на горных лыжах. Конечно, бывают исключения, когда человек, например, заучил неправильный удар, который он отрабатывал дома годами, а потом попал к тренеру, который хватается за голову и говорит «лучше б ты пришел совсем без навыков (неправильных паттернов), чтоб я с нуля из тебя вылепил бойца». Здесь важно понимать, что такого рода дефективный паттерн, или антипаттерн будет даже мешать скорейшему обучению человека. В данном конкретном случае, модель «чем больше паттернов, тем лучше» — не работает.
Но в целом, если у человека есть толика сознательности и он соблюдает диету на правильные паттерны, то количество этих освоенных паттернов в его голове неуклонно будет повышать скорость обучения новым паттернам — человек будет схватывать на лету.
+17
Создавай музыку из чего угодно
4 min
16KTranslation
Ototo это устройство позволяющее сделать любой предмет музыкальным инструментом.
В нем есть все необходимое для создания «интерактивного» звука. По сути это синтезатор, который содержит 12 входов для подключения различных предметов, в том числе сенсорных.
+20
Бесплатная книга «Game Programming Patterns» от программиста Electronic Arts Боба Найстрома
1 min
84KБоб Найстром, программист, проработавший восемь лет в компании Electronic Arts, закончил работу над книгой «Game Programming Patterns». Она доступна бесплатно на сайте gameprogrammingpatterns.com. Писать книгу Боб Найстром начал четыре года назад. Большинство книг, посвящённых программированию игр, говорит он во введении, либо подробно раскрывают какой-то из аспектов создания игры — физический движок, графику, искусственный интеллект, либо описывают процесс создания игры в определённом жанре от начала до конца. Ему очень не хватало книги, рассказывающей о решении типовых задач, возникающих перед программистом, книги достаточно универсальной, не привязанной к жанрам или конкретным подсистемам игр. И поэтому он решил написать такую книгу сам.
+93
Настройка Vim для работы с Python и Django
4 min
46KVim — уникальный по своей гибкости редактор, который при должной настройке может едва ли не идеально удовлетворять все пожелания работающего с ним. Правда эта настройка может продолжаться месяцы, а то и годы, что является и достоинством, и недостатком vim’а. Существует множество статей и туториалов по использованию Vim для разработки на Python и Django, надеюсь мне удастся рассказать что-то новое. В своей статье я постараюсь по минимуму упоминать плагины общего назначения, вроде NERDTree или surround.vim и опишу несколько более специализированных расширений и настроек, которые существенно упростили процесс работы на Python.
+61
Простой блог с комментариями на Django: разработка и развертывание для самых маленьких
7 min
162KTutorial
Данная статья предназначена для новичков в web-программировании и освещает вопросы разработки блога на Django с использованием Twitter Bootstrap и его развертывания на бесплатном хостинге PythonAnywhere. Я старался написать как можно более проще и понятнее. Более опытным пользователям данное чтиво не расскажет ничего нового, да и некоторые приемы возможно покажутся неэффективными.
+22
Материалы продвинутого уровня по Питону
5 min
43KВ мире все примерно распределяется в соответствии с принципом Паретто. Меньшая часть — богатые, большая часть — бедные (читающий, ты входишь в золотой миллиард). Тоже касается и материалов о программировании. Порой очень сложно найти хоть что-нибудь не начального уровня.
После прочтения Dive into Python или подобной ей и ознакомления с документацией возникает вопрос, а что читать дальше? Можно обратиться к списку книг на python.org. Там есть раздел Advanced Books, но в нем всего лишь 6 книг (седьмая не выходила), и только одну я бы назвал по-настоящему стоящей.
К счастью, у Питона есть очень подробная и качественная документация. Но даже в ней многие темы либо только поверхностно затронуты, либо их очень сложно найти (потому что документация большая, и если не знаешь, куда смотреть, не найдешь).
Ниже собраны сложные материлы про Питон, его устройство и возможности. Все на английском (грех, не знать технический английский). Про Dive into Python я слукавил. Большинство приведенных материалов требуют хорошее знание Питона и наличие опыта программирования на нем.
После прочтения Dive into Python или подобной ей и ознакомления с документацией возникает вопрос, а что читать дальше? Можно обратиться к списку книг на python.org. Там есть раздел Advanced Books, но в нем всего лишь 6 книг (седьмая не выходила), и только одну я бы назвал по-настоящему стоящей.
К счастью, у Питона есть очень подробная и качественная документация. Но даже в ней многие темы либо только поверхностно затронуты, либо их очень сложно найти (потому что документация большая, и если не знаешь, куда смотреть, не найдешь).
Ниже собраны сложные материлы про Питон, его устройство и возможности. Все на английском (грех, не знать технический английский). Про Dive into Python я слукавил. Большинство приведенных материалов требуют хорошее знание Питона и наличие опыта программирования на нем.
+130
Три ключевых принципа ПО, которые вы должны понимать
13 min
224KTutorial
Translation
Разрабатывая приложения, мы постоянно сталкиваемся с новыми подходами, языками и концептами. И постоянно мы мечемся в сомнениях «смогу ли я быть на волне, оставаться конкурентоспособным, учитывая все изменения и тренды?». Давайте задумаемся на мгновение, вспомнив фразу из моего любимого фильма «Касабланка» — в любви законов новых нет — так создан свет.
Все, что касается любви, применимо и к коду. Новых законов в коде нет. Если вы четко понимаете основные идеи разработки, вы способны максимально быстро адаптироваться к новым подходам. В этой статье я расскажу вам о трех основных принципах, которые, наряду с другими, позволяют регулировать сложность разработки. Я поделюсь своим видением вопроса, которое, надеюсь, поможет вам в повседневной работе.
+114
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity