Caching Strategies for Load Reduction on High Traffic Web Applications

Total Page:16

File Type:pdf, Size:1020Kb

Caching Strategies for Load Reduction on High Traffic Web Applications DIPLOMARBEIT Caching Strategies for Load Reduction on High Traffic Web Applications ausgef¨uhrt am Institut f¨urComputersprachen der Technischen Universit¨atWien unter Anleitung von Ao.Univ.Prof. Dipl.-Ing. Dr. Franz Puntigam durch Alexander Kirk Stolberggasse 12/12, 1050 Wien May 9, 2005 Datum Unterschrift 2 3 Abstract In this thesis we discuss the problem of web applications that have to work under heavy load of a high number of visitors. We evaluate the application Bandnews.org as an example and tune it using various caching strategies. They include caching by a proxy server, a compiler cache, database caching using a query cache and application based caching using Smarty. This work shows that gain in speed is possible if methods are applied care- fully. We compare and combine caching strategies to come to a stage where every page is generated in reasonable time even under high load. Kurzfassung In dieser Diplomarbeit wird das Problem von Web Applikationen behandelt, die unter hoher Last und einer großen Zahl von Benutzern arbeiten m¨ussen. Die Applikation Bandnews.org wird als Beispiel untersucht und mittels ver- schiedener Caching Strategien beschleunigt. Dies beinh¨alt das Cachen mit- tels einem Proxy Server, einem Compiler Cache, Datenbank Caching mittels Query Cache und applikationsbasiertes Caching mittels Smarty. Diese Arbeit zeigt, dass Geschwindigkeitssteigerungen m¨oglich sind, wenn die Methoden umsichtig eingesetzt werden. Die Caching Strategien werden miteinander verglichen und kombiniert, um eine Stufe zu erreichen in der jede Seite in vertretbarer Zeit geladen wird, sogar unter hoher Last. 4 Contents Contents 5 1 Introduction 9 1.1 Motivation ................................ 9 1.2 Method .................................. 10 1.3 Expected Results ............................. 11 1.4 Outline of the Thesis ........................... 11 2 Terms 13 2.1 Caching .................................. 13 2.1.1 Invalidation ............................ 14 2.1.2 Privacy .............................. 14 2.2 Load .................................... 15 2.2.1 Using the uptime command ................... 15 2.2.2 Using the top command ..................... 15 2.2.3 Load Averages .......................... 16 I Environment 17 3 Application 19 3.1 Bandnews.org ............................... 19 3.1.1 Technology ............................ 20 3.1.2 Page Structure .......................... 21 3.1.3 myBandnews ........................... 21 3.1.4 BandnewsCMS .......................... 22 4 Tools 23 4.1 Apache .................................. 23 4.1.1 History .............................. 23 4.1.2 Features .............................. 24 5 6 CONTENTS 4.1.3 Alternatives ............................ 25 4.2 PHP .................................... 26 4.2.1 History .............................. 26 4.2.2 Language Basics and Structure ................. 26 4.2.3 Integration with the web server ................. 28 4.2.4 Additional Libraries ....................... 29 4.2.5 Alternatives ............................ 29 4.3 MySQL .................................. 31 4.3.1 PEAR::DB ............................ 31 4.3.2 Query Cache ........................... 31 4.3.3 Alternatives ............................ 32 4.4 Smarty ................................... 33 4.4.1 Template Basics ......................... 34 4.4.2 Alternatives ............................ 36 4.5 Squid ................................... 38 4.5.1 Use cases ............................. 38 4.5.2 HTTP Acceleration ....................... 38 4.5.3 Alternatives ............................ 39 4.6 Advanced PHP Cache .......................... 40 4.6.1 Concept .............................. 41 4.6.2 Alternatives ............................ 42 4.7 Advanced PHP Debugger ........................ 43 4.7.1 Debugging ............................. 43 4.7.2 Profiling .............................. 43 4.7.3 Alternatives ............................ 43 4.8 ApacheBench ab ............................. 45 4.8.1 Alternatives ............................ 45 II Tuning the Application 47 5 Evaluation 49 5.1 Goal definition .............................. 49 5.2 Processing a Request ........................... 51 5.3 Possible Hooking Points ......................... 53 5.3.1 Client Request .......................... 53 5.3.2 PHP Module ........................... 54 5.3.3 Database ............................. 54 5.3.4 Application ............................ 55 5.4 Bandnews.org ............................... 56 CONTENTS 7 5.4.1 Skeleton page ........................... 56 5.4.2 Index page index.php ...................... 57 5.4.3 Search page search.php ..................... 58 5.4.4 Links page links.php ...................... 58 5.5 Testing .................................. 59 5.5.1 Preparations ........................... 60 5.5.2 Testing environment ....................... 61 6 Squid 63 6.1 Considerations .............................. 63 6.1.1 Caching of whole pages ..................... 64 6.1.2 Programmer’s view ........................ 66 6.1.3 Expected Results ......................... 68 6.2 Preparation ................................ 69 6.2.1 Configuring Apache ....................... 69 6.2.2 Configuring Squid ........................ 69 6.3 Results ................................... 71 6.3.1 skeleton-t.php ......................... 71 6.3.2 pres-skel-t.php ........................ 72 6.3.3 index.php ............................ 74 6.4 Conclusions for Squid .......................... 74 7 APC 75 7.1 Considerations .............................. 75 7.1.1 Compiler Cache .......................... 75 7.1.2 Code Optimization ........................ 76 7.1.3 Outputting Data ......................... 77 7.1.4 Programmer’s View ....................... 77 7.2 Preparation ................................ 78 7.2.1 Output Buffering ......................... 78 7.3 Results ................................... 79 7.3.1 Results for output testing .................... 82 7.4 Conclusions for APC ........................... 84 8 MySQL 85 8.1 Considerations .............................. 85 8.1.1 MySQL Query Cache ...................... 85 8.1.2 Persistent Connections ...................... 86 8.1.3 Query Tuning ........................... 86 8.2 Preparation ................................ 87 8 CONTENTS 8.3 Results ................................... 89 8.3.1 Query Cache ........................... 89 8.3.2 Persistent Connection ...................... 92 8.4 Conclusions for MySQL ......................... 94 9 Smarty Caching 95 9.1 Considerations .............................. 95 9.1.1 Caching Page Parts ....................... 95 9.1.2 Database Usage .......................... 96 9.2 Preparation ................................ 98 9.3 Results ................................... 100 9.4 Conclusions for Smarty Caching ..................... 103 10 Conclusions 105 10.1 Further Work ............................... 106 A File Sources 109 A.1 Benchmark Script ............................ 109 A.2 Patch Files ................................ 112 B List of Figures 119 C List of Tables 121 D List of Listings 123 References 125 Chapter 1 Introduction 1.1 Motivation As the Internet resp. the World Wide Web (WWW) is gaining more and more popularity, servers have to handle more requests accordingly. The more people (or simply clients) request resources (in this case files) from web servers, the faster servers have to accept and process the requests. To cope with these requirements programmers as well as system administrators must take countermeasures. From the very beginning of the WWW the requirements for servers have not only changed from the view of traffic, but also from the type of content they deliver to the client. Initially static pages had to be served, today – in 2005 – content is usually taken from a database, and dynamically generated pages are to be transferred. This development takes the main source of load away from the operating system responsible for reading the files from the hard disk or another type of memory and shifts it to the program that dynamically generates the page. Also computer hardware has evolved. This makes it possible to have web pages generated the way they are today. Generally speaking, servers are capable of serving most pages in quite a reasonable amount of time. This is true as long as only a small number of visitors request pages to be generated. The larger the number of clients, the more pages have to be generated simultaneously. Multi-tasking enables servers to do so, but CPU capacity is 9 10 CHAPTER 1. INTRODUCTION limited. If it was only for system administrators, they would add more hardware power (for instance clustering servers, load balancing). Often this can be done only to a certain extent, mainly due to financial but also for logistical reasons. From a programmer’s view, however, algorithms can be optimized (consider an algorithm in O(n2) on a fast computer which can easily be overtaken by a slower one running an O(n)) but also by caching techniques. The basis for this diploma thesis will be the analysis of caching strategies for this scenario. They will be used to speed up an existing application. The combination of various methods will be tested and benchmarked to reach a stage at which the application runs at reasonable speed even under high load. 1.2 Method We will explore the topic of this thesis using an existing web site (Band- news.org) as an example to which the caching strategies are applied. The site consists of an underlying structure which is
Recommended publications
  • Bitrix Site Manager
    Bitrix Site Manager Recommendations on configuring web systems for proper operation with Bitrix Site Manager Contents Contents..........................................................................................................................2 Introduction......................................................................................................................3 Configuring the Apache web server.................................................................................3 Reduction of memory consumed by the web server................................................................4 Creation of two-level configuration: Front-end plus Back-end.................................................4 Additional recommendations for the two-level configuration....................................................5 Configuring PHP..............................................................................................................7 Customizing the MySQL database..................................................................................8 Customizing the Oracle database..................................................................................10 Conclusions...................................................................................................................11 2 Introduction This document is intended for use by technicians and system administrators. The current document contains recommendations on how to customize the server software settings. These operations are executed by the Bitrix experts for
    [Show full text]
  • Kumpulan Tutorial AJAX – PHP
    Kumpulan Tutorial AJAX – PHP Table of Contents 1. Tips Optimasi skrip PHP()..........................................................................................................................4 2. Pengenalan Codeigniter............................................................................................................................6 3. Belajar jQuery mudah...............................................................................................................................9 4. Coding Best Practise................................................................................................................................14 5. Create, Update dan Delete Data Master Dengan Ajax.........................................................................17 6. Tips Merancang User Interface Form Pencarian Data..........................................................................24 7. Membuat Menu Tree Dengan PHP dan JQuery....................................................................................28 8. Skrip/Hal yang sering dibuat/digunakan oleh web-developer()..........................................................31 9. Belajar Ajax dengan prototype.js...........................................................................................................32 10. Submit Form Dengan Ajax Menggunakan jQuery.................................................................................34 11. AJAX – Asynchronous JavaScript And XML (PART 1) ............................................................................36
    [Show full text]
  • Phpmyadmin Documentation Release 5.1.2-Dev
    phpMyAdmin Documentation Release 5.1.2-dev The phpMyAdmin devel team Sep 29, 2021 Contents 1 Introduction 3 1.1 Supported features............................................3 1.2 Shortcut keys...............................................4 1.3 A word about users............................................4 2 Requirements 5 2.1 Web server................................................5 2.2 PHP....................................................5 2.3 Database.................................................6 2.4 Web browser...............................................6 3 Installation 7 3.1 Linux distributions............................................7 3.2 Installing on Windows..........................................8 3.3 Installing from Git............................................8 3.4 Installing using Composer........................................9 3.5 Installing using Docker..........................................9 3.6 IBM Cloud................................................ 14 3.7 Quick Install............................................... 14 3.8 Verifying phpMyAdmin releases..................................... 16 3.9 phpMyAdmin configuration storage................................... 17 3.10 Upgrading from an older version..................................... 19 3.11 Using authentication modes....................................... 19 3.12 Securing your phpMyAdmin installation................................ 26 3.13 Using SSL for connection to database server.............................. 27 3.14 Known issues..............................................
    [Show full text]
  • การเข้ารหัสภาษาสคริปต์ไฟล์ PHP ด้วย Turck Mmcache บนระบ
    การเขารหสภาษาสคร ปตไ ฟล PHP ดวย Turck MMCache บนระบบปฏบต การล)น*กซ ภษ ต รงโรจน หนวยปฏ บ ต การเทคโนโลย เคร อข าย ศนย เทคโนโลย อ เล !กทรอนกส และคอมพ วเตอร แห งชาต 1. บทน/า การเขย นภาษาสครปต บ นระบบปฏบ ตก ารลน กซ จะดาเนน การเขย นในลกษณะของ Plain text เป) นลกษณะของการเขย นใหท+ างานทล ะบรรทด แตส. าหรบโครงการขนาดใหญ. หรอ1 งานทต2 อ+ งการความ ปลอดภยสง5 ยกตวอย.างเชน. งานท2เกย2 วกบระบบเคร1อข.ายอนประกอบดว+ ยหมายเลขไอพ หรอ1 งานท2ม ความจาเป) นตอง+ ระบรหส การเขา+ ใชง+ านและรหสผา. นอยใ5. นสครปต ใ นลกษณะของการฝงในสครปต (Hard code) ลกษณะงานเหล.านBเมอ12 เผยแพร.ออกไปจะทาใหผ+ 5ท+ ม2 ค วามร5 + หรอ1 สามารถอา. นภาษาสครปต เข า+ ใจ สามารถทจ2 ะนาขอม+ ล5 บางสว. นเหลาน. นB ไปทาการทอ2 าจจะเป) นอนตราย หรอส1 ง. ผลกระทบในเชง การคา+ ได + การเขา+ รหสภาษาสครปต จ งD เป) นอก ทางเลอ1 กหนงทD2 ส2 ามารถนามาใชเพ+ อป12 +องกนปญหาเหล.านBไดใ+ นเบอ1B ง ตน+ ผลตภณฑ ยอดน ยมท น2 กพฒนานยมใช ม+ หลายตวด วยกน+ ตวอยางกรณศ. กษD า เชน. Zend encoder (www.zend.com) ผลตภณฑ เหล าน. ทB าออกมาในลกษณะเชงพาณ ชย ผท5 + ใช2 งานม+ ความจ าเป) น ตองซ+ อล1B ขส ทธ ซอฟตN แวร มาด วยราคาท+ ค2 อนข. างส+ ง5 และอกกรณหน งเมD2 อผล12 ตภณฑ ได ร+ บความนยมมา ก ก) จะมผ ท5 + ท2 าซอฟตแวร เพ อ12 ถอดรหสออกมาดวยเช+ นกน. ยกตวอยางเช. น. เมอเราพ12 มพ keyword คาวา. Zend decoder ลงในเวบไซด www.google.com ก)จะปรากฏผลลพธของเวบไซด ท ม2 Keyword เหลาน. จB านวน ถงD 508,000 เวบไซด สาหรบผลตภณฑ ซอฟต แวร ส าหรบการเขา+ รหสจากคายอ. น12 สามารถด5 ไดท+ http://2 www.patrickz.eu.org/content/Articles/PHP%20Script%20Encoder%20Compare.htm การแกป+ ญหาเรองล12 ขส ทธ ซอN ฟตแวร และการหาซอฟตแวร ท ใช2 ถ+ อดรหสไดง+ ายจากเวบไซด. ท 2วๆ ไป เราจงมD ความจ าเป) นตองหาทางเล+ อกใ1 นการใชซอฟต+ แวร ท ม2 ข อจ+ ากดดงนB 1. ฟร (Open source software) 2. ตดต งงB า.
    [Show full text]
  • Zend Framework : Bien Développer En
    __ g les Programmez intelligent Cahiers avec du les Pauli Cahiers Ponçon J. Programmeur du Programmeur G. Architecte certifié PHP et Zend Framework, Julien Pauli est responsable du pôle Zend Frame- Framework work/PHP chez Anaska (groupe Zend Alter Way). Contributeur de la pre- mière heure au framework en colla- En imposant des règles strictes de gestion de code et en offrant une très boration avec Zend Technologies, riche bibliothèque de composants prêts à l’emploi, le framework PHP 5 Zend conférencier et membre de l’AFUP, Framework guide le développeur web dans l’industrialisation de ses dévelop- il publie des articles sur PHP dans la pements, afin d’en garantir la fiabilité, l’évolutivité et la facilité de maintenance. presse. Fondateur et gérant de la société Cet ouvrage présente les meilleures pratiques de développement web avec OpenStates (partenaire Zend PHP 5 et le Zend Framework : design patterns, MVC, base de données, sécu- Technologies et Anaska), Bien développer en PHP rité, interopérabilité, tests unitaires, gestion des flux et des sessions, etc. Guillaume Ponçon intervient Non sans rappeler les prérequis techniques et théoriques à l’utilisation du fra- depuis plus de sept ans auprès de Julien Pauli mework, l’ouvrage aidera tant les développeurs débutants en PHP que les grands comptes sur de nom- chefs de projets ou architectes aguerris souhaitant l’utiliser en entreprise. breuses missions d’expertise, de Guillaume Ponçon conseil et de formation PHP. Ingé- nieur EPITA, expert certifié PHP et Zend Framework, il est aussi spé- cialiste des systèmes Unix/Linux et Framework Préface de Wil Sinclair pratique Java et C/C++.
    [Show full text]
  • How to Install and Secure Egroupware
    Need a license? or more flexibility? How to Install and Secure eGroupWare How To Install and Secure eGroupWare eGroupWare, why e ? decide for yourself, we could never pick one! enterprise, extended, extreme … groupware 2 How To Install and Secure eGroupWare The author and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. This document is published under the: Creative Commons Attribution-ShareAlike License For information on obtaining permissions for use of this material from this work, please submit your request to Reiner Jung [email protected] Linux is a trademark from Linus Torvalds Red Hat, Red Hat Network, RPM are trademarks or reghistered trademarks of RedHat Inc. in the United States and other countries SSH and Secure Shell are trademarks from SSH Communication Security Inc. Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corporation in United States and/or other contries All other trademarks and copyrights referred to are the property of their respective owners expl0it labs offer packaging and open source security development expl0it press is responsible for publishing HOWTOs, white papers and more expl0it consulting offer security consulting in the enterprise Date published 5-Jan-05 3 How To Install and Secure eGroupWare Table
    [Show full text]
  • Professional LAMP : Linux, Apache, Mysql, and PHP Web Development / Jason Gerner
    01_59723x ffirs.qxd 10/31/05 6:37 PM Page iii Professional LAMP Linux®, Apache, MySQL®, and PHP5 Web Development Jason Gerner Elizabeth Naramore Morgan L. Owens Matt Warden 01_59723x ffirs.qxd 10/31/05 6:37 PM Page i Professional LAMP 01_59723x ffirs.qxd 10/31/05 6:37 PM Page ii 01_59723x ffirs.qxd 10/31/05 6:37 PM Page iii Professional LAMP Linux®, Apache, MySQL®, and PHP5 Web Development Jason Gerner Elizabeth Naramore Morgan L. Owens Matt Warden 01_59723x ffirs.qxd 10/31/05 6:37 PM Page iv Professional LAMP: Linux®, Apache, MySQL®,and PHP5 Web Development Published by Wiley Publishing, Inc. 10475 Crosspoint Boulevard Indianapolis, IN 46256 www.wiley.com Copyright © 2006 by Wiley Publishing, Inc., Indianapolis, Indiana Published simultaneously in Canada ISBN-13: 978-0-7645-9723-7 ISBN-10: 0-7645-9723-X Printed in the United States of America Manufactured in the United States of America 10 9 8 7 6 5 4 3 2 1 1MA/RW/RR/QV/IN Library of Congress Cataloging-in-Publication Data Professional LAMP : Linux, Apache, MySQL, and PHP Web development / Jason Gerner ... [et al.]. p. cm. ISBN-13: 978-0-7645-9723-7 (paper/website) ISBN-10: 0-7645-9723-X (paper/website) 1. Web site development. 2. Open source software. I. Title: Linux, Apache, MySQL, and PHP Web development. II. Gerner, Jason, 1978– TK5105.888.P677 2006 005.2'762—dc22 2005026487 No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning, or otherwise, except as permitted under Section 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600.
    [Show full text]
  • Release 5.0.4 the Phpmyadmin Devel Team
    phpMyAdmin Documentation Release 5.0.4 The phpMyAdmin devel team Jan 24, 2021 Contents 1 Introduction 3 1.1 Supported features............................................3 1.2 Shortcut keys...............................................4 1.3 A word about users............................................4 2 Requirements 5 2.1 Web server................................................5 2.2 PHP....................................................5 2.3 Database.................................................6 2.4 Web browser...............................................6 3 Installation 7 3.1 Linux distributions............................................7 3.2 Installing on Windows..........................................8 3.3 Installing from Git............................................8 3.4 Installing using Composer........................................9 3.5 Installing using Docker..........................................9 3.6 Quick Install............................................... 14 3.7 Verifying phpMyAdmin releases..................................... 16 3.8 phpMyAdmin configuration storage................................... 17 3.9 Upgrading from an older version..................................... 19 3.10 Using authentication modes....................................... 19 3.11 Securing your phpMyAdmin installation................................ 27 3.12 Using SSL for connection to database server.............................. 28 3.13 Known issues............................................... 28 4 Configuration 29 4.1 Basic
    [Show full text]
  • P ADA ESCUELA SUPERIOR POLITECNICA
    p ADA ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO FACULTAD DE INFORMÁTICA Y ELECTRÓNICA ESCUELA DE INGENIERÍA EN SISTEMAS “ANÁLISIS COMPARATIVO DE OPTIMIZACIÓN DE CÓDIGO PHP APLICADO AL SEGUIMIENTO DE GRADUADOS DE LA EIS” TESIS DE GRADO Previa obtención del título de: INGENIERO EN SISTEMAS INFORMÁTICOS PRESENTADO POR: Cristian Darío Núñez Verdezoto Tatiana Noemí Orejuela Quinzo RIOBAMBA – ECUADOR 2012 AGRADECIMIENTO Agradezco a Dios por permitirme llegar a cumplir con un objetivo más, a mis padres Tomás y Marlene, quienes han realizado un gran esfuerzo para ver esta meta cumplida, mis hermanos, a mis tíos Ángel y Gladys, mis primos Cristina y Javier, quienes me acogieron como uno más de ellos, me apoyaron siempre, además a Tatiana que gracias a ella y su apoyo en los momentos difíciles logramos salir adelante con el presente trabajo de investigación. A nuestro director de tesis Ing. Danilo Pastor, y; la Ing. Gloria Arcos, los que han aportado con sus conocimientos para desarrollar esta tesis. Cristian Darío Núñez Verdezoto Agradezco a mi Dios por bendecirme para llegar hasta donde he llegado, a mi madre Silvia Quinzo, que siempre está conmigo en mis éxitos y fracasos apoyándome en todo momento. A mi padre Jorge Orejuela, por su apoyo. Son muchas las personas que han formado parte de mi vida a las que agradezco su amistad, consejos, apoyo, ánimo y compañía en los momentos más difíciles de mi vida. Algunas están aquí conmigo y otras en mis recuerdos y en mi corazón, sin importar en donde estén quiero darles las gracias por formar parte de mí, por todo lo que me han brindado y por todas sus bendiciones.
    [Show full text]
  • Format Penulisan Makalah
    Seminar Nasional Teknologi Informasi dan Multimedia 2014 ISSN : 2302-3805 STMIK AMIKOM Yogyakarta, 8 Februari 2014 APLIKASI CI-SMART SEBAGAI SISTEM INFORMASI UNTUK MENGELOLA HONOR DOSEN DENGAN PENDEKATAN BERORIENTASI OBJEK STUDI KASUS: STMIK AMIKOM YOGYAKARTA Nila Feby Puspitasari Teknik Informatika STMIK AMIKOM Yogyakarta Jl Ring road Utara, Condongcatur, Sleman, Yogyakarta 55283 Email : [email protected] Abstrak lingkungan civitas akademik guna mempermudah layanan informasi terkait. Aplikasi Ci-Smart sistem informasi untuk mengelola Akan tetapi masih ditemui masalah dalam honor dosen ini difungsikan untuk mengelola honor pengelolaan penghonoran dosen mengajar masih dosen dengan pendekatan berorientasi objek. Aplikasi dilakukan secara semi computerize dalam proses ini dibuat berbasis web yaitu menggunakan bahasa kegiatannya sehingga memungkinkan tingkat pemrograman PHP yang dikombinasikan dengan kesalahan yang cukup significan dalam penghonoran Code Ignitier (CI) dan Smarty. CI sebagai framework dosen mengajar khususnya dalam pembuatan laporan. tentunya menghasilkan aplikasi yang ringan dan Berdasarkan permasalahan yang telah diuraikan memiliki akses yang cepat, sedangkan Smarty adalah pada paragraf sebelumnya., maka peneliti merasa template engine yang handal dan membuat web lebih perlu untuk melakukan penelitian dengan merancang tertata rapi dan menarik, dan database yang dan membuat sebuah aplikasi yang mengelola honor digunakan adalah MySQL. Metode yang digunakan dosen mengajar dan honor ujian untuk memberikan dalam pembuatan aplikasi ini adalah berorientasi solusi yang lebih baik untuk kedepannya. objek, perancangannya dibuat dengan menggunakan 1.2 Rumusan Masalah bahasa pemodelan Unified Modeling Language Dari latar belakang yang telah dijelaskan, penulis (UML). merumuskan bahwa permasalahan yang di kaji adalah: Kata kunci: Ci-Smart, Framework, Code Ignitier, a. Bagaimana merancang dan membuat aplikasi Smarty. ci-smart untuk mengelola honor dosen mengajar dan honor ujian/koreksi berbasis 1.
    [Show full text]
  • Professional LAMP : Linux, Apache, Mysql, and PHP Web Development / Jason Gerner
    01_59723x ffirs.qxd 10/31/05 6:37 PM Page iii Professional LAMP Linux®, Apache, MySQL®, and PHP5 Web Development Jason Gerner Elizabeth Naramore Morgan L. Owens Matt Warden 01_59723x ffirs.qxd 10/31/05 6:37 PM Page iv Professional LAMP: Linux®, Apache, MySQL®,and PHP5 Web Development Published by Wiley Publishing, Inc. 10475 Crosspoint Boulevard Indianapolis, IN 46256 www.wiley.com Copyright © 2006 by Wiley Publishing, Inc., Indianapolis, Indiana Published simultaneously in Canada ISBN-13: 978-0-7645-9723-7 ISBN-10: 0-7645-9723-X Printed in the United States of America Manufactured in the United States of America 10 9 8 7 6 5 4 3 2 1 1MA/RW/RR/QV/IN Library of Congress Cataloging-in-Publication Data Professional LAMP : Linux, Apache, MySQL, and PHP Web development / Jason Gerner ... [et al.]. p. cm. ISBN-13: 978-0-7645-9723-7 (paper/website) ISBN-10: 0-7645-9723-X (paper/website) 1. Web site development. 2. Open source software. I. Title: Linux, Apache, MySQL, and PHP Web development. II. Gerner, Jason, 1978– TK5105.888.P677 2006 005.2'762—dc22 2005026487 No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning, or otherwise, except as permitted under Section 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600.
    [Show full text]
  • < Andrii Bezliudnyi >
    [email protected] https://xvv.be/ Kyiv, Ukraine < Andrii Bezliudnyi > < Team Lead / Senior JavaScript Developer > Summary I have been developing web applications since 2001. My strong analytical and technical skills allow me not only to create original and 'bugless' solutions for all stages of software development project starting from R&D, continuing with QA and Implementation, and complete with Support fields, but also to consult and coordinate project teams with building high working relationships inside and optimizing their performance and ongoing development. Almost all the projects I participated in are complex, multidirectional, multi-user applications with a dedicated core and a group of interfaces that support all kinds of protocols and devices written in JavaScript / TypeScript with or without frameworks. In most projects I have been since the beginning of their design and was engaged in both building the architecture of the application core and ergonomics of interfaces (API, UI, UX). Close cooperation with QA departments at all stages of development allowed me to gain unique experience in creating, implementing and supporting successful web solutions. Coordinated the work of development teams of up to 7 people using effective techniques and schemes to optimize their work and strengthen the team spirit. Technical Skills Skill Category Skill list Programming Languages JavaScript, TypeScript, PHP7 Client-side Frameworks AngularJS, Angular2+, Backbone.js, Jquery Server-side Frameworks Laravel 5, Slim, Phalcon UI Frameworks Ionic 1-4,
    [Show full text]