text:
Q: Highcharts graph not shown in Yii2 I am getting array data from a function ReportsController::getStudentYearwiseAvgHeightsProvince() in the below format:
Array ( [0] => Array ( [name] => Baluchistan [data] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => 0 ) ) [1] => Array ( [name] => KPK [data] => Array ( [0] => 56 [1] => 58 [2] => 58 [3] => 0 [4] => 0 [5] => 0 [6] => 60 ) ) [2] => Array ( [name] => Punjab [data] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 78 [4] => 90 [5] => 90 [6] => 0 ) ) [3] => Array ( [name] => Sindh [data] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => 0 ) ) )

ReportsController::getStudentYearwiseAvgHeightsProvince() function is:
        public function getStudentYearwiseAvgHeightsProvince() {
    $result = Yii::$app->db->createCommand ( '

            SELECT temp.name AS name,
GROUP_CONCAT(IFNULL(temp.height,0) order by year) AS data

FROM ( SELECT years.year AS year, p.name AS NAME, FLOOR(AVG(sd.height)) AS height
  FROM (
    SELECT DISTINCT year FROM student_detail ORDER BY year
    ) years
  cross join province p
  left join student_detail sd on years.year = sd.year and sd.province_id = p.id
  GROUP BY years.year, p.name
  ORDER BY years.year )
  AS temp
GROUP BY name;          ' )->queryAll ();

    $i = 0;

    foreach ($result as $innerArray) {

        $result[$i]['data'] = explode(",", $result[$i]['data']);
        //$result[$i]['name'] = $innerArray['name'];

        $i++;

    }

    //$result = array_map(function($var){ return (int) $var['data']; }, $result); // extraction from 2 level associative arry to 1-d associative array

    print_r ( $result );

    return $result;
}

and I am setting highcharts component as follows:
echo Highcharts::widget([

    'scripts' => [
            'modules/exporting',
            'themes/grid-light',
    ],

    'options' => [

            'title' => ['text' => 'Student Province-wise Yearly Avg Heights'],
            'plotOptions' => [
                    'column' => [
                            'depth' => 25
                    ]
            ],

            'xAxis' => [
                    'categories' => ReportsController::getDistinctCols("student_detail", "year")
            ],

            'yAxis' => [
                    'min' => 0,
                    'title' => ['text' => 'Avg Height']
            ],

            'series' =>

                            ReportsController::getStudentYearwiseAvgHeightsProvince()

    ]

]);
No graph is generated :(

A: I fixed the graph not showing issue by just converting the STRING ARRAY to INTEGER ARRAY which is returned by EXPLODE in my function getStudentYearwiseAvgHeightsProvince()
by editing the code inside FOREACH LOOP as:
foreach ($result as $innerArray) {

        $result[$i]['data'] = explode(",", $result[$i]['data']);
        $temp = array();
        foreach ($result[$i]['data'] AS $index => $value)
            $temp[$index] = (int)$value;

        $result[$i]['data'] = $temp;

        $i++;

    }


The online tools available to run our businesses are both amazing and overwhelming. Peter Martin started his own software company, Software Profs, aiming to use his experience in ICT to help small businesses with quality software and website solutions at a more affordable price with full support.
After seeing small businesses struggle to find the right solution for them, the company started Open Days which is a free unbiased consultancy once a month to help people find the ideal software and website solution to run their business easier, quicker and cheaper with the right software and tools solutions for them.


MTTRY dividend dates, history of Ceconomy AG annual dividend yield in 2019. Does Ceconomy AG pay dividends? How often does Ceconomy AG pay dividends?
When does Ceconomy AG pay dividends?
Ceconomy AG pay dividend once a year, last MTTRY dividend payment date was 06/03/2018.
How much dividend does Ceconomy AG pay?
Ceconomy AG paid 0.44 $ per share last time and trailing annual dividend yield is 18.94 %.
When is Ceconomy AG next dividend date?
Next Ceconomy AG dividend payout will be in 2020.
Ceconomy AG stock price today, MTTRY stock quote.
Ceconomy AG stock price real-time, MTTRY stock live, MTTRY live market watch.
Ceconomy AG to US dollar chart since start of trading.
MTTRY volume of trade today and historical data of Ceconomy AG capitalization.
MTTRY dividend dates, history of Ceconomy AG annual dividend yield in 2019.


text:
Oslo: Money Heist – La Casa De Papel [2021]
By admin December 11, 2020 Wiki, La Casa De Papel, Money Heist 0 Comments
The narrator Tokyo introduces them to her own words. "And there are the twins, Helsinki and Oslo.
Even the most sophisticated plan ever needs soldiers; and for that, what could be better than two Serbs. They may have a brain, but frankly, we will never know"
Oslo Story
Oslo Wiki
Roberto García Wiki
Radko Dragic also was known by his code name Oslo. He was a member of the group of robbers from the Royal Mint of Spain in Money Heist.
He is very calm, hardly ever talks and never asks for anything. Together with his cousin Helsinki, they form the brute force of the Professor's plan. Tokyo calls it discreet. He participates in the robbery alongside his cousin Helsinki, both recruited by the Professor.
On 24 October 2016, after being hit by a metal bar at the top when a group of hostages tried to escape during the sixty-second-time robbery, Oslo suffered a concussion.
Therefore, he can no longer speak and is immersed in a vegetative state. Helsinki, no longer able to bear to see it like this, ends up suffocating it, three days after the start of the robbery.
According to him, this is what Oslo would have wanted. Siblings side, he has a brother, who happens to be one of four Serbian workers digging the tunnel.
Full Name Radko Dragic
Occupation Robber
Status Died
Family Helsinki (cousin) Darko Dragic (brother)
Roberto García Ruiz is an actor, bodybuilder, and former civil guard. He plays the role of Oslo in the Money Heist.
Full Name Roberto García Ruiz
Occupation Actor, Body Builder
Born March 5, 1974
Birth Place Cantabria
Arturo Roman: Age, Wife, Height, Wiki – Money Heist | La Casa De Papel
Tokyo Mother Wiki – La Casa De Papel – Money Heist
How did Berlin Die in Money Heist? – La Casa De Papel

redpajama_set_name: RedPajamaCommonCrawl


text:
Issue Thirty-One - Winter 2018
The Winter of our (Dis)content
By Stephanie Barbé Hammer
What better moment in our profoundly messed up time to quote Richard III? Shakespeare can really write about dysfunctional regimes. I find myself thinking about the plays that focus on the rot at the top: Richard the III of course, but also Hamlet, King Lear, and even Measure for Measure, where a predatory puritanical ruler tries to blackmail a beautiful novice into having sex with him. A lot of Shakespeare sounds familiar to me right now.
But writing about a country and a world that are a mess is harder than it looks. The bard makes it look easy, but a lot of us are finding it hard these days.
That's when I turn with pleasure to the work I've been invited to undertake here at SHARK REEF, and to the remarkable team of editors who remain in place to make sure the magazine retains its distinctive character. Lorna Reese, one of the founders of the magazine and managing editor for its first 17 years, is pursuing her own writing these days, yet remains actively involved in numerous ways behind the scenes.
Poet Richard Widerkehr continues as poetry co-editor and welcomes new co-editor Linda Conroy; together they have assembled twenty-one remarkable poems for this issue. Publisher Iris Graville is also still onboard to keep us on-track and art editor Judith Connor works with Lorna to select arresting visual work.
Finally, guest prose editor Heather Durham joins me for this issue and the next. Together, she and I have selected the prose work for the Winter 2018 issue. Heather writes wonderful nonfiction while I write (strange) fiction. So we're a good team. She's also highly organized. Which helps yours truly stay focused.
Writing is a solitary activity. But editing, thank G-d, is not. Involvement with a literary journal is social, and at times spectacularly chatty. At its best it forms a fellowship of literary friends, because we're all in it for the same reasons. We're in it because we love words. We're in it because we love writing and writers. We're in it because we have this feeling that word-art matters, and we want to celebrate writers who have the fortitude and the imagination to write under current conditions. Some wonderful writers are published here — poets and prose writers covering an array of topics with grace and grit. As often happens in hard times – the 30 Years War, the Great Leap forward – poetry is in great evidence here. Stories are harder to generate in times of uncertainty perhaps, but the ones in this issue are special, in our opinion.
So I'll end, not with Shakespeare but with Harold Ramis, who co-wrote the screenplay for Groundhog Day with Danny Rubin. Trapped in a seemingly endless cycle of snow days, recovering narcissistic weatherman Phil Connor notes: "Standing here among the people of Punxsutawney and basking in the warmth of their hearths and hearts, I couldn't imagine a better fate than a long and lustrous winter."
That's how I feel about our editorial team, and I thank Lorna, Richard, Linda, Iris, Judith and Heather for the opportunity to bask in the warmth of their kind hearts and hard work.
May your winter be lustrous and filled with healthy discontent. The discontent that writes letters, goes to Senate Offices, and goes to vote.
Then please write about it. We're waiting to read you. Cheers.
Copyright 2018 Hammer
Stephanie Barbé Hammer is a five-time Pushcart Prize nominee in fiction, nonfiction and poetry. She has published short stories, poems and lyric essays in the Bellevue Literary Review, GRAVEL, Birds We Piled Loosely, Pearl, and the Hayden's Ferry Review among other places. She is the author of the magical realist novel, The Puppet Turners of Narrow Interior (Urban Farmhouse Press), the prose poem chapbook Sex with Buildings (Dancing Girl Press), the poetry collection How Formal? (Spout Hill Press) and most recently, a how-to-write magical realism manual, Delicious Strangeness (Spout Hill Press). Originally from Manhattan, Stephanie now lives on Whidbey Island, where she walks amongst the trees, looking for a dry cleaner, a taco truck and someone talk to. She is working on a new poetry collection/audio project entitled CITY SLICKER as well as a novella about two confused young people searching for a missing senior citizen aboard a luxury train bound for Quebec. She iis currently serving as managing editor for SHARK REEF.
All work by Stephanie Barbé Hammer
← Previous Post Because
Next Post → Persian Lessons


Dedicated in 1897, the General Grant National Memorial is the largest mausoleum in America. Its sheer size reflects the immense reverence Americans felt for this former general and president, who was considered the savior of the Union. Through major battlefield victories—including those at Fort Donelson, Shiloh, Vicksburg and Chattanooga—he changed the tide of the Civil War in the Union's favor.
After the war he was elected president, advocating amnesty for Confederate leaders and protection for freed African-Americans. At his death, Grant was almost universally respected by both Northerners and Southerners. Architect John Duncan based his design on Mausoleus' Tomb at Halicarnassus of 350 B.C. The structure rises 150 feet from a bluff overlooking the Hudson River. It was built between 1891 and 1897, utilizing the labor of hundreds of men and over 8,000 tons of granite. Two exterior figures, probably personifying Victory and Peace, support a plaque reading "Let Us Have Peace." The interior is of Carrara and Lee marbles. Allegorical reliefs on the vaulting represent Grant's birth, military life, civilian career and death. Grant's wife, Julia Dent Grant, who died in 1902, is also buried in the crypt.
The bronze busts in the crypt, sculpted under the Work Projects Administration in 1938, portray some of Grant's best generals—Sherman, Sheridan and MacPherson among them. Exhibits depict Grant's role as general and president, and guided tours are available.
The colorful tile-mosaic outdoor seating that encircles the tomb is the result of a 1970s community beautification project. The site is administered by the National Park Service. A park pavilion, across West Riverside Drive from the the Tomb, will be renovated in Spring 2010 and offer an overlook and park programs for the public.
Members of the Grant Monument Association support renovations and activities at Grant's Tomb.


text:
Llutxent är en kommun i Spanien.   Den ligger i provinsen Província de València och regionen Valencia, i den östra delen av landet,  km sydost om huvudstaden Madrid. Antalet invånare är . Arean är  kvadratkilometer. Llutxent gränsar till Gandia, Ador, Aielo de Rugat, Almiserà och Ròtova.

Terrängen i Llutxent är kuperad åt nordost, men åt sydväst är den platt.

Ett kallt stäppklimat råder i trakten. Årsmedeltemperaturen i trakten är  °C. Den varmaste månaden är augusti, då medeltemperaturen är  °C, och den kallaste är januari, med  °C. Genomsnittlig årsnederbörd är  millimeter. Den regnigaste månaden är november, med i genomsnitt  mm nederbörd, och den torraste är juli, med  mm nederbörd.

Kommentarer

Källor

Externa länkar

Indelningar i regionen Valencia

redpajama_set_name: RedPajamaWikipedia


What Does The Name Devondre Mean?
What Devondres Have Visited This Page?
How difficult is it to pronounce Devondre?
Can Devondre be pronounced multiple ways?
We noticed you have a microphone. If you know how to pronounce Devondre, just click the button to record. We'll save it, review it, and post it to help others. Recordings from children under 18 are not allowed.
What does the name Devondre mean? Find out below.
A user from Wisconsin, United States says the name Devondre is of African origin and means "One that knows how to make other people laugh.".
A user from South Africa says the name Devondre is of Latin origin and means "Full fulling of life".
How Popular is the name Devondre? Devondre is the 23,320th most popular name of all time.
How many people with the first name Devondre have been born in the United States? From 1880 to 2017, the Social Security Administration has recorded 264 babies born with the first name Devondre in the United States. That's more than enough people named Devondre to occupy the territory of Pitcairn Islands (United Kingdom) with an estimated population of 66 (as of July 1, 2008).
What year were 5 or more babies first named Devondre? The name was first given to 5 or more babies in the year 1989 when it was given as a first name to 9 new born babies.
When was Devondre first recorded in the United States? The oldest recorded birth by the Social Security Administration for the first name Devondre is Monday, March 13th, 1978.
What year had the most people named Devondre born? The highest recorded use of the first name Devondre was in 1995 with a total of 21 babies.
Random Devondre Factoid: According to the 1998 U.S. Social Security Administration data, the first name Devondre is not a popular baby boy's name in Texas. Imagine that, only 5 babies in Texas have the same name as you in 1998.
Weird things about the name Devondre: Your name in reverse order is Erdnoved. A random rearrangement of the letters in your name (anagram) will give Vdrdonee. How do you pronounce that?


'Tis the season and all…..
Along with some fairly major fires in the Grampians over the last two weeks, it was further topped off by 100mm of rain in some areas of the Grampians. The North Grampians with its fragile and fire damaged environment didn't fare so well with the flooding and consequently there are some closures around the Mt Zero Road due to this rainfall.
This closure will be in place until the area dries out and machinery and crews can enter the area to repair the damage.
Late last week the Rocklands -Rees Rd Fire impacted on a large area within the Black Range State Park (west of the Grampians) and the Mt Talbot Bushland reserve north of the Black Range. The fire has now been contained and heavy rainfall has assisted with this. Fire crews will continue to work in the area as fire response moves into fire recovery. Unfortunately the fire impacted on walking tracks, picnic areas and climbing sites in the Black Range and at Mt Talbot. There will be temporary closures in place for the next few months while fire lines are rehabilitated and recovery works are undertaken.
On January 13 areas within the Grampians received nearly 100mm of rain. This caused widespread damage to roads and walking tracks, particularly within the fire affected are of the Northern Grampians. Parks Victoria will be working to assess the damage and undertake repair works over the coming months. Fire closures remain in place but there are new temporary road and visitor site closures along the Mt Zero Road, between Flat Rock Road, Roses Gap and Heatherlie Quarry.
These new closures in the Northern Grampians will have an impact on the Summer Day Valley Pilot reopening trial for LTO's. For the time being there will be a temporary suspension of the trial until assessments have been done and repair works undertaken.
Please note the the Black Hill Bushland Reserve is still currently closed due to the fires. I hope to have more information on this soon.
This entry was posted in black hill, Grampians, Parks Victoria updates & info and tagged black range, Bushfires, closures, grampians, Mt Talbot by Tracey. Bookmark the permalink.


text:
Albuquerque Journal: "A vision supported"
Albuquerque Journal | T.S. Last | August 18
From left, Jax Maloney, 16, Dakota Rose Jackson Fisk, 14, and Tristen Martinez, 14, wait for school to start at the paseo area of the New Mexico School for the Arts, which moved into its new location at the former Sanbusco Center in Santa Fe's Railyard district. (Eddie Moore/Albuquerque Journal)
It's an unfinished symphony, but the New Mexico School for the Arts so far seems to have struck the right tone.
The state-chartered, competitive-entry high school opened last week at a new location at the north end of Santa Fe's Railyard district in what previously was the Sanbusco Market Center, featurimg shops and restaurants.
Founded in 2010 by an act of the state Legislature, the arts school, open to students from all of New Mexico, had previously occupied the former St. Francis Cathedral School on East Alameda Street.
We could have found an empty piece of land," said Eric Crites, NMSA's head of school, "but the reason it has been worth the wait is this is the perfect place for us to be."
Crites said what makes the site such a great location is that the school is just a short walk from the Rail Runner Express station and not far from bus stops. Many of its students, who must audition to be accepted into the school, live permanently out of town and commute to school.
Thirty-one students are currently housed in off-campus dormitories, but NMSA this year received a $4 million appropriation from the Legislature to construct dorms on site, along with a cafeteria.
Crites said that the influx of young creatives can serve as a catalyst for bringing vitality to the Railyard area.
Students participate in a physical education class at New Mexico School for the Arts in Santa Fe, Thursday August 15, 2019. This is the arts gallery of the school's new home in the Santa Fe Rail Yard in the building that use to be the Sanbusco Center. (Eddie Moore/Albuquerque Journal)
The school opened for the 2019-20 year last Monday, with 250 students reporting. That's a 21% increase over last year and still leaves room for another 50, as prescribed in the state charter, according to Director of Communications Sean Johnson, who added that the nearly 80,000-square-foot facility could handle as many as 350 students.
In addition to the dorms and cafeteria, Building C, which will house the dance and theater programs, is still under construction, but is expected to be completed within the next month.
Cindy Montoya, NMSA's president, says she thinks that, already, the $30 million Phase I renovation is the largest re-purposing of buildings in Santa Fe.
The school incorporates several older buildings, some dating back to the 1800s. The school's private foundation purchased the site in 2015 for about $7.3 million.
Mohit Dubey teaches a chemistry class at New Mexico School for the Arts in home Thursday August 15, 2019. The school is in their new home in the Santa Fe Rail Yard in the building that use to be the Sanbusco Center. (Eddie Moore/Albuquerque Journal)
The Sanbusco center took its name from the old Santa Fe Builders Supply Company. The Butler & Foley Building went through several iterations as home to a building business, a plumbing and heating company, and, most recently, as a Cost Plus World Market. Part of the school occupies the former space of the Borders bookstore.
"Somehow that fits with the artists' mind," Montoya said of the conversion of the old buildings into a brand new school. "You take something, and revision it and reshape it into something else."
Montoya said she is most grateful for the backing the school has received from the Legislature and private donors.
"We had a vision for New Mexico youth, and they supported us," she said. School officials said last year that $30 million had been raised privately for a first phase of the campus development.
In appreciation of the public and private support, the school plans to host an open house from 1 to 4 p.m. on Saturday, Sept. 14.
Return to Main Blog
#BuildNMSA (12)
Creative Writing (2)
NMSA In The News (45)
NMSA Residential Program Groundbreaking Ceremony
LINDA JOY KRULL 1948 – 2022
NMSA Open House
JAMES CORY LEDYARD 1946 – 2022
July 2022 Alumni Spotlight: Fernando Pizano


And this should be very helpful with the final project of this course.
throughout this course, and further on in specialization.
All right, so we've learned a few things so far.
and then sort of open up with some new lines here.
pixels are generally represented just by integer values.
say that images are just 2D arrays of numbers from 0 to 10.
So we've got this image, it looks like this.
As you can see, I'm sort of painting before your eyes.
here you would have brightness, and you would be able to see something.
and we're going to define a function that processes this image in a certain way.
just make them brighter cuz darkness doesn't look as good.
All right, so we're gonna call it raiseLowerValuesOfImage.
I'm gonna pass an image, and we have to give it its type.
The type of a 2D array is simply an array of int.
so the square brackets like this are shorthand for array.
With the angle bracket bit type, so this looks much nicer.
definition that we've never seen before, but first let's do some processing.
set it equal to 5, so we'll have a double for loop.
the first iteration in image.
So a row will be a single array of integers now.
That's exactly what you want, and now we go to the columns.
In each row, and a column should be an integer.
reading the value, the interesting thing is we can't really set the value here.
we don't know which pixel we're on, so we're going to do this differently.
I just wanted to show you this.
like (0,0), (0,1), so forth.
So we're gonna have an i.
and so we use the range operator as we've seen once before.
And now row is directly an integer.
we are going to have to access the actual row image.
which in this case is 3, so what can we do here?
and we can see that again from here.
7, 10, 6, 4, 2, etc.
I'm going to hide that.
we need an if statement here.
and this is where we're going to get an error.
we cannot assign it because image is a constant.
When you pass a parameter into a function you can't modify that parameter.
there's a nice fix it here which makes it super easy.
And now we raise the value of our image.
it says it ran four times, which would be one, two, three, four.
so once we print out image, we see our function's not working as intended.
me demonstrate something more to you, and I do know why that's the case.
it's still passing in a copy of the image because image is a structure.
You get a copy of the image inside your function.
it's not actually changing this image outside of the function that we passed in.
it hasn't been changed here.
And so, can we get what we want, though?
Can we actually change image?
We can, and it's a different sort of modifier here.
which means it comes in and it goes out.
That's how I see it, but what it means is that now it's almost passed by reference.
when you do changes to it, they will be reflected outside, too.
clear when you're calling the function that this parameter might be changed.
Swift makes you add an ampersand to it.
C++, and it's really nice, so when you do this, you know that it might be changed.
you know that your variable will not be touched by this function.
indeed, now been modified by this function.
I hope this helps you later on in your assignments.
We'll see you next lecture.


text:
layout: post
title: React analizando el código y estructura.
categories: react
img: blog/i_react.jpeg
categories: react.js
---

[Aprende Javascript con MentoringJS - Step 10](http://mentoringjs.com/)

Creando una pequeña aplicación desde cero, vamos a analizar los conceptos básicos de React utilizando los ejemplos que incluye la guía [oficial de React](http://www.react.express/).

Puedes encontrar la aplicación en [jgomper-reactlist](jgomper-reactlist.surge.sh) y en el mi [repositorio de github]()

![Demostacion apli con React](https://jordigomper.github.io/myblog/img/a_apli_react/aplicacion_react.gif)

Tienes todos los ejemplos de la guía en [mi repositorio personal de GitHUb](https://github.com/jordigomper/react-express)

## Index.
1. [React](#react)
    1.1. [Que es React?](#que-es-react)
    1.2. [React llega a tu ordenador](#react-llega-a-tu-ordenador)
    1.3. [Requisitos](#requisitos)
    1.4. [Instalación](#instalación)
2. [Introducción a nuestra aplicación](#introducción-a-nuestra-aplicación)
3. [Capitulo 1. Creando la interfaz](#capitulo-1-creando-la-interfaz)
 3.1. [Importar y exportar módulos](#importar-y-exportar-módulos)
 3.2. [JSX](#jsx)
 3.3. [Componentes simples](#componentes-simples)
 3.4. [Método render](#método-render)
4. [Capitulo 2. Imprimiendo las filas por pantalla](#capitulo-2-imprimiendo-las-filas-por-pantalla)
 4.1. [Componentes personalizados](#componentes-personalizados)
 4.2. [Componentes de API props y state](#componentes-de-api-props-y-state)
 4.3. [Identificador Key en las listas](#identificador-key-en-las-listas)
5. [Capitulo 3. Dando color a las filas](#capitulo-3-dando-color-a-las-filas)
 5.1. [In-line style](#in-line-style)
6. [Capitulo 4. Borrar las filas](#capitulo-4-borrar-las-filas)
 6.1. [Eventos](#eventos)
7. [Capitulo 5. Modular nuestra aplicación](#capitulo-5-modular-nuestra-aplicación)
8. [Conclusión](#conclusión)

## React
### Que es React?

Se trata de una biblioteca de JavaScript de código abierto que proviene de Facebook y creada por Jordan Walke. Facilita la construcción de aplicaciones de una sola página y que contienen multitud de elementos dinámicos en la pantalla y con los que el usuario puede interactuar.

### React llega a tu ordenador

Vamos a traer React a nuestro ordenador. Tenemos que instalar una serie de paquetes, que ejecutan React en modo local. Create-react-app es la herramienta que nos proporciona Facebook gracias a Dan Abramov, creador de Redux. Esta herramienta hace posible ejecutar React en local.

### Requisitos

* **[Node.js](https://nodejs.org/en/)** como mínimo en su versión 4.0, recomiendo siempre la ultima versión LTS.
* **NPM** en versión 3.0 en adelante. Es un gestor de paquetes React. Con npm podemos instalar infinidad de complementos desde la consola CMD.
* **Google Chrome**.
* **[React Developer tools](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi)**, está herramienta de google Chrome sirve para debuggear nuestro código react, nos da información del árbol de nodo entre más cosas...
* Editor de texto tipo Visual Studio Code, Sublime Text 3...

Es importante a la hora de empezar con el manual, crear un directorio local donde guardar los archivos de los ejemplos. Cada uno individualmente y ordenados.

### Instalación

Desde la cmd de windows:
**npm install -g create-react-app**. Este comando instala create-react-app.
**create-react-app nombreDeLaAplicacion**. Instala un directorio en la raíz con el nombre que has introducido. Esta operación puede tardar unos minutos.
**cd nombreDeLaAplicacion**. Entramos en el directorio de la aplicación.
**rm src /App.* src/index.css src/logo.svg**. Borramos estos archivos del interior de la carpeta src que es de donde se ejecuta la aplicación. Estos archivos contienen una presentación de React que no necesitamos.
**npm start**. Arrancamos la app. Automáticamente se abre el explorador, vamos a trabajar con esa página (http://localhost:3000/) que es el interior de src.

Con esto ya tenemos instalado y en marcha nuestro workspace para trabar con React.

[React Expres - Quick start](http://www.react.express/quick_start)

## Introducción a nuestra aplicación

Como he dicho al principio, vamos a crear una aplicación basándonos en los ejemplos de la [oficial de React](http://www.react.express/).

Nuestra aplicación va a consistir en una pequeña interfaz de usuario, donde tenemos varios botones que al pulsarlos van a aparecer filas de diferente color y si pulsamos sobre la fila se borrara.

Esta aplicación utilizara la DOM virtual que nos proporciona React para añadir/borrar de la DOM las diferentes filas de colores.

Vamos a ver los los componentes de la API props y state, para que sirven y como utilizarlos.

Sin más, empezamos...

## Capitulo 1. Creando la interfaz.
Vamos a crear el estilo de interfaz que queremos, sin ninguna función. Va a ser algo simple y va a servir para ver como crear un elemento simple y como incorporarlo en la DOM.

En cada capítulo y antes de comentar el código, explicare las diferentes funciones que vamos a necesitar en ese momento, después las utilizaremos en nuestra aplicación para ver como funcionan.

### Importar y exportar módulos
Desde la llagada de ES6, JavaScript dispone de un mecanismo para importar o exportar módulos. Los módulos son fragmento de código que se carga una vez se ejecuta, con la función **import** y puede tratarse de funciones de React, objetos, variables... todas desde otro archivo. También podemos permitir la exportación de determinados archivos con la función export.

Nosotros de momento vamos a utilizarlo para importar a nuestra aplicación diferentes herramientas que nos proporciona React.

El primero módulo que cargamos no hace falta indicar el nombre cuando hacemos referencia en el en la aplicación, los demás, si.

e.j.
```
import React, { Component } from 'react'
import ReactDOM from 'react-dom'
```

Este código nos permite utilizar la herramienta **Component**, esto nos permite crear componentes en React. El otro módulo rednder, es la herramienta que utiliza React para introducir un elemento en la DOM.

[React Expres - Import and Exports](http://www.react.express/imports_and_exports)

### JSX
JSX es una extensión de JavaScript que hace más simple la forma de utilizar la API React.createElement, esta ultima nos permite crear elementos con propiedades para después incorporarlos en la DOM. JSX simplifica este método y la estructura que utiliza es mas intuitiva pudiendo anidar los elementos de una forma muy similar que en nuestro HTML nativo.

No es nativo de JSX ni tampoco es obligatorio, pero es aconsejable utilizarlo por todas las ventajas que aporta.

e.j.
```
const App = (
    <div>
        <button>blue</button>
        <button>yellow</button>
        <button>orange</button>
        <button>purple</button>
        <div>
            // aqui se mostraran las filas de colores
        </div>
    </div>
)
```
Todo lo que se encuentra dentro de los paréntesis es esta escrito en JSX.

Dentro del código JSX podemos introducir código JavaScript por diferentes razones, por ejemplo, llevar el valor de una variable. Esto lo podemos conseguir introduciendo el nombre de las variables entre corchetes{}. Al ejecutar ese código, lo interpreta como JavaScript.

[React Expres - JSX](http://www.react.express/jsx)

### Componentes simples
React trae incorporado una serie de nodos DOM con el mismo nombre que los que hacemos servir en HTML e.j. div, span, tablas, listas… a estos les llamamos componentes simples. Podemos añadirle atributos y funciones.

Vamos a utilizar estos componentes para dar forma a nuestra interfaz. Podremos crear los <button>, <div>... que después React incorporara en la DOM y se mostraran en la aplicación.

e.j.
```
const App = (
    <div>
        <button>blue</button>
        <button>yellow</button>
        <button>orange</button>
        <button>purple</button>
        <div>
            // aqui se mostraran las filas de colores
        </div>
    </div>
)
```
Dentro de nuestro del Step 1 de la aplicación encontramos un componente llamado App, es un componente simple escrito con JSX. Los componentes simples están formados por elementos que se nombran igual que en JavaScript.

[React Expres - DOM Comopnents ](http://www.react.express/components)

### Método render()
Este método nativo de React. Este método nos permite introducir un elemento dentro de la DOM.

La forma de utilizarlo es **render(elemento, nodo)**. render() nos permite varias formas, no es súper estricto. La forma más simple es introducir un elemento ya creado anteriormente dentro de un nodo que ya hemos asignado a una variable, pero también nos deja crear el elemento dentro, y buscar el nodo por ejemplo con un getElementById("...") o cosas parecidas.

```
render(
    App,
    document.getElementById('root')
)
```
Seleccionamos el elemento simple App y indicamos que queremos buscar un nodo llamado root y incorporarlo dentro de el.

Primero necesitamos importar desde react-dom la función render. Asignamos el elemento y el nodo a variables y utilizamos render. También podemos crear el elemento simple dentro o buscar el nodo.

[React Expres - React API ](http://www.react.express/react_api)

### [APLICACIÓN] Step 1
Nuestra interfaz consiste en 4 botones los cuales imprimen una fila al ser pulsados, cada uno de un color y división donde se imprimen las filas.
```
import React, { Component } from 'react'
import ReactDOM from 'react-dom'

const App = (
    <div>
        <button>blue</button>
        <button>yellow</button>
        <button>orange</button>
        <button>purple</button>
        <div>
            // aqui se mostraran las filas de colores
        </div>
    </div>
)

render(
    App,
    document.getElementById('root')
)
```

Primero importamos Component y render desde react y react-dom.

App es un componente simple, como he escrito antes, los componentes simples utilizan etiquetas similares que en HTML. Creamos una <div> donde introducimos los <button> de diferentes colores y el contenedor de las filas.

Con render introducimos nuestro elemento App en la DOM, buscando un elemento con 'root'.

De momento esto no hace ninguna función, es solo para que te hagas a la idea de como empezar a montar nuestra interfaz parte por parte.

## Capitulo 2. Imprimiendo las filas por pantalla
Primero vamos a convertir nuestro componente simple App en uno personalizado. Un componente personalizado ofrece muchas ventajas:reutilizar ese componente, incluir métodos, utilizar los componentes de API state y props....

Utilizando el componente de la API de React state, almacenaremos las filas que tenemos impresas por pantalla y veremos como incorporar métodos dentro de nuestro elemento DOM.

### Componentes personalizados
React nos deja crear componentes diferentes a las típicas etiquetas HTML. Estos nos sirve para poder re-utilizar componentes en diferentes partes del código.

Primero tenemos que importar React.Component. Cuando vamos a crear un componente personalizado, creamos la "class" y extendemos "extends Component". Dentro vamos a utilizar render para ensamblar un componente. Después hacemos un return con el componente.

Es aconsejable nombrar a los componentes con la primera letra en mayúscula para no confundirnos con los componentes de la DOM.

Dentro del componente llamamos a render() para renderizar todo el contenido del componente, después se devuelve con return().

e.j.
```
class App extends Component {

    state = {
        store: [ 'red', 'blue', 'green']
    }

    addRow = (color) => {
        const {store} = this.state

        this.setState({
            store: this.state.store.concat(color)
        })
    }

    render(){
        return(
            <div>
                <button onClick={ (e) => {this.addRow("blue")}} >blue</button>
                <button onClick={ (e) => {this.addRow("yellow")}} >yellow</button>
                <button onClick={ (e) => {this.addRow("orange")}} >orange</button>
                <button onClick={ (e) => {this.addRow("purple")}} >purple</button>
                <div>
                    {this.state.store.map((fila, i) => <div key={i}> {fila} </div>)}
                </div>
            </div>
        )
    }
}
```
Ahora App se ha convertido en un componente personalizado, es necesario para poder añadir estilo en nuestras lineas y poder mostrar el color seleccionado. Mas adelante podremos comprobar como utilizar componentes personalizados que utilizan etiquetas diferentes a las de HTML.

[React Expres - Components ](http://www.react.express/components)

### Componentes de API props y state
Los componentes de la API de React facilitan el almacenamiento y transporte de de información de un componente. Podemos almacenar diferentes tipos de información.

Hay dos tipos de componentes, **props** y **state**.

**props** almacena las propiedades de un componente y pasan de padres a hijos cuando es instanciado y no puede ser modificado. Solo ese componente puede consultar su propio props.

**state** puede cambiar durante el transcurso de la aplicación. A diferencia de porps, state si puede modificarse. El propio componente puede auto-gestionar ese estado pero no debe modificarse directamente, hay que utilizar el método this.setState.

Segun el manual de React, debe de evitarse tener demasiados componentes con estado, ya que aumenta la complejidad.

e.j.
```

...

 class App extends Component {

    state = {
        store: [ 'red', 'blue', 'green']
    }

    ...

    <button onClick={ (e) => {this.addRow("purple")}} >purple</button>
      <div>
          {this.state.store.map((fila, i) => <div key={i}> {fila} </div>)}
      </div>

    ...

```
Al crear el elemento App, introdiccimos por defecto 3 filas en state, esto nos permite mostrar siempre esas filas al cargar la aplicación por primera vez. Utilizaremos state.store para almacenar las filas seleccionadas en la aplicación.

Mas abajo, al crear el componente simple button, introduccimos en su props la función que nos permite añadir las filas cuando pulsamos un botón.

Continuando hacia abajo, vemos otro elemento simple div, como puedes ver, insertamos una función de JavaScript entre corchetes que busca una por una con la función .map todas las filas almacenadas en state.store y por cada fila crea un otro elemento div dentro del primero con el color de la fila seleccionada.

[React Expres - Component API ](http://www.react.express/component_api)

### Identificador Key en las listas
Cuando utilizamos una lista en nuestra aplicación React, tenemos que asignarle una propiedad única a cada lista. Si no lo hacemos, nuestro programa se ejecutara con normalidad, pero en la consola de debuggin nos mostrara un error avisándonos que debe de tenerla.

Esta key sirve a React para poder determinar la identidad del elemento y optimiza el funcionamiento para React.

Por ejemplo, podemos tener una lista con mil items y solo queremos borrar uno, React desde la key puede localizarlo. Esto ahorrara a React borrar todos los elementos y volver a imprimir la lista.

En el siguiente link puedes encontrar varias formas de agregar una key a tu cuando creas una lista.

e.j.
```

...

<div>
    {this.state.store.map((fila, i) => <div key={i}> {fila} </div>)}
</div>

...

```
Cuando la aplicación genera todas las filas almacenadas en state.store añade el número de index que ocupa como key.

[React Expres - List and Keys ](http://www.react.express/lists_and_keys)

### [APLICACIÓN] Step 2
Con diferentes métodos que vamos a utilizar coneguiremos imprimir una fila del con el color del botón pulsado y imprimirla por pantalla. Utilizaremos el componente de API state para almacenar los colores.
```
import React, { Component } from 'react'
import { render } from 'react-dom'

class App extends Component {

    state = {
        store: [ 'red', 'blue', 'green']
    }

    addRow = (color) => {
        const {store} = this.state

        this.setState({
            store: this.state.store.concat(color)
        })
    }

    render(){
        return(
            <div>
                <button onClick={ (e) => {this.addRow("blue")}} >blue</button>
                <button onClick={ (e) => {this.addRow("yellow")}} >yellow</button>
                <button onClick={ (e) => {this.addRow("orange")}} >orange</button>
                <button onClick={ (e) => {this.addRow("purple")}} >purple</button>
                <div>
                    {this.state.store.map((fila, i) => <div key={i}> {fila} </div>)}
                </div>
            </div>
        )
    }
}

render(
    <App />,
    document.getElementById('root')
)
```
Primero pasamos nuestro componente simple **App** a un componente personalizado. Dentro del componente vamos a añadir en el complemento de la API state, un estado llamado store. Esto nos servirá como almacén para guardar los colores. Por defecto incluyo tres colores.

A continuación, debemos asignar un  método para imprimir los colores almacenados en state.store. Dentro de render, utilizamos una extensión del this.state para almacenar a la variable store el valor que tiene la variable con su mismo nombre dentro de state. Esto nos asigna en store todos los colores almacenados. Utilizamos los corchetes para indicar que es JavaScript.

Utilizando el método [.map](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Array/map) creamos un elemento <div> con cada color en su interior. Como puedes ver, damos como key el index que le corresponde dentro de store ya que no tenemos un id único.

Ahora vamos a crear el método que nos permite crear una fila al pulsar el botón.
El método con [fat arrow](https://www.google.es/search?q=fat+arrow&oq=fat+arrow&aqs=chrome..69i57j69i60l2j0l3.1543j0j4&sourceid=chrome&ie=UTF-8) addRow recibe un parámetro, que sera el valor del color del botón presionado.
Utilizando la [destructuración](http://www.react.express/destructuring), igualamos {store} al valor de this.state.store, en esta variable añadiremos el nuevo color y modificaremos this.state.store con los valores actuales más el nuevo color.
Como puedes ver utilizamos this.setState para modificarlo.

Pasamos a introducir el callback del método addRow dentro de los botones. Todo lo que introducimos dentro de las etiquetas de los componentes se convierten en atributos para este. Podemos asignar un atributo llamado color, key, etc etc.. Todo esto queda reflejado en los props del complemento y lo podemos utilizar a la hora que lo instanciamos.
onClick es un controlador de eventos igual que del que disponemos en JavaScript, al pulsar este elemento, se activa el contenido de su interior. Si no necesitamos pasar ningún parámetro a la función, podríamos introducir dentro de onClick el nombre de la función empezando por this., pero como necesitamos pasar el color del botón pulsado, tenemos quehacer un método [fat arrow](https://www.google.es/search?q=fat+arrow&oq=fat+arrow&aqs=chrome..69i57j69i60l2j0l3.1543j0j4&sourceid=chrome&ie=UTF-8) pasamos el item y llamamos a addRow pasando el valor del color.

Como puedes comprobar, ahora cuando pulsamos un botón, generamos una fila con el nombre del color seleccionado.

## Capitulo 3. Dando color a las filas.
Vamos a ver como dar color a nuestras filas con el estilo inline, y como utilizar el componente props.

Cambiaremos a un componente personalizado nuestra <div> donde mostramos las filas. Podremos ver como props pasa de padre a hijo.

### In-line style
Existen muchas formas de poder crear el contenido para un estilo de css, todas ellas muy parecidas. La selección del método suele ser personal. En este articulo voy a utilizar el estilo in-line que es el más aconsejable cuando empiezas a utilizar React.
Aquí tienes una lista de los diferentes estilos disponibles en el manual oficial de React, puedes verlos pulsando este [link](http://www.react.express/styling).

e.j.
```

...

      paintRow = (color, i) => {
        const row = {
            backgroundColor: color,
            padding: 5,
        }

...

```
Cada vez que creemos un elemento personalizado Filas, añadiremos una nueva variable llamada color. Esta variable contiene el valor del color del botón seleccionado, y indicamos que backgroundColor del componente Filas es igual al valor del botón seleccionado.

Como ves es muy parecido a la hora de asignar estilo CSS con JSX. Hay que recalcar que con esto no modificamos la hoja de CSS, es una presentación de estilo virtual desde el interior de la DOM.

Puedes ver una lista con las diferentes propiedades que puedes utilizar pulsando [aqui](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Properties_Reference).

[React Expres - Styling ](http://www.react.express/styling)

### [APLICACIÓN] Step 3
```
import React, { Component } from 'react'
import { render } from 'react-dom'

class Rows extends Component {
    paintRow = (color, i) => {
        const row = {
            backgroundColor: color,
            padding: 5,
        }

        return(
            <div style={row} key={i}>
                {color}
            </div>
        )
    }

    render(){
        const {store} = this.props
        return(
            <div>
                {store.map(this.paintRow)}
            </div>
        )
    }
}

class App extends Component {

    state = {
        store: [ 'red', 'blue', 'green']
    }

    addRow = (color) => {
        const {store} = this.state

        this.setState({
            store: this.state.store.concat(color)
        })
    }

    render(){
        const {store} = this.state
        return(
            <div>
                <button onClick={ (e) => {this.addRow("blue")}} >blue</button>
                <button onClick={ (e) => {this.addRow("yellow")}} >yellow</button>
                <button onClick={ (e) => {this.addRow("orange")}} >orange</button>
                <button onClick={ (e) => {this.addRow("purple")}} >purple</button>
                <Rows
                    store={this.state.store}
                />
            </div>
        )
    }
}

render(
    <App />,
    document.getElementById('root')
)
```
Si bajamos hasta después de los botónes, podemos ver que nos encontramos con un nuevo componente personalizado llamado Rows. Este componente substituye el antiguo <div> que hacia de contenedor de las filas.
Dentro de la etiqueta Rows, enviamos el this.state.store con todas las filas. Esto lo recibirá el componente Rows como props.store.

Dentro del componente Rows, mirando el interior del render() encontramos el mismo formato de estructura en JSX que utilizábamos en el anterior ejemplo para imprimir las filas, solo que esta vez, dentro de .map no contiene el componente de la DOM, sino que llama al método paintRow.

El método paintRow crea el componente que se convierte en la fila. Le pasamos el parámetro color y i. Color contiene un string con el valor del color y i es el index que contiene de la lista dentro de store. La ventaja que nos da este método es que nos permite añadir propiedades css incluyendo dentro de su etiqueta un estilo. La variable row contiene propiedades de css, backrgoundColor viene a ser lo mismo que background-color de css.
Le indicamos que backgroundColor debe de ser del color que le pasamos en la variable color.

Asignamos el estilo dentro de la instancia del componente añadiendo el nombre dentro del atributo style={}.

Como puedes comprobar ahora nuestras filas se muestras del color del botón pulsado.

Ahora mismo lo más lógico seria aplicar lo mismo que hemos hecho en Rows con los botones para poder reutilizar estos en cualquier otra parte del código, pero de momento lo vamos a dejas así.

## Capitulo 4. Borrar las filas
Vamos a crear un método que borre las filas al hacer click sobre ellas. Hasta ahora no hemos visto como podemos pasar el callback de un método padre a un hijo. Como hijo quiero decir que esta dentro del componente padre, no confundir con herencias, hay que tener claro que cuando hablamos de hijos en React es sobre los diferentes niveles de componentes.

### Eventos
Los eventos se disparan hacia arriba, de hijos a padres. El evento que active un componente puede ser recogido por el padre.

e.j.
```

...

class Rows extends Component {

  ...

  return(
            <div style={row} key={i} onClick={() => this.props.containsRemoveRowMethod

  ...

class App extends Component {

  ...

  removeRow = (index) => {
    const {store} = this.state
    this.setState({
        store: store.filter((store, i) => i !== index )
    })

  ...

  <Rows
      store={this.state.store}
      containsRemoveRowMethod={this.removeRow}
  />

...

```
El componente App contiene una función llamada borrar fila. Cada vez que creamos una fila, enviamos por props esta función desde la variable llamada containsRemoveRowMethod asignandola entre corchetes y con el prefijo this.

Desde el componente Rows, devolvemos el componente que en su interior contiene un controlador de eventos que al pulsar esa fila, llamara al método que contiene el elemento padre utilizando this.props.containsRemoveRowMethod.

[Blog Carlos azaustre](https://carlosazaustre.es/blog/estructura-de-un-componente-en-react/)

### [APLICACIÓN] Step 4
```
import React, { Component } from 'react'
import { render } from 'react-dom'

class Rows extends Component {
    paintRow = (color, i) => {
        const row = {
            backgroundColor: color,
        }

        return(
            <div style={row} key={i} onClick={() => this.props.containsRemoveRowMethod(i) }>
                {color}
            </div>
        )
    }

    render(){
        return(
            <div>
                {this.props.store.map(this.paintRow)}
            </div>
        )
    }
}

class App extends Component {

    state = {
        store: [ 'red', 'blue', 'green']
    }

    addRow = (color) => {
        const {store} = this.state

        this.setState({
            store: this.state.store.concat(color)
        })
    }

    removeRow = (index) => {
        const {store} = this.state
        this.setState({
            store: store.filter((fila, i) => i !== index )
        })
    }

    render(){
        const {store} = this.state
        return(
            <div>
                <button onClick={ (e) => {this.addRow("blue")}} >blue</button>
                <button onClick={ (e) => {this.addRow("yellow")}} >yellow</button>
                <button onClick={ (e) => {this.addRow("orange")}} >orange</button>
                <button onClick={ (e) => {this.addRow("purple")}} >purple</button>
                <Rows
                    store={this.state.store}
                    containsRemoveRowMethod={this.removeRow}
                />
            </div>
        )
    }
}

render(
    <App />,
    document.getElementById('root')
)
```
Primero he creado una método removeRow que recibe el index del componente seleccionado. Dentro, asignamos todo el contenido de this.state.store a la variable store a través del método de [destructuración]() y después actualizamos el state.store asignando el valor de store que primero hemos filtrado con el método filter y que oculta el index del componente seleccionado.

En el callback del componente Rows enviamos la instancia del método con un .this delante, pasamos el método a través del props.

Dentro del componente Rows, en la instancia del componente hemos añadido el callback a la función, utilizando el evento onClick que al pulsar envia hacia arriba la llamada al enlace de removeRow y que contiene el index del componente seleccionado, con lo cual actualizamos el state filtrando el número de index del componente.

Como puedes comprobar si pulsas encima de un color, se elimina.

Con esto hemos acabado esta sencilla aplicación. Poco a poco voy a ir profundicando más y espero poder traeros novedades con Reac y Redux

### Capitulo 5. Modular nuestra aplicación (ultimo capítulo)
Todas las aplicaciones deben de estar moduladas, esto nos permite una aplicación ordenada y todas sus partes van a poder ser reutilizadas en cualquier parte del código o otras aplicaciones.

Por norma general, se separan los componentes de la lógica del programa, podemos separar también funciones.

Index
```
import { render } from "react-dom";
import React from "react";

import App from "./App";

render(
  <App />,
  document.getElementById("root")
);
```
Es el punto de entrada con nuestro código JavaScript. Se renderiza toda la aplicación en la DOM.

App
```
import React, { Component } from 'react'

import Rows from './Rows.js'

export default class App extends Component {

    state = {
        store: [ 'red', 'blue', 'green']
    }

    addRow = (color) => {
        const {store} = this.state

        this.setState({
            store: this.state.store.concat(color)
        })
    }

    removeRow = (index) => {
        const {store} = this.state
        this.setState({
            store: store.filter((store, i) => i !== index )
        })
    }

    render(){
        const {store} = this.state
        return(
            <div>
                <button onClick={ (e) => {this.addRow("blue")}} >blue</button>
                <button onClick={ (e) => {this.addRow("yellow")}} >yellow</button>
                <button onClick={ (e) => {this.addRow("orange")}} >orange</button>
                <button onClick={ (e) => {this.addRow("purple")}} >purple</button>
                <Rows
                    store={this.state.store}
                    containsRemoveRowMethod={this.removeRow}
                />
            </div>
        )
    }
}
```
Contiene la lógica general del programa y sirve como contenedor de todos los componentes del nivel superior. En nuestro caso contiene las filas, los métodos y llama a los componentes

Rows
```
import React, { Component } from "react";

export default class Filas extends Component {
    paintRow = (color, i) => {
        const row = {
            backgroundColor: color,
            padding: 5,
        }

        return(
            <div style={row} key={i} onClick={() => this.props.containsRemoveRowMethod(i) }>
                {color}
            </div>
        )
    }

    render(){
        return(
            <div>
                {this.props.store.map(this.paintRow)}
            </div>
        )
    }
}
```
Filas es un componente personalizado. Cada componente tiene que estar en un archivo separado.

## Conclusión
En este articulo te he mostrado la base de React. El código final puede ser más optimizado pero no he querido liar mucho el articulo, mi intención ha sido "ir directo al grano".

Poco a poco vamos a profundizar con React, así que sigue atento, pronto llegaran noticias nuevas...

**A tope con @mentoringJS!
Jordi Gomper.**

redpajama_set_name: RedPajamaGithub


text:
Jump to the main content block
Master of Engineering (MEng)
CGU Portal Site
This function need to use the browser to support JavaScript normal operation
Prof. Shih-Jung Liu
Shih-Jung Liu
Research area: Polymer materials and processing; Biomaterials
Laboratory: Polymer Pheology and Processing Lab
Website: http://120.126.5.31/
Email: shihjung@mail.cgu.edu.tw
Tel: +886-3-2118800 ext. 5347 (Office), 5724 (Lab)
- Ph.D., University of Wisconsin-Madison, USA (1992)
- B.S., National Taiwan University, Taiwan (1986)
Empoyments:
- Associate Professor, Chang Gung University, Taiwan (1993-2001)
- Visiting Professor, Aachen University of Technology, Germany (2000)
- Visiting Professor, Tokyo Institute of Technology, Japan (1998)
- Post-Doctoral Research Fellow, McMaster University, Canada (1993)
Honor and Awards:
Annual Morand Lamble Awardee, International Polymer Processing Society (2008)
Y.Y Tseng, J.Y. Liao, W.A. Chen, Y.C. Kao, S.J. Liu*, Biodegradable poly[(d,l)-lactide-co-glycolide] nanofibers for the sustainable delivery of lidocaine into the epidural space after laminectomy,Nanomedicines, 9, 77-87 (2014) (IF=5.012) (SCI) (指導作者)
C.H. Lee, Y.H. Lin, S.H. Chang, C.D. Tai, S.J. Liu*, Y. Chu, C.J. Wang, M.Y. Hsu, H.Chang, G.J. Chang, K.C. Hung, M.J. Hsieh, F.C. Lin, I.C. Hsien, M.S. Wen, Y. Huang, Local Sustained Delivery of Acetylsalicylic Acid via Hybrid Stent/Biodegradable Nanofibers Reduces Adhesion of Blood Cells and Promotes Re-Endothelialization to the Denuded Artery, International Journal of Nanomedicine,9, 311-326 (2014) (IF=3.463) (SCI) (指導作者)
J.J. Wu, H.W. Lee, J.H. You, Y.C. Kau, S.J. Liu*, Adsorption of silver ions on polypyrrole embedded electrospun nanofibrous polyethersulfone membranes, Journal of Colloid and Interface Science, 420, 145-151 (2014) (IF=3.107) (SCI) (指導作者)
C.H. Lee, S.H. Chang, Y.H. Lin, S.J. Liu*, C.J. Wang, M.Y. Hsu, K.C. Hung, Y.H. Yeh, W.J. Chen, I.C. Hsieh, M.S. Wen, Acceleration of re-endothelialization and inhibition of neointimal formation using hybrid biodegradable nanofibrous rosuvastatin-loaded stents, Biomaterials, 35, 4417-4427 (2014) (IF=7.604) (SCI) (指導作者)
C.H. Lee, M.J. Hsieh, S.H. Chang, Y.H. Lin, S.J. Liu*, T.Y. Lin, K.C. Hung, J.H.S. Pang, J.H. Juang, Enhancement of Diabetic Wound Repair Using Biodegradable Nanofibrous Metformin-Eluting Membranes: in Vitro and in Vivo, ACS Applied Materials and Interfaces, 6, 3979-3986 (2014)(IF=5.014) (SCI) (指導作者)
C.H. Lee, K.S. Liu, G.H. Jhong, S.J. Liu*, M.Y. Hsu, C.J. Wang, K.C. Hung, Finite Element Analysis of Helical Flows in Human Aortic Arch: A Novel Index, Biomicrofluidics, 8, 024111 (1-13) (2014) (IF=3.385) (SCI) (指導作者)
C.H. Lee, G.H. Jhong, M.Y. Hsu, S.J. Liu*, C.J. Wang, K.C. Hung, Effect of force-induced mechanical stress at the coronary artery bifurcation stenting: Relation to in-stent restenosis, Journal of Applied Physics, 115, 204904 (1-9) (2014) (IF=2.210) (SCI) (指導作者)
C.H. Lee, C.Y. Yu, S.H. Chang, K.C. Hung, S.J. Liu*, C.J. Wang, M.Y. Hsu, I.C. Hsieh, W.J. Chen, Y.S. Ko, M.S. Wen, Promoting Endothelial Recovery and Reducing Neointimal Hyperplasia Using Sequential-like Release of Acetylsalicylic Acid and Paclitaxel-loaded Biodegradable Stents,International Journal of Nanomedicine, 9, 4117-4133 (2014) (IF=4.195) (SCI) (指導作者)
Y.H. Hsu, D.W.C. Chen, C.D. Tai, S.J. Liu*, E.C. Chan, Biodegradable drug-eluting nanofibers enveloped implants providing sustained release of high bactericidal concentrations of vancomycin and ceftazidime: In vitro and in vivo study, International Journal of Nanomedicine, 9, 4347-4355 (2014)(IF=4.195) (SCI) (指導作者)
Y.C. Kau, C.C. Liao, Y.C. Chen, S.J. Liu*, Sustained Release of Lidocaine from Solvent-free Biodegradable Poly[(d,l)-lactide-co-glycolide] (PLGA): In vitro and in vivo study, Materials, 7, 6660-6676 (2014) (IF=1.879) (SCI) (指導作者)
Department of Mechanical Engineering, Chang Gung University, Taiwan
Address : 4 F, Engineering Building, No.259, Wenhua 1st Road, Guishan District, Taoyuan City, Taiwan (R.O.C) 33302
Email: wen18@mail.cgu.edu.tw
Tel: +886-3-2118800 ext. 5336
Copyright © 2017 by CGU. All rights reserved.


Our Referral Bonus Program is a great opportunity to partner with other businesses in our Southwest Missouri community.
Are you a plumber? HVAC technician? Exterminator? Contact us to find out more about SERVPRO of Springfield/Greene County, Nixa & Branson's referral bonus program. We offer referral bonuses simply for referring a potential customer to us. Our friends at Kimberling City Plumbing recently referred a customer to us and received their bonus. We enjoy working with other local businesses and will take care of your customer. For more information please contact us at 417-865-7711 and ask for our sales team.
Our staff is highly trained in property damage restoration. From initial and ongoing training at SERVPRO's corporate training facility to regular IICRC-industry certification, rest assured our staff is equipped with the knowledge to restore your property. With a nationwide system of qualified franchises, no damage is too large or too small for SERVPRO of Springfield/Greene County.


text:
Powiat Tomaszowski ist der Name folgender Landkreise in Polen:

 Powiat Tomaszowski (Woiwodschaft Łódź), Woiwodschaft Łódź
 Powiat Tomaszowski (Woiwodschaft Lublin), Woiwodschaft Lublin


It's My Birthday! Here's A List Of Things I Need To Do Before I Hit The Big 30!!!!
What's Up With Family Dollar Fabulous?
9 Shirt Dresses You Need This Fall!!!!
I'm Obsessed With JCPenney's Boutique Collection, Here's Why!


SEADOGS, the Seabrook Island dog and beach advocacy group, announced today that the annual Beach Walk will take place on April 25, 2019, starting at 5:00 pm on North Beach. The Beach Walk is a tradition that has helped the Seabrook Island community combine fun for dogs (and their humans) with charitable giving to worthy area animal causes.
All residents of Seabrook Island are invited to join the SEADOGS Beach Walk on April 25, 2019, at 5:00 pm on North Beach. Access to North Beach is through Boardwalk 1 or 2. Please bring a snack or dessert to the Beach Walk. Drinks will be provided by SEADOGS. Your dog will have fun and so will you. Although not a requirement for attendance, please consider being generous to area dogs (and cats) at Valiant Animal Rescue and Relief by bringing a donation to the event. Valiant will also accept donations of partially used perfumes. Checks can be made directly to Valiant Animal Rescue and Relief.
The rain date for the Beach Walk is April 26, 2019 at 5:00 pm.
For more information on the event or about the SEADOGS, contact either Mitch Pulwer at mjpulw@yahoo.com.


Mt. Vernon Sleep Galleries in Fredericksburg, VA is an authorized dealer of Onkyo Products. ONKYO is an organization consisting of people unsurpassed in the love of sound. They won't settle for second best. They strive to complete what they've started. That's the ONKYO spirit. For the past half century ONKYO components have been recognized as uncommonly musical among those who are truly fanatical about their music. Their aim for the next century is further refinement of their advanced music reproduction technology in order to create a new ONKYO that will become a more familiar name to people throughout the world.
So if you are looking for Onkyo products in Fredericksburg, Spotsylvania, Stafford and King George, or if you have any questions about Onkyo products, please feel free to call us at (540) 786-2777 or simply stop by Mt. Vernon Sleep Galleries at any time and we would be glad to help you.


This study aims at investigating the relationship between pre-service primary school teachers' attitudes towards digital technology and digital citizenship scale levels. The research was designed in descriptive survey model. The data collection tools were "Attitude Scale for Digital Technology" (ASDT) developed by Cabi (2016) and "Digital Citizenship Scale" (DCS) developed by Isman and Gungoren (2014). Some of the research findings are as follows: While there is a statistically insignificant difference between pre-service teachers' scores from two scales in terms of the variable of gender, the variable of class creates a statistically significant difference between the scores from two scales. The scores from the Attitude Scale for Digital Technology was not affected by the number of years pre-service teachers had spent using the Internet, whereas the same variable affected their Digital Citizenship Scale scores. When the correlations were analyzed, it was seen the relationship between digital attitude and digital citizenship was positive and significant, i.e. as the digital attitude scores of the participants increase, so do their digital citizenship scores.


A collection of the top 34 Moon Desktop wallpapers and backgrounds available for download for free. We hope you enjoy our growing collection of HD images to use as a background or home screen for your smartphone or computer. Please contact us if you want to publish a Moon Desktop wallpaper on our site.


text:
Martkopi – wieś w Gruzji, w regionie Dolna Kartlia, w gminie Gardabani. W 2014 roku liczyła 7397 mieszkańców.

Wsie w Dolnej Kartlii


text:
NCATS Announces Tox21 Data Challenge Winners
On Jan. 26, 2015, NCATS announced the winners of the Toxicology in the 21st Century (Tox21) Data Challenge 2014, a crowdsourcing competition that attracted contestants from 18 countries to design computational models to better predict chemical toxicity. Tox21 is a collaborative effort among NCATS and the National Institute of Environmental Health Sciences, Environmental Protection Agency and Food and Drug Administration to improve current methods scientists use to evaluate environmental chemicals and develop new medicines.
There are hundreds of thousands of chemicals that could be harmful to humans, and testing each one separately would be expensive and virtually impossible. Computational models — such as those submitted in response to this challenge — can predict whether a substance may be toxic by interrupting certain biological pathways based on the chemical structure. Combining these models with the knowledge already gained from Tox21 screening data can help scientists better prioritize chemicals for further toxicological testing, saving both time and money.
Challenge participants used data from nuclear receptor signaling and stress pathway assays (tests) run against Tox21's 10,000-compound library to build models and look for structure-activity relationships. The models from the seven winning teams will become part of the Tox21 program's arsenal of tools that help researchers assess how various chemicals might disrupt biological processes in the human body and lead to negative health effects. All displayed very good predictive power, achieving greater than 80 percent accuracy, with several models exceeding 90 percent accuracy.
"The high quality of the models gives us confidence that they can be applied to identify those chemicals that have the most potential for toxicity, enabling us to prioritize them for further evaluation," said Anton Simeonov, Ph.D., NCATS acting scientific director. "Moreover, since the models are dependent on high-quality data and the top ones performed so well, this outcome further validates the value of our Tox21 screening efforts."
Challenge Assay(s)
Team Member(s)
Organization(s)
Bioinf @JKU
Grand Challenge (all 12 assays)
Stress Response Panel
Nuclear Factor (Erythroid-Derived 2)-like 2/Antioxidant Responsive Element
Günter Klambauer, Ph.D.
Sepp Hochreiter, Ph.D.
Andreas Mayr, M.Sc.
Thomas Unterthiner, M.Sc.
Institute of Bioinformatics, Johannes Kepler University Linz, Austria
Bioinf @JKU-ensemble1
Estrogen Receptor Alpha, Full Length
Heat Shock Factor Response Element
Herbert Zaunmair
Androgen Receptor, Ligand Binding Domain
Ulrich Bodenhofer, Ph.D.
Nuclear Receptor Signaling Panel
Peroxisome Proliferator-Activated Receptor Gamma
Birgit Hauer
AMAZIZ
ATAD5
Mitochondrial Membrane Potential
Ahmed M. Abdelaziz Sayed
Dmlab
Androgen Receptor, Full Length
Gergő Barta, M.Sc.
Budapest University of Technology and Economics
Microsomes
Estrogen Receptor Alpha, Ligand Binding Domain
Yoshihiro Uesawa, Ph.D.
Department of Clinical Pharmaceutics, Meiji Pharmaceutical University
Learn more about the Tox21 Data Challenge.


My DJ was born on Thursday, December 15, 2016. I remember like it was just yesterday. It's an experience I'll never forget. My water broke at about 6:00 on Wednesday morning. I was rushed to our local hospital, then transported to Vidant Medical Center in Greenville, NC. I was only 26 weeks, so it was reason to be alarmed. I was bedridden and given procardia to prevent the pre-term labor, but none of it worked.
7:00 am Thursday morning, the labor pains commenced. I could hardly stand it as I frantically paged the nurse. The doctor was called. She checked my cervix. It was time! The delivery was quick yet traumatic. Due to my heart condition, an emergency c-section was scheduled but my baby boy couldn't wait. With oxygen on my face and a needle in my spine, I began to push while sitting upright on the edge of the delivery table. The doctor could see his tiny head crowning and immediately laid me back, asking me to give her one more big push. As I'm pushing, I go completely numb from the spinal anesthesia but I did it! DJ was born at 10:26 am. They held him up for me to see as I cried tears of joy and worry. He wasn't crying at all but his little eyes were wide open as he looked right at me. He was so small and frail but the most beautiful angel I've ever seen. My first child at the age of 40 had arrived and I felt so blessed. After cleaning him up, they allowed me one kiss before placing his tiny body into an incubator and moving him to the neonatal intensive care unit (NICU). My parents caught a glimpse of him in the hallway and smiled with glee to meet their newest grandchild. Meanwhile, I was sent to recovery and wouldn't see my bundle of joy again for several hours.
After signing in at the front desk of the NICU, washing our hands (of course), my then husband wheeled me to Pod B where our beloved was waiting. There he was all swaddled up with his sweet little face covered due to the ventilator needed to help him breathe. He weighed only 790 grams (1 lb, 12 oz) and 13 inches long, but strong! As I watched our son fighting for his life, I cried and cried. Why did this happen? I greatly assumed it was my gestational diabetes or the stress I was under due to a trying and later failed marriage. However, I read that there are risk factors for being born early, such as infection, placental problems or genetic problems, but in many cases the cause is unknown. An estimated 15 million babies are born too early every year, That is more than 1 and 10 babies. Wow! I couldn't imagine the arduous journey ahead for us. All the tests, diagnoses, procedures, bradycardias and near fatal incidences that caused such an emotional rollercoaster. Without God, DJ wouldn't have made it, and I wouldn't have made it through my postpartum period that was thankfully short-lived. DJ spent four months and one week at James and Connie Maynard Children's Hospital. I never left his side not one single day. Thank God for the tremendous support of so many in our corner, including the awesome hospital staff and The Ronald McDonald House of Eastern NC.
After leaving the hospital, I became a stay-at-home mom taking care of DJ full-time because he was considered disabled and unable to enroll into daycare. I'm so blessed to be here for every waking moment, watching my son continue to thrive despite his near fatal illnesses and hospitalizations. I even made the time to self-publish my first children's book entitled, "The Mighty 1", dedicated to my baby. DJ is now two years strong, weighing 24.5 lbs and 32 inches long. My little soldier is so amazing and I'm beyond stoked to be his mommy.


text:
Q: How to Authenticate using credentials in Azure Active Directory? I have a requirement to login to MVC web application using user credentials(username and password) in Azure Active Directory. Any idea how to do ?

A: You can login into the azure active directory by using the following method. For this you need to configure your account in active directly and give its values directly in your method and this will return you a token and from that token you have to initialize your class like this here Microsoft.Azure.TokenCloudCredentials("xxxxxxxx-xxxx-xxxx-xxx-xxxxxxxxx", accessToken) and then you can perform any operation.
 public AuthenticationResult GetAccessToken()
{
    string hardcodedUsername = "activedirectoryusername";
    string hardcodedPassword = "activedirectorypassword";

    string tenant = "abc.onmicrosoft.com";
    string clientId = "xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
    string resourceHostUri = "https://management.core.windows.net/";
    string aadInstance = "https://login.windows.net/{0}";
    //string aadInstance = "https://login.windows.net/{0}/oauth2/authorize";

    AuthenticationContext authenticationContext = new AuthenticationContext(String.Format(aadInstance, tenant));
    UserCredential userCredential = new UserPasswordCredential(hardcodedUsername, hardcodedPassword);
    AuthenticationResult authenticationResult = null;
    authenticationResult = authenticationContext.AcquireTokenAsync(resourceHostUri, clientId, userCredential).Result;

    return authenticationResult;
}

redpajama_set_name: RedPajamaStackExchange


text:
It's the Bee's Knees! 12 Surprising Facts About Bees and Honey
Did you know that September is the National Honey Month in the United States AND the Bee Aware Month in New Zealand? Obviously, as a team of busy bees, we believe these national occasions should actually be celebrated worldwide! 🥳
When creating Honeygain, we didn't pick our name and mascot at random: a beehive where thousands (if not millions!) of bees join their efforts to reach a common goal is a perfect metaphor for a crowdsourced web network. In addition to that, bees are crucial for the ecosystem – and beekeeping has been prevalent around the world since antiquity!
Did we spike your curiosity? If so, you're in luck – on the eve of the National Honey Month and the Bee Aware Month, we're sharing our favourite trivia on all types of bees, honey, and Honeygain!
Bees and honey don't always go hand in hand
There are around 20,000 types of bees worldwide, and just seven of them are honey bees. The commercial beekeepers typically have Apis mellifera in their apiaries – and in Latin, mellifera literally means honey-bearing. But did you know bees aren't the only ones that produce honey? The Mexican honey wasp does, too – however, they visit different types of plants, which might sometimes result in their honey being poisonous!
The power of honey bees lies in numbers
Your regular beehive consists of 30,000–60,000 bees, and while establishing their hive, queen bees might lay 2,000–3,000 eggs every day. If you think these numbers sound massive, consider this: an average bee produces less than a teaspoon of honey in its entire lifetime – and when raised in spring, they only live for 6–7 weeks due to quite literally working themselves to death. Queen bees, on the other hand, have a life expectancy of 2–3 years!
A massive community is also what makes Honeygain so powerful: by uniting millions of users in dozens of countries, it's currently the world's biggest web intelligence network, capable of taking on incredible feats!
Bees inspire ambitious art projects
Matt Willey is an artist from New York who has pledged to paint 50,000 honey bees in murals by hand as he travels the world - and he's already getting close to 9,000! He's calling his project The Good of the Hive, and 50,000 represents the number of bees a healthy hive needs to thrive. Willey calls himself an art activist and aims to get more people around the world interested and aware of the ways we could be saving bees, and in turn, the entire environment.
Honey has no consume-by date
If you kept honey in a sterile and airtight container and ensured the right environmental conditions, you could technically keep it in top condition forever. Archeologists have actually found edible honey in Egyptian tombs that have been buried for several thousand years! Among the things that protect honey from growing bacteria are natural acidity, low moisture, and a unique enzyme that comes from the belly of the nectar-collecting bee.
The Mayans had a honey god… and they weren't the only ones
If you ever looked at Mayan religious art, you might have noticed a human figure with bee-like wings on his back, outstretched as if he was in the process of landing. It's Ah Muzen Cab – the god of honey, mainly worshipped in and around Tulum. In fact, many ancient cultures and religions included gods responsible for honey and bees: the Hindus had Bhramari, the Ancient Romans had Mellona, and the Greeks had Aristaeus.
Honey bees are the thriftiest of builders
We're sure you've seen a honeycomb before. Its distinct hexagonal pattern is easy to recognise – and yet, it might feel a bit confusing. Why do the bees shape wax into a shape that's barely ever found anywhere else in nature? Scholars have been speculating about its unmatched efficiency since BC, and in 1999, it was finally proven: a perfect hexagon with 120-degree angles allows honey bees to form closed structures while using the least possible amount of wax. Talk about zero waste!
In fact, you could say the Honeygain app follows the principle of minimalism, too – it takes very little space on your device (and is hence quick to download!) and doesn't affect your browsing experience in the slightest!
Once retired, Sherlock Holmes became a beekeeper
Not only did Sherlock move to the countryside to keep honey bees in the end, but he also authored a book called Practical Handbook Of Bee Culture with Some Observations upon the Segregation of the Queen! Arthur Conan Doyle tells us about this in the series last book, His Last Bow – An Epilogue Of Sherlock Holmes. You can also see bees in some of the cinematic interpretations of his story, such as the Elementary TV series, where Sherlock tends to an apiary on the roof of his brownstone in New York!
Bees play a massive role in our diets – and not just by providing honey
There are millions of types of plants around the world – and yet, the nutrition of 90% of humanity relies on roughly 100 crop species. Now think of this: 70 of these 100 crops are pollinated by honey bees. That translates to around $30,000,000,000 in crops every year! If the bees went extinct, we'd lose not only those plants but also all the animals that eat them, and then the animals that eat those animals… You get the gist: losing bees would mean a massive blow to the global food chain!
Bee-autiful accessory? Why not!
Have you ever heard of a bee beard? It's a formation of bees on your face that resembles a beard - and to attract one, you need to place a caged queen bee under your chin. The bees will crowd around the face… and so will spectators, who will all think you're the bee's knees! At least that's what honey sellers thought in the XVIII century when they started using bee beards as a form of promotion. These days, we have way more effective advertising options… And yet, bee beards are far from being out of style: in Canada, you can even participate in The Clovermead Annual Bee Beard Competition!
Honeygain was not the first to associate honey with money
According to historical writings, honey was once considered so valuable that lords of some countries actually collected it as a tax. Such practices have been recorded in ancient Egypt, the Roman Empire, and medieval Europe, namely England, France, and Germany where it was often used to sweeten beer. A highly nutritious, multi-purpose and long-lasting product that's easy to store is the absolute bee's knees for tax collection!
Nowadays, of course, you have to pay your taxes in cash – but that doesn't mean honey has nothing to do with money. You can use Honeygain to make free money by sharing your Internet connection from anywhere in the world!
Bees navigate Viking-style
Sun is one of the first environmental hints you can follow when you don't have Google Maps at hand: you know it always rises in the East and sets in the West. When it's shining in a clear blue sky, bees use it to navigate their way around, too – much like many other animals. But have you ever stopped to think about how they do it on cloudy days? Turns out, they follow the same technique the Vikings did: they understand the orientation of polarised light and use these clues to make out the position of the sun. In addition to that, they also use smells, landmarks, and distance sensors!
Honey is used to heal all kinds of ailments
Chances are, you've been given honey to soothe a sore throat before. Being rich in antioxidants, it usually helps to fight inflammation – but did you know honey is also used to treat dandruff, cuts, and burns? It's all because bacteria find honey to be an extremely inhospitable environment! Some also believe local honey can ease seasonal allergies by introducing tiny amounts of pollen collected from local plants to the organism – however, scientists state it's not an effective strategy, since honey bees are attracted to bright-coloured flowers and not the plants that typically cause allergies.
These are just a few of the most interesting facts that relate to bees and honey – however, no article or even book could ever be big enough to include them all! The most important thing is to understand that bees are a crucial part of our planet's ecosystem and also a great example of a buzzing community that finds its power and effectiveness in unity.
If you'd like to become a part of an equally strong and united community that joins their efforts for the common goal of making the Internet a safer and overall better place for all of us – why not join Honeygain? It's a crowdsourced web intelligence network that helps businesses all around the world to perform data-based processes like ad verification, brand protection, price comparison, etc.
Every user of our proxyware also receives financial rewards for participating – and if you join by clicking the button below now, you'll also receive a sweet starting gift of $5. Isn't that something that's worth buzzing about?
How to Save Money and Planet: Reducing Environmental Impact
How to Declutter Your Life… And Fill Up Your Wallet!
Shopping for Used Goods: Where You Can Save – and Where You Shouldn't


text:
Welcome to the counter!
=======================

Add a new file with the next (or previous. decimals are ok, random extensions are ok, no fractions or other expressions) number that is needed to be added.
All files (except this one) should have a size quota of 2kb max.
Failure to meet that quota means that your change will not get merged.

So, to recap:

1. File needs to be a number, can be a decimal.

2. Please add files in order, don't fill in decimals between numbers.

3. Files have to be less than 2kb, except this one.

4. Files can have a random extension, or no extension at all.

5. Extensions are defined as [your number].[whatever the hell you want]

6. Same rules apply that are in the README.md inside the project root.

7. You are allowed to come back and edit other numbers, just don't rename the files.

Anyways, Good Luck and HAVE FUN!


home > Blog > Uncategorized > What is "identification"?
Let's take a look at the idea of a meditation life style to see how and why we can use the practice to get a variety of different outcomes. When putting together a strategy for a successful meditation practice it is important to know where you will get the most out of your efforts. The first thing to do will be to ask yourself the question: What do I want to get from the training? Once this has been established you will be able to set a plan to most effectively help you reach your goals. This is important because there are many directions and approaches to the training.
Can meditation make you more beautiful?


text:
Creating a school garden
How can a school garden contribute to a child's development? Elizabeth Holmes finds out why the school garden at Castle Carrock is so important.
Whether you're green fingered or not, the benefits of gardening are well rehearsed. According to research there are 'substantial human health benefits' to be derived from time spent in a garden.
The Royal Horticultural Society (RHS) Campaign for School Gardening seeks to give children gardening opportunities not only to boost their skills, but also to contribute to their overall development. It cites numerous direct benefits of gardening for children including:
improving physical and mental wellbeing
building life skills (such as confidence, teamwork and communication)
enhancing literacy, numeracy and oracy
encouraging a healthy lifestyle
enriching the entire curriculum including science, maths, art and languages
enhancing learning about the environment and sustainability
giving young people an affinity with their surroundings and an enhanced sense of responsibility.
Rebecca Stacey is headteacher of Castle Carrock School, a village primary on the edge of the north Pennines in Cumbria, and a keen advocate of the benefits of school gardens. 'Our garden is an integral part of the school,' Rebecca says. 'The class teachers plan for its use in curriculum time and are each responsible for a section of it, namely their own raised bed.
'We have a fire pit and seating, as well as a willow section and a greenhouse, and the garden is used all year round. Our early years children recently held a fire in there and toasted marshmallows, and in science week last year we designed and built bug hotels.'
Community working
The garden at Castle Carrock School is cherished by all and that means a steady supply of help in looking after it. 'It is maintained by the whole community,' Rebecca says. 'In the winter we hold a clean-up session where parents and friends will help clear it out and prepare it for the school year. It's all very informal and we rely completely on people to support!'
School gardening is not all about the adults, however. At Castle Carrock, the pupils pretty much run it. 'They certainly know more about it than I do,' Rebecca says. 'We have a loose 'gardening club' who will meet at lunchtimes with an adult support, usually myself, to sort out whatever needs doing.
'We grow food that we can use in the school kitchen and we also entered the 'Cumbria in Bloom' competition last year. We keep an annual scrapbook so we remember what we have been doing, and what we want to do next!'
The RHS Campaign for School Gardening has been designed to inspire and support schools in providing gardening opportunities for children. When you register, which is free of charge, you will receive a welcome pack containing plant labels, stickers, posters and seeds. The downloadable resources will get you started and help you to sustain your garden. You'll also have access to what other schools are doing to make their gardens sustainable over time.
Learning in the outdoor classroom offers myriad benefits to teachers and pupils alike. It has the potential to enhance a knowledge-rich curriculum and gives children the opportunity to embed a positive attitude towards lifelong scholarship through working with adults in the spirit of mutual responsibility and learning together. If there's any possibility of developing a school garden, it just might be the best thing your school ever did!
Take a look at the Ecosia search engine which uses profits to plant trees!
Garden Organic is a charity promoting the ideas around organic gardening. It provides information on growing at school as well as classroom resources and courses for school professionals.
Countryside Classroom is described as a 'single destination where teachers can find and access resources, places to visit and people to ask that will support their teaching about food, farming and the natural environment'.
Cornell University College of Agriculture and Life Sciences Learn, Garden and Reflect with Cornell Garden-Based Learning seeks to provide educators with research-based gardening resources.
You can contact Rebecca Stacey on Twitter (@bekblayton) to find out more about the garden at Castle Carrock.
Pupil safety and pastoral care
Adele Bates
'Why can't they just behave?'
Answer: because there is something in that negative behaviour that is communicating an unmet need – and It's our jobs as educators to find out what that is. We're all human, and will all ponder variations of this question from time to time. 'Why now?' 'It's not that hard to just sit down.' 'It must...
Nicola Harvey
Digital mental health platforms for young people: an innovative way forward?
The pandemic is just one factor driving the increased use of online mental health platforms. Nicola Harvey weighs up the opportunities and challenges this innovation presents. At a time when everyone is adjusting to the tier system and vaccines are on the way, children and young people are...
Fiona Carnie
Caring for vulnerable children: put listening at the heart of schools
Fiona Carnie draws on examples from practice at home and abroad to explore the vital role of listening in pandemic recovery, for children, families and staff. Many children – particularly those from disadvantaged backgrounds – are suffering deeply through this pandemic. Increasing numbers live in...