https://github.com/tnajdek/zotero-api-client (JavaScript) https://github.com/urschrei/pyzotero (Python) https://github.com/fcheslack/libZotero (PHP and Python)
Thre are existing code libraries for Javascript and PHP (and Python) into Zotero
https://github.com/tnajdek/zotero-api-client (JavaScript) https://github.com/urschrei/pyzotero (Python) https://github.com/fcheslack/libZotero (PHP and Python)
Thre are existing code libraries for Javascript and PHP (and Python) into Zotero
Handlebars will not escape a Handlebars.SafeString. If you write a helper that generates its own HTML, you will usually want to return a new Handlebars.SafeString(result).
jaVasCript:/-//*\/'/"//(/ /onerror=alert('test') )//%0D%0A%0d%0a//</stYle/</titLe/</teXtarEa/</scRipt/--!>\x3csVg/<sVg/oNloAd=alert('THM')//>\x3e
Use ES Modules url/cdn import for javascript module. <br /> Use 'unpkg.com/...?module' to replace bare module specifier with absolute path.
"ts-node": "dist/bin.js", 9+ "ts-script": "dist/script.js"
.allowUnknownOptions()
In order to fix #2554, I added a --script option to vite-node so it can be used in shebang! 🎊
As I understand it, vite-node would need two changes when running scripts this way: The -- separator shouldn't be required, and all args should be considered args of the calling script. The tsconfig.json for the script should be used.
Using vite-node with a shebang enables no-build workflows for utilities in monorepos, which can reduce complexity and improves DX.
#!/usr/bin/env vite-node --script
Non-NEXT_PUBLIC_ environment variables are only available in the Node.js environment, meaning they aren't accessible to the browser (the client runs in a different environment).
Vite's job is to get your source modules into a form that can run in the browser as fast as possible. To that end, we recommend separating static analysis checks from Vite's transform pipeline.
One important thing to remember is that in regular strings the \ character needs to be escaped while in the regex literal (usually) the / character needs to be escaped. So /\w+\//i becomes new RegExp("\\w+/", "i")
Easier/prettier in Ruby than JS
Cómo representamos la información (Objetos)
Calculo Lambda Comportamiento funcional de ver la computación, términos de comportamientos.
(Javascript) operadores lógicos modelos parecido a Erlang (Lenguaje) enfocado al paso de mensajes informales donde se trata explicar mediante flujo de datos, donde se pueden comunicar entre si.
Restrictiva para el uso de datos maneja encriptación de la información ya que es confidencial y de uso personal.
Son sistemas muy pequeños que pueden llegar a ser muy complejos dependiendo su creación, esta programación busca modelar servicios amigables para uso de las personas del comun.
Essentially, decorators can be used to metaprogram and add functionality to a value, without fundamentally changing its external behavior.
function loggable(target: any, propertyKey: string, descriptor: PropertyDescriptor) { let originalMethod = descriptor.value; descriptor.value = function(...args: any[]) { console.log(`Calling ${propertyKey}`); return originalMethod.apply(this, args); }; }
In the previous stats module, we could haveassigned the mean function to module.exports.mean instead ofexports.mean.
note that xxx.yyy is required to assign property to exported value
There is a tremendous power in thinking about everything as a single kind of thing, because then you don’t have to juggle lots of different ideas about different kinds of things; you can just think about your problem.
In my experience this is also the main benefit of using node.js as your backend. Being able to write your front and backend code in the same language (javascript) removes a switching cost I didn't fully realize existed until I tried node the first time.
can't be represented exactly by a float
This is saying why (2.55).toFixed(1) evaluates to 2.5, cuz, internally, 2.55 is actually, 2.5499999999..., which evals to 2.5 indeed.
In comparison, Perl/Python/Javascript, which also have the latter property, have other false-like values (0 and empty string), which make || differ from a null-coalescing operator in many more cases (numbers and strings being two of the most frequently used data types). This is what led Perl/Python/Javascript to add a separate operator while Ruby hasn't.
JavaScript Flashcards
App with javascript interview questions
Barcode Writer in Pure JavaScript
https://web.archive.org/web/20240216060220/https://observablehq.com/blog/observable-2-0
Observable is a static site generator for data dashboards and analyses. It can handle markdown and is as such compatible with using Obsidian notes as source. See https://mastodon.social/@kepano/111937315007645449
This is comparable with [[EUNotes via Github Respec naar Geonovum]] where I generate a respec site from my notes through github. Except that Respec is text documentation, and Observable contains javascript to present data.
3:00 "and its long..." -- yeah, i have a 3MB obfuscated webapp at boxy-svg.com/app<br /> 3:05 "what would you do?" -- semi-automatic dynamic analysis. rename symbols. eval function calls. interact with the webapp (hence "semi" automatic). trace data in the debugger.<br /> but im still looking for a tool to do that for me... : P<br /> most tools fail on large files, or ESM (import, export) ...<br /> my current favorite is https://github.com/j4k0xb/webcrack and https://github.com/pionxzh/wakaru -- at least it works with ESM
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:
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.
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);
}
}
}
);
methods object directly in the schema:javascript
animalSchema.methods.findSimilarTypes = function(cb) {
return mongoose.model('Animal').find({ type: this.type }, cb);
};
Schema.method() helper:javascript
animalSchema.method('findSimilarTypes', function(cb) {
return mongoose.model('Animal').find({ type: this.type }, cb);
});
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.
```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.
With the introduction of ES6 Modules, the module pattern (IIFEs) is not needed anymore, though you might still encounter them in the wild.
Any constructor that can be called with new and has the prototype property can be the candidate for the parent class.
Classes declared with class and functions with constructor and an assigned prototype.
We can use the call() method to copy over properties from one constructor into another constructor. Let’s create a Warrior and a Healer constructor.
It is important to note that .__proto__ is a legacy feature and should not be used in production code, and it is not present in every modern browser. However, we can use it throughout this article for demonstrative purposes.
Remember, prefer Array methods that do not modify the original Array.
Por exemplo, ao usar métodos como Array.prototype.map()o que retorna o construtor padrão, você deseja que esses métodos retornem um Arrayobjeto pai, em vez do MyArrayobjeto. O Symbol.speciessímbolo permite
Você pode querer retornar Arrayobjetos em sua classe de array derivada MyArray. O padrão
Qualquer valor passado
O Object()construtor faz casos especiais do cenário de subclasse. Se for chamado implicitamente via super(), ele sempre
A única diferença de não escrever extendsnada é que o próprio construtor
No entanto
Subclasses abstratas ou mix-ins são modelos para classes. Uma classe só pode ter
Portanto
A funcionalidade
Uma função com uma superclasse como entrada e uma subclasse estendendo essa superclasse como saída pode
A herança é um relacionamento de acoplamento muito forte na programação orientada a objetos. Isso significa
Podemos contornar isso usando um sinalizador privado para indicar se a instância está sendo construída. No entanto, um problema mais significativo com esse projeto é que ele quebra
Que afirma
A herança muitas vezes leva ao problema do círculo-elipse , porque nenhum tipo
Em geral
Composição significa que uma classe
Nesse caso, a ReadOnlyMapclasse não é uma subclasse de Map, mas ainda implementa a maioria dos mesmos métodos. Isso significa mais duplicação de código, mas também significa que a ReadOnlyMapclasse não está fortemente acoplada à Mapclasse e não é facilmente interrompida
Por exemplo, se a Mapclasse adicionar um emplace()método que não chama set(), isso fará com que a ReadOnlyMapclasse não seja mais somente leitura, a menos
Todos os objetos JavaScript herdam
As classes não podem estender objetos regulares (não construíveis). Se você deseja herdar de um objeto regular
Em vez disso, você precisa retornar
No entanto, devido a decisões incertas sobre se super()deve ser chamado dentro do construtor, não é possível
extends nullfoi projetado para permitir
Portanto, uma maneira melhor de estender os built-ins
Qualquer adição de novos métodos na classe base também pode
Se você deseja criar subclasses de built-ins enquanto alcança as expectativas acima, você precisa
Novos métodos internos sempre constroem a classe base e chamam
Esses problemas não são exclusivos de classes internas. Para suas próprias classes, você provavelmente terá que tomar as mesmas decisões. No entanto, para classes internas
No entanto, as expectativas acima exigem esforços não triviais para serem implementadas adequadamente.
Aqui estão algumas coisas que você pode esperar ao estender uma classe:
Se o construtor da classe pai retornar um objeto, esse objeto será usado como
Esse truque é chamado
Enquanto a classe base pode retornar qualquer coisa de seu construtor, a classe derivada
O thisvalor na extendsexpressão está
O lado direito de extendsnão precisa ser um identificador. Você pode usar
Isso geralmente é útil
extendsdefine o protótipo para ambos ChildClasse ChildClass.prototype.
A prototypepropriedade do ParentClassdeve
As duas condições devem ser válidas — por exemplo, funções vinculadas e Proxypodem ser construídas, mas não têm uma prototypepropriedade, portanto
A extendspalavra-chave pode ser usada para criar
Bem como
Qualquer construtor que possa ser chamado newe tenha a prototypepropriedade
A extendspalavra-chave é usada em
Para
HelloWorldPlugin
Is this necessary for the plugin to function?
https://share-on-mastodon.social/
A really neat customizable "Share on Mastodon" button for your pages or posts.
Another downside to using Gutenberg’s sidebar panels is that, as long as I want to keep supporting the classic editor, I’ve basically got to maintain two copies of the same code, one in PHP and another in JavaScript.
Note to self: getting into WP Gutenberg is a shift deeper into JS and less PHP. My usually entry into creating something for myself is to base it on *AMP (MAMP now) so I can re-use what I have in PHP and MySQL as a homecook.
컴퓨터에서 LLAMMA AI를 실행하는 매우 간단한 방법인 Dalai cpp 파일 빌드, github 복제, 파일 다운로드 등을 귀찮게 할 필요가 없음. 모든 것이 자동화 됨
const requiredMetadataKey = Symbol("required");
The simulator widget below contains the entire source code of the game. I’ll explain how it works in the following sections.
Typescript added rich type annotations to Javascript, which opened the door to refactoring and static analysis tools that facilitate development and maintenance of large Javascript projects.
Qwik Tutorials
This is a note, actually I'm just testing how well this works
组件注册
如何评价 Ant Design 这个项目(一个设计语言)?
前端如何给 JavaScript 加密(不是混淆)?
怎样用 JavaScript 程序获取客户的 IP 地址?
怎样防止重复发送 Ajax 请求?
bootstrap+jq+ES5 真的比react/vue/angular+ES6 low吗?
如何评价 hegel 这个 type checker?
对大量使用 immutable data structure 的语言,其 VM 和 GC 会有何特点?
设计闭包(Closure)的初衷是为了解决什么问题?
操作 AST 树都有哪些标准算法,各自的优缺点是什么?
什么是闭包?
async/await异步模型是否优于stackful coroutine模型?
使用yield可以做哪些很酷的事情?
Racket这种可以把语言特性写成库的语言为何没有得到广泛的工业应用?
你用 Node.js 写过哪些大型/复杂的应用?碰到什么难点?
闭包(closure)在异步请求处理中有哪些优势?
Prototype based和Class based的系统哪个更OOP?
Google Chrome有什么自动翻页的解决方案?
如何优雅地结合类 Redux 处理异步通信的中间状态?
如何评价数据流管理架构 Redux?
前端小白如何学习cycle.js?
vue2中如何卸载或者重新渲染一个缓存的组件?
Vue.js中如何动态的加载、卸载组件?
elm如何既能对状态进行统一管理又能保持分形的呢,在我看来 集中管理 跟 分形 是一对矛盾?
Rx.js 的定位到底是什么?
generator有哪些玩法?
ES6+中的Generator 函数有何特别之处?
如何评价 Webkit 推出的并发 JavaScript 提案?
JavaScript一个疑问,[ ] (空数组)== true ,具体如下,请问这是为何?
应该使用 const 定义 object 和 array 吗?
想要理解函数式编程的思想,最好用哪种函数式编程语言入门?
有哪些函数式编程在前端的实践经验?
Mixin是什么概念?
JavaScript 的设计优点是什么?
动态类型的语言的优缺点有哪些?
为什么JavaScript里函数的arguments只是array-like object?
Meteor 和 Require.js联用,js 文件的执行顺序?
在浏览器中基于模块进行JavaScript异步加载有什么意义?
当下如何拥抱ES6的模块化机制?
cjs的模块如何和es6的模块相互调用?
javascript:什么时候会用类的[Symbol.species]属性代替构建函数创建对象?
使用ES6 Module如何处理模块按需加载 (lazyload)?
javascript 中使用 onLoad 函数的意义是什么?
这是requirejs源码的bug吗?
JavaScript中对 function 的参数进行重新赋值的影响?
JavaScript的功能是不是都是靠C或者C++这种编译语言提供的?
JavaScript 有哪些常见的类数组 ?
如何将一个 JavaScript 数组打乱顺序?
JavaScript对表达式的优化?
JavaScript中使用object[key]查找属性的过程是怎样的呢(相对于Array查找元素)?
JavaScript 为什么不在Number上部署[Symbol.iterator] ?
JavaScript中 0==null为何是false?
js中string类型和int类型的界限到底怎么回事?
JavaScript 内置对象类型的 Date、String,具体是怎么实现的,可以给出一段代码吗?
JavaScript字符串底层是如何实现的?
JavaScript 里最大的安全的整数为什么是2的53次方减一?
JavaScript 中,定义函数时用 var foo = function () {} 和 function foo() 有什么区别?
JavaScript / ES6新关键词 let 是否在任何情况下都优于 var?
var声明的变量为什么不能被删除?
全局作用域下var a = 2和a = 2有什么区别?
JavaScript中运算符优先级的问题?
如何进行前端自动化测试?
对于前端工程师,测试 ajax 接口有什么好方法?
JavaScript 函数式编程存在性能问题么?
有哪些 JS 调试技巧?
JavaScript引擎、虚拟机、运行时环境是一回事儿吗?
javascript原型链继承的本质?
js浮点数精度问题的前世今生?
如何理解es6中的import是静态编译执行的?(一说是编译期执行的)?
JavaScript 为什么不推荐使用 eval?
JavaScript 的正则表达式中的 \b 以及 \B 问题?
JavaScript 中原型继承(prototype-based inheritance)的原理是怎样的?
JavaScript原型继承有什么优点?(对象间的继承) JavaScript类继承呢?(构造函数间的继承)
Angular的脏检测跟Vue的数据劫持相比有什么优势和劣势?
关于具名的IIFE内部对函数自身再赋值问题?
JavaScript中typeof返回NaN我该怎么理解它?
JavaScript 的 this 关键字是一个好的设计吗?
如何理解Javascript中的字面量(literal)?
函数和数组使用typeof返回结果不一样原因?
如何评价javascript中的这些“坑”?
ES next中async/await proposal实现原理是什么?
async/await 在chrome 环境和 node 环境的 执行结果不一致,求解?
javascript中,new操作符的工作原理是什么?
JavaScript 中有可能模拟出类的私有变量吗?
Js中Null类型有何用处?
js 中的活动对象 与 变量对象 什么区别?
JavaScript 里 Function 也算一种基本类型?
2018年,国内有哪些值得关注的中后台前端产品,发展趋势如何?
有哪些短小却令人惊叹的 JavaScript 代码?
Javascript 如何能简短优雅地实现 sleep 函数?
A File object is a specific kind of Blob, and can be used in any context that a Blob can.
The btoa() function takes a JavaScript string as a parameter. In JavaScript strings are represented using the UTF-16 character encoding: in this encoding, strings are represented as a sequence of 16-bit (2 byte) units. Every ASCII character fits into the first byte of one of these units, but many other characters don't. Base64, by design, expects binary data as its input. In terms of JavaScript strings, this means strings in which each character occupies only one byte. So if you pass a string into btoa() containing characters that occupy more than one byte, you will get an error, because this is not considered binary data:
If you need to encode Unicode text as ASCII using btoa(), one option is to convert the string such that each 16-bit unit occupies only one byte.
Template: <%* const id = tp.file.creation_date("YYYYMMDDHHmmss"); await tp.file.rename(`${id} ${tp.file.title}`); %>
Templater code snippet that renames current file to add date & time creation to title of note.
A set of examples of Templater use cases. Templater uses a JavaScript-esque syntax
Javascript Rich Text Editors
25+ Best Javascript Rich Text Editors (WYSIWYG) For Faster And Useful Development
Top 10 Best Angular Rich Text Editors For Web Development
Top 10 Best Angular Rich Text Editors For Web Development
Natto https://natto.dev<br /> built by Paul Shen https://twitter.com/_paulshen
We use Javascript everywhere, since we solve the “issues” caused by Javascript rendering we want to build as much expertise as possible in this field. But for the other parts, we are taking advantage of CloudFlare’s distributed system for fast response and global scalability. While our uptime guarantees are supported by Digital Ocean’s cloud platform. We also use a myriad of other SaaS providers to maximize our effectiveness.
Stack of Prerender: - Javascript - CloudFlare - Digital Ocean - SaaS providers
let timer; // Timer identifier const waitTime = 500; // Wait time in milliseconds // Search function const search = (text) => { // TODO: Make HTTP Request HERE }; // Listen for `keyup` event const input = document.querySelector('#input-text'); input.addEventListener('keyup', (e) => { const text = e.currentTarget.value; // Clear timer clearTimeout(timer); // Wait for X ms and then process the request timer = setTimeout(() => { search(text); }, waitTime); });
let timer; // timer identifier const waitTime = 500; // Wait time in milliseconds
// search function const search = (text) => { // to do: make http request here }
// Listen for keyup event
const input = document.querySelector('#input-text');
input.addEventListener('keyup', (e) => {
const text = e.currentTarget.value;
// clear timer
clearTimeout(timer);
// Wait for X ms and then process the request timer = setTimeout(() => { search(text); }, waitTime); });
// Get the input box let input = document.getElementById('my-input'); // Init a timeout variable to be used below let timeout = null; // Listen for keystroke events input.addEventListener('keyup', function (e) { // Clear the timeout if it has already been set. // This will prevent the previous task from executing // if it has been less than <MILLISECONDS> clearTimeout(timeout); // Make a new timeout set to go off in 1000ms (1 second) timeout = setTimeout(function () { console.log('Input Value:', textInput.value); }, 1000); });
let timeout = setTimeout(callback, milliseconds); clearTimeout(timeout);
document.getElementById("id-name"); object.addEventListener('event-name',callback);
In order to execute an event listener (or any function for that matter) after the user stops typing, we need to know about the two built-in JavaScript methods setTimeout(callback, milliseconds) and clearTimeout(timeout): setTimeout is a JavaScript method that executes a provided function after a specified amount of time (in milliseconds). clearTimeout is a related method that can be used to cancel a timeout that has been queued.
Step 1. Listen for User Input
<input type="text" id="my-input" />
let input = document.querySelector('#my-input'); input.addEventListener('keyup', function (e) { console.log('Value:', input.value); })
Step2: Debounce Event Handler Function
let input = document.getElementById('my-input'); let timeout = null;
input.addEventListener('keyup', function(e) { clearTimeout(timeout);
timeout = setTimeout(function() { console.llog('Input Value:', textInput.value); }, 1000); })
227 This answer is not useful Show activity on this post. Your real question seem to be: Why: null >= 0; // true But: null == 0; // false
HTML Encoding Reference URL-encoding : ASCII Character
encodeURIComponent() escapes all characters except: Not Escaped: A-Z a-z 0-9 - _ . ! ~ * ' ( )
Stimulus is a JavaScript framework with modest ambitions. It doesn’t seek to take over your entire front-end—in fact, it’s not concerned with rendering HTML at all.