Volond Apps
221 subscribers
216 photos
28 videos
22 files
994 links
Программирование для души и от лени
Добро пожаловать! У нас есть отличное сообщество любителей Excel и VBA, Google Sheet и Google Apps Script, а также всех тех, кто готов работать с этим программным обеспечением. Присоединяйтесь к нам, чтобы задавать и от
Download Telegram
Нумерация строк формулой
Иногда нужно пронумеровать строки формулой что бы при сортировке отображалось именно в какой строке находиться значения

=Let(title;"Строка";if(CountA(A2:A)>0;{title;arrayformula(Row(indirect("A2:A"&CountA(A1:A))))};title))
Forwarded from Дмитрий
Ну и я тогда поделюсь) когда то мне захотелось сделать интерфейс, но я не шарю. Нашел openasapp.net
Суть простая: делаешь таблицу на формулах, например подсчет ЗП или KPI или подобный "специфичный калькулятор", заливаешь в платформу и в UI конструкторе делаешь кнопки, ползунки и пр. ссылаясь на ячейки. Работает бесплатно до какого то лимита уже не помню какого. В маркете скачиваешь универсальное приложение, которое то ли облачно то ли скриптово делает из него то что сделал ты в онлайн редакторе. Эта тема была задолго до аппшита, Апшит я так и не понял честно говоря, а в этой штуке разобрался когда то.
ps ну и этим можно делиться с людьми просто ссылкой, лимит вроде как раз на кол-во юзеров. Накидал что то удобное, расшарил, нужно обновить - обновил у всех
Latex d Таблицах
Forwarded from volond
 C
=image("https://latex.codecogs.com/svg.image?1+sin^2(x)")
Библиотека GenAIApp разработана для создания, управления и взаимодействия с чат-ботами на базе ИИ с использованием API Gemini и OpenAI (насколько я понимаю, Yandex GPT туда прикрутить не проблема). Библиотека предоставляет такие функции, как текстовый разговор, просмотр веб-страниц, анализ изображений и многое другое, позволяя вам создавать универсальные приложения чата на основе ИИ, которые могут интегрироваться с различными функциями и внешними источниками данных.

Еще раз, это обертка над API всяких ИИ, которая позволяет в универсальном виде управлять диалогами и решать определенные задачи

https://github.com/scriptit-fr/GenAIApp
Forwarded from volond
ппп
Forwarded from Alexander
Только если вдруг будете всё-таки подключать будьте аккуратны

скрипт подключенный к gcp работает неделю и потом его надо переавторизовывать

Вот одно из решений
https://docs.google.com/document/d/13eVgMqjGJj8oCIG4qozmAC0-jStOqdx2rfHjIwAbIzA/edit?usp=sharing
Forwarded from PushAll
Хабрахабр:PL/V8: JavaScript в PostgreSQL
Привет, Хабр!Сегодня рассмотрим PL/V8. Это расширение PostgreSQL, которое позволяет использовать JavaScript через движок V8 (тот самый, который стоит за Node.js). Это открывает массу возможностей:- Писать хранимые процедуры на JavaScript.- Выполнять сложную бизнес-логику прямо в базе данных.- Соз?
Так-так-так... Что придумал Брюс на этот раз?

https://github.com/brucemcpherson/gas-fakes

$> npm i @mcpher/gas-fakes

Идея заключается в том, что вы можете запустить службы GAS (которые реализованы) локально на Node, и она будет использовать различные API Google Workspace для эмуляции того, что произойдет, если вы запустите то же самое в среде GAS.


Если мне не изменяет память это уже 3 или 4 попытка эмулировать Apps Script

Хорошая идея, и можно потренироваться на открытом коде 😉
16. REST Client
Возможно, плагин REST Client не покажется вам супер полезным на первый взгляд по сравнению, например, с привычным Postman. Однако, поиграв с ним немного, JavaScript разработчик уже не сможет жить по-прежнему.

Это замечательный инструмент для тестирования API. Вы можете просто создать новый файл и написать в нем:

https://google.com
Теперь чтобы отправить HTTP GET-запрос, вам нужно просто выделить эту строку, открыть палитру команд (CTRL+SHIFT+P) и выбрать в ней Rest Client: Send Request. Данные полученного ответа будут показаны в новой вкладке – очень удобно и полезно!

rest client for vscode

Вы даже можете передать GET-параметры или тело POST-запроса, добавив всего пару строк кода:

POST https://test.someapi.com/v1/account/user/login/
Content-Type: application/json

{ "email": "someemail@gmail.com", "password": 1 }
Этот фрагмент соответствует POST-запросу с параметрами {"email": "someemail@gmail.com", "пароль": 1 }.

Это лишь крошечная часть возможностей REST Client. Вы можете узнать о нем больше, если интересно.
This media is not supported in your browser
VIEW IN TELEGRAM
function onSelectionChange(e) {
var sheet=SpreadsheetApp.getActiveSheet();
var arr=new Array(sheet.getLastRow()-1).fill(1).map((x,i)=>sheet.isRowHiddenByFilter(i+2)?[0]:[1]);
console.log(arr);
var z=0
for(var i=0;i<arr.length;i++){
if(arr[i][0]==1){
z++
arr[i][0]=z
}
}

console.log(arr);
sheet.getRange("A2:A"+(sheet.getLastRow())).setValues(arr);
SpreadsheetApp.flush();
console.log("Row ");
//SpreadsheetApp.getActiveSpreadsheet().toast("Row "+e.range.getRow()+" is hidden: "+isHidden(e.range.getRow()));").setValue(!SpreadsheetApp.getActiveSheet().getRange("I1").getValue());
// SpreadsheetApp.getActiveSpreadsheet().toast("Row "+e.range.getRow()+" is hidden: "+isHidden(e.range.getRow()));
}
АНПІЛОГОВ ВАЛЕРІЙ СТАНІСЛАВОВИЧ
=join(" ";choosecols(REGEXEXTRACT(PROPER(A6);"(.+)\s(.+)\s(.+)");2;1))

Микола Веретільник
Volond Apps
GIF
```

function onEdit(e) {
var range = e.range;
var sheet = range.getSheet();
var row = e.range.getRow();
var col = e.range.getColumn();
if (sheet.getName() == "1" && isCheck(range) && col > 1) {
console.log(e.value)
if (e.value == 'TRUE' ) {
var r = `B${row}:${(col - 1).to26()}${row}`;
sheet.getRangeList([r]).check()
}
else {
var r = `B${row}:${(col - 2).to26()}${row}`;
var r2 = `${(col-1).to26()}${row}:F${row}`;
sheet.getRangeList([r]).check()
sheet.getRangeList([r2]).uncheck()
}

}
}



/**
* Проверка содержит ли ячейка checkbox
* #dataValidation
* @param {RANGE} cell
* @returns {Boolean}
*/
function isCheck(cell) {
var rule = cell.getDataValidation();

if (rule != null && rule.getCriteriaType() == 'CHECKBOX') {
var criteria = rule.getCriteriaType();
var args = rule.getCriteriaValues();
return true
} else {
return false
}
}

Number.prototype.to26 = function (suffix) {
suffix = String.fromCharCode((this % 26) + 65) + (suffix || '');
return this >= 26 ? (Math.floor(this / 26) - 1).to26(suffix) : suffix;
};
```
This media is not supported in your browser
VIEW IN TELEGRAM
DrawDB — бесплатный конструктор баз данных

Как и сказано в заголовке, DrawDB это бесплатный инструмент, который поможет вам в проектировании баз данных, а также в генерации необходимого SQL-кода.

Воспользоваться можно здесь: https://github.com/drawdb-io/drawdb

#инструменты #бд
Forwarded from Библиотека программиста | программирование, кодинг, разработка
👩‍💻 Docker - лучший обучающий канал по Devops.

С помощью картинок и коротких видео даже новички начнут применять продвинутые инструменты разработки и использовать Docker.

Стоит подписаться: t.me/DevopsDocker
Please open Telegram to view this post
VIEW IN TELEGRAM