Archiwum kategorii: Uncategorized

Automatyzacja kalendarza Google z wykorzystaniem Gemini AI

Automatyzacja Urodzin: Google Sheets + Gemini AI + Kalendarz

Dowiedz się, jak stworzyć przypomnienia o urodzinach swoich bliskich w Twoim kalendarzu Google

1. Architektura Rozwiązania

System opiera się na trzech filarach:

  • Google Sheets: Baza danych z imionami, datami urodzin i opcjonalnie zainteresowaniami.
  • Gemini AI: Generuje kod przetwarzający dane źródłowe i tworzący
  • Google Apps Script: „Mózg” operacji, który łączy arkusz z AI i wysyła gotowe wydarzenia do Kalendarza Google.

2. Przygotowanie Bazy Danych (Google Sheets)

Stwórz arkusz z następującymi kolumnami: | Imię i Nazwisko | Data Urodzenia | Zainteresowania (dla Gemini) | Status | | :— | :— | :— | :— | | Jan Kowalski | 1990-05-15 | Żeglarstwo, góry | Pending | | Anna Nowak | 1985-11-22 | Fotografia, koty | Pending |



Przykładowy plik Birthdays w Google Sheets

Następnie w zakładce Extensions -> Apps Script

3. Automatyczne Dodawanie do Kalendarza

Kod wygenerowany za pomocą Google Gemini

JavaScript

function createBirthdayRemindersWithStatus() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var calendar = CalendarApp.getDefaultCalendar();
  
  // Define which column is the Status column (0-indexed, so D is 3)
  var STATUS_COL = 3; 

  for (var i = 1; i < data.length; i++) {
    var name = data[i][0];
    var birthday = new Date(data[i][1]);
    var status = data[i][STATUS_COL];

    // Only run if the status is not "Synced" and there is a name/date
    if (status !== "Synced" && name && !isNaN(birthday.getTime())) {
      
      var currentYear = new Date().getFullYear();
      var reminderDate = new Date(currentYear, birthday.getMonth(), birthday.getDate());

      try {
        // Create the event
        calendar.createAllDayEvent("Birthday: " + name, reminderDate, {
          description: "Added automatically from Google Sheets"
        });

        // Update the spreadsheet to mark it as Synced
        // i + 1 because sheets are 1-indexed; STATUS_COL + 1 for the same reason
        sheet.getRange(i + 1, STATUS_COL + 1).setValue("Synced");
        
        Logger.log("Added birthday for: " + name);
      } catch (e) {
        Logger.log("Error adding " + name + ": " + e.toString());
      }
    }
  }
}

Kod wygenerowany za pomocą sztucznej inteligencji osadzono w Apps Script.


Pozostaje nadać uprawnienia i nacisnąć Run. W efekcie w Twoim kalendarzu google pojawią się przypomnienia o urodzinach osób które zostały zebrane w pliku źródłowym. Wydarzenia które są utworzone w Twoim kalendarzu będą też oznaczone w pliku źródłowym w kolumnie D jako synced.

Pomiar linii kodu źródłowego

Ściągnij & Rozpakuj & Uruchom przykład użycia oprogramowania cloc do pomiaru linii kodu źródłowego (metryka SLOC) dla prostego programu stworzonego w języku C.

Rozpatrywany kod źródłowy składa się z jednego pliku źródłowego .c i jednego pliku nagłówkowego .h

Liczba linii kodu źródłowego dla przykładu powyżej.

Skrypty uruchamiające program cloc (run.bat i countCodeLines.bat)

run.bat

countCodeLines.bat

Gotowe do uruchomienia archiwum pomiar liczby linii kodu.