Как Вы преподавали бы веб-разработку?

Я наконец-то узнал, как это сделать с df.apply() благодаря этому посту: Как применить функцию к двум столбцам Pandas dataframe

data_to_df.py

[ 110]

wrangle_data.py

class WrangleData:

    ...

    def regex_canaux(self, df):
        if df['medium'] == "(NONE)":
            return "Direct"
        elif df['medium'] == "(NOT SET)":
            return "BAR"
        elif re.match("(.*)app_id=cpcg$", df['landingPage']):
            return "SEA"
        else:
            return "FOO"

Затем после print(df.head()) я получил:

        date          medium  sessions groupe_canaux
0 2019-02-25          (NONE)     11173        Direct
1 2019-02-25       (NOT SET)        12           BAR
2 2019-02-25  ABTESTING-HOME       126           FOO
3 2019-02-25       AFFILIATE         1           FOO
4 2019-02-25         ANNONCE         1           FOO

11
задан yannis 26 August 2013 в 17:27
поделиться

17 ответов

Наиболее важные аспекты веб-разработки:

  • Где работает этот код? (Клиент-серверное программирование - как уже говорили многие)
  • Кто собирается использовать это? (Знайте свою аудиторию - почему они на вашем сайте / в приложении)
  • Как хорошо играть (авторские права, стандарты, идеи заимствования против кражи вещей)
  • Как быть изобретательным (библиотеки кода, поиск Google и стекопоток)

Основная тема лекций

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

Резюме

Лекция о Как (XHTML, CSS, JS и т. Д.), Но только в контексте Кто ,

17
ответ дан 3 December 2019 в 00:56
поделиться

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

http://veerle.duoh.com/blog/comments/teach_the_web_right/

[Редактировать] Она упоминает учебную программу по веб-стандартам Opera, как было упомянуто в предыдущих статьях, но также упоминает учебную программу WaSP InterAct. Похоже, что он все еще находится в стадии разработки, но уже имеет некоторые замечательные ресурсы и ссылки.

0
ответ дан 3 December 2019 в 00:56
поделиться

Since you're getting into the server-side stuff, I would highly recommend going over some basic application security. From keeping applications (Wordpress, PHPBB, etc) up to date and patched, to actual attacks like SQL Injection and Cross-site scripting.

Since it sounds like you're teaching them from the ground up, you have a great opportunity to impress upon them the importance of input filtering and output escaping, legitimate user authentication, and other best practices.

0
ответ дан 3 December 2019 в 00:56
поделиться

Мне нравится ответ о разнице между программированием на стороне клиента и на стороне сервера. Поскольку вы обучаете талантливых / мотивированных студентов, я думаю, что теоретическое обсуждение архитектуры MVC (Model View Controller) может быть в порядке. Как это было изначально разработано для настольных приложений, и в этом случае необходимо было реализовать систему, которая прослушивала события, чтобы иметь возможность сохранять все аспекты представления синхронизированными с состоянием модели при ее изменении. Но это, согласно веб-парадигме, код слушателя предоставляется вам бесплатно в виде веб-сервера, и запрос является событием. И поэтому MVC для Интернета, по крайней мере, в отношении взаимодействия между клиентом и сервером, должен быть менее сложным, а контроллер просто является посредником между клиентом и сервером.

Это, конечно, до появления Ajax. Когда сейчас уместно реализовать код слушателя на стороне клиента с помощью Javascript, чтобы иметь возможность поддерживать синхронизацию виджетов.

Я - наркоман MVC, так что воспользуйтесь этим. Ваш пробег может отличаться, но я думаю, что материал о MVC, безусловно, оправдан.

Удачи

0
ответ дан 3 December 2019 в 00:56
поделиться

Для части программирования я бы предложил вам начать с самого низкого уровня / самой базовой концепции, которую вы можете придумать. Первое, что приходит мне на ум, это HTML. Вы можете убедиться, что студенты понимают HTML (и разметку в целом) и его основной синтаксис. Я думаю, что если вы начнете с HTML, написанного вручную, они также оценят некоторые замечательные инструменты, которые помогут вам генерировать HTML или другой код.

После этого вы можете перейти к некоторым инструментам и технологиям, связанным с HTML, таким как CSS, JavaScript и AJAX.

Как только клиентская сторона покрыта и эти концепции конкретны, вы можете перейти к написанию сценариев / программированию на стороне сервера. Большинство языков на стороне сервера просто передают HTML, CSS, JavaScript и т. Д. В браузер, поэтому сначала необходимо понять эти вещи.

Наконец, начните говорить об использовании их новых найденных знаний для создания приложений, которые взаимодействуют с другими системами (базами данных, веб-службами и т. Д.). Когда все эти основы будут готовы, вы, вероятно, покончили с классом, но тогда они будут готовы к уровню 200, верно?

0
ответ дан 3 December 2019 в 00:56
поделиться

Я бы начал с введения в веб-стандарты Carriculum от Opera. Я думаю, что это даст хорошее понимание некоторых основных концепций в веб-разработке

0
ответ дан 3 December 2019 в 00:56
поделиться

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

Было бы неплохо, если бы вы сказали нам, каких людей с вашим прошлым.

Если у вас есть некоторые Выпускникам Финансовой академии неясно, какая у них будет мотивация к какому-либо развитию. Если это инженеры или какая-то творческая сфера, такая как дизайн, декорации и т. Д., Это будет другая история.

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

0
ответ дан 3 December 2019 в 00:56
поделиться

Обучение веб-разработке (как, например, в GUI Builder в старости) может привести к тому, что слишком много внимания будет уделено внешнему интерфейсу, а недостаточно - внутреннему. Слишком легко попасть в ловушку, заставляя студентов слишком много думать о поверхностных визуальных проблемах (например, как выровнять эти две вещи), а не о ключевых вещах (как нам эффективно вычислять, вычислять, хранить и т. Д.).

Кроме того, многие языки веб-разработки не являются отличительными признаками хорошей практики программирования, так как они, как правило, находятся на более грязной стороне сценариев.

Эти два фактора вместе, для меня, являются причиной того, почему такие языки, как PHP, часто получают плохую репутацию.

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

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

0
ответ дан 3 December 2019 в 00:56
поделиться

If you have a group of motivated people then I will suggest to focus on creating a full web application from scratch, I mean, from requirements elicitation itself.

You could start with a brainstorming session where you get some of your students to take the role of the clients from different perspectives (you will need to came up with the base problem itself) and then another group of students who try to get the "clients" group to express their needs and propose solutions to those problems using via a web application. This will help them to learn one of the biggest problems of development in general which is the interaction with clients and how to get the most information out of them overcoming the usual communication problems. Actually if you can get other non-technical people to act as the clients it will be even better.

Then you can introduce then to a methodology like extreme programming or any other you like. I would suggest an agile one because it will provide faster results and won't get boring that fast, besides, the market appears to be shifting in favor of them.

Now, regarding web development itself, it is really important to get people to understand the need for web standards and how wrong things can go when they are not followed (IE6)

After all this is clear, it will be time for them to realize that in web development most of the time you just have to deal with the differences in platforms in which their applications will be displayed and teach them actual techniques to do so like unobtrusive javascript and progressive enhancement.

Regarding the server side of the equation, I believe it is important to enforce the use of patterns (MVC is a must), code re-use, and all the usual development practices. And be sure they understand that HTTP itself is a stateless protocol and how it is important to handle cookies and sessions in a responsible fashion, here it is important to make sure they understand the differences between the server and the client side.

Also, covering the OWASP top 10 (at least) is a must, the last version is available at: http://www.owasp.org/index.php/Top_10_2007

Some links: http://www.quirksmode.org/blog/archives/2005/06/three_javascrip_1.html [+1236] http://dowebsitesneedtolookexactlythesameineverybrowser.com/ [тысяча двести тридцать семь] http://forabeautifulweb.com/blog [1 238] http://www.alistapart.com/ http://www.owasp.org/index.php/Top_10_2007

1
ответ дан 3 December 2019 в 00:56
поделиться

Имейте в виду, что веб-программирование - это беспорядок, и ваша задача - обеспечить не только освещение в конце туннеля, но и сам туннель. Я бы остановился на ответе AaronS:

  • Разница между клиентом и сервером.
  • Веб-приложения работают в сети , с , что подразумевает .
  • Существует больше чем один способ сделать это. В квадрате.

В конце вам придется выбрать то, что не , чтобы научить, чтобы на самом деле куда-то попасть.

1
ответ дан 3 December 2019 в 00:56
поделиться

Я также считаю, что веб-разработке можно научиться только после того, как сначала немного узнают о программной инженерии. Я думаю, что гибкие процессы - лучший путь для обучения студентов программной инженерии. Он легкий и не совсем управляемый документами.

После этого я научил их основам программирования клиент-сервер, протоколу http и некоторым базовым веб-программированию (PHP и javascript было бы достаточно). Если у меня будет достаточно времени, я покажу им основы программирования на Java EE и различия между этим и PHP.

Также расскажу о некоторых более продвинутых материалах, таких как MVC для Интернета (с использованием JSF) и библиотеках javascript (JQuery). , Я бы также научил их объектам доступа к данным и постоянным объектам.

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

3
ответ дан 3 December 2019 в 00:56
поделиться

Хорошо, если вы спрашиваете мнение ...

Пожалуйста, научите их:

  1. самодокументированный код
  2. разница между клиентом и сервером
  3. проверка данных
  4. безопасность

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

3
ответ дан 3 December 2019 в 00:56
поделиться

Я очень верю в вдохновение. Как новый веб-разработчик, я обнаружил, что действительно трудно сделать мои сайты удобными, привлекательными и хорошо закодированными. Я нашел вдохновение во внешних ресурсах, таких как Nettuts и Smashing Magazine . Эти веб-сайты действительно открыли мне доступ ко всем функциям, которые я действительно мог изучить и использовать в своих проектах / кодировании.

3
ответ дан 3 December 2019 в 00:56
поделиться

Для интерфейсной веб-разработки ((X) HTML / CSS / JavaScript) попробуйте Opera Web Standards Curriculum , который:

выводит учащихся из полной начинающий чтобы иметь твердое основание в основанный на стандартах веб-дизайн, в том числе Разработка HTML, CSS и JavaScript.

4
ответ дан 3 December 2019 в 00:56
поделиться

ИМХО, самая сложная концепция в веб-разработке - это концепция состояния и как ее поддерживать.

Если бы я разрабатывал курс веб-программирования, я думаю, что я бы заставил студентов разработать простую прикладную среду, которая пыталась бы обеспечить прозрачное поддержание состояния. Разделив их на группы, вы можете использовать разные подходы (на стороне сервера, на стороне клиента, с поддержкой баз данных и т. Д.). И, в конце концов, я считаю, что они узнали бы намного больше о веб-архитектурах, чем если бы вы сосредоточились на создании реального приложения.

8
ответ дан 3 December 2019 в 00:56
поделиться

На мой взгляд, самое важное - научить вас разнице между программированием сервера и клиента, и когда вы будет использовать один над другим. Я так удивлен количеством новых выпускников, которые не понимают разницу.

13
ответ дан 3 December 2019 в 00:56
поделиться

Сосредоточение внимания на «В следующем году мы будем иметь дело главным образом с PHP / Java». Я сосредоточусь на Java, так как не знаю много о PHP.

  1. Получите правильную модель. Проектируйте модель, используйте ORM, заставьте это работать разумно. Это многоразовые вещи. Это основа приложения. Если это не так, то все остальное быстро превратится в беспорядок.

  2. Получите правильное представление шаблона. JSP не должны делать слишком много (они могут, но не должны). Это должно иметь любую причудливую обработку - это либо проблема модели, либо проблема класса действий.

  3. Свяжите их вместе с классами действий Struts и Java Beans, которые имеют смысл в области, для которой вы строите решение.

  4. Добавить CSS / JavaScript и что-не после всего этого - по существу - работает. Никакое количество JavaScript не может исправить принципиально некорректную модель.

Вопросы базовой технологии (XML, HTML, SQL и т. Д.) Важны, но не имеют решающего значения. Трудно пропустить, но вы должны пропустить.

Сначала SQL, ORM, Java.

HTML, JSP, больше Java.

Struts, Классы действий и т. Д., А также еще больше Java.

Я думаю, что многие из основных вопросов навыков должны быть решены точно в срок. Если вы тратите слишком много времени на основы HTML, CSS и SQL, никто не будет создавать ничего полезного.

-1
ответ дан 3 December 2019 в 00:56
поделиться
Другие вопросы по тегам:

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