Forwarded from Точка входа в программирование
Объектно-ориентированное программирование в примерах
Не получается представить программу в виде объектов? Цикл статей на жизненных примерах объяснит концепции ООП:
1. Объяснение понятий классов, объектов и интерфейсов: https://tprg.ru/Re9E
2. Основные принципы ООП — инкапсуляция, полиморфизм, наследование: https://tprg.ru/Zlkf
#ооп
Не получается представить программу в виде объектов? Цикл статей на жизненных примерах объяснит концепции ООП:
1. Объяснение понятий классов, объектов и интерфейсов: https://tprg.ru/Re9E
2. Основные принципы ООП — инкапсуляция, полиморфизм, наследование: https://tprg.ru/Zlkf
#ооп
Forwarded from Highload — медіа для розробників
Нашли для вас 20 однострочников на JavaScript — программ, код которых умещается в одну строку и призван выполнять разные функции. Надеемся, они помогут вам ускорить и упростить ваши обязанности и выйти на новый уровень.
Forwarded from Highload — медіа для розробників
В VS Code любую команду можно выполнить через командную строку, но наличие практических комбинаций клавиш может здорово сэкономить время разработки. Нашли для вас наиболее полезные сочетания, которые значительно повысят скорость написания кода. Вам осталось только запомнить их)
Forwarded from Архив программиста
Forwarded from Google Таблицы
Ну что, друзья, пора бы нам и о Формах поговорить...
Сегодня делимся полезной статьей от Александра Макеева - про предзаполненную форму.
Это возможность сразу отображать образец заполнения формы. В статье о самом образце, о том, как формируется ссылка на образец заполнения и как формулой в Таблицах сформировать ссылки на большое количество предзаполненных форм, а не таскать данные "руками" из таблицы в каждую форму.
Благодарим Александра за отличный материал!
https://telegra.ph/Google-Form-Predzapolnenie-08-15-2
Сегодня делимся полезной статьей от Александра Макеева - про предзаполненную форму.
Это возможность сразу отображать образец заполнения формы. В статье о самом образце, о том, как формируется ссылка на образец заполнения и как формулой в Таблицах сформировать ссылки на большое количество предзаполненных форм, а не таскать данные "руками" из таблицы в каждую форму.
Благодарим Александра за отличный материал!
https://telegra.ph/Google-Form-Predzapolnenie-08-15-2
Telegraph
Google Form. Предзаполнение
Правильный канал о Таблицах (Google Sheets): @google_sheets Чат канала: @google_spreadsheets_chat ____________________________ Здравствуйте, любители Таблиц! Сегодня речь пойдет о простой, однако интересной и ценной возможности, которая по умолчанию присутствует…
Forwarded from volond
Года 3 назад @oshliaer сказал что справка Google самая лучшая книга по скриптам я его не понимал а вот недавно прочитал правила наименования переменных типа такого
и как говориться прозрел
Есть еще два прекрасный ресурса 1 и более академический
Из книг
так как я пришел из мира VBA то GOIN GAS
и еще
и как говориться прозрел
Есть еще два прекрасный ресурса 1 и более академический
Из книг
так как я пришел из мира VBA то GOIN GAS
и еще
bookflow.ru
Как называть переменные, объясняем и показываем
Как называть переменные. Правильный выбор имени переменной – одна из самых важных и сложных вещей в программировании, которая отличает начинающего от гуру.
Forwarded from volond
Имена месяцев из дат без дополнительного списка
=arrayformula(REGEXREPLACE(REGEXREPLACE(REGEXREPLACE(TEXT(date(2021;SEQUENCE(12;1;1);1);"mmmm.yyyy");"я\.";"ь ");"та\.";"т ");"аь";"ай"))Forwarded from Эксплойт
⛳️ Учимся гуглить. Секреты поиска Google, о которых должен знать каждый
Информация - нефть 21 века, а умение ее искать мастхев-навык для каждого современного человека.
Google обычно отлично справляется с поставленной задачей, даже если вы ввели запрос неверно. Однако когда дело доходит до использования поиска в исследовательских целях или необходим более узкий и точный результат – стоит воспользоваться продвинутыми настройками.
Вы можете использовать скрытые модификаторы поиска, чтобы намного быстрее получать более точные результаты. В этой статье мы собрали самые полезные из них:
exploit.media/tech/google-secrets/
Информация - нефть 21 века, а умение ее искать мастхев-навык для каждого современного человека.
Google обычно отлично справляется с поставленной задачей, даже если вы ввели запрос неверно. Однако когда дело доходит до использования поиска в исследовательских целях или необходим более узкий и точный результат – стоит воспользоваться продвинутыми настройками.
Вы можете использовать скрытые модификаторы поиска, чтобы намного быстрее получать более точные результаты. В этой статье мы собрали самые полезные из них:
exploit.media/tech/google-secrets/
Forwarded from Alexander Ivanov
Возможно, что-то вроде
function controlCallSimpleService(){
var webAppUrl ='https://script.google.com/a/DOMAIN/macros/s/id123123123/exec';
var token = ScriptApp.getOAuthToken();
var options = {
'method' : 'post'
, 'headers': {'Authorization': 'Bearer '+ token}
, muteHttpExceptions: true
};
var response = UrlFetchApp.fetch(webAppUrl, options);
console.log(response.getContentText());
}Образцы шаблонов даты и времени
Источник:
Google Forms использует шаблоны даты и времени Oracle для форматирования и анализа дат. Вот несколько примеров форматов и соответствующие выходные данные, которые будут отображаться в сообщениях электронной почты.
═══════════════════════════════
Date and Time Patter |Formatted Text Output
═══════════════════════════════
yyyy-MM-dd hh:mm |2020-11-19 11:34 PM
═══════════════════════════════
yyyy-MMM-d HH:mm:ss |2020-Nov-19 23:34:49
═══════════════════════════════
MMMMM dd, yyyy |November 19, 2020
════════════════════════════════
EEE, d MMM yyyy |Thu, 19 Nov 2020
═══════════════════════════════
EEEEE, d MMM yyyy |Thursday, 19 Nov 2020
════════════════════════════════
yyyy/MM/dd HH:mm:ss | 2020/11/19 23:34:49
════════════════════════════════
••••••••••
Обсудить
Источник:
Google Forms использует шаблоны даты и времени Oracle для форматирования и анализа дат. Вот несколько примеров форматов и соответствующие выходные данные, которые будут отображаться в сообщениях электронной почты.
═══════════════════════════════
Date and Time Patter |Formatted Text Output
═══════════════════════════════
yyyy-MM-dd hh:mm |2020-11-19 11:34 PM
═══════════════════════════════
yyyy-MMM-d HH:mm:ss |2020-Nov-19 23:34:49
═══════════════════════════════
MMMMM dd, yyyy |November 19, 2020
════════════════════════════════
EEE, d MMM yyyy |Thu, 19 Nov 2020
═══════════════════════════════
EEEEE, d MMM yyyy |Thursday, 19 Nov 2020
════════════════════════════════
yyyy/MM/dd HH:mm:ss | 2020/11/19 23:34:49
════════════════════════════════
••••••••••
Обсудить
Digitalinspiration
How to Change the Date and Time Format in Google Form Emails - Digital Inspiration
Google Forms support both date and time fields. The time and year component can be added or removed from your date type questions based on requirements.
Forwarded from Юрий
Кстати, может кому-то будет полезно, 2GIS ввел API в тестовом режиме, кто хочет может попробовать, правда мне до сих пор ответа с ключом доступа так и не прислали (прошло больше суток)
https://dev.2gis.ru/
https://dev.2gis.ru/
dev.2gis.ru
Данные и цифровые технологии 2ГИС
2ГИС для бизнеса и госсектора — точные данные, инструменты для геоаналитики и IT-решения
Тестируем триггеры
При моделировании событий старайтесь как можно точнее сопоставить задокументированные объекты событий.
Если вы хотите проверить документацию, вы можете зарегистрировать полученное событие от своей триггерной функции.
Logger.log( JSON.stringify( e , null, 2 ) );
В событиях отправки формы электронной таблицы:
все значения namedValues являются массивами.
Метки времени - это строки, и их формат будет локализован в соответствии с локалью формы. При чтении из электронной таблицы с форматированием по умолчанию * они являются объектами Date. Если ваша функция триггера полагается на строковый формат отметки времени (что является плохой идеей), убедитесь, что вы правильно моделируете значение.
Если в вашей электронной таблице есть столбцы, которых нет в вашей форме, метод в этом сценарии будет имитировать «событие» с включенными этими дополнительными значениями, а это не то, что вы получите при отправке формы. < / li>
Как указано в проблеме 4335 , массив values пропускает пустые ответы (в «новых формах» + «новых таблицах»). Для моделирования этого поведения используется метод filter(Boolean).
Обновление 2017 г .: Отлаживайте объекты событий с помощью Stackdriver Logging для скрипта Google Apps. В строке меню редактора скриптов перейдите к: View > Stackdriver Logging для просмотра или потоковой передачи журналов.
console.log () будет писать сообщения уровня DEBUG
Источник:
/**
* Test function for onEdit. Passes an event object to simulate an edit to
* a cell in a spreadsheet.
*
* Check for updates: https://stackoverflow.com/a/16089067/1677912
*
* See https://developers.google.com/apps-script/guides/triggers/events#google_sheets_events
*/
function test_onEdit() {
onEdit({
user : Session.getActiveUser().getEmail(),
source : SpreadsheetApp.getActiveSpreadsheet(),
range : SpreadsheetApp.getActiveSpreadsheet().getActiveCell(),
value : SpreadsheetApp.getActiveSpreadsheet().getActiveCell().getValue(),
authMode : "LIMITED"
});
}
/**
* Test function for Spreadsheet Form Submit trigger functions.
* Loops through content of sheet, creating simulated Form Submit Events.
*
* Check for updates: https://stackoverflow.com/a/16089067/1677912
*
* See https://developers.google.com/apps-script/guides/triggers/events#google_sheets_events
*/
function test_onFormSubmit() {
var dataRange = SpreadsheetApp.getActiveSheet().getDataRange();
var data = dataRange.getValues();
var headers = data[0];
// Start at row 1, skipping headers in row 0
for (var row=1; row < data.length; row++) {
var e = {};
e.values = data[row].filter(Boolean); // filter: https://stackoverflow.com/a/19888749
e.range = dataRange.offset(row,0,1,data[0].length);
e.namedValues = {};
// Loop through headers to create namedValues object
// NOTE: all namedValues are arrays.
for (var col=0; col<headers.length; col++) {
e.namedValues[headers[col]] = [data[row][col]];
}
// Pass the simulated event to onFormSubmit
onFormSubmit(e);
}
}
ПодсказкиПри моделировании событий старайтесь как можно точнее сопоставить задокументированные объекты событий.
Если вы хотите проверить документацию, вы можете зарегистрировать полученное событие от своей триггерной функции.
Logger.log( JSON.stringify( e , null, 2 ) );
В событиях отправки формы электронной таблицы:
все значения namedValues являются массивами.
Метки времени - это строки, и их формат будет локализован в соответствии с локалью формы. При чтении из электронной таблицы с форматированием по умолчанию * они являются объектами Date. Если ваша функция триггера полагается на строковый формат отметки времени (что является плохой идеей), убедитесь, что вы правильно моделируете значение.
Если в вашей электронной таблице есть столбцы, которых нет в вашей форме, метод в этом сценарии будет имитировать «событие» с включенными этими дополнительными значениями, а это не то, что вы получите при отправке формы. < / li>
Как указано в проблеме 4335 , массив values пропускает пустые ответы (в «новых формах» + «новых таблицах»). Для моделирования этого поведения используется метод filter(Boolean).
Обновление 2017 г .: Отлаживайте объекты событий с помощью Stackdriver Logging для скрипта Google Apps. В строке меню редактора скриптов перейдите к: View > Stackdriver Logging для просмотра или потоковой передачи журналов.
console.log () будет писать сообщения уровня DEBUG
function onEdit (e) {
var debug_e = {
authMode: e.authMode,
range: e.range.getA1Notation(),
source: e.source.getId(),
user: e.user,
value: e.value,
oldValue: e. oldValue
}
console.log({message: 'onEdit() Event Object', eventObject: debug_e});
}
function onFormSubmit (e) {
var debug_e = {
authMode: e.authMode,
namedValues: e.namedValues,
range: e.range.getA1Notation(),
value: e.value
}
console.log({message: 'onFormSubmit() Event Object', eventObject: debug_e});
}
function onChange (e) {
var debug_e = {
authMode: e.authMode,
changeType: changeType,
user: e.user
}
console.log({message: 'onChange() Event Object', eventObject: debug_e});
}
Затем проверьте журналы в Stackdriver UI, помеченном как строка message, чтобы увидеть выходИсточник:
Google for Developers
Event Objects | Apps Script | Google for Developers
Learn about the structure and fields of event objects passed to Apps Script functions by simple and installable triggers.
https://www.labnol.org/code/google-forms-choices-from-sheets-200630
https://webapps.stackexchange.com/questions/76189/how-to-create-a-countries-drop-down-list-question-without-entering-all-countrie
https://webapps.stackexchange.com/questions/76189/how-to-create-a-countries-drop-down-list-question-without-entering-all-countrie
Digital Inspiration
How to Add Options in Google Forms Questions from Google Sheets
Learn how to bulk add options in dropdown lists and multiple-choice questions in Google Form using values from Google Sheets
Google Apps Script удалить предупреждающий баннер - CodeRoad
https://coderoad.ru/33635284/Google-Apps-Script-%D1%83%D0%B4%D0%B0%D0%BB%D0%B8%D1%82%D1%8C-%D0%BF%D1%80%D0%B5%D0%B4%D1%83%D0%BF%D1%80%D0%B5%D0%B6%D0%B4%D0%B0%D1%8E%D1%89%D0%B8%D0%B9-%D0%B1%D0%B0%D0%BD%D0%BD%D0%B5%D1%80
https://coderoad.ru/33635284/Google-Apps-Script-%D1%83%D0%B4%D0%B0%D0%BB%D0%B8%D1%82%D1%8C-%D0%BF%D1%80%D0%B5%D0%B4%D1%83%D0%BF%D1%80%D0%B5%D0%B6%D0%B4%D0%B0%D1%8E%D1%89%D0%B8%D0%B9-%D0%B1%D0%B0%D0%BD%D0%BD%D0%B5%D1%80
coderoad.ru
Google Apps Script удалить предупреждающий баннер
- CodeRoad
- CodeRoad
Для тех, кому не все равно, я обошел это, вставив страницу Google с этой проблемой в iframe и используя отрицательные поля. Не вижу решеток. Просто выбрасываю его на тот случай, если кто-то еще...
Forwarded from Рестарт
This media is not supported in your browser
VIEW IN TELEGRAM
CodeSee — сервис для визуализации кода
Это автоматически генерируемые, самообновляющиеся диаграммы кода. Они синхронизируют вашу кодовую базу по мере развития кода.
Сервис поможет понять, как связаны файлы и папки, увидеть, как изменения кода вписываются в более крупную архитектуру, и многое другое.
CodeSee может отображать файлы и папки для любого языка с возможностью визуализировать зависимости между кодовыми базами Go, Java, JavaScript, Python и TypeScript.
GIT #программирование
Это автоматически генерируемые, самообновляющиеся диаграммы кода. Они синхронизируют вашу кодовую базу по мере развития кода.
Сервис поможет понять, как связаны файлы и папки, увидеть, как изменения кода вписываются в более крупную архитектуру, и многое другое.
CodeSee может отображать файлы и папки для любого языка с возможностью визуализировать зависимости между кодовыми базами Go, Java, JavaScript, Python и TypeScript.
GIT #программирование
Forwarded from volond
Это к тому что если сильно много фоток можно заморочится
Andew.ru
Yandex Disk REST API jQuery Plugin
В статье представлен Yandex Disk REST API jQuery Plugin, который выполняет вставку и размещение на web странице файлов аудио, видео, фото или download ссылки с Яндекс Диска на основе публичной ссылки на этот файл. Плагин, будучи примененный к таким ссылкам…