52 Matching Annotations
  1. Feb 2024
    1. This concentric, circular structure is the reason, that for its weight, wood is still the strongest building material on the planet.

      for - trees are stronger than steel

      biomimicry - trees - (see below)

      • strong tubular cells in
        • the trunk and
        • branches
      • grow and knit themselves into concentric tubular layers one on top of the next, every season.
      • That is why you can count the rings on a tree to determine its age.
      • This concentric, circular structure is the reason, that for its weight,
        • wood is still the strongest building material on the planet.
    1. This follows on a fairly widespread practice in various programming languages to use a leading underscore to indicate that a function or variable is in some way internal to a library and not intended for the end-user (or end-programmer).
  2. Jan 2024
    1. Instance methods Instances of Models are documents. Documents have many of their own built-in instance methods. We may also define our own custom document instance methods. // define a schema const animalSchema = new Schema({ name: String, type: String }, { // Assign a function to the "methods" object of our animalSchema through schema options. // By following this approach, there is no need to create a separate TS type to define the type of the instance functions. methods: { findSimilarTypes(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); } } }); // Or, assign a function to the "methods" object of our animalSchema animalSchema.methods.findSimilarTypes = function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); }; Now all of our animal instances have a findSimilarTypes method available to them. const Animal = mongoose.model('Animal', animalSchema); const dog = new Animal({ type: 'dog' }); dog.findSimilarTypes((err, dogs) => { console.log(dogs); // woof }); Overwriting a default mongoose document method may lead to unpredictable results. See this for more details. The example above uses the Schema.methods object directly to save an instance method. You can also use the Schema.method() helper as described here. Do not declare methods using ES6 arrow functions (=>). Arrow functions explicitly prevent binding this, so your method will not have access to the document and the above examples will not work.

      Certainly! Let's break down the provided code snippets:

      1. What is it and why is it used?

      In Mongoose, a schema is a blueprint for defining the structure of documents within a collection. When you define a schema, you can also attach methods to it. These methods become instance methods, meaning they are available on the individual documents (instances) created from that schema.

      Instance methods are useful for encapsulating functionality related to a specific document or model instance. They allow you to define custom behavior that can be executed on a specific document. In the given example, the findSimilarTypes method is added to instances of the Animal model, making it easy to find other animals of the same type.

      2. Syntax:

      Using methods object directly in the schema options:

      javascript const animalSchema = new Schema( { name: String, type: String }, { methods: { findSimilarTypes(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); } } } );

      Using methods object directly in the schema:

      javascript animalSchema.methods.findSimilarTypes = function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); };

      Using Schema.method() helper:

      javascript animalSchema.method('findSimilarTypes', function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); });

      3. Explanation in Simple Words with Examples:

      Why it's Used:

      Imagine you have a collection of animals in your database, and you want to find other animals of the same type. Instead of writing the same logic repeatedly, you can define a method that can be called on each animal instance to find similar types. This helps in keeping your code DRY (Don't Repeat Yourself) and makes it easier to maintain.

      Example:

      ```javascript const mongoose = require('mongoose'); const { Schema } = mongoose;

      // Define a schema with a custom instance method const animalSchema = new Schema({ name: String, type: String });

      // Add a custom instance method to find similar types animalSchema.methods.findSimilarTypes = function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); };

      // Create the Animal model using the schema const Animal = mongoose.model('Animal', animalSchema);

      // Create an instance of Animal const dog = new Animal({ type: 'dog', name: 'Buddy' });

      // Use the custom method to find similar types dog.findSimilarTypes((err, similarAnimals) => { console.log(similarAnimals); }); ```

      In this example, findSimilarTypes is a custom instance method added to the Animal schema. When you create an instance of the Animal model (e.g., a dog), you can then call findSimilarTypes on that instance to find other animals with the same type. The method uses the this.type property, which refers to the type of the current animal instance. This allows you to easily reuse the logic for finding similar types across different instances of the Animal model.

      Certainly! Let's go through each part and explain it in simple terms: ### 1. `this` in Mongoose: - **What is `this`?** In JavaScript, `this` refers to the current context or object. In Mongoose, particularly within methods and middleware functions, `this` represents the instance (document) the function is currently operating on. - **Why is it used?** `this` is used to access and modify the properties of the current document. For example, in a Mongoose method, `this` allows you to refer to the fields of the specific document the method is called on. ### 2. Example: Let's use the `userSchema.pre("save", ...)`, which is a Mongoose middleware, as an example: ```javascript userSchema.pre("save", async function (next) { if (!this.isModified("password")) { next(); } else { this.password = await bcrypt.hash(this.password, 10); next(); } }); ``` - **Explanation in Simple Words:** - Imagine you have a system where users can sign up and set their password. - Before saving a new user to the database, you want to ensure that the password is securely encrypted (hashed) using a library like `bcrypt`. - The `userSchema.pre("save", ...)` is a special function that runs automatically before saving a user to the database. - In this function: - `this.isModified("password")`: Checks if the password field of the current user has been changed. - If the password is not modified, it means the user is not updating their password, so it just moves on to the next operation (saving the user). - If the password is modified, it means a new password is set or the existing one is changed. In this case, it uses `bcrypt.hash` to encrypt (hash) the password before saving it to the database. - The use of `this` here is crucial because it allows you to refer to the specific user document that's being saved. It ensures that the correct password is hashed for the current user being processed. In summary, `this` in Mongoose is a way to refer to the current document or instance, and it's commonly used to access and modify the properties of that document, especially in middleware functions like the one demonstrated here for password encryption before saving to the database.

    Tags

    Annotators

    URL

  3. Nov 2023
    1. The default user profile is based on the System for Cross-domain Identity Management: Core Schema (opens new window) and has following standard properties
  4. Jun 2023
    1. Let me preface this by saying I'm talking primarily about method access here, and to a slightly lesser extent, marking classes final, not member access.
    1. Are protected members/fields really that bad? No. They are way, way worse. As soon as a member is more accessible than private, you are making guarantees to other classes about how that member will behave. Since a field is totally uncontrolled, putting it "out in the wild" opens your class and classes that inherit from or interact with your class to higher bug risk. There is no way to know when a field changes, no way to control who or what changes it. If now, or at some point in the future, any of your code ever depends on a field some certain value, you now have to add validity checks and fallback logic in case it's not the expected value - every place you use it. That's a huge amount of wasted effort when you could've just made it a damn property instead ;) The best way to share information with deriving classes is the read-only property: protected object MyProperty { get; } If you absolutely have to make it read/write, don't. If you really, really have to make it read-write, rethink your design. If you still need it to be read-write, apologize to your colleagues and don't do it again :) A lot of developers believe - and will tell you - that this is overly strict. And it's true that you can get by just fine without being this strict. But taking this approach will help you go from just getting by to remarkably robust software. You'll spend far less time fixing bugs.

      In other words, make the member variable itself private, but can be abstracted (and access provided) via public methods/properties

    2. Public and/or protected fields are bad because they can be manipulated from outside the declaring class without validation; thus they can be said to break the encapsulation principle of object oriented programming.
    3. Using a property or a method to access the field enables you to maintain encapsulation, and fulfill the contract of the declaring class.
    4. Exposing properties gives you a way to hide the implementation. It also allows you to change the implementation without changing the code that uses it (e.g. if you decide to change the way data are stored in the class)
    5. to clarify, I am distinguishing between properties as representing state and methods representing actions
  5. Dec 2022
  6. Oct 2022
  7. Sep 2022
    1. A workaround you can use is to move additionalProperties to the extending schema and redeclare the properties from the extended schema.
    2. Because additionalProperties only recognizes properties declared in the same subschema, it considers anything other than “street_address”, “city”, and “state” to be additional. Combining the schemas with allOf doesn’t change that.
    3. It’s important to note that additionalProperties only recognizes properties declared in the same subschema as itself. So, additionalProperties can restrict you from “extending” a schema using Schema Composition keywords such as allOf. In the following example, we can see how the additionalProperties can cause attempts to extend the address schema example to fail.
    1. In your scenario, which many, many people encounter, you expect that properties defined in schema1 will be known to schema2; but this is not the case and will never be.
    2. When you do: "allOf": [ { "schema1": "here" }, { "schema2": "here" } ] schema1 and schema2 have no knowledge of one another; they are evaluated in their own context.
  8. Jul 2022
    1. there has been a tendency in popular discussion to confuse “deep structure”with “generative grammar” or with “universal grammar.” And a number of pro-fessional linguists have repeatedly confused what I refer to here as “the creativeaspect of language use” with the recursive property of generative grammars, avery different matter.

      Noam Chomsky felt that there was a tendency for people to confuse the ideas of deep structure with the ideas of either generative grammar or universal grammar. He also thought that professional linguists confused what he called "the creative aspect of language use" with the recursive property of generative grammars.

  9. May 2022
    1. Spark properties mainly can be divided into two kinds: one is related to deploy, like “spark.driver.memory”, “spark.executor.instances”, this kind of properties may not be affected when setting programmatically through SparkConf in runtime, or the behavior is depending on which cluster manager and deploy mode you choose, so it would be suggested to set through configuration file or spark-submit command line options; another is mainly related to Spark runtime control, like “spark.task.maxFailures”, this kind of properties can be set in either way.

      spark properties

  10. Apr 2022
  11. Mar 2022
  12. Jan 2022
    1. New Developments, Frontline Golf, Sea Views, Frontline Beach and more

      Great Marbella Estates is a group of professionals with years of experience in the real estate market, the important mission we pursue is helping our clients to meet and get their right property.

      Our team has access to all the properties available for sale in the Costa del Sol and direct contact with the new development constructors and developers.

      We are people who understands people, we ourselves has bought properties before and know all the challenges involved first hand.

  13. Dec 2021
  14. Nov 2021
  15. Mar 2021
  16. Nov 2020
    1. The Object.getPrototypeOf() method returns the prototype (i.e. the value of the internal [[Prototype]] property) of the specified object.

      internal: [[Prototype]]

      Other times we see something used to indicate it is internal. In fact, this even supersedes proto__. So why did they use a different naming convention? Did they decide [[ ]] is a better naming convention?

    1. I'm looking at https://html.spec.whatwg.org/#attributes-3 right now, and it seems that there are a few others that ought to be boolean but are not currently in this list: allowpaymentrequest, formnovalidate, hidden (is on the original list in the master branch), itemscope, nomodule, and playsinline.
  17. Sep 2020
  18. Jul 2020
  19. May 2020
    1. R is antisymmetric iff ∀∀\forall x ∀∀\forall y [xRy ∧ yRx → x = y].

      For any x and y in a set, if x is related to y and y is related to x, for it to be antisymmetric x must equal y.

      Example:

      We have the set [1 2 3].

      For a relation to be antisymmetric, if we have (1 2) we must not have (2 1). In other words, if there is any symmetry it must be between the same elements, such as (1 1).

      Additionally, if we do not have any element related to any element it is vacuously antisymmetric.

    2. R is reflexive iff ∀∀\forall x [x ∈∈\in U → xRx]

      For each x in the set, x must be related to x for the relation to be reflexive. In other words, each element must be related to itself.

      Example:

      We have the set [1 2 3].

      For a relation to be reflexive, it must have (1 1), (2 2), and (3 3).

    3. R is symmetric iff ∀∀\forall x ∀∀\forall y [xRy → yRx].

      For any x and y in a set, if x is related to y then y must be related to x for the relation to be symmetric.

      Example:

      We have the set [1 2 3].

      For a relation to be symmetric, if you have (1 2) you must have (2 1). Equally, (1 1) is symmetric.

    4. R is transitive iff ∀∀\forall x ∀∀\forall y ∀∀\forall z [xRy ∧ yRz → xRz].

      For any x, y, and z in a set, if x is related to y and y is related to z, then z must also be related to z for the relation to be transitive.

      Example:

      We have the set [1 2 3].

      For a relation to be transitive, if we have (1 2) and (2 3), we must have (1 3). Likewise, any reflexive pair is transitive.

      Additionally, if we do not have xRy and yRz (even if x, y, or z are the same element), the relation is vacuously transitive.

  20. Jan 2020
    1. Europium has a strong tendency to absorb neutrons, making it useful in nuclear power production. A nuclear power plant produces electricity from the energy released by nuclear fission. Slow-moving neutrons collide with uranium or Plutonium atoms, breaking them apart and releasing energy as heat. The amount of energy produced in a nuclear power plant is controlled by the number of neutrons present. Europium is used to absorb neutrons in this kind of control system. Chemical properties Europium is the most active of the lanthanides. It reacts quickly with water to give off hydrogen. It also reacts strongly with oxygen in the air, catching fire spontaneously. Scientists must use great care in handling the metal.

      Properties

  21. Nov 2019
  22. Mar 2019
  23. fldit-www.cs.uni-dortmund.de fldit-www.cs.uni-dortmund.de
    1. Eine beliebte Klassifizierung dynamischer Eigenschaften liefert die Unterscheidung inSicherheitsbedin-gungen(safety conditions) auf der eine Seite undLebendigkeitsbedingungen(liveness conditions) auf deranderen Seite. Nach [14], S. 94, schließt eine Sicherheitsbedingung das Auftreten von etwas Schlechtem aus, wäh-rend eine Lebendigkeitsbedingung das Auftreten von etwas Gutem garantiert. E
  24. Jul 2018
  25. Dec 2017
    1. Phil Devin Consultants Review - 6 måter å velge riktig eiendomsmegler på

      Å få service av en eiendomsmegler er sterkt fordelaktig for deg når du kjøper eller selger en bolig. Imidlertid er hver agent forskjellig fra hverandre og å finne den som passer best for dine behov, vil ikke være en veldig enkel oppgave, men bekymre deg ikke mer siden denne artikkelen laget av Phil Devin Consultants vil tjene som en guide for å lete etter den rette agent for deg.

      Å holde en pålitelig og god agent med deg, vil sikkert hjelpe deg med å oppnå de resultatene du søker. Det vil også være lettere for deg å forstå trinnene som er involvert i prosessen med kompetanse fra en agent, hvor han vil forklare alt for deg på den måten du lett kan forstå, og slik profesjonell kan ta vare på den tekniske, taktiske, og økonomiske aspekter inkludert i din eiendomsmegling innsats. Velg noen som er i stand til å håndtere inn og ut av boligmarkedet i ditt område også.

      Sørg for gode oppføringer

      Ved å søke etter riktig eiendomsmegler, gjør det til en vane å gjøre noen undersøkelser. Finn ut om agenten har et godt antall oppføringer i ditt nabolag, og om han også har vært involvert i ulike vellykkede eiendomsprosjekter fra mange kunder. Agenten må gi like muligheter og oppmerksomhet til alle sine klienter; ikke vær med noen som er veldig forutinntatt på hans beslutninger.

      Merk ærlige henvisninger

      Du kan få ærlige vurderinger og meninger fra personer du er i nærheten av som familiemedlemmer, venner og arbeidskamerater eller til og med fra nabo i mange år. Med sin tidligere erfaring fra en bestemt klient, er de klar over profesjonelle gode poeng og noen dårlige poeng også. Du bør bedre notere den typen informasjon og lage en liste over kandidatene som sannsynligvis vil bli din eiendomsmegler. Å ha disse notatene med deg kan hjelpe deg bedre å velge hvilken som er best for deg og dine eiendomsbehov.

      Hvis du for tiden har en pålitelig eiendomsmegler med deg, men du vil snart flytte til et nytt sted, kan det være litt av et problem siden du ikke vil kunne få sin tjeneste og kontakte ham lenger for din fremtidige eiendomsproblemer. Men Phil Devin Consultants vil ikke at du skal bekymre deg for mye om denne saken, så gruppen foreslår at du spør din nåværende eiendomsmegler for henvisninger i stedet. Flertallet av eiendomsmeglere har mange tilkoblinger og nettverk i bransjen, og det er derfor mulig at de også er kunnskapsrike om andre gode agenter på forskjellige områder.

      Lei en flyttespesialist

      Hvis du flytter til et fjernt sted uten å anta hvem du skal ansette som eiendomsmegler, så få bedre service av en flyttingsekspert. Du kan avhenge av spesialisten siden han har et stort nettverk med tilknytning til agenter også i en bestemt region eller et land. Han har også tilgang til agentens ytelses- og produksjonsrapporter, slik at han kan hjelpe deg med å finne agenten som passer best for dine behov og bekymringer.

      Lær om samfunnets lederskap

      Noen som også bryr seg om hans nabolag kan være en fordel for deg når du planlegger å selge en eiendom innenfor dette området i fremtiden. Det ville være en bonus hvis agenten har et godt fellesskapsledelse også. Annet enn resultatnumrene, inkludere dette på listen over dine krav til din potensielle eiendomsmegler. Lær om agentens engasjement i samfunnet og om han hadde deltatt i lokale skoler, stigende bedrifter eller veldedige organisasjoner, eller gjort noen investeringer.

      Finn de trekkene du foretrekker

      Du vil være den som skal håndtere eiendomsmegler, så sørg for at han har de egenskapene du personlig foretrekker med en profesjonell. Lag en liste over kvaliteter du leter etter i en god eiendomsmegler. Dine synspunkter og meninger kan være forskjellige fra andre, så samsvar med egenskapene til agenten med dine personlige krav for å sikre et komfortabelt og profesjonelt forhold til profesjonelle.

      Bekreft en oppdatert lisens

      Eiendomsmegler må ha en lisens som er oppdatert. Aldri signere en kontrakt med en agent uten å sjekke først troverdigheten til hans lisens. Du kan gå til eiendomsavdelingen nettsted av staten din for å bekrefte om lisensen er aktuell.

      Phil Devin Real Estate foreslår endelig å "stole på intuisjonen din, den ligger aldri." Stol på ditt første tarminstinkt, og hvis du føler at noe er galt med agenten, så ikke velg ham. Du bør ikke velge noen hvis du føler noen tvil om ham - uansett størrelsen på det. Å være i tvil er det første tegn på at du ikke er en kamp med agenten. "Vær forsiktig med hvem du stoler på. Salt og sukker er begge hvite. "

    2. Phil Devin Consultants Review - Het vinden van een goede vastgoedmakelaar voor uw behoeften

      Als u momenteel van plan bent om een onroerende goederen te kopen of te verkopen, dan wordt het geadviseerd voor u om de dienst van een professionele onroerende goederenagent te krijgen. Maar het vinden van de juiste is voor uw behoeften misschien niet gemakkelijk op alle, maar dit bericht gemaakt door Phil Devin consultants zal u helpen in een dergelijke hachelijke situatie.

      U er zeker van een goed resultaat in uw onroerend goed venture als u een vertrouwde agent met je. Het kiezen van een goede agent kan bespaart u de moeite van het begrijpen van elke stap opgenomen in het hele proces, omdat de agent in staat is de behandeling van het samen met het aanpakken van de technische, tactische en financiële zaken die betrokken zijn bij een project. Zorg ervoor dat u ook werken met een Professional die kan omgaan met de ins en outs van de woningmarkt in uw omgeving.

      Lijsten

      Het eerste wat je moet overwegen is de agent het aantal aanbiedingen in uw regio. Bepaal of de agent had ervaring met veel klanten en als zijn eerdere projecten werden gelabeld succes door zijn klanten. Zorg ervoor dat de agent geeft gelijke aandacht en het beheer van elke klant waar je geen spoor van vriendjespolitiek te vinden op alle.

      Verwijzingen

      Beter krijgen die goede aanbevelingen van uw familieleden, vrienden, of zelfs van uw collega's en buren. Met deze, u gebruik maken van hun ervaring als leidraad bij het kiezen van de betere agent. Neem nota van hun adviezen en suggesties, en benadruk de kenmerken u nuttig van elke agent vond die zij zouden voorstellen. U ook ervan overtuigd zijn dat je eerlijk beoordelingen kreeg van die mensen, die zeer gunstig is voor uw zoektocht van de agent te vertrouwen.

      Echter, voor die personen met een goede makelaars vandaag, maar is verhuizen naar een ander land of een verre plaats snel, dan zou het niet meer mogelijk om een goede communicatie met uw huidige agent hebben. Phil Devin Real Estate consultants suggereert om de verwijzing van die vorige agent van jou van een nieuwe agent in uw nieuwe plaats. Met hun brede netwerk van professionele verbindingen binnen de onroerende goederenindustrie, hebben de onroerende goederenagenten zeker goede informatie van andere goed-presterende agenten ook op andere gebieden.

      Verhuizing specialist

      U ook het huren van een verhuizing specialist, vooral als je verhuizen naar een nieuwe buurt. Het is begrijpelijk dat u geen idee van de goede agenten in dat specifieke gebied hebt, in het bijzonder als u geen ervaring met een onroerende goederenagent in de eerste plaats hebt. Hebben een verhuizing specialist aan uw zijde, omdat deze Professional heeft een goed netwerk van verbinding met agenten in een bepaald land. Hij of zij heeft een goede toegang tot de prestaties van een agent en de productie verslagen ook. Indien ooit, kan de specialist ook de capaciteiten van een bepaalde agent aan het bezit aanpassen u zoekt.

      Gemeenschap

      Kies iemand die ook Gemeenschaps leiderschap bezit. Het is inderdaad een plus factor als de agent sterk zorgt voor zijn of haar gemeenschap. Het zien van briljante prestaties nummers over een agent is goed, maar het zou leuk zijn om te zien dat hij of zij is ook toegewijd aan de Gemeenschap. Zoek uit of de agent geïnvesteerd in het gebied en was betrokken bij lokale scholen, het ontwikkelen van bedrijven, of liefdadigheidsinstellingen.

      Wenselijke kenmerken

      Welke goede kwaliteiten u van een agent in uw inspanning verwacht van het kopen van of het verkopen van een onroerende goederen? Je moet jezelf afvragen uw eigen definitie van een "goede makelaar". Uw mening zal anders zijn dan anderen, dus wat is geweldig voor hen misschien niet aan u, omdat het afhangt van uw eisen. U zou de agent met de kwaliteiten of de kenmerken moeten zoeken u persoonlijk zoekt. Heeft u liever iemand ethisch over iemand met een grote verkoopvolume? Hou je van iemand met veel ervaring over een Professional die de leiding neemt van meestal alles? Of wil je werken met een deskundige die zal ingaan op elk van uw zorgen? Je bent degene die zou kunnen beantwoorden dergelijke vragen dus wees zeer voorzichtig bij het kiezen van wie te vertrouwen. Selecteer degene die voldoet aan de meeste van uw gewenste kwaliteiten van een agent, zodat u er zeker van een comfortabele en een professionele relatie tussen jou en hem.

      Licentie

      De licentie van de agent moet up-to-date zijn. Voordat u een contract met een agent ondertekent, moet u ervoor zorgen dat u zijn of haar licentie tweemaal hebt gecontroleerd. U een bezoek van uw staat onroerend goed afdeling website om te valideren als de licentie was echt bijgewerkt.

      Met al die genoemde richtlijnen, Phil Devin consultants begrijpt als je ook gaat om je intuïtie toe te voegen in uw besluitvorming. Vertrouw op je gevoelens en vraag jezelf vele malen indien nodig als je echt zeker bent met uw definitieve beslissing. Niet versnellen het proces van het kiezen, maar neem de tijd en zorgvuldig genoeg.

  26. Apr 2017
    1. Hawaii State GIS Program; United States Geological Survey.

      for step 7 of the configure the app part of this tutorial it is important that you preform the whole step all at once because if you try and do it one part at a time everytime you switch taps it will delete your progress so far. I feel like this isn't really nessesary information but it would have saved me a minute or two

  27. Sep 2016
  28. Mar 2015
    1. Now, we are discussing ideal objects here: addressability implies different levels of abstraction (character, word, phrase, line, etc) which are stipulative or nominal: such levels are not material properties of texts or Pythagorean ideals; they are, rather, conventions.

      Might be useful in thinking about what an “edition” is—must it include all items most editions currently include, or are those conventions or manifestations of values, and not necessary values themselves?