Вводная задача программирования JavaScript для опытного разработчика

Вы должны проверить ответ Энди Хейдена здесь: Выводить разницу в двух кадрах данных Pandas бок о бок - выделять разницу

, что вы пытаетесь сделать (вывести ошибку, если строка отличается ) не может быть лучшим вариантом здесь. Какой фрейм данных вы собираетесь использовать в качестве основы для сравнения и добавить столбец ошибок? предположим, что вы выбрали df1 и сравнили его с df2, что если df2 имеет дополнительные строки, которых нет в df1; в этом случае в df1 нет строки для добавления сообщения об ошибке.

5
задан Wayne Koorts 6 May 2009 в 04:14
поделиться

12 ответов

Хотя это и не проект, посмотрите видео Дугласа Крокфорда в театре YUI.

Крупнейшие веб-проекты Javascript будут работать с DOM. Сделайте некоторые интересные вещи с JQuery. Составьте таблицу со строками, которые выделяются при наведении курсора. Заставьте их обновляться через AJAX и JSON, когда вы нажимаете на них.

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

Если вы хотите держаться подальше от Интернет использует JDK 1.6 и запускает код Javascript. Вы могли бы сделать тонны с этим.

2
ответ дан 18 December 2019 в 09:53
поделиться

Множество вещей, которые вы можете выучить, читая RSS на странице. Гугл показывает что можно сделать. Вся лекция посвящена JavaScript, доступу к сети, ограничениям безопасности и управлению средой данных. Если у вас есть возможность заниматься каким-либо бэкенд-программированием, то AJAX действительно хорош. Вы можете получить много хороших эффектов с меньшими усилиями. Хорошая вещь для наращивания.

4
ответ дан 18 December 2019 в 09:53
поделиться

Я бы сказал, что если вы действительно продвинутый программист, то приведенные выше упражнения на самом деле не дадут вам никакого понимания языка, поскольку они представляют собой просто вариации того, что вы, вероятно, уже сделали. Самая сильная сторона Javascript - это способность расти в стиле LISP. Напишите что-нибудь AI (ish), которое создает новые функции. Большинство людей не используют язык таким образом, но его способность расширять свои собственные классы на лету, я бы сказал, это самая необычная и самая мощная функция.

4
ответ дан 18 December 2019 в 09:53
поделиться

Всякий раз, когда я пытаюсь ознакомиться с языком, я буду работать над Project Euler проблемами с ним.

2
ответ дан 18 December 2019 в 09:53
поделиться

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

1
ответ дан 18 December 2019 в 09:53
поделиться

Интересный вопрос.

Действительно, вы можете подать заявку любого рода. Чтобы убедиться, что вы используете самые последние и лучшие вещи, я бы попробовал создать простое приложение в стиле CRUD с использованием DHTML и AJAX. Возможно список контактов или календарь. Если вы чувствуете себя действительно энергично, вы можете написать бэкэнд также на JavaScript.

Если вы не хотите по-настоящему дружить с совместимостью с DOM и браузером, я изучу Javascript через маску одного из приятных фреймворки, такие как Jquery или Prototype.

1
ответ дан 18 December 2019 в 09:53
поделиться

Чад Бёрч и Адам Дэвис правы в том, что вам придется оглянуться назад, чтобы установить базовый уровень. Ваш вопрос, как он сформулирован, говорит о том, что вы хотите просматривать данные только за последние 24 часа, и это не совсем удачно.

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

a_n = a_(n-1)*b + c_n*(1-b)

Где a_n - скользящее среднее на день n , b - некоторая постоянная между 0 и 1 (чем ближе к 1, чем дольше память) и c_n - это число обращений в день n . Прелесть в том, что если вы выполните это обновление в конце дня n , вы можете сбросить c_n и a_ (n-1) .

Предостережение заключается в том, что изначально оно будет чувствительным ко всему, что вы выберете для своего начального значения a .

РЕДАКТИРОВАТЬ

Если это помогает визуализировать этот подход, возьмите n = 5 , a_0 = 1 и b = .9 .

Скажем, новые значения 5,0,0,1,4:

a_0 = 1
c_1 = 5 : a_1 = .9*1 + .1*5 = 1.4
c_2 = 0 : a_2 = .9*1.4 + .1*0 = 1.26
c_3 = 0 : a_3 = .9*1.26 + .1*0 = 1.134
c_4 = 1 : a_4 = .9*1.134 + .1*1 = 1.1206
c_5 = 4 : a_5 = .9*1.1206 + .1*5 = 1.40854

Не выглядит очень так же, как в среднем это делает? Обратите внимание, что значение оставалось близким к 1, даже если наш следующий ввод был 5. Что происходит? Если вы расширите математику, что вы получите:

a_n = (1-b)*c_n + (1-b)*b*c_(n-1) + (1-b)*b^2*c_(n-2) + ... + (leftover weight)*a_0

Что я имею в виду под оставшимся весом? Ну, в любом среднем, все веса должны быть добавлены к 1. Если бы n было бесконечностью, а ... могло продолжаться вечно, то все веса были бы равны 1. Но если n относительно мало, вы получите хороший вес, оставшийся от исходного ввода.

Если вы изучите вышеизложенное Формула, вы должны понимать несколько вещей об этом использовании:

  1. Все данные вносят что-то в среднее значение навсегда. С практической точки зрения, есть момент, когда вклад действительно очень мал.
  2. Недавние значения дают больше, чем более старые.
  3. Чем выше b, тем менее важны новые значения и чем длиннее старые значения, тем важнее. Тем не менее, чем выше значение b, тем больше данных вам нужно для определения начального значения a.

Я думаю, что первые две характеристики - это именно то, что вы ищете. Чтобы дать вам представление о простом, это можно реализовать,

1
ответ дан 18 December 2019 в 09:53
поделиться

Get JavaScript the Good Parts by Douglas Crockford. Also check out his web site: http://www.crockford.com

Key reason: just because JavaScript looks like C/C++/Java/C# doesn't mean it actually is like them. Things are significantly different. I suggest reading his book to get a grasp of those differences.

Otherwise, I would look at the JQuery web site. JavaScript is cool and all, but a good framework will save you from a lot of the pitfalls and make you much more productive faster.

1
ответ дан 18 December 2019 в 09:53
поделиться

попробуйте создать расширенное приложение AJAX , как, например, попытаться воссоздать google calander .

0
ответ дан 18 December 2019 в 09:53
поделиться

Я предлагаю Вы создаете гаджет Google. Вы можете создать его бесплатно и, возможно, сделать из него что-то полезное. Если у вас нет учетной записи Google, зарегистрируйтесь. Затем добавьте редактор гаджетов Google, чтобы начать писать код.

С помощью гаджета вы сможете связываться с JavaScript, JSON, CSS и т. Д. Кроме того, вы сможете хранить файл на сервере Google, чтобы Вы можете работать на нем с любого компьютера.

Я создал простую программу чтения RSS и написал JavaScript для получения канала (используя Google ' s API), затем имеет дело с этим объектом JavaScript, потому что он вернулся как JSON. Затем я разработал JavaScript, чтобы скрыть / показать теги div.

Это был хороший стартовый проект для меня, чтобы выучить JavaScript.

1
ответ дан 18 December 2019 в 09:53
поделиться

Как насчет плагина Firefox для мониторинга StackOverflow? Он может использовать RSS для мониторинга каналов и сообщать, когда с вашими тегами задаются новые вопросы.

Он также может расти по мере развития ваших навыков работы с js.

0
ответ дан 18 December 2019 в 09:53
поделиться

Напишите еще один фреймворк javascript, но специально ориентированный на что-нибудь, например на программирование игр.

0
ответ дан 18 December 2019 в 09:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: