logo
最近の検索
Python と Twitter API でリツイートしたユーザーの情報を取得する
2022.05.06

Python と Twitter API でリツイートしたユーザーの情報を取得する

初めまして、小林さとると申します。1月よりシステムソリューション事業部でインターンシップに参加しております。開発業務の中で、初めて Twitter API に触れたので、参考になった記事や自分のつまってしまったところなどをまとめました。
至らない点が多々あるかと思いますが、よろしくお願いいたします。

やること

Mac のターミナルと Python3 、 Twitter API を用いて、リツイートしたユーザの情報を取得します。リツイートされたツイートの ID を API にリクエストし、リツイート ID 、リツイートした人のユーザ ID 、リツイートした時間を CSV 形式で格納します。

準備

Homebrew から Python3 をインストールします。
brew を入れてない場合はパッケージ管理システム Homebrew という記事を参考にしてください。
ターミナルで下記のコマンドを実行するとインストールされます。

$ brew install python3

OAuth認証

Twitter API を使うには OAuth 認証が必要です。
Python で Twitter から情報収集 ( Twitter API 編) という記事を参考にターミナルから OAuth 認証に必要なライブラリをインストールします。

$ pip install requests requests_oauthlib
Exception:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 342, in run

記事にあったコマンドだとエラーが出てしまいました。早速つまりました。自分は Python3 を入れていた環境だったので次のコマンドで成功しました。

$ pip3 install requests_oauthlib

Twitter API Key の取得

Twitter API の OAuth 認証を行うには以下の4つの key が必要なので取得します。

  • Consumer key
  • Consumer secret
  • Access token
  • Access token secret

Twitter にログインして、 Twitter アプリケーションの作成(Consumer key、Consumer secret、Access token、Access token secret の確認方法)という記事を参考に取得しましょう。

ツイート ID の取得方法

Twiiter で取得したいツイートをクリックします。
スクショ
赤線内の [948499059471392769] がこのツイートの ID です。 Twitter の URL は以下のような構造になっています。
https://twitter.com/{スクリーンネーム}/status/{ツイートID}
タイムラインのツイート ID をすべて取得したい場合は、 Tweepy でツイートを取得という記事を参考に取得しましょう。

実行コード

#coding:utf-8
#!/usr/bin/env Python
from requests_oauthlib import OAuth1Session
import json
import csv
import collections as cl
import datetime,sys,time
'''
OAuth認証
'''
def request_authorization (**url_and_params):
    twitter = OAuth1Session(url_and_params['ck'], url_and_params['cs'], url_and_params['at'], url_and_params['ats'])
    if('params' in url_and_params):
        request_result = twitter.get(url_and_params['request_url'],params=url_and_params['params'])
    else:
        request_result = twitter.get(url_and_params['request_url'])
    return request_result
'''
API制限をチェックし、制限解除までスリープ
'''
def sleep_until_api_limit(api_response):
    sec = int(api_response.headers['X-Rate-Limit-Reset']) - time.mktime(datetime.datetime.now().timetuple()) #UTCを秒数に変換
    sec += 60.0#念のため1分追加
    print(str(sec)+"秒待機")
    time.sleep(sec)
#取得した4つのkeyをここに差し込みます。
CK = "XXXXXXXXXXXXXXXXXXXXXX" #Consumer key
CS = "XXXXXXXXXXXXXXXXXXXXXX" #Consumer secret
AT = "XXXXXXXXXXXXXXXXXXXXXX" #Access token
AS = "XXXXXXXXXXXXXXXXXXXXXX" #Access token secret
global twitter#メソッド内で再認証を行うため
twitter = OAuth1Session(CK, CS, AT, AS)#認証処理。数時間すると認証が切れる。
# ツイート情報取得用エンドポイントURL
request_status_url = "https://api.twitter.com/1.1/statuses/retweets/:id.json"
'''
情報を取得したいTweetIDをリストに格納
'''
tweet_id_list = ["XXXXX","XXXXX","XXXXX"] #リツイート情報を取得したい TweetID をここに差し込みます。
tweet_id_list.sort()
total_requests_number = len(tweet_id_list)
print("--------"+"送信するリクエスト数合計:" + str(total_requests_number)+"-------------")
'''
TwitterからUserID情報の取得開始
'''
sched_requests_number = 0 #リクエストしたtweet_idの数
should_get_requests_limit = True #API上限数を取得するためのスイッチ
i_plus = 1 #API上限数を取得するためのスイッチ
requests_count = 0 #「API上限までリクエストを送る」を実行するのは何回目かカウントする用
error_count = 0 #エラーを返された回数をカウントする用
output_csv_file_name = 'retweet_info.csv' #取得した値を格納ファイル名
'''
ループ開始前にカラムへ書き込み
'''
with open(output_csv_file_name,'a') as f:
    writer = csv.writer(f, lineterminator='\n')
    header = ['tweet_id', 'retweet_id', 'user_id', 'created_at']
    writer.writerow(header)
'''
ループ開始。retweet_idの書き込み。
'''
for i in range(0,total_requests_number,i_plus):
    if(should_get_requests_limit == True):
        api_response = request_authorization(request_url=request_status_url, ck=CK, cs=CS, at=AT, ats=AS)
        requests_limit = api_response.headers['x-rate-limit-remaining']#リクエスト可能残数の取得
        requests_limit = int(requests_limit)#limitが文字列なのでキャスト
        requests_count += 1
        print("--------"+str(requests_count)+"回目。今回送信するリクエスト数:" + str(requests_limit)+"--------------------")
        sched_requests_number += requests_limit
        should_get_requests_limit = False
    if(requests_limit != 0):
        i_plus = 1
        print(str(i) + ":リクエストしたtweetID:" + str(tweet_id_list[i])+"---------")
        request_url = "https://api.twitter.com/1.1/statuses/retweets/"+str(tweet_id_list[i])+".json?count=10&trim_user=false"
        params = {'tweet_id':tweet_id_list[i]}
        request_result = request_authorization(request_url=request_url, ck=CK, cs=CS, at=AT, ats=AS, params=params)
        if request_result.status_code == 200:
            tweetinfo = json.loads(request_result.text)#JSON形式で読み込む
            for j in range(0,len(tweetinfo)):
                    print(str(i)+":"+str(j)+":"+"リツイートID" + str(tweetinfo[j]['id']))
                    followerdata = {'tweet_id':tweet_id_list[i],
                                    'retweet_id':tweetinfo[j]['id'],
                                    'user_id':tweetinfo[j]['user']['id'],
                                    'created_at':tweetinfo[j]['created_at']}
                    with open(output_csv_file_name, 'a') as f:
                        writer = csv.writer(f, lineterminator='\n')
                        writer.writerow(followerdata.values())
        else:
            print ("Error: %d" % request_result.status_code)
            error_count += 1
            print("Error数:"+str(error_count))
    else:
        i_plus = 0 #limitが0のままiが1増えてしまうと実行されないTweeetIDが発生するので、0入れて増やさない。
    if(i == sched_requests_number):
        print("--------"+"残りリクエスト数" + str(total_requests_number-requests_limit) + "-------------")
        sleep_until_api_limit(api_response)
        should_get_requests_limit = True

情報を取得したいツイート ID と先ほど取得した key を上記のコードに差し込んで、以下のコマンドをターミナルで実行して終了です。

$ python3 get_retweet.py

実行後「 retweet_info.csv 」というファイルが作られます。注意して欲しいのですが、実行前に同名の csv ファイルを消しておきましょう。このコードはリクエストの度に「 retweet_info.csv 」に追記していく方式なので同名のファイルがあるとレコードが重複する可能性があります。以下はこのコードに到るまでの過程について記述します。

エンドポイント URL の調査

今回はツイート ID を送り、リツイートしたユーザにまつわる情報を取得したいので以下のエンドポイント URL を用いました。

  • https://api.twitter.com/1.1/statuses/retweets/:id.json

GET メソッドを用いるので上記の URL にツイート ID と取得したいリツートの数を追記してリクエストを投げます。
取得できるリツート情報は100件までという上限があります。

  • "https://api.twitter.com/1.1/statuses/retweets/"+str(tweet_id_list[i])+".json?count=100&trim_user=false"

自分が取得したい Twitter の情報によってエンドポイントも変化します。他の情報が欲しい場合には Twitter REST API の使い方の左メニューにある「リファレンス」を参考にします。エンドポイントの一覧が表示されています。何を送ったら何を返してくれるのか、一度に送れるリクエスト回数や返してくれる JSON のデータ構造、使い方等、エンドポイントにまつわる詳細が記述されています。

参考にしたコード

Python を使って Twitter のタイムラインを収集するという記事内にある簡潔で見やすいコードに、自分に必要だった機能をつけたしました。

from requests_oauthlib import  OAuth1Session
import json
import time
CK = 'XXXXXXXXXXXXXXXXXXXXXX'
CS = 'XXXXXXXXXXXXXXXXXXXXXX'
AT = 'XXXXXXXXXXXXXXXXXXXXXX'
AS = 'XXXXXXXXXXXXXXXXXXXXXX'
url = "https://api.twitter.com/1.1/statuses/home_timeline.json"
params = {'count': 100}
TweetList = []
twitter = OAuth1Session(CK, CS, AT, AS)
for i in range(100):
    req = twitter.get(url, params = params)
    if req.status_code == 200:
        timeline = json.loads(req.text)
        for tweet in timeline:
            TweetList.append(tweet["text"])
    else:
        print ("Error: %d" % req.status_code)
    time.sleep(240)

まとめ

API にリクエストを投げる基礎を学ぶことができました。必要なものを揃え、Twitter から目的の情報を取得する過程は非常に楽しかったです。コードは def を用いなかったため、非常に見づらいコードになってしまいました。今後は可読性に気をつけたいです。



弊社トップゲートでは、Google Cloud (GCP) 利用料3%OFFや支払代行手数料無料、請求書払い可能などGoogle Cloud (GCP)をお得に便利に利用できます。さらに専門的な知見を活かし、

など幅広くあなたのビジネスを加速させるためにサポートをワンストップで対応することが可能です。

Google Workspace(旧G Suite)に関しても、実績に裏付けられた技術力やさまざまな導入支援実績があります。あなたの状況に最適な利用方法の提案から運用のサポートまでのあなたに寄り添ったサポートを実現します!

Google Cloud (GCP)、またはGoogle Workspace(旧G Suite)の導入をご検討をされている方はお気軽にお問い合わせください。

お問合せはこちら


メール登録者数3万件!TOPGATE MAGAZINE大好評配信中!
Google Cloud(GCP)、Google Workspace(旧G Suite) 、TOPGATEの最新情報が満載!

メルマガ登録はこちら

ライター

TOPGATE 編集部

Related Article !

View all

クラウドの主流である SaaS とは何か?仕組みやメリットまでわかりやすく解説!

データセンターとは何か?クラウドとの違いや使い分け方法を解説!

データセンターとは何か?クラウドとの違いや使い分け方法を解説!

ビッグデータとは何か?クラウドによるデータ活用事例を紹介!

ビッグデータとは何か?7業種のクラウドによるデータ活用事例をご紹介!

アジャイル開発とウォーターフォール開発との違いとは?自社に合った開発手法の選び方まで徹底解説!

アジャイル開発とウォーターフォール開発との違いとは?自社に合った開発手法の選び方まで徹底解説!

SIer(エスアイヤー)とは何か?業務内容、種類、年収まで徹底解説!

SIer(エスアイヤー)とは何か?業務内容、種類、年収まで徹底解説!

エンジニアってどんな職種?仕事内容、種類、年収を徹底解説!

エンジニアってどんな職種?仕事内容、種類、年収を徹底解説!

Google Cloudの新DBMS、AlloyDB for PostgreSQLを触ってみた Vol.6 (最終回)

Pulumi を Google Cloud で使ってみた

Google Cloudの新DBMS、AlloyDB for PostgreSQLを触ってみた Vol.5

Google Cloudの新DBMS、AlloyDB for PostgreSQLを触ってみた Vol.4

VPN接続の最小構成を例に: アーキテクチャ設計図の効果的な作り方

2023年7月新登場!Google Cloud SQLの最上位エディション「Enterprise Plus」を触ってみた

クラウドファーストとは?クラウド導入のメリットやコストを解説

効率的なデータ活用を実現!データマートの作り方を7ステップでご紹介!

クラウドとオンプレミスの減価償却と会計処理・税務処理について

クラウドとオンプレミスの減価償却と会計処理・税務処理について

コンテナ化とは?仮想化との違いやメリット、デメリット、ユースケースまで詳しく紹介!

クラウドコンピューティングとは何か?仕組みやメリットまで徹底解説!

クラウドコンピューティングとは何か?仕組みやメリットまで徹底解説!

テレワークをするなら知らなきゃ!【Googleのゼロトラスト】BeyondCorp」の特徴、メリットをご紹介!

テレワークをするなら知らなきゃ!【Googleのゼロトラスト】BeyondCorpの特徴、メリットをご紹介!

Google Cloudの新DBMS、AlloyDB for PostgreSQLを触ってみた Vol.3

Google Cloudの新DBMS、AlloyDB for PostgreSQLを触ってみた Vol.2

Google Cloudの新DBMS、AlloyDB for PostgreSQLを触ってみた Vol.1

データベース運用を効率化する SQL とは何か?メリットやデメリット、活用事例まで一挙に紹介!

データベース運用を効率化する SQL とは何か?メリットやデメリット、活用事例まで一挙に紹介!

失敗しないシステム/ソフトウェア開発会社の選び方!判断指標から判断基準まで一挙公開

失敗しないシステム/ソフトウェア開発会社の選び方!判断指標から判断基準まで一挙公開

藤原秀平

目前に迫る! Google Cloud Next ’17 の見どころを TOPGATE エンジニアに訊いてみた

石村真吾

第二弾! Google Cloud Next ’17 の見どころを TOPGATE エンジニアに訊いてみた

新卒エンジニアが日々の学習内容を発信する「ルーキーズブログ」

新卒エンジニアが日々の学習内容を発信する「ルーキーズブログ」を始めます!

REST とは

【GCP入門編・第14回】 Cloud Functions を使ってサーバレスアーキテクチャを体験しよう!

機械学習の勉強歴が半年の初心者が、 Kaggle で銅メダルを取得した話

機械学習の勉強歴が半年の初心者が、 Kaggle で銅メダルを取得した話

目前に迫る!Google I/O 2018 の見どころを TOPGATE エンジニアに訊いてみた (前編)

目前に迫る!Google I/O 2018 の見どころを TOPGATE エンジニアに訊いてみた (前編)

マイコンで CO2 を計測し、サーバーに計測値を投げるシステムを作る

マイコンで CO2 を計測し、サーバーに計測値を投げるシステムを作る

失敗する確率を大幅に減らすために開発依頼の仕方とフェーズごとのチェックポイント

失敗する確率を大幅に減らすために開発依頼の仕方とフェーズごとのチェックポイント

ITシステム開発における自社開発と委託開発の違いと開発の流れについて一挙公開!

ITシステム開発における自社開発と委託開発の違いと開発の流れについて一挙公開!

優れた開発チームが成功の鍵!ITシステム開発のチーム編成方法と新規メンバーの調達方法とは?

優れた開発チームが成功の鍵!ITシステム開発のチーム編成方法と新規メンバーの調達方法とは?

企業のクラウド化が加速中!クラウド導入のメリットとは?

企業のクラウド化が加速中!クラウド導入のメリットとは?

ランニングコスト削減も可能?開発者が知っておきたいインフラ設計のポイント10選

ランニングコスト削減も可能?開発者が知っておきたいインフラ設計のポイント10選

【徹底解説】ウィズコロナにおけるニューノーマルとクラウド

【徹底解説】ウィズコロナにおけるニューノーマルとクラウド

次世代BIツール「Looker」の概要と導入時の注意点をご紹介!

次世代BIツール「Looker」の概要と導入時の注意点をご紹介!

政府が提唱するクラウド・バイ・デフォルト原則とは?企業における導入メリット6選

政府が提唱するクラウド・バイ・デフォルト原則とは?企業における導入メリット6選

クラウドエンジニアとは何か?仕事内容・必要スキル・資格・将来性を徹底解説!

クラウドエンジニアとは何か?仕事内容・必要スキル・資格・将来性を徹底解説!

クラウドで自社にあったカスタマイズは可能か?オンプレ利用者の悩みを解決!

デジタルトランスフォーメーション(DX)とは?概要と5つの事例をご紹介!

デジタルトランスフォーメーション(DX)とは?概要と5つの事例をご紹介!

クラウドベンダーから自社に最適な提案を引き出す!RFP(提案依頼書)の作成方法とは?

クラウドベンダーから自社に最適な提案を引き出す!RFP(提案依頼書)の作成方法とは?

クラウドネイティブ・アプリケーションとは?メリット、活用例、開発方法まで徹底解説!

クラウドネイティブ・アプリケーションとは?メリット、活用例、開発方法まで徹底解説!

【IoTとは?】ビッグデータ、クラウドとの違いや関係性まで一挙紹介

データ分析の歴史から紐解く!データウェアハウスとデータマートの違いを徹底解説

データ分析の歴史から紐解く!データウェアハウスとデータマートの違いを徹底解説

データレイクとデータウェアハウス(DWH)の違いとは?

データの定義からデータレイクとデータウェアハウス(DWH)の違いをわかりやすく解説!

データ分析基盤の一つであるデータマート概要と設計ポイントをご紹介!

データ分析基盤の一つであるデータマート概要と設計ポイントをご紹介!

クラウドアプリケーション開発とは?普及背景やメリットを解説!

クラウドアプリケーション開発とは?普及背景やメリットを解説!

マネージドサービスとフルマネージドサービスの違いとは?メリット・デメリットまで徹底解説!

マネージドサービスとフルマネージドサービスの違いとは?メリット・デメリットまで徹底解説!

ハイブリッドクラウドにした際のネットワーク構成と注意すべきポイントとは?

ハイブリッドクラウドにした際のネットワーク構成と注意すべきポイントとは?

クラウド化の社内合意を得るためには?説得するための5つのポイントをご紹介!

クラウド化の社内合意を得るためには?説得するための5つのポイントをご紹介!

クラウドインテグレーターとは何か?役割やメリット、会社の選び方まで徹底解説!

クラウドインテグレーターとは何か?役割やメリット、会社の選び方まで徹底解説!

【知らないとマズイ】2025年の崖とは?DXの推進にはクラウド化が必要不可欠!

【知らないとマズイ】2025年の崖とは?DXの推進にはクラウド化が必要不可欠!

【片山さんまだ】オンプレミス、クラウド開発における違いとそれぞれの特徴とは?

オンプレミス、クラウド開発における違いとそれぞれの特徴とは?

【実例つき】クラウド移行で失敗する原因と解決策を紹介

【実例つき】クラウド移行で失敗する原因と解決策を紹介

クラウド移行は費用対効果が重要!ROIで効果を見える化しよう!

クラウド移行は費用対効果が重要!ROIで効果を見える化しよう!

【知って納得!】クラウドの高額請求を避けるための5つの確認項目とは?

【知って納得!】クラウドの高額請求を避けるための5つの確認項目とは?

【あなたは知っている?】AI(人工知能)の仕組み、作り方、活用事例まで徹底解説!

エンジニア教育における課題と効果を出すために大切なポイントとは?

データの活用で生産性向上!「BIツール」と「DWH」や「ETL」との違いとは?

【徹底解説!】人工知能(AI)の機械学習と深層学習の違いとは?

【徹底解説!】人工知能(AI)の機械学習と深層学習の違いとは?

レンタルサーバーとクラウドの違いとは?あらゆる観点から徹底比較!

レンタルサーバーとクラウドの違いとは?あらゆる観点から徹底比較!

【万が一に備えよう】クラウドの高額請求が届いたときの対処法とは?

【万が一に備えよう】クラウドの高額請求が届いたときの対処法とは?

クラウドCoEとは?社内のクラウド推進に必要な考え方を理解しよう!

クラウド導入を成功させるための鍵!クラウドアーキテクトを徹底解説!

クラウド導入を成功させるための鍵!クラウドアーキテクトを徹底解説!

クラウドサービス安全利用には理解必須!情報セキュリティマネジメントガイドラインとは?

クラウドサービス安全利用には理解必須!情報セキュリティマネジメントガイドラインとは?

【会社のセキュリティを強化しよう!】専用線と VPN の違いとは?

専用線と VPN の違いとは?違いを理解して会社のセキュリティを強化しよう!

機械学習の仕組みとは?学習方法や活用事例まで徹底解説!

機械学習の仕組みとは?学習方法や活用事例まで徹底解説!

オンプレよりも安全?クラウドがBCP対策に選ばれる理由とは

オンプレよりも安全?クラウドがBCP対策に選ばれる理由とは

「 Society 5.0」とは何か?新しい社会を支える IT 技術を一挙にご紹介!

「 Society 5.0」とは何か?新しい社会を支える IT 技術を一挙にご紹介!

Cloud IoT Core を使用してセンサー情報を Cloud Storage にストリーミングしてみた!

Cloud IoT Core を使用してセンサー情報を Cloud Storage にストリーミングしてみた!

Flutter とは何か?メリット、デメリット、採用しているプロダクト(アプリ)まで一挙にご紹介!

Flutter とは何か?メリット、デメリット、採用しているプロダクト(アプリ)まで一挙にご紹介!

BI ツールとは何か?メリット、デメリット、活用事例まで、一挙に紹介!

BI ツールとは何か?メリット、デメリット、活用事例まで、一挙に紹介!

負荷分散の重要性とは?ロードバランサーのメリット、デメリット、選び方を徹底解説!

負荷分散の重要性とは?ロードバランサーのメリット、デメリット、選び方を徹底解説!

移行コストがボトルネック?コストを抑えながらオンプレからクラウドに DWH を移行する方法とは?

移行コストがボトルネック?コストを抑えながらオンプレからクラウドに DWH を移行する方法とは?

データウェアハウス( DWH )とデータベースとの違いとは?5つのポイントを理解して最適なサービスを選択しよう!

データウェアハウス( DWH )とデータベースとの違いとは?5つのポイントを理解して最適なサービスを選択しよう!

テレワーク導入には必須!テレワークセキュリティガイドラインとは何か?

【古いシステムからの脱却を!】レガシーシステムが抱える5つの課題とは?

【古いシステムからの脱却を!】レガシーシステムが抱える5つの課題とは?

効率的なデータ活用を実現!分析したデータを有効活用するためのテクニックを4ステップで紹介

効率的なデータ活用を実現!分析したデータを有効活用するためのテクニックを4ステップで紹介

システム担当者必見!オンプレミスからクラウドデータベースへの移行で注意すべき11のポイントとは?

システム担当者必見!オンプレミスからクラウドデータベースへの移行で注意すべき11のポイントとは?

政府が提唱する「デジタル・ガバメント実行計画」とは?民間企業への影響まで徹底解説!

政府が提唱する「デジタル・ガバメント実行計画」とは?民間企業への影響まで徹底解説!

API 活用の最前線に迫る! Apigee の3大活用パターン、国内事例、最新情報まで徹底解説!

Looker で次世代のデータ活用を実現!データの民主化における課題と解決法とは?

Looker で次世代のデータ活用を実現!データの民主化における課題と解決法とは?

図解】Google データポータルとは?機能、導入方法、使い方まで徹底解説!

【図解】Google データポータルとは?機能、導入方法、使い方まで徹底解説!

クラウドサーバーとは何か?導入時のポイントや選び方まで徹底解説!

クラウドサーバーとは何か?導入時のポイントや選び方まで徹底解説!

社内のコラボレーションを加速する Googleグループとは?概要、できること、実際の作り方まで徹底解説!

情報漏えいが起こる原因とは?過去事例や防ぐための方法まで徹底解説!

成功する DXの進め方とは?具体的な手順を9ステップでわかりやすく解説!

Chrome OS で動くビデオ会議システム? Google の最新 AI を搭載した Series One を徹底解説!

【経営者必見!】IT 化が進まないことによるリスクとは?進まない理由や推進するための方法まで徹底解説!

【経営者必見!】IT 化が進まないことによるリスクとは?進まない理由や推進するための方法まで徹底解説!

システム導入に反対する現場を説得するには?ステークホルダーマネジメントと大切な3つのポイントを徹底解説!

システム導入に反対する現場を説得するには?ステークホルダーマネジメントと大切な3つのポイントを徹底解説!

【 IT に強い人材を育てる!】「社員の IT リテラシーを向上させる3つの方法」と「 IT リテラシーが低いことによる5つのリスク」とは?

【 IT に強い人材を育てる!】「社員の IT リテラシーを向上させる3つの方法」と「 IT リテラシーが低いことによる5つのリスク」とは?

IT モダナイゼーションとは?種類、メリット、実現するためのポイントまで徹底解説!

IT モダナイゼーションとは?種類、メリット、実現するためのポイントまで徹底解説!

複数プロジェクト構成の Cloud Monitoring がより使いやすくなりました

複数プロジェクト構成の Cloud Monitoring がより使いやすくなりました

Cloud Run 2020 年のアップデートおさらい

Cloud Run 2020 年のアップデートおさらい

「 Lift & Shift 」 とは?クラウド移行の手順を5ステップで解説!

Lift & Shift とは?クラウド移行の手順を5ステップで解説!

スプレッドシートの定期作業を GAS で自動化する

スプレッドシートの定期作業を GAS で自動化する

Cloud SDK のインストールについて

Cloud SDK のインストールについて

iOS アプリと Android アプリを同時に開発!Flutter とは??

iOS アプリと Android アプリを同時に開発!Flutter とは??

Cloud SDK から VM へ安全に接続する方法

Cloud SDK から VM へ安全に接続する方法

データマネジメントとは何か?成功させるための3つのポイントと具体的な進め方を5ステップで解説!

データドリブン経営とは?実現に向けた4ステップや成功事例まで徹底解説!

Excel作業の属人化を回避する方法とは?組織全体のデータ活用が課題解決の鍵!

Cloud Spanner vs Cloud SQL

Cloud Spanner vs Cloud SQL

データ活用に欠かせないデータクレンジングとは?具体的な方法を4ステップで解説!

BYODとは?導入時のメリットとデメリットや導入時に押さえておきたいポイントを徹底解説

効率的なデータ保護を実現! DLP の概要、機能、メリット、活用事例まで一挙に紹介!

効率的なデータ保護を実現! DLP の概要、機能、メリット、活用事例まで一挙に紹介!

【実況ツイートまとめ】 Google Cloud Next '18 トップゲートエンジニアの3日目

【実況ツイートまとめ】 Google Cloud Next '18 トップゲートエンジニアの3日目

【実況ツイートまとめ】 Google Cloud Next '18 トップゲートエンジニアの2日目

【実況ツイートまとめ】 Google Cloud Next '18 トップゲートエンジニアの2日目

【実況ツイートまとめ】 Google Cloud Next '18 トップゲートエンジニアの1日目

【実況ツイートまとめ】 Google Cloud Next '18 トップゲートエンジニアの1日目

画像

GCP Live November 2014

画像

Managed VMs with Docker

画像

GAE Managed VMs誕生までの歴史を振り返る

画像

GAE ModulesをSimpleに使う

画像

Web Componentsを使ってみよう!

画像

Android Wearアプリケーション開発入門

画像

TypeScriptの型定義ファイルを共有しよう!

画像

Google Cloud Platform Live Report

画像

yeomanを用いてWeb開発を楽にする

画像

Topgate Golang勉強会 Report No.1