Jak se dělá sociální síť. Část 1- Implementace. Implementace, Startup, Motivace

Podobné dokumenty
VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

Snadný vývoj webových aplikací s Nette. Lukáš Jelínek

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

Richtext editory. Filip Dvořák

WEB KNIHOVNY JAKO NÁSTROJ K PROPAGACI SLUŽEB A INFORMACÍ ING. PAVEL CIMBÁLNÍK

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

2012 ET NETERA a.s. Wicket přehled technologie Martin Strejc

Obsah. Rozdíly mezi systémy Joomla 1.0 a Systém Joomla coby jednička online komunity...16 Shrnutí...16

Vybraná zajímavá Lotus Notes řešení použitelná i ve vašich aplikacích. David Marko TCL DigiTrade

Dobrý CMS Popis produktu a jeho rozšíření

Základní pojmy spojené s webovým publikováním ~ malý slovníček pojmů~ C3231 Základy WWW publikování Radka Svobodová, Stanislav Geidl

Olga Rudikova 2. ročník APIN

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých.

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

D R U P A L V O J T Ě C H K U S W O J T H A

Název: On-line tvorba webu Anotace:

Metodiky pro automatické testování webové aplikace. Ondřej Melkes, Martin Komenda

SYLABUS IT V. Jiří Kubica. Ostrava 2011

Elektronická podpora výuky předmětu Komprese dat

(Nepříliš) stručně o systémech TEX a L A TEX

Dobrý FOTO Popis produktu a jeho rozšíření

Maturitní projekt do IVT Pavel Doleček

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové technologie

Dobrý SHOP Popis produktu a jeho rozšíření

Kromě dodávek celých webů nabízíme také zakázkové programátorské práce formou subdodávek. GlobalDAT a.s. Předseda představenstva:

Drupal. Svobodný redakční systém. duben 2007 Jakub Suchý 1

Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz

SOFISTIKOVANÉ NÁSTROJE PRO JEDNODUCHOU TVORBU PROFESIONÁLNÍCH WEBOVÝCH PREZENTACÍ

Web Services na SOAP

Kromě dodávek celých webů nabízíme také zakázkové programátorské práce formou subdodávek. GlobalDAT a.s. Předseda představenstva:

Počítačová Podpora Studia. Přednáška 5 Úvod do html a některých souvisejících IT. Web jako platforma pro vývoj aplikací.

Efektivní vývoj mobilních aplikací na více platforem současně. Mgr. David Gešvindr MCT MSP MCPD MCITP

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

Úvod do tvorby internetových aplikací

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace

Mobile application developent

Formy komunikace s knihovnami

KOMPONENTY APLIKACE TreeINFO. Petr Štos ECM Business Consultant

1 Webový server, instalace PHP a MySQL 13

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

Oracle XML DB. Tomáš Nykodým

Platební systém XPAY [

MBI - technologická realizace modelu

Tvorba internetových prezentací a portálů

A5M33IZS Informační a znalostní systémy. O čem předmět bude? Úvod do problematiky databázových systémů

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída:

- 1 - Smlouva o dílo. uzavřená podle 536 a násl. obchodního zákoníku v účinném znění

ORGANIZACE VOLNÉHO ČASU

Nové jazykové brány do Caché. Daniel Kutáč

Platformy / technologie. Jaroslav Žáček

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

Projekt JetConf REST API pro vzdálenou správu

Agenda. Docházka Návrat k minulému praktickému cvičení Zápočtové práce. Dokumentace. Dotazy, přání, stížnosti. Co, jak a proč dokumentovat

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13

Java/QE Akademie - Osnova

Úvod do aplikací internetu a přehled možností při tvorbě webu

Publikujeme web. "Kam s ním?!"

Zpráva webmastera klubu pro členskou schůzi Radek Šíp, 7/2014 9/2015

ABBYY Automatizované zpracování dokumentů

MVVM pro desktop i web

Existuje celá řada volně dostupných nástrojů, které jsou pro účel projektu vhodné, např.

Automatické generování zkouškových testů

Hiearchical MVC (Model-view-controller) vs. PAC (Presentation-abstraction-control)

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové technologie

Katalog firem a prezentací Multimediaexpo.cz

Katalog firem a prezentací Multimediaexpo.cz

PHP Best Practices. Please try to fit your code to 80 columns. That's decimal 80. A. Morton

Historie, současnost a budoucnost ASP.NET

Vývoj Internetových Aplikací

Google Web Toolkit. Martin Šurkovský, SUR března Katedra informatiky

Část 1 Moderní JavaScript

Automatizovatelná aktualizace Wikidata z veřejných databází. Jakub Klímek

Redakční systém Joomla!

Základy databází. O autorech 17 PRVNÍ ČÁST. KAPITOLA 1 Začínáme 19

programátor vs. vývojář

Úvod. Klíčové vlastnosti. Jednoduchá obsluha

PLATFORMY / TECHNOLOGIE JAROSLAV ŽÁČEK

E-learningový systém pro podporu výuky algoritmů

Databázové aplikace pro internetové prostředí PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

1. Webový server, instalace PHP a MySQL 13

Redakční systém WordPress MU Manuál pro uživatele

Část IV - Bezpečnost 21. Kapitola 19 Bezpečnostní model ASP.NET 23

Konference Javascript Framework

Podmínky pro hodnocení žáků v předmětu informatika

Motivace - inovace - zkušenost a vzdělávání

Webové stránky fotbalového klubu

IB111 Programování a algoritmizace. Programovací jazyky

PŘÍPADOVÁ STUDIE. Nakladatelství. Fraus. Konsolidace webů

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU

Jalapeño: pekelně ostrá Java persistence v Caché. Daniel Kutáč Senior Sales Engineer

Minerva TPV+ TPV funkcionalita v QAD. David Pochman Senior konzultant

ANOTACE vytvořených/inovovaných materiálů

Značkovací jazyky a spol. HTML/XHTML XML JSON YAML Markdown, Texy!

Vizuální programovací jazyk

IS pro podporu BOZP na FIT ČVUT

Ing. Jiří Fůsek. Základní informace. Pracovní zkušenosti. Vzdělání. 09/ nyní Freelancer. 09/ /2010 Univerzita Tomáše Bati ve Zlíně

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

Transkript:

Jak se dělá sociální síť Část 1- Implementace Implementace, Startup, Motivace David Čápka, 2015

Statistiky Všichni je milujeme :) Téměř 1.000.000 vygenerovaných stránek měsíčně 60.000 unikátních uživatelů měsíčně 26.000 registrovaných členů 6.000 aktivních účtů za poslední měsíc 4.000 článků 1.900 výukových = 7200 normostran > 30 knih Z toho jsem autorem 800 článků 7 minut trvá průměrná návštěva

Implementace

Technologie Sociální sítě HTTP PHP PhpStorm Simplex PHP framework MySQL Texy! Font Awesome jquery

Sociální sítě Epocha internetu Vytváří komunity, spojují lidi Uspokojování sociální potřeby kromě informací Princip n2 Weby, které by mohly být sociální sítí, ale nejsou? Potenciál zvýšení návštěvnosti Nákladná implementace

Statistiky Keep it coming... 30.000 řádků vlastního PHP a SQL 200 tříd 30 jmenných prostorů 60 databázových tabulek 7.000 řádků HTML 130 šablon 7.000 řádků JavaScriptu 4.000 řádků CSS 30 souborů

HTTP protokol Desktopová aplikace Webová aplikace

Obcházení HTTP protokolu - websockets Návrh a implementace Drahomír Hanák

MySQL Nejpoužívanější (=nejlevnější vývoj) Pokročilé featury jako transakce, cizí klíče, fulltext Budoucnost? Objektové databáze

Texy! WYSIWYG Velký boom zklamání Sémantika Jednotnost stylů Validace Bezpečnost Firemní zákazníci WYSIWYM Weby, které to myslí vážně (Wikipedia), knihy (LaTeX), známé blogy 100% výsledek Absence náhledu Kombinace = win-win scenario By David Grudl

WYSIWYG

WYSIWYM Algoritmus ########## Tenhle týden jsem však objevil *algoritmus*, který dokáže vyrobit velmi zajímavou mapu s několika příjemnými vlastnostmi: - Mapa je **nekonečná** - V každé větší části (cca 50 x 50) se nachází všechny biotopy jezera, tráva, lesy a hory. - Mapa není nezajímavý šum ani neustále opakovaný vzor, ale různě velké a prolínající se kruhové, eliptické a hyperbolické útvary. - Generování mapy je na výkon velmi nenáročné. Zde je ukázka "mapy":http://www.mapy.cz. Výseky jsou 400 x 400 políček: [* http://www.itnetwork.cz/images/9049/prime1.png *]

WYSIWYG + WYSIWYM Originální editor vyvinul Michal Žůrek

Font awesome a jquery Problém JavaScriptu jquery Upouštíme od jquery UI Obrázkové fonty Škálovatelné Jednolité Univerzální Font Awesome, Twemoji Awesome

Best practices Programování není o implementaci, ale o návrhu KISS API, fluent interface SRP SoC, MVC, MVP, MVVM... DRY IHP Další: IoC, DI, LoD SOLID = SRP + OCP + LSP + ISP + DIP Návrhové vzory, GOF, GRASP

Volba nástroje - Každý znak v kódu stojí peníze a to jednorázově i paušálně Mnoho tříd v Javě navíc nepodporuje TWR, což zvyšuje objem zbytečného kódu obrovským způsobem

Gettery/settery v Javě Toto není vtip Javistům to nepřijde divné Problém neřeší scaffolding V PHP se veřejné atributy používají běžně a není v tom problém - Gettery jen kvůli interface - Settery kvůli fluent-api

PHP Jednoduché Pohání Facebook Open-source (jistota) Nejrozšířenější (= nejlevnější vývoj) Vysoce stabilní vývoj a zpětná kompatibilita Frameworky Proč jsou potřeba? Wrappery Proprietární framework vs. framework Oficiální frameworky vs. komunitní frameworky

PhpStorm Šetří obrovské náklady Náklady při vývoji Náklady při opravách Cena nástrojů je obecně zanedbatelná Jazyků, IDE Mé oblíbené featury Barví a kontroluje SQL Hlídá datové typy podle phpdoc Rychlé vyhledání čehokoli Refactoring...

Simplex for PHP Simplex = Simple + Complex Jednoduchý framework pro tvorbu komplexních systémů Jednoduchost = udržitelnost = úspěch Proprietární framework, částečně dostupný v prémiových seriálech Není umění vytvořit složitě funkční projekt, ale projekt roky potom udržovat Vlastní vs. cizí projekt Přirozený vývoj projektů, přepisy MVC Formulářový framework Utility třídy (wrappery na pole, datum, řetězce...) Nemá šablonovací systém (extract a ob) Nemá nástavbu nad SQL (PhpStorm)

Simplex kontroler

Obsluha formuláře (add/edit)

Model

PHTML šablona

Vyrenderovaný pohled index

Vyrenderovaný pohled manage

Zajímavé implementace Článkové kontrolery (viz seriál) Událostní model Reprezentace v DB, registr, deserializace, upomínání a nastavení upomínání, chat Soukromé zprávy Účetnictví Proces schvalování Skloňování českých jmen (Jan Vargovský)...

Děkuji za pozornost A držím palce s vašimi projekty! P.S. 28.8.2015 se uvidíme u 2. části - Startup