function saveData2() {
const book = SpreadsheetApp.openById(
'1FUSSiDQoXyvKXfzYydoUUfcCGYq_TskpRiwfb28_1Z0'
);
const date = new Date();
const sheetTotal = book.getSheetByName('TOTAL');
const sheetGOOG = book.getSheetByName('NASDAQ:GOOG');
const valuesGOOG = sheetGOOG.getRange('C3:U3').getValues().map(row => [date, 'NASDAQ:GOOG', ...row]);
appendData_(sheetTotal, valuesGOOG);
const sheetDIS = book.getSheetByName('NYSE:DIS');
const valuesDIS = sheetDIS.getRange('C3:U3').getValues().map(row => [date, 'NYSE:DIS', ...row]);
appendData_(sheetTotal, valuesDIS);
console.info(`saveData was called successful`);
}
function appendData_(sheet, values) {
if (sheet.getLastRow() === sheet.getMaxRows())
sheet.appendRow([]);
sheet.getRange(sheet.getLastRow() + 1, 1, values.length, values[0].length)
.setValues(values);
}
saveData2
задан для дневного триггера="— Группа_"&ОКРУГЛВНИЗ((СТРОКА()+2)/3)
=A2+1
=A5
Как безболезненно перейти с Python на Rust?
1) Python медленный
2) В python нет адекватного управления памятью
3) В python мне приходится испльзовать кучу мегабайт библиотек (я чувствую себя тупым и бесполезным при импортировании библеотек)
4) Python кажется игрушечным языком
5) Python не подходит род микроконтроллеры (micropython - просто игрушка)
6) Проблемы из-за GIL'а
function onEdit(event) {
//Возникает при изменении ячейки
var ss = event.source.getActiveSheet();//Текущий лист
var address = event.range.getA1Notation().toUpperCase();//Адрес ячейки
var row = event.range.getRow(); //Номер строки
var col = event.range.getColumn(); //Номер столбца
var newValue = event.value; //Новое значение
var oldValue = event.oldValue; //Старое значение
if (["Лист1","Лист2"].indexOf(ss.getName())==-1) return; //Указываем на каких листах должен работать скрипт
//Можно при желании ещё фильтровать по строке/столбцу (row/col), или по старому/новому значению (oldValue/newValue)
var archive = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Архив");
archive.getRange(archive.getLastRow()+1, 1).setValue(
formatDateTime(new Date())+" " + "[" + ss.getName() + "!" + address + "] '" + (oldValue==undefined?"":oldValue) + "' >> '" + (newValue==undefined?"":newValue) +"'"
);
};
function formatDateTime(date) {
var dd = date.getDate();
if (dd < 10) dd = '0' + dd;
var mm = date.getMonth() + 1;
if (mm < 10) mm = '0' + mm;
var yy = date.getFullYear() % 100;
if (yy < 10) yy = '0' + yy;
var hh = date.getHours();
if (hh < 10) hh = '0' + hh;
var MM = date.getMinutes();
if (MM < 10) MM = '0' + MM;
var ss = date.getSeconds();
if (ss < 10) ss = '0' + ss;
return dd + '.' + mm + '.' + yy + ' ' + hh + ':'+ MM + ':'+ ss;
}
к примеру, у одного объявления в среднем 3 тега, на 1 миллион объявлений будет 3 миллиона записей в "объявления-теги", как там будет по скорости при выборке? Сильно я выиграю, если нарушу правило и буду писать теги, перечисляя их в строку через запятую?
Сильно я выиграю, если нарушу правило и буду писать теги, перечисляя их в строку через запятую?
._________. .______________. .____________.
| post | | post_tag | | tag |
|=========| |==============| |============|
| id: int |<------------| post_id: int | | id: int |
| ... | | tag_id: int |---------->| name: text |
|_________| |______________| |____________|
я не знаю как правильно назвать тот или иной класс
нужно ли для всех тегов писать классы
не понимаю зачем нужен container и wrapper
Я забросил вёрстку и начал изучать JavaScript. Но после изучения основ я вернулся к проблеме что не умею верстать.
Уже пробывал не сразу верстать весь макет, а разделять его на части и начал с хедера то есть с шапки и так где то 10 макетов но на макетах разные шапки и не везде их получается сверстать.
<nav></nav>
<nav>
<span>My site</span>
<a href="page1.html">Page1</a>
<a href="page2.html">Page2</a>
</nav>
a {
text-decoration: none;
}
nav a {
text-decoration: none;
}
<nav class="main-navbar">
<span>My site</span>
<a href="page1.html">Page1</a>
<a href="page2.html">Page2</a>
</nav>
.main-navbar a {
text-decoration: none;
}
Не знаю может это мне не дано или я делаю что то не так. Я не могу решить эту ОГРОМНУЮ проблему.
Хочется изучать что то новое но я застрял на этой вёрстке и не могу двигаться дальше.