Ir al contenido principal

Entradas

Mostrando entradas de 2016

SCRUM Master Certified - Quality / Risk

Quality Quality management is facilitated though three interrelated activites; Quality planning Quality control Execute the planned quality activities Quality assurance Evaluation of processes and standards that govern quality management in a project  Risk Risk management consists in 5 steps: Risk identification Risk assessment Risk prioritization Risk migration Risk communication

SCRUM Master Certified - SCRUM Principles / Aspects / Roles

SCRUM Principles  There are 6 principles that are the core guidelines and are mandatory. Empirical Process Control Backup the 3 main ideas: Transparency Inspection Adaptation Self-Organization Rather than Command & Control Collaboration Advocates project management as a shared-value creation process Value based Priorization Maximum business value Time Boxing Time is a limited constraint Iterative Development These principals respond to the questions: Who, What, Where, When, How much SCRUM Aspects There are 5 Scrum aspects Organization Business Justification It is important perform a business assestment before start the project to undestand the business need for a change, new product, etc.. Quality Ability of the completed product or deliverables to meet the Acceptance Criteria and achieve the business value expected by the customer. Change SCRUM welcome change by using short iterative sprints Risk ...

SCRUM Master Certified - SCRUM Principles / Aspects /

SCRUM Principles There are 6 principles Empirical Process Control Backup the 3 main ideas: Transparency Inspection Adaptation Self-Organization Rather than Command & Control Collaboration Advocates project management as a shared-value creation process Value based Priorization Maximum business value Time Boxing Time is a limited constraint Iterative Development These principals respond to the questions: Who, What, Where, When, How much SCRUM Aspects

SCRUM Master Certified - Agile concepts

Waterfall To be applied when => well-defined functionalities  previous experience on such projects Cost & Schedule are primaries to get the Scope Agile Quality & Constrains are primaries to get Maxium Business Value ---------------------------------------- Agile Methods Lean Kanban Development Lean Kanban Development => Optimizes an organization´s system to produce valuable results based on its resources, needs and alternatives WHILE reducing waste. Integrates  Kanban => Visualization methods Lean principles => Visual incremental evolutionary process managment system. Expreme Programming Keep the costs of changing SW from rising radically with time. Key Aspects: Incremental development Flexibility Scheduling Automated test codes Verbal communication Evolving design Close collaboration Values Communication Feedback Simplicity Courage Roles Developer Tracker Customer C...

SCRUM Master Certified - Agile Principles

Agile Principles There are 12 Agile principles: Customer Satisfaction Welcome change in requirements Deliver working SW frequently The real value is =>  Working SW Business people & developres must work together Build projects around motivated people The most effective method of conveying information Working SW is the primary measure of progress Agile processes promote sustainable development Continues attention to technical excellence & good design enhances Agility Continues integration refactoring incremental re-architecture Simplicity - The art of maximizing the amount of work NOT done Best Arquitecture, Requirements, Design emerge from self-organized teams Regular times the auto-adjust to be more effective.

PHP / Laravel X (Containers)

Containers The containers will help to store objects that will be used in many parts Create a folder named Repositories in app/ Inside the folder create your class as <Name>Repository.php Create a method to return your values public getValues(){     return $values; } Controller Create your controller and receive as parameter your Container class If you will invoke many times the method you can call it in the constructor public function _construct( <Name>Repository $repository){      return $repository->getValues();     }

Mongoose II - Inner schema

Inner Schema Create a schema named dishSchema with an inner commentSchema // grab the things we need var mongoose = require('mongoose'); var Schema = mongoose.Schema; var commentSchema = new Schema({     rating:  {         type: Number,         min: 1,         max: 5,         required: true     },     comment:  {         type: String,         required: true     },     author:  {         type: String,         required: true     } }, {     timestamps: true }); // create a schema var dishSchema = new Schema({     name: {         type: String,         required: true,         unique: true     },   ...

Mongoose I

Mongoose Mongoose is an ODM  Object Data Model Generate a schema to order the documents in MongoDB Install To install mongoose in your project, type: npm install mongoose --save Create a Model All this code will be in a file <Model>.js to create a Model and be used as node package // grab the things we need var mongoose = require('mongoose'); var Schema = mongoose.Schema; // create a schema var dishSchema = new Schema({     name: {         type: String,         required: true,         unique: true     },     description: {         type: String,         required: true     } },  //This part creates two date fields to store when a field is created and when is updated  {     timestamps: true }); // the schema is useless so far // we need to create a mo...

MongoDB II

Driver Mongos is a ODM way to interact with MongoDB Assert package Package to assert conditions Install npm install --assert --save Install MongoDB in your project npm install --mongodb --save Execute MonogDB In a console change the path to the folder mongodb Type: mongod --dbpath=data In another console type: mongo Type: use <DB> In case you want to raise your project go to the folder in another tap and type: node <file>.js Insert a register in a project  var MongoClient = require('mongodb').MongoClient, assert = require('assert'); // Connection URL var url = 'mongodb://localhost:27017/<DB>'; // Use connect method to connect to the Server MongoClient.connect(url, function (err, db) {     assert.equal(err,null);     console.log("Connected correctly to server");         var collection = db.collection("dishes");         collection.insertOne({name: ...

PHP / Laravel IX (Seeder)

Seeder Fills the DB automatically with the registered previously loaded. Create a Seeder Use the format  <Table_Name>TableSeeder as standart php artisan make : seeder UsersTableSeeder The new class will appear in  database / seeders Query Builder In the method Run, add the registeres to be inserted DB :: table ( 'users' ) - > insert ( [ 'name' = > str_random ( 10 ) , 'email' = > str_random ( 10 ) . '@gmail.com' , 'password' = > bcrypt ( 'secret' ) , ] ) ; Run Seeder Only execute the DatabaseSeeder php artisan db : seed You can add your seeder as: // $this->call(<yourclass>::class); php artisan db : seed -- class = UserTableSeeder php artisan migrate : refresh -- seed

PHP / Laravel VIII (Eloquent)

Relationship between tables Create the father table php artisan mak:mig create_migration_card_table --create=cards Create the child table php artisan mak:mig create_migration_card_table --create=notes Relationship Create the foreign key in the child table $table->integer('card_id')->unsigned()->index();  Create the Model php artisan make:model Note php artisan make:model Card Shortcut In this way we can create the model and the migration at the same time php artisan make:model <Class> -m Refresh DB php artisan migrate:refresh  Using Eloquent In the father class (Model) add a method to get the childs public function  notes (){                  return $this-> hasMany ( <Class>::class );              } In the child class (Model) add the next method to get the father  public function card(){ ...

PHP / Laravel VII (Eloquent)

Eloquent Once you have created your model in /App you can use it in the Controller to start doing the queries. Insetead of  $notes = DB::table('note')->get(); You can replace it for: $ notes  = Note::all();       Then you can sent the objects to the view return view('<folder> . <file_name>', compact(' notes ')); Commands <Class>::find($id); TIP You can create a direct search using the following, laravel will search by default by ID Router Define a router to receive an object:   Route::get('show/{notes}', 'NoteController@show'); Controller In this case we are waiting an object of type Note, automatically will find by ID in the database public function showObj(Note $notes){                       return view('notes.show', compact('notes'));     } View In the view we receive the object n...

PHP / Laravel III (Model)

Help php artisan help Creating classes (Model) Using artisan php artisan make:model <class_name> The class will be created in app Add the namespace use App\<class> Standart By default once you create the Model in SINGULAR, laravel will consider that you table will be in PLURAL In case you want to maintain the singular add to you model: protected $table = '<class name>'; Fillable In the class created add  protected $fillable = ['note']; DB Configuration In the file .env Type the user and password Create the database in mysql Migration Create the tables in the DB Type in artisan: php artisan: php artisan make:migration <migration_name> --create=<table_name> or php artisan mak:mig <migration_name> --create=<table_name> The migration will appears on the folder database/migrations Migration commands $table->string('<field_name>'); $table-...

PHP / Laravel VI (Layout)

Layouts In resources/views you can create your templates Named the file as: layout.blade.php @yield('<section>')  will be the section that will be replaced later by your view Implement @extends('<template>') To specify the template to use @section('<section_name>') To indication which section will be replaced @stop To indicate the end of the section Example: <!DOCTYPE html> <html>     <head>         <title>Notes</title>         <meta charset="UTF-8">                  @yield('header')     </head>     <body>                  @yield('content')                           @yield('footer')        ...

PHP / Laravel V (Controller / Routes)

Controller Artisan also create the controllers php artisan make:controller <Controller name>Controller The new controller will appers in app/Http/Contoller folder Add the namescape DB:   use DB; Functionallity Create the fuction index public function index() { return view ('<view_name>.index'); } <view_name>.index means That there is a view in /resources/views/<view_name>/index.blade.php Passing parameters return view ('<view_name>.index', compact('<array>') ); Other form is  return view('<view_name>.index')->with('<array>', $<array>) Routes In the file app/Http/routes indicate the controller to be used Route::get('notes', 'NoteController@<function>'); 'notes' is the name of the URL 'NoteController is the name of the file controller @<method> is the function to be called In my...

MongoDB I

NoSQL DB Categories Document DB (MongoDB) Key-value DB (Redis, *Speed) Column-family DB (Cassandra) Graph DB (Neo4J) Document DB Contains information in any format as JSON Document - {"name":"user", "desc": "employee"} Collection - Set of documents Benefits Availability Consistency Partion tolerance Ease of deployment No object-relation mapping required Format MongoDB store the information in BSON (Binary JSON format) Contains about the type of a field value Primitive types are supported as date time, raw binary, ObjectId ObjectId  By default MongoDB assign an id if you don't declare one {     "_id" : ObjectId("234234234"),     "name" : "pizza" ,      "desc" : "pepperoni" } 4- digits : timestamp 3 - machine  2 - proc Id 3 - increment id.getTimestamp()  -  returns the timest in ISO formatpe:  Co...

NodeJS V - Express Generator

Express Generator Scanffold out an Express application Install  npm install express-generator -g Use sudo in mac Create the application express <project_name> Install node npm install Start npm start The class app.js is the initial file

Node III - HTTP

Node HTTP Module Using the module: var http = require('http');  Creating a server: var server = http.createServer(function(req, res){ . . . });  Starting the server: server.listen(port, . . . ); Request Incoming request message information available through the first parameter “req”   req.headers, req.body, . . .  Response Response message is constructed on the second parameter “res”  res.setHeader("Content-Type", "text/html");   res.statusCode = 200;   res.writeHead(200, { 'Content-Type': 'text/html' });  res.write(’Hello World!');   res.end(' <html><body><h1>Hello World</h1></body></html> '); Example var http = require('http'); var hostname = 'localhost'; var port = 3000; var server = http.createServer(function(req, res){ console.log(req.headers); res.writeHead(200, {'Content-Type': 'text/html'}); res.end('...

NodeJS II

Callbacks First parameter is always an error Code using Callbacks module.exports = function(x,y,callback) {   try {     if (x < 0 || y < 0) {         throw new Error("Rectangle dimensions should be greater than zero: l = "                             + x + ", and b = " + y);     }     else          callback(null, {             perimeter: function () {           return (2*(x+y)); },             area:function () {            return (x*y); }     });   }   catch (error) {         callback(error,null);   } } Execute the function using Callbacks var rect = require('./rectangle-2'); function solveRect(l,b) {     console....

NodeJS I

1. Install        Download from  https://nodejs.org/en/ 2.Verify          Open the CMD and type: node -v   or type   npm -v         If in the screen appear the node version, the installation has been done with success First Example var rect = { perimeter: function (x, y) {            return (2*(x+y)); }, area: function (x, y) {             return (x*y); } }; function solveRect(l,b) {     console.log("Solving for rectangle with l = " + l + " and b = " + b);     if (l < 0 || b < 0) {         console.log("Rectangle dimensions should be greater than zero:  l = "                + l + ",  and b = " + b);     }     else { console.log("The area of a rectangle of dimensions length = " ...

AngularJS send request with special characters

    In this case the request have the following components: URL: ./Provider/ChangeStatusRequest/' with parameters:  + $scope.request.accessProvider_ID + '/' + false + '/' + encodeURIComponent(rejection_message) + '/' The function encodeURIComponent() allows to send special characters. To get the response is the funtion:   .then(function(){}) To get the erros use the function .catch      $http.get('./Provider/ChangeStatusRequest/' + $scope.request.accessProvider_ID + '/' + false + '/' + encodeURIComponent(rejection_message) + '/')             .then(function(a) {             if (a > 0) {                 $scope.RequestList[$scope.request.index].checkboxToReject = "true";             }             }).catch(function (a) {       ...