#sibling communication vue
Explore tagged Tumblr posts
Photo

Vue JS 2 Tutorial #25 – The Event Bus Hey gang, in this Vue JS tutorial I'll show you how we can create direct component to component data transfer using an event bus (which is just a Vue instance ... source
#bus#component communication#component data transfer#cross component communication#event#event bus#event bus tutorial#events tutorial#sibling communication vue#tutorial#vue#vue child component communication#vue event bus#vue js#vue js 2#vue js 2 event bus#vue js 2 tutorial#vue js 2 tutorial for beginners#vue js event bus#vue js event bus tutorial#vue js tutorial#vue js tutorial for beginners#vuejs#vuejs 2 tutorial#vuejs tutorial#vujs tutorial for beginners
0 notes
Note
OC askmeme: 7, 11, 14, 21, 25, 30, 32, 39, 49? (Oh gosh that's a lot I'm sorry)
Did you guys know I've got OCs? I got OCs
7. Are your OCs part of any story or stories?
Yes! I do have a scattering of OCs that aren't part of a major story I'm working on, but for the most part my OCs are part of a handful of stories I've got. Particularly these two guys at the moment!
11. Is there any OC of yours you could describe as a “sunshine”?
I was trying to think about this and honestly I can't think of anyone, really. Clearly I need happier characters?? I'll have to work on that and see if I can find a place for a sunshiney character.
14. Introduce an OC with a tragic backstory
Both of these kids have tragic backstories (it comes with being a vampire), but I'll introduce Vincent there on the right. If you've read Dracula then you know that he comes to England on board a ship and, over the course of the voyage, he kills the entire crew. Vincent's story was a few years after that time, but not many. He boarded a boat along with his older brother to come to America but he never made it alive. Unbeknownst to everyone, there was a vampire hiding on board...
When other passengers saw the strange bite marks on him, they bound his hands and feet and threw him overboard to prevent others from being infected. The ship sailed on without him. His brother started a life in his new country; he found a job, married, and had kids of his own, always trying to forget what had happened to his sibling.
Vincent did make it to shore, eventually, but he was already dead. Or rather, Un-dead.
21. Your most artistic OC
That might be Mollie Hawkins (aged 13). She illustrates her own entries in her field journals about the fantastical creatures she comes across or rescues.
25. The OC that resembles you the most (same hobby, height, shared like/dislike for something etc?)
Ilich, the third kid in my vampire trio, was created in middle school to be a lot like me. Shy, few friends, loves animals, loves to read, etc. I've ended up struggling a lot over the years to make her more interesting.
30. Which one of your OCs would most likely have a secret stuffed animal collection?
Terry, probably. He'd find them comforting and huggable when he doesn't want touch from anyone else.
32. Which one of your OCs would be the most suitable horror game protagonist and why?
Ethel Sullivan is the closest I have, I think. She can communicate with ghosts, but sometimes it's very taxing and leaves white streaks in her hair. She gave up on trying to get ghosts to leave her alone and now helps them move on, or figures out how to defeat them if they're dangerous.
39. Introduce any character you want
Some of my OCs are from dreams I've had. Though unnamed in the original dream, Morra is a short, motherly creature living in a cursed house. She's aligned with the earth element and loves cleaning, collecting colorful gemstones, and griping about fairies.
49. Which one of your OCs would most likely enjoy memes
tumblr_video
Vue, the "cat." If a meme is clever, he'd love it.
3 notes
·
View notes
Text
German Starter Pack #3
You can find the previous vocab lists I’ve done here :
German Vocabulary - Starter Pack
German Starter Pack #2
This one is going to be quite long as well. It’ll be the last starter pack, and then I’ll start studying grammar, verbs etc. Let’s go !
German // English // French
Verbs
mitnehmen // to take along // emporter
reservieren // to book // réserver
bestellen // to order // commander
sein // to be // ��tre
dürfen // to be allowed to // pouvoir
probieren // to try // essayer
schmecken // to taste // goûter
einpacken // to wrap, to box // emballer
bezahlen // to pay // payer
aussehen // to look (appearance) // avoir l’air
sich verstehen // to get along // bien s’entendre
nerven // to annoy // énerver
mögen // to like // aimer
sich aussuchen // to pick // choisir
reden // to talk // parler
zeigen // to show // montrer
sehen // to see // voir
müssen // to have to // devoir
wissen // to know // savoir
wiederholen // to repeat // répéter
lassen // to let // permettre
kosten // to cost // coûter
Lust haben // to feel like // avoir envie
laufen // to walk // marcher
Nouns
das Essen // the food // la nourriture
das Getränk // the drink // la boisson
der Tisch // the table // la table
die Flasche // the bottle // la bouteille
das Wasser // the water // l’eau
die Karte // the menu; the card // le menu, la carte
das Jahr; die Jahre // the year, the years // l’année, les années
das Herz // the heart // le coeur
die Seele // the soul // l’âme
der Freund; die Freundin // the friend (masc. and fem.) // l’ami, l’amie
das Kind; die Kinder // the child; the children // l’enfant, les enfants
die Stadt // the city // la ville
die Sehenswürdigkeit // the sight // l’attraction
das Zentrum // the centre // le centre
die Berliner Mauer // the Berlin Wall // le Mur de Berlin
der Fernsehturm // the TV tower // la tour de télévision
die Straße // the street // la rue
die Kreuzung // the crossing // le croisement
die Aussicht // the view // la vue
der Eintritt // the entry // l’entrée
die Ermäßigung // the discount // la réduction
die Bude // the stall // le stand
das Richtige // the right thing // l’idéal
Food
die Vorspeise // the starter // l’entrée
das Hauptgericht // the main dish // le plat principal
das Dessert // the dessert // le dessert
das Fleisch // the meat // la viande
das Gemüse // the vegetable // le légume
das Hühnchenfleisch // the chicken (meat) // le poulet
das Rindfleisch // the beef // le boeuf
das Schweinefleisch // the pork // le porc
die Meeresfrüchte // the seafood // les fruits de mer
die Kartoffel // the potato // la pomme de terre
die Pommes // the fries // les frites
die Nudeln // the noodles // les nouilles
der Reis // the rice // le riz
die Eier // the eggs // les oeufs
der Saft // the juice // le jus
der Kaffee // the coffee // le café
die Milch // le lait // the milk
das Salz // the salt // le sel
der Pfeffer // the pepper // le poivre
der Zucker // the sugar // le sucre
salzig // salty // salé
lasch // bland // fade
scharf // spicy // épicé
kalt // cold // froid
Family
die Familie // the family // la famille
die Verwandtschaft // the relatives // la parenté
die Eltern // the parents // les parents
die Geschwister // the siblings // les frères et soeurs
der Vater; die Väter // the father, the fathers // le père, les pères
die Mutter; die Mütter // the mother, the mothers // la mère, les mères
die Schwester; die Schwestern // the sister, the sisters // la soeur, les soeurs
der Bruder; die Brüder // the brother, the brothers // le frère, les frères
der Sohn; die Söhne // the son, the sons // le fils, les fils
die Tochter; die Töchter // the daughter, the daughters // la fille, les filles
der Großvater; die Großväter // the grandfather; the grandfathers // le grand-père, les grand-pères
die Großmutter; die Großmütter // the grandmother; the grandmothers // la grand-mère, les grand-mères
der Onkel; die Onkel // the uncle; the uncles // l’oncle, les oncles
die Tante; die Tanten // the aunt; the aunts // la tante, les tantes
der Cousin; die Cousins // the cousin; the cousins (masc.) // le cousin, les cousins
die Cousine; die Cousinen // the cousin; the cousins (fem.) // la cousine, les cousines
der Neffe; die Neffen // the nephew; the nephews // le neveu, les neveus
die Nichte; die Nichten // the niece; the nieces // la nièce, les nièces
das Enkelkind; die Enkelkinder // the grandchild; the grandchildren // le petit fils, les petits enfants
Miscellaneous
alles // all // tout
nichts // nothing // rien
leider // unfortunately // malheureusement
mehr // more // plus
entlang // along // avec
mit // with // avec
ohne // without // sans
oder // or // ou
kein; keine // no, none // aucun
statt // instead of // à la place de
zusammen // together // ensemble
getrennt // separate // séparé
bar // cash // en espèce
dann // then // alors
mein, meine // my // mon, ma
sein; seine // his // son, sa (pour un homme)
ihr; ihre // her // son, sa (pour une femme)
jung // young // jeune
alt // old // vieux
gemeinsam // in common // en commun
meistens // most of the time // la plupart du temps
einfach // easy // facile
peinlich // embarassing // gênant
schon // already // déjà
schlau // smart // intelligent
dumm // dumb // idiot
klein // small // petit
groß // big // gros
komisch // weird // bizarre
zu fiel // too much // trop
zu wenig // too little // trop peu
unbedingt // by all means // absolument
rechts // right // droite
links // left // gauche
vorbei // past // au niveau de
über // across // par-dessus
geradeaus // straight ahead // tout droit
gegenüber // opposite // à l’opposé
zurück // back // en arrière
von hier // from here // d’ici
weit weg // far away // loin
zu Fuß // on foot // à pied
erreichbar // reachable // atteignable
von dort aus // from there // de là
dort drüben // over there // là-bas
Useful Sentences
zum Mitnehmen oder zum hier Essen? // eat in or take away? // Sur place ou à emporter ?
wie viele sind Sie? // How many are you?
einen Tisch für zwei bitte // a table for two please // une table pour deux, s’il vous plait.
haben Sie reserviert? // Have you booked? (formal) // Avez-vous réservé ?
es ist leider nichts mehr frei // unfortunately, the restaurant is full (litt. there is no more place) // malheureusement le restaurant est plein (litt. il n’y a plus de place)
hier entlang bitte // this way please // par ici s’il vous plait
was darf's sein? // what would you like to order? // que voulez-cous commander ?
ich hätte gern ... // I would like to have... // je prendrais...
eine Flasche Wasser bitte // a bottle of water please // une bouteille d’eau s’il vous plait
ein Glas Wein bitte // a glass of wine please // un verre de vin s’il vous plait
mit oder ohne Kohlensäure? // still or sparkling? // plate ou pétillante ?
ich bin am Verhungern! // I'm starving! // je suis affamé !
ist das vegetarisch? // is this vegetarian? // est-ce végétarien ?
ich esse kein ... // I don’t eat ... // je ne mange pas de ...
ich esse kein Fleisch // I don’t eat meat // je ne mange pas de viande
ich habe eine Fischallergie // I am allergic to fish // J’ai une allergie au poisson
mit Tofu statt Fleisch bitte // with tofu instead of meat please // avec du tofu à la place de la viande s’il vous plait
das Gleiche bitte // the same please // la même chose s’il vous plait
noch eins bitte // another one please // un autre s’il vous plait
sonst noch etwas? // anything else? // autre chose ?
kann ich mal probieren? // can I try? // je peux essayer ?
können Sie mir das einpacken? // can you box it up for me? (formal) // pouvez-vous l’emballer pour moi ?
hat es geschmeckt? // did you enjoy your meal ? // est-ce que c’était bon ?
können wir bitte bezahlen? // can we pay please? // peut-on payer s’il vous plait ?
geht das zusammen oder getrennt? // would you like to pay together or separately? // voulez-vous payer ensemble ou séparément ?
können wir mit Karte bezahlen? // can we pay by card? // peut-on payer par carte ?
das wären dann achtzehn Euro bitte // that'll be 18 euros please // ce sera 18 euros s’il vous plait
ist das deine Schwester? // is that your sister? // est-ce que c’est ta soeur ?
nein, das ist nicht meine Schwester // no, she’s not my sister // non, ce n’est pas ma soeur
sie ist meine Mutter // she is my mother // elle est ma mère
wie alt bist du? // how old are you ? // quel âge as-tu ?
ich bin dreißig Jahre alt // I’m 30 years old // J’ai 30 ans
du siehst viel jünger aus // you look a lot younger // tu as l’air beaucoup plus jeune
du siehst aus wie sie // you look like her // tu lui ressembles
wir haben viel gemeinsam // we have a lot in common // nous avons beaucoup en commun
versteht ihr euch? // do you get along ? // est-ce que vous vous entendez bien ?
wir sind ein Herz und eine Seele // we’re the best of friends (litt. we have one heart and one soul) // nous sommes meilleurs amis (nous avons un coeur et une âme)
mein Bruder nervt // my brother is annoying // mon frère est énervant
er ist einfach nur peinlich // he’s just embarrassing // il est juste gênant
er hat schon Kinder // he already has kids // il a déjà des enfants
er ist älter als ich // he’s older than me // il est plus vieux que moi
ich bin definitiv schlauer als er // I'm definitely smarter than him // je suis définitivement plus intelligent que lui
ich mag seine Freundin // I like his girlfriend // j’aime bien sa copine
ich mag ihre Familie nicht // I don't like her family // je n’aime pas sa famille
ihr Onkel ist komisch // her uncle is weird // son oncle est bizarre
sie reden alle zu viel // they all talk too much // ils parlent trop
die Familie kann man sich nicht aussuchen // you can’t choose family // on ne choisit pas sa famille
komm, ich zeig' dir die Stadt! // let me show you the city! // laisse moi te montrer la ville !
es gibt viel zu sehen // there's a lot to see // il y a beaucoup à voir
weißt du, wo das Zentrum ist? // do you know where the centre is? // sais-tu où est le centre ?
ich will es unbedingt sehen // I absolutely have to see it // je dois absolument le voir
ich weiß es leider nicht // I don't know unfortunately // malheureusement je ne sais pas
du musst über die Straße gehen // you have to walk across the street // tu dois traverser la rue
links vorbei an der Kreuzung // to the left at the crossing // à gauche au croisement
geh rechts und dann links // go right and then left // va à gauche puis à droite
kannst du das bitte wiederholen? // can you repeat that please? // peux-tu répéter s’il te plait ?
es ist rechts von hier // it's to the right // c’est à droite
wie weit weg ist es? // how far away is it? // à quel distance est-ce ?
es ist zu Fuß erreichbar // it's within walking distance // c’est accessible à pied
von dort aus kann man alles sehen // you can see everything from there // tu peux tout voir d’ici
lass mal ein Selfie machen! // let's take a selfie! // prenons un selfie !
ist es sonntags geöffnet? // is it open on Sundays? // est-ce que c’est ouvert le dimanche ?
wie viel kostet der Eintritt? // how much is the entry? // combien coute l’entrée ?
gibt es eine Ermäßigung? // is there a discount? // y a-t’il une remise ?
was gibt es hier noch so? // what else is here? // qu’y a-t’il d’autre ici ?
ich habe Lust auf eine Currywurst // I fancy a currywurst // j’ai envie d’une currywurst
ich habe keine Lust mehr zu laufen // I don't feel like walking anymore // je n’ai plus envie de marcher
dort drüben ist die beste Dönerbude der Stadt // over there is the best kebab place in the city // là-bas il y a le meilleur kebab de la ville
das ist jetzt genau das Richtige! // that's exactly what I need right now! // c’est exactement ce dont j’ai besoin maintenant!
17 notes
·
View notes
Text
The Ingredients of Successful B2B Marketing. The Case of Warsaw’s Software Houses
Poland is growing to be an IT hub, moving past the “outsourcer” stereotype and designing its own success story. Warsaw is leading the way.
10Clouds, SoftwareMill, Polidea are Warsaw's software houses that sit at the core of its vibrant IT development.
These companies are only the tip of the iceberg, an iceberg that wants to disrupt the outsourcing world.
While we are based in Krakow, the eternal Warsaw sibling rival, we can’t help admiring the intense competition between the two IT hubs. So far, there are no losers in this competition. It’s a hard-fought battle where the whole ecosystem goes stronger, innovation by innovation.
So, what are the forces that fuel up this environment? What makes Warsaw a magnet for IT investors? How did the aforementioned companies grow so fierce?
We shall answer all of these questions in our 4 blog posts series, beginning with this one.
We’ll tell inspiring stories about digital marketing, employer branding, social media strategies and more.
TABLE OF CONTENT
Warsaw’s IT Environment
Warsaw's Software Houses
10Clouds - From Stunning Product Design to Flawless Code
Polidea - We Create Business Stories Through Technology
SoftwareMill - Your Software Team
Wrap up
Warsaw wants to challenge the IT Outsourcing status quo.
Let bygones be bygones.
It’s time for new ways of doing business, where the humane mingles with the technologies of the future.
So, let’s follow the footsteps of 3 Warsaw software houses on their way to growth.
Warsaw’s IT Environment
Now, let’s see what makes Warsaw so appealing in the IT outsourcing market:
Income tax exemptions: the amount of tax exemption granted depends on the value of the investment, its location and the size of the company
Warsaw is Poland’s main economic and business hub, pretty obvious for a capital
The largest office market in CEE: everyone wants to open an office here. More than 60% of the demand for office space in Warsaw, Lodz, Krakow, and Sofia – during the first half of 2017 came from the outsourcing sector.
Highest R&D index in Poland: the index calculates the number of new entities registered in the REGON list per 10 k inhabitants. The Warsaw average for 2009-2015 was 169, followed by Poznan (158) and Wroclaw (144).
Second largest Polish market for BPO, R&D and IT, considering players employing at least 1000 persons


Business friendliness: Warsaw ranks 3rd in FDI’s report European Cities and Regions of the Future 2018/19. FDI is a service developed by the Financial Times, providing industry-leading insight and analysis, mostly investment related.


Local talent pool: the highest in Poland according to McKinsey's report "Poland 2025: Europe’s new growth engine"
30 Fortune Global 500 investors have business services centers (BPO, SSC, IT, R&D) in Warsaw, employing 18,500 people.

The largest academic center in Poland: In the QS EECA University Rankings 2018, the University of Warsaw (the country’s largest) came in 6th among 200 of the best universities in the Emerging Europe and Central Asia region.

Warsaw is the second most attractive Polish city for relocation, according to PWC report

Acceleration programs and accelerators that pave the way for startups to contracts and VC investments: Founder Institute, StartUp Hub, Huge Thing, Warsaw Accelerator, ReaktorX, Google Campus, MIT Enterprise Forum CEE, Fab Poland by Orange
60+ tech meetup groups, with members ranging from 100 to 4000+

Warsaw's Software Houses
In 2017 15,000+ new businesses were established in Warsaw. According to Startup Poland Foundation, every fourth Polish startup is created in Warsaw.
Innovation lays just around the corner: from cloud computing, VR, AI, blockchain to IoT, every company wants a bite.
Next, in our story, we’ll try to unbox the marketing and branding strategies of 3 pillar companies of IT outsourcing in Warsaw.
10Clouds - From Stunning Product Design to Flawless Code

Website: https://10clouds.com/
No. employees: 100+
Revenue: EUR 3M+ (2016, Financial Times)
Technologies: AngularJS, React, Python, Javascript, Django, Vue, Node, Elixir
Services: web development, mobile development, product design, blockchain
Verticals: business, healthcare, entertainment, education
Key clients: Baidu, Asmodee, StepStone, TrustStamp, Skedulo, ZappRideShare, Coinquista
Offices: Warsaw (HQ), Poznan, Wroclaw, Atlanta
Reviews: 4.9 - Clutch (30 reviews), 3.4 - Glassdoor (7 reviews)
CEO: Maciej Cielecki
Featured in Deloitte’s CEE Tech Fast 50 in 2017, 10Clouds has increased its revenue by 316% during 2013-2016.

The criteria Deloitte uses for its CEE top is a strict one:
Annual revenues of at least €50,000 in each year between 2013 and 2016.
Develop proprietary technologies/spend a significant amount of capital on R&D
Have an ownership structure that excludes majority-owned subsidiaries of strategic entities.
Financial Times is making its own top of the fastest growing companies in Europe. 10Clouds ranks 480, with a 4-year revenue increase of 333%.

In our next blog post, we’ll look at the marketing strategies that power up such a growth: we’ll dive into content strategies, branding efforts, and community engagement.
But, until then, you can understand the 10Clouds way of doing business by listening to one of their happy customers, now an evangelist:
youtube
Client testimonial - working with 10Clouds
Polidea - We Create Business Stories Through Technology

Website: https://www.polidea.com/
No. employees: 60+
Technologies: Node, Django, React, AWS,
Services: mobile development, web development, UX design, IoT, cloud computing, VR, augmented reality
Verticals: healthcare, finance, consumer goods
Key clients: Philips, Dolby, HP, StepStone, Estimote, Genentech, Applause, DaWanda
Offices: Warsaw (HQ)
Reviews: 4.9 - Clutch (8 reviews)
CEO: Grzegorz Kapusta
A Clutch awarded company, as a top app development company in Poland, Polidea is turning 10 this year.

Learning and sharing are in the Polidea DNA, as its CEO proudly states. This is why they organized the MCE Conference, one of the largest tech conferences in Europe, for 5 editions.
The Polidea involvement with Open Source, meetups, and local initiatives simply reinforces their passion for community.
So, when you mix knowledge and the power of sharing, you might end up working with top players such as Philips, Dolby or HP?
We’ll see about that in our next blog post.
Until then, watch Grzegorz Kapusta speak about Polidea here:
youtube
Video about Polidea
SoftwareMill - Your Software Team
Website: https://www.softwaremill.com/
No. employees: 40+
Technologies: React, Java, Javascript, Angular, Heroku, Scala, AWS,
Services: big data, machine learning, blockchain, web applications
Verticals: messaging, finance & banking, energy, e-commerce, logistics
Key clients: Tipser, Knip, Zerigo, IP Integrated, Vocado, Attikis, Intellii
Offices: Warsaw (HQ)
Reviews: 4.9 - Clutch (9 reviews)
CEO: Tomasz Szymanski
SoftwareMill ranks 10 in Top Custom Software development companies in Poland, by Clutch. It’s closely followed by Infopulse, also Warsaw-based.

What’s striking from the marketer’s point of view, is the abrupt expansion of website organic traffic during 2018. This means that SoftwareMill is going inbound.
It couldn’t be a coincidence, that the organic traffic is booming since Maria Wachal joined the SoftwareMill team as a Growth Manager.

So, this was just a spoiler alert for what’s following in our next blog posts in the Warsaw IT Outsourcing series.
So, stay tuned.
Wrap up
It’s been almost 15 years since Poland has joined the EU. European funding has flown in all these years, empowering businesses all over the country. This led to huge economic and social transformations across Poland.
Warsaw was at the heart of all this.
In the last years, a new chapter is unfolding in Warsaw’s development.
A chapter wrapped in innovation and shared knowledge. It’s like a new “golden age”.
Companies like 10Clouds, Polidea and SoftwareMill are making a statement in IT outsourcing by rising to Deloitte and Clutch tops.
What statement, you say? Well, let me spoil this a bit for you. To make it a bit easier for you I’m gonna lay out here some of my learnings after so much research:
Don’t be afraid to experiment with your organization’s structure: remote teams, flat organizational structures could work for you, as it does for SoftwareMill. This might help your employer brand too.
Get your team members involved in content writing, who else would fit better to promote your company culture, products you’ve designed, or speak of your expertise with a certain framework? This is the case for all analyzed software development companies: SoftwareMill, Polidea, and 10Clouds.
Try hosting your blog on Medium, this way you can open up to a whole new audience - see SoftwareMill and 10Clouds. In their case, the strategy had another advantage: the social media traction went through the roof.
Slideshare - put here some amazing decks, it’s all about reaching out to new audiences. This is what’s getting SoftwareMill thousands of views.
Go offline. In a digital world, human interactions are deeply valued. Organize meetups (10Clouds), conferences (Scalar Conference by SoftwareMill, MCE by Polidea), make people speak about you (potential clients or employees).
Video content is the future! Use it for your client testimonials, for promoting your company’s culture. 10Clouds are really nailing this. Also, you can repurpose some of your content for Youtube, as Polidea does with some of its case studies.
Case studies are essential to prove your expertise. Combine them with testimonials and numbers that speak of the success of the product you’ve built (like in the case of 10Clouds).
Build open-source solutions: this is a new way of getting traction from a whole new audience. Take RxAndroidBLE from Polidea for example, a powerful tool for Bluetooth Low Energy coding, that has received 2000+ stars on GitHub.
So, did I make your curious or not?
Now, competition is fierce in Warsaw and outside of it. Poznan, Wroclaw and Krakow are also getting the hang of success. Their stories are included in our ebook "The Growth Marketing Secrets of Top European Software Houses - Poland Edition 2019".
if(window.strchfSettings === undefined) window.strchfSettings = {}; window.strchfSettings.stats = {url: "https://man-digital.storychief.io/warsaw-software-houses?id=1740887502&type=12",title: "The Ingredients of Successful B2B Marketing. The Case of Warsaw’s Software Houses",id: "4f08255c-5e51-436c-99aa-71482a308009"}; (function(d, s, id) { var js, sjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {window.strchf.update(); return;} js = d.createElement(s); js.id = id; js.src = "https://d37oebn0w9ir6a.cloudfront.net/scripts/v0/strchf.js"; js.async = true; sjs.parentNode.insertBefore(js, sjs); }(document, 'script', 'storychief-jssdk')) from Digital Marketing Automation Consulting | MAN Digital https://mandigitalblog.blogspot.com/2019/09/the-ingredients-of-successful-b2b.html via https://mandigitalblog.blogspot.com/ Read more on our blog MAN Digital MAN Digital Blogger
0 notes
Link
vue pass data between components,vue emit,vue emit example,custom events in vuejs,vue emit multiple parameters,vue event bus,vue emit event to parent,vue event bus vs vuex,vue pass data between sibling components,vue event bus in component,vue pass data to component,
0 notes
Text
Natural Capital Class Reflections
Two of our recent speakers—Ted Corrigan from the Water Works and Seth Watkins from Pinhook Farm—really should get together for coffee someday.
It’s been more than three years since the lawsuit by DMWW against upstream drainage districts was dismissed from Federal Court. While the COVID-19 crisis is occupying the attention of Corrigan’s team for the foreseeable future, in the long-term there can be no greater concern than the quality of water rolling down the Raccoon River basin. While litigation proved to be a fruitless tactic, developing partnerships with entities upstream needs to be a high priority. Seth represents hope that more farmers will realize the financial and environmental benefits derived from working with rather than against nature while producing an abundance of desperately needed food.
Apparently some folks in northeast Iowa have figured out this whole issue of bringing together the interests of clean water and profitable agriculture. The day before our Natural Capital class, the Des Moines Register reported this…
https://www.desmoinesregister.com/story/money/agriculture/2020/04/08/dubuque-partner-farmers-new-deal-reach-state-water-quality-goals/2964731001/
Towards the end of Seth’s talk, I semi-jokingly nominated him for Secretary of Agriculture. The fact is Iowans have had two opportunities to vote into office farmers with very similar philosophies as Seth. In 2006 we lost a great opportunity by not electing Denise O’Brien…
https://www.organicconsumers.org/news/organic-farmer-denise-obrien-could-be-next-iowa-secretary-agriculture
And damned if in 2010 we didn’t make the same mistake by not electing Francis Thicke…
https://www.thenation.com/article/archive/francis-thicke-iowa-secretary-agriculture/
Elections matter and sometimes down ballot races have some of the biggest impacts. Shall we all start paying closer attention?
On a personal, but still relevant note, I have to brag just a little bit. In 1950, Wallace’s Farmer Magazine named a farmer from just south of Pleasantville as a Master Farmer. This highly prestigious award was given because of his leadership in conservation practices such as terracing hillsides, installing shelter belts protecting waterways, and using minimum tillage while growing row crops. This farmer was my grandfather Clyde. See list of Master Farmers here…
https://www.farmprogress.com/master-farmers/iowa-master-farmers-year
My last word on agriculture and water quality is that it will be easier to get excited about the Central Iowa Water Trails project once we get the water coming down the Raccoon and Des Moines Rivers significantly cleaner. Until that happens I won’t be putting even one little tippy toe into that drainage ditch, er I mean water trail.
A new friend of mine is a recent immigrant from India. Last Tuesday we were discussing the impact of COVID-19 and changes in the environment in his home country. He spoke of areas in northern India (the Punjab province to be exact) that have not seen the Himalayas for thirty years. Now the view is so clear it looks as if a person could reach out and touch them! There has been some reporting in the American press about the topic as well…
https://www.nytimes.com/2020/04/08/world/asia/india-pollution-coronavirus.html?action=click&module=News&pgtype=Homepage
https://www.washingtonpost.com/world/asia_pacific/india-coronavirus-delhi-clean-air-pollution/2020/04/10/ac23dd1e-783e-11ea-a311-adb1344719a9_story.html
Of all the things Seth said in his inspirational talk which made me leap for joy was “we need immigrants.” Hallelujah! One of the things I’ve discovered at the Farmer’s Market is the healthiest, freshest, and most affordable produce is grown by immigrant farmers. If you open this link and look at the very first photograph you will see a young lady who is now a junior at East…
https://www.desmoinesregister.com/picture-gallery/news/local/community/2017/07/12/20-photos-scenes-from-the-beaverdale-farmers-market/103647460/
In addition to flowers, she, her parents, and siblings grow an amazing assortment of nutritional vegetables. Last summer I made their stand my first stop. Along our typical circuit around the Court Avenue District I also typically pick up additional produce from my Pella friends the Vue’s and the Yang’s. Hopefully there will be a Farmer’s Market this year so we can continue to enjoy the bounty!
By the way in addition to helping grow and sell vegetables and being an honor student, the young lady from East has a side gig. She runs a gourmet bakery. If you need baked goods for a very special occasion, give her a try…
https://www.facebook.com/pages/category/Kitchen-Cooking/Kekes-Cakes-1478932128995955/
Last year I reached out to the State Fair board and administration with the idea of using their massive stage to showcase the contributions of newly arrived people. If you look closely at the various Central Iowa farmer’s markets you will see a significant number of fruit and vegetable growers from Latin America, East and Southeast Asia, and multiple regions of Africa. Yet, these people and their produce is invisible at our annual agricultural exposition. The response from the Central Iowa representative on the board was cordial, yet non-committal. The answer I got back from the fair C.E.O was quite frankly insulting. Maybe more like-minded people could write or call.
Finally, if you would like to see some of Iowa’s natural history you may want to consider visiting this gem…
http://www.thebrentonarboretum.org/
0 notes
Link
In this article, we'll take a look at the biggest and best JavaScript frameworks around, and explore how to get the best out of them for your next projects. We'll look at Vue.js, React, AngularJS, Polymer and Aurelia – you can use the drop-down menu above to jump to the framework you want to explore first.
Most of these frameworks are open source projects, too, so you can dig in and see how they work – or even contribute yourself.
Vue.js

Best for:
Beginners
Lightweight applications with a small footprint
Vue.js is a progressive JavaScript framework for building user interfaces. An open source project (see the GitHub repo here), its ideal for beginners. The main library is focused on the view layer and all templates are valid HTML, making it easy to pick up. In the following two mini-tutorials, we'll walk through how to use Vue to manage multiple data stores, and speed up the first load to improve your site's performance.
01. Manage state with Vue
As with any component-based library, managing state in Vue can be tricky. While the application is small, it’s possible to keep things in sync by emitting events when values change. However, this can become brittle and prone to errors as the application grows, so it may be better to start out with a more centralised solution.
If you’re familiar with Flux and Redux, Vuex works in much the same way. State is held in one centralised location and is linked to the main Vue application. Everything that happens within the application is reflected somewhere within that state. Components can select what information is relevant to them and be notified if it changes, much like if it was part of its internal state.
A Vuex store is made up of four things: the state, getters, mutations and actions. The state is a single object that holds all the necessary data for the entire application. The way this object gets structured depends on the project, but would typically hold at least one value for each view.
Getters work like computed properties do inside components. Their value is derived from the state and any parameters passed into it. They can be used to filter lists without having to duplicate that logic inside every component that uses that list.
The state cannot be edited directly. Any updates must be performed through mutation methods supplied inside the store. These are usually simple actions that perform one change at a time. Each mutation method receives the state as an argument, which is then updated with the values needed to change.
Mutations need to be synchronous in order for Vuex to understand what has changed. For asynchronous logic – like a server call – actions can be used instead. Actions can return Promises, which lets Vuex know that the result will change in the future as well as enabling developers to chain actions together.
To perform a mutation, they have to be committed to the store by calling commit()and passing the name of the mutation method required. Actions need to be dispatched in a similar way with dispatch().
It’s good practice to have actions commit mutations rather than commit them manually. That way, all updating logic is held together in the same place. Components can then dispatch the actions directly, so long as they are mapped using the mapActions() method supplied by Vuex.
To avoid overcomplicating things, the store can also be broken up into individual modules that look after their own slice of the state. Each module can register its own state, getters, mutations and actions. State is combined between each module and grouped by their module name, in much the same way as combineReducers() works within Redux.pport.
02. Explore lazy load routes
By default, the entire contents of the application end up inside one JavaScript file, which can result in a slow page load. A lot of that content is never used on the first screen the user visits. Instead it can be split off from the main bundle and loaded in as and when needed.
Vue makes this process incredibly simple to set up, as vue-router has built-in support for lazy loading.
Vue supports using dynamic imports to define components. These return Promises, which resolve to the component itself. The router can then use that component to render the page like normal. These work alongside code splitting built in to Webpack, which makes it possible to use features like magic comments to define how components should be split.
React
Best for:
Sites and applications with complex view logic
Quick prototypes with a low barrier to entry
Launched in 2013, React is maintained by Facebook and Instagram, alongside a community of developers. It's component-based and declarative, and you can also use it to power mobile apps via React Native.
Here, we'll explain how to keep your code clean by separating your concerns, move contents outside of the root component, and ensure errors don't destabilise your application.
Use container and presentational components
As with any project, it's important to keep a separation of concerns. All React applications start off simple. As they grow, it can be tempting to keep adding logic to the same few components. In theory, this simplifies things by reducing the number of moving parts. When problems arise, however, these large components become prone to errors that are difficult to debug.
React and JSX encourage the creation on multiple small components to keep things as simple as possible. While breaking the interface down into smaller chunks can help with organisation, having a further separation between how a component works and what it looks like provides greater flexibility.
Container and presentational components are special names given to this separation. The container's job is to manage state and deal with interfacing with other parts of the application such as Redux, while the presentational component deals solely with providing the interface.
A container component will often be in charge of a small section of the UI, like a tweet. It will hold all the workings of that component – from storing state, like the number of likes, to the methods required for interaction, such as a mechanism for liking that tweet.
If the application makes use of external libraries, include at this point. For example, Redux's connect method would provide the container with a way of dispatching actions to the store without worrying the presentational component.
Containers will never render their
own UI and will instead render
another component – the presentational component.
This component will be passed props that detail all the information needed to render the view. If it needs to provide interactivity, the container will then pass down methods for this as well, which can be called like any other method.
Having this separation encourages developers to keep things as simple
as possible. If a container is starting
to grow too large, it makes it easy
to break off into a smaller set
of components.
If the inner workings of a component, such as its state, needs to change, this technique allows the presentational component to remain unaffected. This also means this component can be used somewhere else in the application without needing to adjust how it functions. As long as it keeps getting served the same data it will continue to work.
Render with portals
React 16 introduced the ability to return lots of different types of data from a component. While previously it had to be either a single component or 'null', the latest version allows strings, numbers, arrays and a new concept called 'portals'.
The return value of a render() method decides what React displays, which is shown at that point in the component hierarchy. Portals allow React to render any of these return types outside of the component they were called from.
These can be other parts of the page completely separate from the main application. They still form part of React and work just the same as any component, but are able to reach outside of the normal confines of
the root container.
A typical use case of this technique would be to trigger modal windows. To get correct positioning, overlay
and accessibility requirements out
of a modal it ideally needs to sit as a direct descendant of the <body>. The problem is, the root of a single page application will likely take up that position. Components managing modals will either need to trigger something in the root component, or render it out of place.
Here the Modal component returns a portal. The create function for it takes two arguments – what needs to be rendered and where it should render it. The second parameter is a regular DOM node reference, rather than anything specific to React.
In this example, it references a <div> at the top of the DOM tree that is a sibling of the main app container. It is possible to target any node, visible or not, as with any JavaScript. To use it, another component can summon Modal just like any other component. It will
then display its contents in the targeted node.
Because React events are synthetic, they are capable of bubbling up from the portal contents to the containing component, rather than the DOM node they are rendered in. In the modal example, this means that
the summoning component can
also handle its state, such as its visibility or contents.
Establish error boundaries
Unhandled errors can cause havoc in a JavaScript application. Without catching them as they happen, methods can stop executing half way. This can cause unpredictable behaviour if the user continues and is a bad experience all around.
Previous versions of React did not cope with these situations well. If an error occurred in a nested component, it would leave its parents in limbo. The component state object would be stuck in the middle of performing an operation that could end up locking up the interface.
As of version 16, the way React handles errors has changed. Now an error inside any component would unmount the entire application. While that would stop issues arising with an unstable state, it doesn't lend itself well to a good user experience.
To avoid this, we can create a special component called an error boundary to ring-fence parts of the application from the rest. Any errors that happen inside children of the boundary will not cause issues to those outside of it.
Error boundaries work a lot like typical catch blocks in JavaScript. When an error occurs somewhere inside the component tree, it will be caught by the componentDidCatch() method, which receives the error thrown along with a stack trace. When that gets called it is an opportunity to replace the tree with a fresh interface – typically an error message.
Since it only renders its children, this component
can wrap others
to catch any errors that happen within it. The components chosen for this will vary by application, but error boundaries can be placed wherever they are needed, including inside other boundaries.
Error boundary components shouldn't be too complicated. If an error occurs inside of a boundary, it will bubble up to the next boundary up. Failing that, it will unmount the whole application as usual.
AngularJS
Best for:
Large projects in need of structure
Applications with lots of changing data
AngularJS is an open source frontend web application framework developed by Google. It offers declarative templates with data-binding, MVW, MVVM, MVC, and dependency injection, all implemented using pure client-side JavaScript.
Here, we'll show you how to use AngularJS to create reusable code blocks known as custom decorators, serve content to your users quicker, and create performant and easy to control animations with ease.
Create custom decorators
TypeScript is a superset that sits on top of JavaScript. It supplies features such as static typing, classes and interfaces that are lacking in the native language. This means that when creating large applications developers can get feedback on how best to work with external code and avoid unnecessary bugs.
Angular is built exclusively on top of TypeScript, so it is important to understand how to utilise it correctly. Combining the strengths of both provides a solid foundation for the application as it grows. There are not many better techniques to demonstrate this than with decorators.
Decorators are special functions designed to supply behaviour to whatever it is applied to. Angular makes extensive use of them to provide hints to the compiler, like with @Component on classes or @Input on properties.
The aim is to make these functions as reusable as possible and are often used to provide utility functions, such as logging. In the example above, @ClassLogger is supplied to a component to log to the console when certain lifecycle hooks are fired. This could be applied to any component to track its behaviour.
The ClassLogger example above returns a function, which enables us
to customise the behaviour of the decorator as it is created. This is known as the decorator factory pattern, which is used by Angular
to create its own decorators.
To apply a decorator, it needs to be positioned just before what it is decorating. Because of the way they are designed, decorators can be stacked on top of each other, including Angular's own. TypeScript will chain these decorators together and combine their behaviours.
Decorators are not just limited to classes. They can be applied to properties, methods and parameters inside of them as well. All of these follow similar patterns, but are slightly different in their implementations.
This is an example of a plain method decorator. These take three arguments – the object targeted, the name of the method, and the descriptor that provides details on its implementation. By hooking into the value of that descriptor we can replace the behaviour of the method based on
the needs of the decorator.
Build platform-level animations
Animations are a great way to introduce a friendly side to an interface. But trying to control animations in JavaScript can be problematic. Adjusting dimensions like height is bad for performance, while toggling classes
can quickly get confusing. The Web Animations API is a good approach, but working with it inside Angular can be tricky.
Angular provides a module that enables components to be animated by integrating with the properties already within the class. It uses a syntax similar to CSS-based animations, which gets passed in as component metadata.
Each animation is defined by a 'trigger' – a grouping of states and transition effects. Each state is a string value that, when matched, applies the associated styles to the element. The transition values define different ways the element should move between those states. In this example, once the value bound to hidden evaluates to true, the element will shrink out of view.
Two other special states are also defined: void and *. The void state relates to a component that was not in the view at the time and can be used to animate it in or out. The wildcard * will match with any state and could be used to provide a dimming effect while any transition occurs.
Inside the template, the trigger is bound to a value within the component that represents the state. As that value changes, as does the state of the animation.
That bound value can be supplied either as a plain property or as the output of a method, but the result needs to evaluate into a string that can be matched against an animation state.
These animations also provide callbacks such as when they start
or stop. This can be useful for removing components that are
no longer visible.
Serve content quicker with server rendering
HTML parsers struggle with JavaScript frameworks. Web crawlers are often not sophisticated enough to understand how Angular works, so they only see a single, blank element and not the whole application.
By rendering the application on the server, it sends down an initial view for the users to look at while Angular and the rest of the functionality downloads in the background. Once the application arrives, it silently picks up from where the server left off.
The tools needed to achieve this in Angular are now a native part of the platform as of version 4. With a bit of set up, any application can be server rendered with just a few tweaks.
Both server and browser builds need their own modules, but share a lot of common logic. Both need a special version of BrowserModule, which allows Angular to replace the contents on-screen when it loads in. The server also needs ServerModule to generate the appropriate HTML.
Servers also need their own entry points where they can bootstrap their unique behaviours as necessary. That behaviour depends on the app, but will also likely mirror much of the main browser entry point.
If using the CLI, that also needs to be aware of how to build the project for the server by pointing to the new entry point. This can be triggered by using the "--app" flag when building
for the server.
The application is now ready to be server rendered. Implementations will vary based on the server technology used, but the base principles remain the same. For example, Angular provide an Express engine for Node, which can be used to populate the index page based on the request sent. All the server needs to do is serve that file. Server rendering is a complex subject with many edge cases (look here for more information).
Polymer

Best for:
Combining with other platforms and frameworks
Working with JavaScript standards
Polymer is a lightweight library designed to help you take full advantage of Web Components. Read on to find out how to use it to create pain-free forms, bundle your components to keep requests low and sizes small, and finally how to upgrade to the latest Polymer release: 3.0.
Work with forms
Custom elements are part of the browser. Once they are set up they work like any native element would do on the page. Most of the time, Polymer is just bridging the gap between now and what custom elements will be capable of in the future, along with bringing features like data binding.
One place where custom elements shine is their use as form inputs. Native input types in browsers are limited at best, but provide a reliable way of sending data. In cases where a suitable input isn't available – such as in an autocomplete field, for example – then custom elements can provide a suitable drop-in solution.
As their work is performed within the shadow DOM, however, custom input values will not get submitted alongside regular form elements like usual. Browsers will just skip over them without looking at their contents.
One way around this is to use an <iron-form> component, which is provided by the Polymer team. This component wraps around an existing form and will find any values either as a native input or custom element. Provided a component exposes a form value somewhere within the element, it will be detected and sent like usual.
In cases where a custom element does not expose an input, it's still possible to use that element within a form, provided it exposes a property that can be bound to.
If <my-input> exposes a property like "value" to hook into we can pull that value out as part of a two-way binding. The value can then be read out into a separate hidden input as part of the main form. It can be transformed at this point into a string to make it suitable for form transmission. Forms not managed by Polymer that would need to make use of these bindings, the Polymer team also provide a <dom-bind>component to automatically bind these values.
Bundle components
One of Polymer's biggest advantages is that components can be imported and used without any need for a build process. As optimised as these imports may be, each component requires a fresh request, which slows things down. While HTTP/2 would speed things up in newer browsers, those who do not support it will have a severely degraded experience. For those users, files should be bundled together.
If a project is set up using the Polymer CLI, bundling is already built in to the project. By running polymer build, the tool will collect all components throughout the project and inline any subcomponents they use.
This cuts down on requests, removes unnecessary comments and minifies to reduce the file size. It also has the added benefit of creating separate bundles for both ES5 and ES2015 to support all browsers.
Outside of Polymer CLI, applications can still be bundled using the separate Polymer Bundler library. This works much like the CLI, but is more of a manual process. By supplying a component, it will sift through the imports of the file,
inline their contents, and output a bundled file.
Polymer Bundler has a few separate options to customise the output. For example, developers can choose to keep comments or only inline specific components.
Upgrade to Polymer 3.0
The philosophy behind Polymer is to 'use the platform': instead of fighting against browser features, work with them to make the experience better for everyone. HTML imports are a key part of Polymer 2, but are being removed from the web components specification moving forward.
Polymer 3.0 changes the way that components are written to work with more established standards. While no breaking changes are made with the framework itself, it's important
to know how the syntax changes
in this new version.
First thing to note is that Polymer is migrating away from Bower as a package manager. To keep up with the way developers work, npm will become the home of Polymer, as well as any related components in the future.
To avoid using HTML imports, components are imported as JavaScript modules using the existing standardised syntax.
The major difference inside a component is that the class is now exported directly. This enables the module import <script> tag to
work correctly. Any other components can be included by using ES2015 import statements within this file.
Finally, templates have been moved into the class and work
with template literals. A project by the Polymer team called lit-html is working to provide the same flexibility as <template> tags
along with the efficiency of
selective DOM manipulation.
Aurelia
Best for:
Simple applications with
little setup
Developing alongside
web standards
Aurelia is a JavaScript client framework for web, mobile and desktop. It's written with next-gen ECMAScript, integrates with Web Components and has no external dependencies.
Read on for two mini-tutorials, showing you how to change how properties display value and function, and how to use Aurelia to check values in forms.
01. Use value converters
Sometimes, when developing components, the values being stored do not lend themselves well to being displayed in a view. A Date object, for example, has an unhelpful value when converted to a string, which requires developers to make special conversion methods just to show values correctly.
To get around this problem, Aurelia provides a mechanism to use classes to change values, known as value converters. These can take any kind of value, apply some kind of processing to it, and output that changed value in place of the original.
They work similar to pipes in Angular or filters in template languages like Twig.
Most will be one way – from the model to the view. But they can also work the other way. The same logic applies, but by using fromView instead of toView, values can be adjusted before they are returned back to the model.
A good use-case for this would be to format user input directly from the bind on the element. In this example, it will capitalise every word that is entered, which may be useful for a naming field.
They can also be chained together, which encourages the creation of composable converters that can have different uses across the application. One converter could filter an array of values, which then passes to another that sorts them.
Converters can also be given simple arguments that can alter the way they behave. Instead of creating different converters to perform similar filtering, create one that takes the type of filter to be performed as an argument. While only one argument is allowed, they can be chained together to achieve the same effect.
02. Try framework-level form validation
Validation is an important part of any application. Users need to be putting the correct information into forms for everything to work correctly. If they do not, they should be warned of the fact as early as possible.
While validation can often be a tricky process, Aurelia has support for validating properties built right into the framework. As long as form values are bound to class properties, Aurelia can check that they are correct whenever it makes sense to the application.
Aurelia provides a ValidationController, which takes instructions from the class, looks over the associated properties and supplies the template with any checks that have failed.
Each controller requires a single ValidationRules class that defines what's to be checked. These are all chained together, which enables the controller to logically flow through the checks dependant on the options that are passed.
Each ruleset begins with a call to ensure(), which takes the name of
the property being checked. Any commands that follow will apply
to that property.
Next are the rules. There are plenty of built-in options like required() or email() that cover common scenarios. Anything else can use satisfies(), which takes a function that returns either a Boolean or a Promise that passes or fails the check.
After the rules come any customisations of that check, for example the error message to display. Rules provide default messages, but these can be overridden if necessary.
Finally, calling on() applies the ruleset to the class specified. If it is being defined from within the constructor of the class, it can be called with this instead.
By default, validation will be fired whenever a bound property's input element is blurred. This can be changed to happen either when the property changes, or it can be triggered manually.
0 notes