Commit 59cce64c authored by Taddeüs Kroes's avatar Taddeüs Kroes

- Added latest version of presentations.

parent 78adbf07
...@@ -2,12 +2,21 @@ ...@@ -2,12 +2,21 @@
\usepackage[dutch]{babel} \usepackage[dutch]{babel}
\usepackage[utf8]{inputenc} \usepackage[utf8]{inputenc}
\usepackage{beamerthemesplit} \usepackage{beamerthemesplit}
\usepackage{graphics,epsfig,subfigure} \usepackage{graphics}
\usepackage{url} \usepackage{url}
\usepackage{listings}
\definecolor{kugreen}{RGB}{130,151,183} \definecolor{kugreen}{RGB}{130,151,183}
\setbeamercovered{transparent} \setbeamercovered{transparent}
\lstset
{
tabsize=4,
showspaces=false,
showstringspaces=false,
showtabs=false
}
\mode<presentation> \mode<presentation>
{ {
\usetheme{PaloAlto} \usetheme{PaloAlto}
...@@ -15,7 +24,7 @@ ...@@ -15,7 +24,7 @@
\useinnertheme{circles} \useinnertheme{circles}
\usefonttheme[onlymath]{serif} \usefonttheme[onlymath]{serif}
\setbeamercovered{transparent} \setbeamercovered{transparent}
\setbeamertemplate{blocks}[rounded][shadow=true] \setbeamertemplate{blocks}[rounded][shadow=false]
} }
\logo{\includegraphics[width=1cm]{images/vo20-logo.png}} \logo{\includegraphics[width=1cm]{images/vo20-logo.png}}
...@@ -46,32 +55,63 @@ ...@@ -46,32 +55,63 @@
\frame \frame
{ {
\frametitle{Wie? Wat? Waarom?} \frametitle{Wie? Wat? Waarom?}
\begin{itemize}
\item Profielwerkstuk 2008
\item Informatica / Scheikunde
\item Automatisering
\end{itemize}
} }
\subsection{Toekomstbeeld} \frame
{
\frametitle{Screenshots: Scheikunde (1)}
\includegraphics[width=10cm]{images/toetspagina-1.png}
}
\frame \frame
{ {
\frametitle{Toekomstbeeld} \frametitle{Screenshots: Scheikunde (2)}
\includegraphics[width=10cm]{images/toetspagina-2.png}
} }
\section{Technologieën} \frame
{
\frametitle{Screenshots: Scheikunde (3)}
\includegraphics[width=10cm]{images/toetspagina-3.png}
}
\frame \frame
{ {
\frametitle{DuoScript} \frametitle{Screenshots: Scheikunde (4)}
% - modules
\includegraphics[width=10cm]{images/redox-voorbeeld.png}
} }
\section{Technologieën}
\frame \frame
{ {
\frametitle{JavaScript} \frametitle{JavaScript preprocessor}
\begin{itemize} \begin{itemize}
\item preprocessor \item includes \\
\item dependencies \texttt{\#include "ds.form.js"} \\
\item conditions \texttt{\#include "ds.tree.js"} \\
\item includes \item dependencies \\
\texttt{\#define DS\_\$\_hide} \\
\texttt{\#include "ds.dom.js"} \\
\texttt{\$('\#header$\,$a').hide()} \\
\item conditions \\
\texttt{\#ifdef DS\_DEBUG} \\
\texttt{console.log("$ $user status = "$ $ + user.status);} \\
\texttt{\#endif} \\
\item macro's \\
\texttt{\#define ASSERT(x) $\setminus$ \\
\hspace{1cm} (!x \&\& throw new Exception(x))} \\
\end{itemize} \end{itemize}
} }
...@@ -81,7 +121,9 @@ ...@@ -81,7 +121,9 @@
\begin{itemize} \begin{itemize}
\item nested selectors \item nested selectors
\lstinputlisting{code/nested-selectors.css}
\item server imports \item server imports
\lstinputlisting{code/server-imports.css}
\item inline images \item inline images
\end{itemize} \end{itemize}
} }
...@@ -91,27 +133,50 @@ ...@@ -91,27 +133,50 @@
\frame \frame
{ {
\frametitle{Mappenstructuur} \frametitle{Mappenstructuur}
\begin{itemize}
\item Framework en applicatie gescheiden:
\begin{itemize}
\item Minder conflicten bij het committen.
\item Centrale updates.
\item Gescheiden unit tests, bugtracking etc..
\end{itemize}
\item Gescheiden onderdelen:
\begin{itemize}
\item Media (JavaScript, stylesheets, images)
\item Helpers
\item Models
\item Modules
\item Unit tests
\end{itemize}
\item applicatie $>$ module $>$ action
\end{itemize}
} }
\frame \frame
{ {
\frametitle{Toegepaste design patterns} \frametitle{Toegepaste design patterns}
% - Model View Controller
% - ActiveRecord
% - Factory (boot class / db connection handler)
}
\frame \begin{itemize}
{ \item Model View Controller
\frametitle{Version control / bug tracking} \item ActiveRecord
% - version control (Subversion) / Trac \lstinputlisting[language=PHP]{code/activerecord.php}
\item Factory (boot class / db connection handler)
\end{itemize}
} }
\frame \frame
{ {
\frametitle{Updates en onderhoud} \frametitle{Onderhoud}
% - (Debian packages)
\begin{itemize}
\item Version control (Subversion of Git) \\
\texttt{\\ \$ phake upgrade}
\item Bug tracking (Trac)
\item Debian packages \\
\texttt{\\ \$ sudo apt-get install duoworks} \\
\texttt{\$ sudo apt-get update \&\& sudo apt-get upgrade}
\end{itemize}
} }
\section{DuoWorks} \section{DuoWorks}
...@@ -126,118 +191,134 @@ ...@@ -126,118 +191,134 @@
% - Internationalization (gettext) % - Internationalization (gettext)
% - Unit testing % - Unit testing
\subsection{Gebruikte technieken}
\frame \frame
{ {
\frametitle{Gebruikte technieken (1)} \frametitle{Gebruikte technieken (1)}
{\bf Command line interface}
\textbf{Command line interface}
\begin{itemize} \begin{itemize}
\item Vergemakkelijkt updates en algemene taken. \item Vergemakkelijkt updates en algemene taken.
\item Phakefile is gemakkelijk uit te breiden. \item Phakefile is eenvoudig uit te breiden.
\end{itemize} \end{itemize}
{\bf Database in 3 stappen} \textbf{Data library}
\begin{itemize}
\item Een driver voor elk database type.
\item Database in 3 stappen:
\begin{enumerate} \begin{enumerate}
\item Design in MySQL Workbench. \item Design in MySQL Workbench.
\item Exporteren SQLite/MySQL script. \item Exporteren SQL bestand.
\item Models genereren met Phakefile. \item Models genereren met Phakefile.
\end{enumerate} \end{enumerate}
\end{itemize}
} }
\frame \frame
{ {
\frametitle{Gebruikte technieken (2)} \frametitle{Gebruikte technieken (2)}
{\bf Facebook's XHP}
\textbf{Facebook's XHP}
\begin{itemize} \begin{itemize}
\item Objectgeori\"enteerde helpers in XML syntax. \item Objectgeori\"enteerde helpers in XML syntax.
\item Vermijdt \emph{cross-site scripting}. \item Voorkomt \emph{cross-site scripting}.
\end{itemize} \end{itemize}
\includegraphics[scale=.424]{images/xhp.png}
} }
\frame \frame
{ {
\frametitle{Gebruikte technieken (3)} \frametitle{Gebruikte technieken (3)}
{\bf Internatinalisering door \texttt{gettext}}
\textbf{Internationalisering door \texttt{gettext}}
\begin{itemize} \begin{itemize}
\item Gemakkelijke syntax: \texttt{\_('Translate this please...')}. \item Gemakkelijke syntax: \texttt{\_('Translate this please...')}.
\item Ook leesbaar als vertaling niet beschikbaar is. \item Ook leesbaar als vertaling niet beschikbaar is.
\item Geschikt gemaakt voor JavaScript. \item Geschikt gemaakt voor JavaScript.
\end{itemize} \end{itemize}
{\bf Unit testing} \textbf{Unit testing}
\begin{itemize} \begin{itemize}
\item Lokaliseren van scriptfouten. \item Lokaliseren van scriptfouten.
\item Alle tests in \'e\'en commando, fouten worden direct geprint. \item Alle tests in \'e\'en commando, fouten worden direct geprint.
\end{itemize} \end{itemize}
} }
\subsection{Beveiliging}
\frame \frame
{ {
\frametitle{Beveiliging} \frametitle{Beveiliging}
{\bf Authorisatie en authenticatie}
\textbf{Authorisatie en authenticatie}
\begin{itemize} \begin{itemize}
\item Centrale \'en lokale authorisatie. \item Centrale \'en lokale authorisatie.
\item
\end{itemize} \end{itemize}
{\bf Overige beveiliging} \textbf{Overige beveiliging}
\begin{itemize} \begin{itemize}
\item \item SQL injections
\item Null byte injection
\item Remote file inclusion
\end{itemize} \end{itemize}
} }
\section{Code editor} \frame
{
\section{Code editor}
\subsection{Studenten} \subsection{Studenten}
% - code opslaan en laden
% - code compileren en uitvoeren
% - fullscreen weergave (enkel code venster zichtbaar)
% - filebrowser voor het openen van andere bestanden
% - weergeven van de java API documentatie
% - code wordt weergegeven met syntax highlighting
% - zonder installatie van software aan de slag
\subsection{Docenten} \frametitle{Code editor: Studenten}
% - version control: in een keer alle opdrachten van alle studenten
% - specifieke opdracht van alle leerlingen inzien (symbolic links)
\subsection{Beveiliging} \textbf{Studenten}
% - limieten voor cpu, memory, runtime
% - sandbox \begin{itemize}
% - java policy \item code opslaan en laden (filebrowser)
\item code compileren en uitvoeren
%\frame \item fullscreen weergave
%{ \item java API documentatie (en C man pages)
% \frametitle{Tilfældighed} \item syntax highlighting
% Efteråret 2004 \item zonder installatie aan de slag
% \subsection{Valg af projekt og vejleder} \end{itemize}
% }
% \begin{block}{Kryptering med kaotiske kredsløb}
% \begin{columns} \frame
% \column{.3\textwidth} \hspace{0.5cm} {
% \includegraphics[width=0.7\textwidth]{billeder/circuit} \subsection{Docenten}
% \column{.7\textwidth}
% \textit{Mogens Høgh Jensen}, NBI \frametitle{Code editor: Docenten}
% \end{columns}
% \end{block} \textbf{Docenten}
%
% \begin{block}{Sandriller} \texttt{svn co svn://vo20.nl/uva/binds3/assignments/}
% \begin{columns}
% \column{.3\textwidth} \hspace{0.5cm} \begin{itemize}
% \includegraphics[width=0.7\textwidth]{billeder/sand} \item in \'e\'en keer de opdrachten van alle studenten per vak
% \column{.7\textwidth} \item specifieke opdracht van alle leerlingen inzien\\
% \textit{Clive Ellegaard}, NBI og \emph{Tomas Bohr}, DTU \end{itemize}
% \end{columns}
% \end{block} \subsection{Beveiliging}
%}
\textbf{Beveiliging}
%\section{Links}
% \begin{itemize}
%\frame \item limieten voor cpu, memory, runtime
%{ \item sandbox
% \frametitle{Link til videre læsning} \item java policy
% \end{itemize}
% \begin{block}{tjansson.dk} }
% Dette slideshow inklusiv videoer og links til andre sider kan findes på www.tjansson.dk
% \end{block} \section{Toekomst}
%}
\frame
{
\frametitle{Toekomstbeeld}
\begin{itemize}
\item Verschillende vakken
\item Nakijk module
\item Automatisch nakijken
\item Met meerdere gebruikers code schrijven
\end{itemize}
}
\end{document} \end{document}
$exams = Exam::find('all', array(
'include' => 'course',
'where' => array('user_id = $1',
$this->user->id)
));
foreach( $exams as $exam ) {
echo $exam->course."\n";
$exam->update(array('name' => 'foo'));
}
<?php
class Foo extends \DuoWorks\Model
{
protected $columns = array('id','foo','bar');
public static function constraints()
{
return array(
// 'foo' is numeric and may not be omitted
'foo' => array('required', 'numeric' => _('Only numbers allowed.')),
// 'bar' Should be at most 10 characters long
'bar' => 'length:-10'
);
}
}
#id ul li.foo { color: red }
#id div.bar { color: green }
#id {
ul li.foo { color: red }
div.bar { color: green }
}
@server import url(css/reset.css);
@server import url(css/header.css);
@server import url(css/body.css);
// PHP file:
<div>
<?php
if( $some_bool ) {
?>
<span class="foo"></span>
<?php
} else {
?>
<div class="bar"></div>
<?php
}
?>
</div>
// XHP file:
<?php
$foo = $some_bool ? <span class="foo" /> : <div class="bar" />;
echo <div>{$foo}</div>;
?>
File mode changed from 100644 to 100755
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment