サーバレス練習帳

着眼大局着手小局

【python】Webプッシュ

PUSH7を使ってWebプッシュができますね!

### インポート
import requests #REST利用、Apache2のプログラムをインポートしています
import json #json解析
import os #環境変数利用
import datetime #日時の変換に利用
import logging #ログ出力


### ログ出力レベル設定
logger = logging.getLogger()
logger.setLevel(logging.INFO) # ログ出力レベルをINFOに設定

### 定数

def Main(event, context):
    ####リクエスト情報ログ表示
    #logging.info(json.dumps(event))
    ####現在時刻取得
    #Timestamp = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
    #print(Timestamp)
    url = 'https://api.push7.jp/api/v1/' + os.environ['appNo'] + '/send'
    print(url)
    headers = {
        'Content-Type' : 'application/json',
        'Authorization' : 'Bearer '+os.environ['apiKey']
    }
    payload = {
        'title': os.environ['title'],
        'body': os.environ['body'],
        'icon': os.environ['iconUrl'],
        'url': os.environ['link'],
         'disappear_instantly': False,
    }
    res = requests.post(url,headers = headers,data=json.dumps(payload))
    print(res)
    print(res.text)
    
    html = '\
    <!DOCTYPE html>\
    <HTML lang="ja">\
	    <HEAD>\
	        <meta http-equiv="refresh" content="0; URL='+os.environ['redirectUrl']+'" />\
		    <meta charset="utf-8"/>\
		    <Title>送信完了!</Title>\
	    </HEAD>\
	<BODY><h1><font color="#32CD32">送信完了!</font></h1><br>\
	<h2><a href="'+os.environ['link']+'">戻る</a></h2>\
	</BODY>\
    </HTML>'
    
    return {
        "statusCode": 200,
        "headers": {"Content-Type": "text/html"},
        "body": html
    }

【セキュリティ】セブンペイ

情報セキュリティは経営者の必須スキルだな、、、と思いまして、勉強を始めることにした。2段階認証といわれて、言葉は知っていますけど、この記者さんのようにパッと説明できないな。秋の情報処理技術者試験は7/11から申し込みか、、、今回はチャレンジしてみようかな。

 

https://daiki-global.work/news/5085/

 

【delphi】Windows10のアクションセンター

Windows10の右下にアクションセンターって、ありますよね。これです、これ。
f:id:urbanplanner:20190622184649p:plain
こちらに、次のプログラムで、メッセージを送れます!

procedure TMainForm.FormCreate(Sender: TObject);
var
  dwExStyle : Cardinal;
  ANotification : TNotification;
begin
  ANotification := NotificationCenter1.CreateNotification;
  ANotification.Title := 'いえーい!' ;
  ANotification.AlertBody := 'ノーティフィケーションテストです!';
  NotificationCenter1.PresentNotification(ANotification);
end;


www.gesource.jp

【delphi】タイトルバーを非表示にしても、フォームをドラッグで移動できるようにする

ちなみに、同時にフォームを半透明にする処理も加えている。

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.Menus
  ;

type
  TMainForm = class(TForm)
    PopupMenu1: TPopupMenu;
    TrayIcon1: TTrayIcon;
    MainPanel: TPanel;
    procedure FormCreate(Sender: TObject);
  private
    { Private 宣言 }
    //AMovePanel : TplMovePanel;
  public
    { Public 宣言 }
  protected
    procedure WmNCHitTest(var msg: TWmNCHitTest); message WM_NCHITTEST;
  end;

var
  MainForm: TMainForm;

implementation

{$R *.dfm}

procedure TMainForm.FormCreate(Sender: TObject);
var
  dwExStyle : Cardinal;
begin
  //半透明処理
  dwExStyle := GetWindowLong( Handle, GWL_EXSTYLE);
  dwExStyle := dwExStyle or WS_EX_LAYERED;
  SetWindowLong( Handle, GWL_EXSTYLE, dwExStyle);
  SetLayeredWindowAttributes(Handle,0,200,LWA_ALPHA);
  //タイトルバー非表示
  Borderstyle :=bsnone;
end;

procedure TMainForm.WmNCHitTest(var msg: TWmNCHitTest);
begin
  //継承元のメッセージの実行
  inherited;
  //これ以降のコードを実行しなければ通常のTPanelと同じ動作となる
  if not (csDesigning in ComponentState) then begin
    //クライアント領域がクリックされた場合
    if Msg.Result=htClient then begin
      //フォーカス移動(文字入力が可能な状態に)してキャプションバーだと思わせる
      SetFocus;
      msg.Result := HTCAPTION;
    end;
  end;
end;
end.

kwikwi.cocolog-nifty.com

blog.fenrir-inc.com