
Security News
MCP Community Begins Work on Official MCP Metaregistry
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.
The best project ever. #dojo-rql Module ΠΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Ρ ΠΈcΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΌΠ½ΡΡ (ΡΠ°Π·ΡΠΈΡΠ΅Π½ΡΡ ) ΡΠΈΠ»ΡΡΡΠΎΠ²
Chart
- ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠΈΠ»ΡΡΡΠΎΠ² Π² Π³ΡΠ°ΡΠΈΠΊΠ°Ρ
Composite
- ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ²
DataPreviewControlPanel
- ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄Π΅Π½Π΅Π½ΠΈΡ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΠ»ΡΡΡΠ°ΠΌΠΈ ΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠΌ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΠΈΠ»ΡΡΡΠΎΠ² Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π΄Π°Π½Π½ΡΡ
FilterControlPanel
- ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΠ»ΡΡΡΠ°ΠΌΠΈ
FilteredGrid
- ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠΈΠ»ΡΡΡΠΎΠ² Π² ΡΠ°Π±Π»ΠΈΡΠ°Ρ
FilterEditor
- ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠ»ΡΡΡΠΎΠ²
TableWithConfiguration
- ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π² ΡΠ°Π±Π»ΠΈΡΠ°Ρ
Tree
- ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π΄Π΅ΡΠ΅Π²ΡΡΠΌΠΈ dstore
Util
- ΠΌΠΎΠ΄ΡΠ»Ρ Ρ Π²ΡΠΏΠΎΠΌΠ°Π³Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΠ°ΠΌΠΈ
extensions/GridRqlFilter
- ΠΌΠΎΠ΄ΡΠ»Ρ Ρ Π²ΡΠΏΠΎΠΌΠ°Π³Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΠ°ΠΌΠΈ
extensions/StoreRqlFilter
- ΠΌΠΎΠ΄ΡΠ»Ρ Ρ Π²ΡΠΏΠΎΠΌΠ°Π³Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΠ°ΠΌΠΈ
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ: npm install dojo-rql
Π§ΡΠΎ Π±Ρ Π±ΡΡΡΡΠΎ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΠ΅ ΠΈΡΡΡΡΠΊΡΠΈΠΈ
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Rest DataStore (Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ backend )
var centralDataStore = new (declare([StoreRqlFilter, Trackable]))({
'headers': {
'Accept': 'application/json'
},
'useRangeHeaders': true,
"target": "/rest/users"
});
ΠΠ°Π»Π΅Π΅ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΠΈΠ»ΡΡΡΠΎΠ²
var filteredGridOption = {
"title": "Π’Π°Π±Π»ΠΈΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ", // ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ title ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°
"name": "usersProfile", // ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ name ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°
"options": { // Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΎΠΏΡΠΈΠΈ Π΄Π»Ρ ΡΠΈΠ»ΡΡΡΠΎΠ²
"columns": [
{"label": "id", "field": "id"},
{"label": "ΠΠΌΡ", "field": "name"},
{"label": "Π€Π°ΠΌΠΈΠ»ΠΈΡ", "field": "surname"}
],
"collection": centralDataStore,
"selectionMode": "single",
"pagingLinks": false,
"pagingTextBox": true,
"firstLastArrows": true,
"rowsPerPage": 15,
"pageSizeOptions": [10, 15, 25]
},
"declare": [
"Grid",
"Keyboard",
"Selection",
"ColumnHider",
"ColumnResizer",
"GridRqlFilter"
]
};
var filterGrid = new FilteredGrid(filteredGridOption);
Π’Π°Π±Π»ΠΈΡΠ° ΡΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΠΆΡΠΈΠ²Π°Π΅Ρ ΡΠΈΠ»ΡΡΡΡ, Π½ΠΎ ΡΡΠΎ Π±Ρ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ ΠΈΠΌΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈ ΡΠΈΠ»ΡΡΡΠ°ΠΌΠΈ
var tableFilterControlPanel = new FilterControlPanel({
"title": "ΠΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΠ»ΡΡΡΠ°ΠΌΠΈ ",
"id": "tableFilter",
"name": "plotPublishPrice",
"filteredStoreDataOption": [
{
"label": "ΠΠΌΡ",
"value": {
"type": "string",
"name": "name",
"field": {
'type': "TextBox"
}
},
"filter": [
{"id": 0, "label": "=", "value": "eq"},
{"id": 0, "label": "!=", "value": "ne"}
]
},
{
"label": "Π€Π°ΠΌΠΈΠ»ΠΈΡ",
"value": {
"type": "string",
"name": "surname",
"field": {
'type': "TextBox"
}
},
"filter": [
{"id": 0, "label": "=", "value": "eq"},
{"id": 0, "label": "!=", "value": "ne"}
]
}
],
"store": new (declare([Rest, RequestMemory, Trackable]))({
'headers': {
'Accept': 'application/json'
},
"target": "/rest/filters_list"
})
});
var tableDataPreviewControlPanel = new DataPreviewControlPanel({
title: "Π’Π°Π±Π»ΠΈΡΠ° ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ",
filterControlPanel: tableFilterControlPanel,
dataViewer: filterGrid
});
(Coming soon)
Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΌΡ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈ ΡΠ°Π±Π»ΠΈΡΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ Π³ΡΠ°ΡΠΈΠΊ. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Rest DataStore (ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ backend )
var centralDataStore = new (declare([StoreRqlFilter, Trackable]))({
'headers': {
'Accept': 'application/json'
},
'useRangeHeaders': true,
"target": "/rest/sin"
});
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Char. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΡΠΎΡΠΈΡΡ ΡΠΈΠ½ΡΡΠΎΠΈΠ΄Ρ, ΠΏΠΎ ΡΡΠΎΠΌΡ Chart type Π±ΡΠ΄Π΅Ρ Lines
var filterChartOption = {
"title": "ΠΠΈΡΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ΅Π½Ρ Π²ΡΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ
ΡΠΎΠ²Π°ΡΠΎΠ²", // Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ title ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°
"name": "plotPublishPrice", // Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ name ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°
"store": centralDataStore, // Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅
"type": Lines, // Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΠΈΠΏ ΡΠ°ΡΡΠ°
"xAxisLabel": 'ΠΡΡ Π°Π±ΡΡΠΈΡΡ', // Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π»Π΅ΠΉΠ±Π» Π΄Π»Ρ
"yAxisLabel": 'ΠΡΡ ΠΎΡΠ΄ΠΈΠ½Π°Ρ' // Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΠΈΠΏ ΡΠ°ΡΡΠ°
};
var filterChart = new Chart(filterChartOption);
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ»ΡΡΡΠ°ΠΌΠΈ. Π‘ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅ΠΌ ΠΈ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°ΠΌΡ ΠΏΠ°Π½Π΅Π»Ρ ΡΠΈΠ»ΡΡΡΠΎΠ² Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ°
var chartFilterControlPanel = new FilterControlPanel({
"title": "ΠΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΠ»ΡΡΡΠ°ΠΌΠΈ ", // Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ title ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π²Π²ΠΈΠ΄Π΅Π½ ΠΊΠ°ΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°
"id": "chartFilter", // ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ id ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°
"name": "plotPublishPrice", // ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ name ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°
"columns": [ // ΠΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΠΊΠΎΠ»Π½ΠΎΠΊ Π΄Π»Ρ ΡΠ°Π±Π»ΠΈΡΠΈ ΡΠΈΠ»ΡΡΡΠΎΠ²(ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡ Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ dgrid)
{"label": "id", "field": "id"},
{
"label": "ΠΠ°Π·Π²Π°Π½ΠΈΠ΅",
"field": "name",
"editor": "text",
"editOn": "dblclick",
"autoSave": true
}
],
"filteredStoreDataOption": [ // Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΎΠΏΡΠΈΠΈ Π΄Π»Ρ ΡΠΈΠ»ΡΡΡΠΎΠ²
{
"label": "ΠΡΡ Π°Π±ΡΡΠΈΡΡ", // Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ label Π΄Π»Ρ ΡΠΈΠ»ΡΡΡΠΎΠ²Π°Π½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°
"value": { // Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
"type": "string", // Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΠΈΠΏ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
"name": "x", // Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠΌΡ
"field": {
'type': "TextBox" // Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ editor Π΄Π»Ρ ΠΏΠΎΠ»Ρ
}
},
"filter": [ // Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΠΏΠΈΡΠΊΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
ΡΠΈΠ»ΡΡΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ»Ρ
{"id": 0, "label": "=", "value": "eq"},
{"id": 0, "label": ">", "value": "gt"},
{"id": 0, "label": "<", "value": "lt"},
{"id": 0, "label": ">=", "value": "gte"},
{"id": 0, "label": "<=", "value": "lte"},
{"id": 0, "label": "!=", "value": "ne"}
]
},
{
"label": "ΠΡΡ ΠΎΡΠ΄ΠΈΠ½Π°Ρ",
"value": {
"type": "string",
"name": "y",
"field": {
'type': "TextBox"
}
},
"filter": [
{"id": 0, "label": "=", "value": "eq"},
{"id": 0, "label": ">", "value": "gt"},
{"id": 0, "label": "<", "value": "lt"},
{"id": 0, "label": ">=", "value": "gte"},
{"id": 0, "label": "<=", "value": "lte"},
{"id": 0, "label": "!=", "value": "ne"}
]
}
],
"store": new (declare([Rest, RequestMemory, Trackable]))({ // Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΡΠΎΡΠ΅ Π΄Π» ΡΡ
ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΈΠ»ΡΡΡΠΎΠ²
'headers': {
'Accept': 'application/json'
},
"target": "/rest/filters_list"
})
});
Π‘ΠΎΠ΅Π΄Π΅Π½ΠΈΠΌ ΠΏΠ°Π½Π΅Π»Ρ ΡΠΈΠ»ΡΡΡΠΎΠ² ΠΈ chart DataPreviewControlPanel - ΠΎΠ±Π΅ΡΡΠΊΠ° Π½Π°Π΄ ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ ΠΊΠΎΡΠΎΡΠ°Ρ Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΠ°Π½Π΅Π»Ρ ΡΠΈΠ»ΡΡΡΠΎΠ² ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅.
var chartDataPreviewControlPanel = new DataPreviewControlPanel({
title: "Π€ΡΠ½ΠΊΡΠΈΡ f(x) = sin(x) (Π‘ΠΈΠ½ΡΡΠΎΠΈΠ΄Π°)",
filterControlPanel: chartFilterControlPanel,
dataViewer: filterChart
});
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΎΠ±ΡΠ΅Π΄Π΅Π½ΠΈΠΌ Π½Π°Ρ Π²ΠΈΠ΄ΠΆΠ΅Ρ Chart ΠΈ Π²ΠΈΠΎΠ΄Π΅Ρ FilteredGrid. Π‘Π°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅, ΠΎΠ±ΡΠ΅ΠΊΡ Composite ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π³ΡΡΠΏΠΈΡΡΡ ΠΈΡ Π² ΠΎΠ΄Π½ΠΎΠΌ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ΅ Π΄Π»Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΠ²ΠΈΡ ΡΡΠΈΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ.
var composite = new Composite({
components: [tableDataPreviewControlPanel,
chartDataPreviewControlPanel
]
}).placeAt(dom.byId('grid'));
composite.startup();
ΠΡΠΈΠΌΠ΅Ρ ΡΠΈΠ»ΡΡΡΠ° Π² rql();
and(and(eq(q,null()),ne(q,null()),le(q,r),ge(q,u)),or(lt(q,t),gt(q,y),in(q,(a,s,d,f,g)))) &limit(20,30)&sort(-q) &select(q,max(q),min(q),count(q))
####ΠΡΠΏΡΠ°Π²ΠΊΠ° rql Π·Π°ΠΏΡΠΎΡΠΎΠ²
ΠΡΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ Π·Π°ΠΏΡΠΎΡΠ° Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ
'Accept': 'application/json'
Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
Π² JSON ΡΠΎΡΠΌΠ°ΡΠ΅.
Π’Π°ΠΊ ΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ limit() Π΄Π»Ρ Π·Π°ΠΏΡΠΏΠΎΡΠ° ΡΠΊΠ°Π·ΡΠ²Π°Ρ ΡΠ°ΠΊΡΠΈΡΠΈΡΠΊΠΈΠΉ Π»ΠΈΠΌΠΈΡ Π½Π° ΠΏΠΎΡΠ»ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΉ Π² ΡΠ°ΠΌΠΎΠΌ rql,
Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ Π²ΡΠ±ΠΎΡΠΊΡ Π½ΡΠΆΠ½ΠΎ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅.
ΠΡΠΈ ΡΠ°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π΅ Π΄Π°Π½Π½ΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠ½Π°ΡΠ°Π»Π° ΠΎΡΠ»ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΏΠΎ limit ΡΠΊΠ°Π·Π°Π½ΠΎΠΌΡ Π² rql,
Π° ΠΏΠΎΡΠ»Π΅ Π½Π° Π½ΠΈΡ
Π±ΡΠ΄Π΅Ρ Π½Π°Π»ΠΎΠΆΠ΅Π½ ΡΠΈΠ»ΡΡΡ ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·Π°Π½ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°Ρ
.
ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΡΠΉ rql limit(37)
ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΡΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ
'Range': 'items=0-14'
'X-Range': 'items=0-14'
Π ΠΎΡΠ²Π΅ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ
'Content-Range': 'items 0-13/37'
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΡΠ²Π΅ΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π°Ρ Π»ΠΈΠΌΠΈΡ ΠΎΡΠΏΡΠ²Π»Π΅Π½ΡΠΉ Π² rql Π Π°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠ»ΡΡΡ Π²ΡΠ±ΠΎΡΠΊΠΈ 'items 0-13/37' -> limit(37) Π Π»ΠΈΠΌΠΈΡΡ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Ρ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°Ρ , Π΄Π΅ΠΉΡΡΠ²ΡΡΡ ΠΊΠ°ΠΊ ΡΠΈΠ»ΡΡΡ ΠΏΠΎΠ²Π΅ΡΡ ΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ ΡΡΠΎ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π³Π΅ 'items 0-13/37' -> 'Range': 'items=0-14'
ΠΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ query Π·Π°ΠΏΡΠΎΡΡ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ GET.
ΠΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄Π°Π½ΡΠ΅ Π² ΡΡΠΎΡΠ΅, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ POST Π·Π°ΠΏΡΠΎΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎ Π±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±Π΅ΠΊΡ ΠΈΠ»ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ PUT Π·Π°ΠΏΡΠΎΡ ΡΡΠΎ Π±Ρ ΡΠ΄Π°Π»ΠΈΡΡ Π΅Π³ΠΎ. Π’Π°ΠΊ ΠΆΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ DELETE Π·Π°ΠΏΡΠΎΡ ΡΡΠΎ Π±Ρ ΡΠ΄Π°Π»ΠΈΡΡ Π½ΡΠΆΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ.
Π ΡΠ΅Π»Π΅ Π·Π°ΠΏΡΠΎΡΠ° ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΊΠ°Π·Π°ΡΡ Π»ΠΈΠ±ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠΊΠ΅Ρ Π»Π±ΠΎ ΠΌΠ°ΡΡΠΈΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ.
{
"id": "1",
"name": "Test",
"surname": "Test"
}
Π ΡΠ΅Π»Π΅ Π·Π°ΠΏΡΠΎΡΠ° ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΊΠ°Π·Π°ΡΡ Π»ΠΈΠ±ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠΊΠ΅Ρ ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΎΡΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ. ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ id. Π£ΠΊΠ°Π·Π°ΡΡ Π½ΡΠΆΠ΅Π½ΠΎ Π»ΠΈΠ±ΠΎ Π² ΡΠ΅Π»Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ REST Π·Π°ΠΏΡΠΎΡΠ°.
{
"id": "1",
"name": "Test",
"surname": "Test"
}
Copyright (c) 2016 avz-cmf Licensed under the GNU license.
FAQs
The best project ever.
The npm package dojo-rql receives a total of 7 weekly downloads. As such, dojo-rql popularity was classified as not popular.
We found that dojo-rql demonstrated a not healthy version release cadence and project activity because the last version was released a year ago.Β It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.
Research
Security News
Socket uncovers an npm Trojan stealing crypto wallets and BullX credentials via obfuscated code and Telegram exfiltration.
Research
Security News
Malicious npm packages posing as developer tools target macOS Cursor IDE users, stealing credentials and modifying files to gain persistent backdoor access.