Pull to refresh
18
0
Илья Госс @goss

Преподаватель

Send message

Алгоритм чтения книг по программированию

Reading time3 min
Views52K

Всем привет. Меня зовут Борис, уже несколько лет я увлекаюсь теорией обучения и запоминания — тем, как работает мозг с новой информацией. Сегодня я поделюсь своим способом читать книги.


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


Алгоритм для обычных книг


Всё очень просто:


  1. Читаем автора и название;
  2. Задаем вопросы, ответы на которые мы хотим найти в книге;
  3. Пролистываем: разглядываем картинки, цитаты;
  4. Читаем содержание, оглавление, аннотации;
  5. Читаем книгу (чем быстрее, тем лучше);
  6. Выделяем основную тему;
  7. Выделяем факты и новизну;
  8. Пролистываем книгу;
  9. Опционально: записываем в табличку в экселе, о чем книга, кто ее посоветовал, стоит ли перечитывать и почему.

Если через полгода нужно будет вспомнить, что было в той книге, ее можно будет просто пролистать — этого будет достаточно. Работает отлично с книгами по психологии, переговорам, маркетингу, etc.


Увы, читать таким способом книгу Дэвида Флэнэгэна «JavaScript. Подробное руководство, 6-е издание» или ng-book бессмысленно и бесполезно. В голове не останется ничего, а время потеряется. И вообще, техника скорочтения для подобных книг скорее вредна, чем полезна.

Читать дальше →
Total votes 31: ↑24 and ↓7+17
Comments20

Рейтинг языков программирования в 2016 году

Reading time3 min
Views182K


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

Для того, чтобы показать, какие языки программирования более востребованы или распространены на данный момент, ряд организаций ведут собственные рейтинги. Данные этих рейтингов берутся из ряда источников данных. Это форумы, предложения работы для программистов, упоминания в социальных сетях, опросы, репозитории кода. Такого рода рейтинги полезны для отслеживания трендов. В продолжении — несколько рейтингов, которые считаются наиболее авторитетными.
Читать дальше →
Total votes 29: ↑24 and ↓5+19
Comments102

ES5 руководство по JavaScript

Reading time25 min
Views91K

JavaScript quality guide


С помощью советов предложенных в данном руководстве вы будете писать код, понятный любой команде разработчиков.

От переводчика


Всем привет, с вами Максим Иванов, и сегодня мы поговорим о правилах оформления кода на языке JavaScript. Николя Бэвакуа (Nicolás Bevacqua), автор книги «Дизайн JavaScript-приложений» (JavaScript Application Design), разработчик из Аргентины, опубликовал данное руководство достаточно давно, первая запись появилась еще в 2014 году, многое написано по стандарту ES5, однако, в наши дни это все равно актуально, сейчас, когда ES6 еще нигде полноценно не работает без babel и прочих транспайлеров. Хотя мы видим прогресс в топовых десктопных браузерах (Google Crhome, Firefox), где уже реализовано 70-90% задуманного, мы видим, что они стремятся поддерживать новый стандарт, но, к сожалению, ещё нет браузеров, которые полностью могли бы поддерживать ES6. К слову, я буду очень рад вашим комментариям. В общем, удачи и давайте начнем.
Читать дальше →
Total votes 29: ↑23 and ↓6+17
Comments35

Несколько полезных кейсов при работе с массивами в JavaScript

Reading time5 min
Views38K
Очень часто на тостере вижу вопросы вида «Как отсортировать массив в JavaScript по определенному правилу?», «Как сделать с массивом в JavaScript <действие>?» и т.д.

Под катом собраны некоторые манипуляции над массивами.
Читать дальше →
Total votes 25: ↑19 and ↓6+13
Comments36

История бесконечного города. На Three.js

Reading time5 min
Views32K
WebGL — одна из самых интересных новых технологий, которая способна удивительным образом преобразовать интернет. На базе этой технологии уже создано несколько движков, которые позволяют без лишних усилий создавать удивительные вещи, и наиболее известный из них Three.js. Познакомится с ним было моим давним желанием, и лучший способ сделать это — создать что-нибудь интересное. Первой идей было набросать “воодушевляющую” сцену на Three.js содержащую как большое количество полигонов, источников освещения и частиц, так и имеющую, при этом, какой-то осмысленный контекст. Вскоре, эта идея превратилась в желание создать бесконечный город в который можно было бы погрузиться сквозь браузер.

Стоит сказать, что статья посвящена не всему построению целиком, а лишь решению наиболее интересных проблем, с которыми пришлось столкнуться по мере создания сцены.

image
Читать дальше →
Total votes 46: ↑45 and ↓1+44
Comments28

Лучшие инструменты для JavaScript-разработчика

Reading time8 min
Views52K


Регулярно появляется какая-нибудь JS-библиотека, которую начинают шумно обсуждать на всевозможных форумах. Сначала постепенно нарастает энтузиазм, а затем сообщество быстро делится на противоборствующие лагери, по-разному относящиеся к новинке. Было бы просто невероятным подвигом рассмотреть все распространённые JS-фреймворки и библиотеки, поэтому хотим предложить вам список самых популярных и оказавших наибольшее влияние инструментов для фронтенд-разработки. А заодно дадим некоторые рекомендации по их использованию.

Но прежде чем перейти к делу, хотим уточнить:

  • Не нужно ломать копий, если в этот список не попали какие-то из ваших любимых фреймворков или библиотек.
  • Следите за обновлениями используемых вами инструментов. В последнее время начала активно внедряться кроссбраузерная и кроссаппаратная (cross-device) поддержка. Например, можно воспользоваться сканером, который подскажет, совместимы ли более старые версии с большинством устройств.

Читать дальше →
Total votes 40: ↑23 and ↓17+6
Comments12

ShareJS или как сделать свой Google Wave c OT и NodeJS

Reading time4 min
Views10K


После двух лет работы над OT (техника разрешения конфликтов при совместном доступе к данным) для Google Wave, Джозефу(Joseph Gentle) пришла в голову идея, что для тех, кто захочет сделать аналогичный продукт, потребуется ни чуть не меньше времени. Чтобы как-то помочь этим людям и поделиться знаниями была написана библиотека ShareJS, представляющая собой реализацию OT на основе NodeJS. Также есть C-реализация.


Дак как мне уже запилить свой Wave?
Total votes 40: ↑34 and ↓6+28
Comments16

Реализация сортировки в V8 от Google

Reading time6 min
Views39K
image
Привет, Хабр.

Мир javascript развивается с невероятной скоростью: новые стандарты языка, новые фреймворки, и в браузере, и на сервере и в десктопных приложениях и так далее… Но иногда хочется вместо изучения новой супер-фичи погрузиться в какую-то более базовую тему. И погрузиться глубоко, до самых исходников.

И в этот момент под моим пристальным взглядом оказалась незаметная строчка «native code», которая так или иначе появляется перед глазами любого JS разработчика в консоли Chrome или Node.js:

[].sort.toString();
"function sort() { [native code] }"

Итак, кому интересно, какая реализация сортировки скрывается в V8 за надписью [native code] — добро пожаловать под кат.
Читать дальше →
Total votes 58: ↑57 and ↓1+56
Comments8

Пишем код для Node.js в стиле «машина состояний»

Reading time3 min
Views13K
Вы пишите сервер на Node.js, который принимает входящие TCP-соединения и ведёт с клиентами нетривиальный диалог по нестандартному протоколу? Возможно вам будет интересен пример, который я развиваю в своих проектах. Что я имею ввиду под нетривиальным диалогом?

Давайте сравним.
Читать дальше →
Total votes 14: ↑9 and ↓5+4
Comments29

Игры и порно в виртуальной реальности: что нужно знать в преддверии старта Oculus Rift, PlayStation VR, HTC Vive

Reading time7 min
Views209K
В ближайшие месяцы в продажу поступят сразу несколько устройств виртуальной реальности:
— Oculus Rift (28 марта 2016)
— HTC Vive (апрель 2016)
— PlayStation VR (первая половина 2016)
— Microsoft Hololens (девкиты в первом квартале 2016)

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



Читать дальше →
Total votes 17: ↑14 and ↓3+11
Comments55

Создаём своё первое десктопное приложение при помощи HTML, JS и Node-WebKit

Reading time4 min
Views114K
В наше время при помощи JavaScript и HTML можно сделать практически всё. А благодаря Node-WebKit (недавно переименован в NW.js) можно делать даже десктопные приложения, которые выглядят, как нативные и имеют доступ ко всем частям ОС. Сегодня мы покажем, как создать простое десктопное приложение при помощи Node-WebKit, используя jQuery и несколько модулей для Node.js.

Node-WebKit — комбинация Node.js и встроенного браузера WebKit. Код JavaScript выполняется в особом окружении, из которого есть доступ и к стандартному API браузеров, и к Node.js.
Читать дальше →
Total votes 45: ↑40 and ↓5+35
Comments39

Под лицензиями Creative Commons опубликовано более 1 миллиарда работ

Reading time2 min
Views6.4K
Организация Creative Commons (CC) опубликовала ежегодный отчёт State of the Commons за 2015 год, который демонстрирует ошеломительную популярность свободных лицензий во всём мире. За последние пять лет количество авторских работ под свободными лицензиями практически утроилось, а в этом году преодолело отметку в один миллиард!


Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments2

Десктопные приложения на JavaScript. Часть 1

Reading time6 min
Views155K
Ни для кого не секрет, что в наше время JavaScript стал одним из самых популярных языков программирования. В далекие 90е годы, в момент зарождения языка, когда он был создан с единственной целью добавить интерактивность веб страницам и улучшить процесс взаимодействия с пользователем, кто бы мог подумать, что он достигнет столь небывалых высот. Ведь сейчас на нем можно делать практически все что угодно. Хотите написать сайт: и бэкэнд и фронтэнд на JavaScript? пожалуйста! Хотите написать мобильное приложение на JavaScript? нет проблем. Программируете микроконтроллер – и тут вам на помощь придет JavaScript.

Есть конечно небольшие минусы в подходе использования JavaScript везде, но если поразмыслить, то сколько времени и сил можно сэкономить, изучив всего лишь одни язык, особенно, если то же самое приложение должно работать на разных платформах. Разных платформах говорите? Хм… Точно – разных платформах – теперь JS может позволить себе десктопные приложения для Windows, Linux, Mac, как спросите вы? Ответ прост: встречайте – NW.js.

По первым буквам можно прочитать – Node.js + Webkit, если данные понятия вам пока не знакомы, то скоро вы поймете о чем идет речь.

Node.js – программная платформа, основанная на движке V8, который транслирует наш скрипт в машинный код. Данная платформа была создана в 2009 году преимущественно для работы с бэкэндом сайтов.

WebKit — свободный движок, разработанный компанией Apple. Впервые был анонсирован в составе Safari в 2003 году
Итак, коду, написанному на JS для данной технологии, будут доступны как Node.js модули, так и стандартный браузерный API (соответственно WebKit)
Читать дальше →
Total votes 31: ↑24 and ↓7+17
Comments24

Управление состоянием и эффективный рендеринг в приложениях на React

Reading time6 min
Views17K
Привет! Я хочу рассказать об очередной реализации Flux. А точнее о минимальной реализации, которую мы успешно используем в рабочих проектах. И о том, как мы пришли к этому. На самом деле многие так или иначе сами приходят к подобному решению. Описанное здесь решение является лишь вариацией ему подобных.

В Redradix мы уже около года разрабатываем веб-приложения на React и в течении этого времени у каждого из членов команды возникали идеи, которые мы постепенно выносили в свое, домашнее решение. Мы сразу же отказались от хранилищ в классическом Flux в пользу единого глобального состояния. Хранилища всего лишь выполняют роль сеттеров/геттеров в состояние приложения. Чем хорошо глобальное состояние? Одно состояние — это один конфиг всего приложения. Его без труда можно заменить другим, сохранить или передать по сети. Больше нету зависимостей между хранилищами.
Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments10

Использование AJAX-обработчика WordPress

Reading time7 min
Views59K


WordPress, будучи одной из самых популярных CMS в мире, снабжен подробной документацией, а точнее, даже двумя. В связи с чем ни в коем случае не стоит воспринимать этот текст как описание неких “best practices” и уж точно никто не заставляет слепо следовать описанному. Статья — просто быстрый ответ на вопрос «как?!» (следующий абзац) и подробное описание всего, что нужно знать чтобы заставить WordPress отвечать на AJAX-запросы (вся остальная статья).

Кратко


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

Итак, работает это, «WordPress-way», вот так:

  1. На бекенде с помощью функции admin_url получаем ссылку на обработчик AJAX-запросов и передаем ее во фронтенд одним из способов. Именно к этой ссылке мы будем делать наши запросы.
  2. На бекенде регистрируется хук с функцией для обработки некоего экшена. Назовем этот экшен, например, get_posts.
  3. Фронт-енд делает запросы к URL-у из пункта 1, передавая имя экшена. Например, ?action=get_posts.
    На бек-енде, если на экшен зарегистрирован хук, выполняется заданная нами функция.


Вот так вот просто. Теперь подробнее.
Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments5

Stepic ищет таланты

Reading time1 min
Views14K
Наверняка многие из вас смотрели онлайн-курсы и думали о том, что способны рассказать не хуже, а то и ещё интереснее? Вы пошли работать в большую компанию, оставив академическую карьеру, но умеете и хотите преподавать? А может быть, вы преподаёте в вузе, но рассказывать из года в год одно и то же, обучая максимум 100 студентов в год, вам кажется неразумной тратой времени в век технологий?

Есть отличная новость!


Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments11

Тестирование. Начало

Reading time4 min
Views124K

Привет. В этой серии постов я попробую рассказать про тестирование кода на питоне, в частности проектов django. Мы рассмотрим модульное тестирование (юнит-тесты), статический анализ кода и некоторые подводные камни тестирования веб-сайтов.

Вводную часть о пользе тестирования опустим — код, покрытый тестами, становится мягким и шелковистым, про это только ленивый еще не читал / писал.
Читать дальше →
Total votes 130: ↑119 and ↓11+108
Comments16

Мой опыт обучения детей 8-10 лет программированию на Scratch

Reading time8 min
Views269K
Давно собирался написать об этом, но, модная болезнь прокрастинация брала вверх…

Знакомство со Scratch


Когда сыну Артёму исполнилось 7 лет и он пошел в школу, мы ему подарили компьютер, чтобы он не отставал от жизни. Несколько месяцев он играл в разные игры, наслаждался, развлекался и т.п. Мне стало немного обидно, что такой дорогой и сложный прибор как компьютер используется только для развлечений, и я решил придумать, как использовать компьютер для обучения. А чему можно научиться на компьютере? Конечно, программированию! Тут я и вбил в «Яндекс» заветную фразу «обучение детей программированию».
Читать дальше →
Total votes 77: ↑74 and ↓3+71
Comments62

А ваш язык программирования необоснованный? (или почему предсказуемость важна)

Reading time15 min
Views35K
Как должно быть очевидно, одна из целей этого сайта — убедить принимать F# всерьёз в роли универсального языка разработки.

Но в то время как функциональный стиль всё больше проникает в массы, и C# уже получил такие функциональные средства как лямбды и LINQ, кажется, что C# всё больше и больше наступает на пятки F#. Так что, как это ни странно, но я стал всё чаще слышать как высказывают такие мысли:

  • «C# уже обладает большей частью инструментария F#, и зачем мне напрягаться с переходом?»
  • «Нет никакой необходимости что-то менять. Всё, что нам нужно сделать, так это пару лет подождать, и C# получит достаточно от F#, что обеспечит практически все плюшки.»
  • «F# только чуть лучше, чем C#, но не настолько, чтобы в самом деле тратить время с переходом на него.»
  • «F# кажется действительно неплох, хоть и пугает местами. Но я не могу найти ему практического применения, чтобы использовать вместо C#.»

Не сомневаюсь, что теперь, когда и в Java тоже добавлены лямбды, подобные комментарии зазвучали в экосистеме JVM при обсуждении «Scala и Closure против Java».

Так что в этой статье я собираюсь отойти от F# и сосредоточиться на C# (а на его примере и на других популярных языках), чтобы показать, что даже с реализацией всех мыслимых средств функциональных языков программирование на C# никогда не будет таким же, как на F#.
Читать дальше →
Total votes 47: ↑36 and ↓11+25
Comments195

Рекурсия с помощью Y–комбинатора

Reading time4 min
Views9.2K
Поводом для написания этой статьи стало желание разобраться с тем, как работает Y-комбинатор.

Чтобы мозги не ржавели и работали как часы, я стараюсь пробовать новые и необычные вещи.
Интереса ради, я скомпилировал Lua 5.x под DOS, с этим никаких проблем не было, но при проверке Lua на её стандартных тестах, я обнаружил код вычисления факториала, работу которого я не понял.
Но ясно осознал, что это нечто относится к функциональному программированию.

Читать дальше →
Total votes 36: ↑35 and ↓1+34
Comments38
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity