vsftpdとは?

LinuxなどUNIX系OSでよく利用されるFTPサーバの一つ
OSに常駐するデーモンプログラムの一種で、FTPによる接続を受け付け、指定されたディレクトリ内での送受信を行うことができる

sudo yum list | grep ftp
sudo yum install vsftpd

なるほど、わかってきた

minetypeとは

$ cat /usr/share/mime/packages/freedesktop.org.xml

// 拡張子の確認
$ mimetype article.hpscript
article.hpscript:

$ sudo vi /usr/share/mime/packages/freedesktop.org.xml

  <mime-type type="application/hpscript">
    <comment>Hpscript File</comment>
    <comment xml:lang="ja">Hpscript ファイル</comment>
    <acronym>Hpscript</acronym>
    <expanded-acronym>Hpscript file</expanded-acronym>
    <glob pattern="*.hpscript"/>
  </mime-type>

// mime database更新
$ sudo update-mime-database /usr/share/mime
$ mimetype article.hpscript
article.hpscript: application/hpscript

うおおおおおおおおおおおおお
sugeeeeeeeeeeeee

.htpasswdとは

Apacheで基本認証を行うためのユーザ/パスワードの作成/削除等を行うコマンド

BASIC認証のID/Passwordを格納するファイルのことね。OK

tarファイルとは

tarとはtape archiveの略
複数ファイルを一つにまとめて格納するアーカイブ(書庫)ファイルの形式の一つ
同形式のファイルの操作を行うためのUNIX系OS標準のコマンドおよびプログラムの名前

PCI DSSとは

PCI DSSとは?
– クレジットカード会員データを安全に取り扱う事を目的として策定されたクレジットカード業界のセキュリティ基準
– セキュリティ対策フレームワーク
– Payment Card Industry Data Security Standardの頭文字をとったもの

### 認証の取得
1. PCI国際協議会によって認定された審査機関(QSA=Qualified Security Assessor)による訪問審査を受けて、認証を得る

2. PCI国際協議会によって認定されたベンダー(ASV=Approved Scanning Vendor) のスキャンツールによって、四半期に1回以上の点検を受けて、サイトに脆弱性のないことの認証を得る

3. 自己問診
PCIDSSの要求事項に基づいた、アンケート形式によるチェック項目に回答して、すべて「Yes」であれば、準拠していると認められる

1つ適用というわけではなく、カード情報の取り扱い規模や事業形態によって複数を実施する
AISやSDPなど各カードブランドのプログラムによって適用するレベルが異なる

### PCI DSSで定められている目標と要件
– 安全なネットワークとシステムの構築と維持
1.カード会員データを保護するために、ファイアウォールをインストールして維持する
2.システムパスワードおよびその他のセキュリティパラメータにベンダ提供のデフォルト値を使用しない

– カード会員データの保護
3.保存されるカード会員データを保護する
4.オープンな公共ネットワーク経由でカード会員データを伝送する場合、暗号化する

– 脆弱性管理プログラムの整備
5.マルウェアにしてすべてのシステムを保護し、ウィルス対策ソフトウェアを定期的に更新する
6.安全性の高いシステムとアプリケーションを開発し、保守する

– 強力なアクセス制御手法の導入
7.カード会員データへのアクセスを、業務上必要な範囲内に制限する
8.システムコンポーネントへのアクセスを識別・認証する
9.カード会員データへの物理アクセスを制限する

– ネットワークの定期的な監視及びテスト
10.ネットワークリソースおよびカード会員データへのすべてのアクセスを追跡および監視する
11.セキュリティシステムおよびプロセスを定期的にテストする

– 情報セキュリティポリシーの整備
12.すべての担当者の情報セキュリティに対応するポリシーを整備する

なるほどー、結構厳しいな…

dbのバキュームとは

VACUUM は、不要タプルが使用する領域を回収します。 PostgreSQLの通常動作では、削除されたタプルや更新によって不要となったタプルは、テーブルから物理的には削除されません。 これらのタプルはVACUUMが完了するまで存在し続けます。 そのため、特に更新頻度が多いテーブルでは、VACUUMを定期的に実行する必要があります。

RSSでiOS developerの新着情報を取得しよう

$feed = file_get_contents('https://developer.apple.com/news/rss/news.rss');
$rss = simplexml_load_string($feed);

$i=0;
foreach($rss->channel->item as $item) {
	if($i < 10) {
		$date = $item->pubDate;
		$title = $item->title;
		$description = strip_tags($item->description);
		$description = substr($description, 0, 150) . "...";
		echo $date . "\n";
		echo $title . "\n";
		echo $description . "\n\n";
	}
	$i++;
}

$ php index.php
Tue, 15 Feb 2022 10:00:46 PST
Enable Family Sharing for your subscriptions
Family Sharing helps people share access to eligible auto-renewable subscriptions with up to five iCloud family members across their Apple devices. Yo…

Tue, 08 Feb 2022 08:40:52 PST
Get ready for App Store sessions
Connect with Apple experts through online sessions February 15 to March 29 to learn about the latest App Store features and get your questions answere…

Thu, 03 Feb 2022 22:35:55 PST
Additional details available for dating apps in the Netherlands
Throughout its history, Apple’s App Store has helped drive innovation in the Netherlands. Today, the iOS app economy supports over 184,000 Dutch job…

Tue, 01 Feb 2022 12:18:13 PST
Updated Apple Developer certificates now available
As a reminder, the intermediate certificate updates are now available for the Apple Push Notification service (APNs) and Developer ID.Apple Worldwide …

Wed, 26 Jan 2022 13:32:49 PST
Apple Search Ads now supports custom product pages
With custom product pages, you can create up to 35 additional versions of your App Store product page to showcase different app features, content, or …

Tue, 25 Jan 2022 16:27:41 PST
New App Store Connect API capabilities now available
The App Store Connect API now offers greater flexibility to automate and customize workflows for your app. With these new capabilities, you can create…

Sat, 22 Jan 2022 09:28:08 PST
Deadline for in-app purchase and account deletion requirements extended
In order to provide more time for you to update your apps, we’ve changed the following requirement deadlines to June 30, 2022.Online group event in-…

Thu, 20 Jan 2022 14:18:26 PST
Custom offer codes for subscriptions now available
Now it’s even easier to acquire, retain, and win back subscribers. In addition to one-time-use codes, you can now create custom codes in App Store Con…

Wed, 19 Jan 2022 07:00:24 PST
Explore the latest videos
Discover how you can add support for in-app events, develop for Apple Watch, learn about Metal for A15, and more.

これをメールでcronで送るか…

ほう

中国語のRSSテックニュース(36Kr)をバッチで取得しよう

### 課題
– 中国語の学習を習慣化させ、効果的に身に付けたい
– アプリ(Busuu)で隙間時間に学ぼうとやってみたが、イマイチ続かない
– 単語などの基礎とは別に、生きた文章を並行して習得したい

ということで、経済ニュースのRSSをバッチ処理で送ることにした。
中国のテックメディアで36Krが大手らしいので、rsshub.appから取得して、毎朝Gメールに送るようにする。
mb_send_mailのmb_languageは”uni”、encodingは”utf-8″

$rss = simplexml_load_file('https://rsshub.app/36kr/newsflashes');

mb_language("uni");
mb_internal_encoding("UTF-8");

$to = "hoge@gmail.com";
$date = date("m月d日");
$subject = "快讯 36氪 (" . $date.")";

$message = "";
$i =0;
foreach($rss->channel->item as $value){
	if($i < 10){
	$k = $i + 1;
	$message .= $k.".".$value->title ."\n";
	$message .= $value->link . "\n";
	}
	$i++;
}

$email = "hoge@hoge.jp";
mb_send_mail($to, $subject, $message, "From:".$email);

悪くない

5G周波数割り当てとソケット通信の仕組み

– 5Gでは低い周波数(VHF帯)から高い周波数(ミリ波帯)の複数の周波数帯を組み合わせて利用し、場所、時間、アプリケーションなどにより最適な使い方を採用
– 10Gbps + 高速移動対応
– 電波(Hz=1秒間の振動数)とは電磁波。電波を使って通信を行う場合、変調という操作を行い、伝達したい情報を載せる

27.00GHz 〜 27.40GHz 楽天
27.40GHz 〜 27.80GHz NTTドコモ
27.80GHz 〜 28.20GHz au
29.10GHz 〜 29.50GHz ソフトバンク
※4GではドコモにはLowにあたる3,480MHz~3,520MHz、KDDIには3,520MHz~3,560MHz、ソフトバンクは3,560MHz~3,600MHz

周波数帯(バンド)は機種によって事なる
高い周波数帯の電波は回り込みにくいため、屋内やビル街で繋がりにくい可能性がある

1.周波数利用効率のさらなる向上
L Non-Orthogonal Multiple Access:電力ドメインを使って複数ユーザーの信号を重畳することで、さらなるスループットを向上させる
L Massive MIMO: 100以上のアンテナ素子を使い指向性の高いアクティブアンテナを用いて、ビームフォーミングによる干渉回避と、多数のユーザーの同時接続を可能にするMIMO技術であり、20GHz帯など、高い周波数と相性がよく、容量不足の解消につなげる

2. ネットワークの高密度化
L HetNet (Heterogeneous Network):セル半径の異なるシステムを同一エリア内に混在させ、これらを協調して動作させ、ネットワーク全体のキャパシティを大幅に改善する技術
L デュアルコネクティビティ(C/U分離): 端末と基地局は、接続を制御する「C-plane」(制御信号)と、実際のデータが流れる「U-plane」(ユーザーデータ信号)の2つの信号を送受している。広範囲をカバーするマクロセルでC-Planeを、速度を稼ぎやすいスモールセルでU-planeを別々に通信する「C/U分離」方式により、ネットワークを高密度化

パケット制御技術を使っている。パケット通信では、1本の回線で同時に複数の通信が可能(回線交換方式は回線を占有してしまう)
1パケットは128バイト
Packet Assembly and Disassemblyとはパケットの組立/分解装置の事
データはTCPヘッダ、IPヘッダと共に送信される
通信データはOSのTCP処理で行う

TCP/IP階層: プロトコル
アプリケーション層: HTTP, SMTP, POP, FTP
トランスポート層: TCP, UDP
インターネット層: IP
ネットワークインターフェイス層: イーサネット、無線LAN, PPP…

IPアドレスとはネットワークアドレスとホストアドレスに別れる
16.42.0.9で、16.42をネットワークアドレス、0.9をホストアドレス(サブネットとホストアドレスに分割できる)とする
IPアドレスの変換は/etc/hostsで行うか、DNSサーバで変換
IPパケットはgatewayに送信される

Ethernet Frame(イーサネット規格に従って通信する時のデータ): Destination Ethernet address, Source ethernet address, Protocol, Data, Checksum
IP Packet: Length, Protocol, Checksum, Source IP address, Destination IP address, Data
TCP Packet: Source TCP address, Destination TCP address, SEQ, ACK, Data

登録済みのポートは/etc/servicesにある
$ sudo cat /etc/services

http            80/tcp          www www-http    # WorldWideWeb HTTP
http            80/udp          www www-http    # HyperText Transfer Protocol
http            80/sctp                         # HyperText Transfer Protocol

ネットワーク接続一覧の確認
$ netstat -a

パケット送信の流れ
1. Raw Socket作成
2. IPヘッダー作成
3. UDPヘッダー作成
4. 送信

payloadとはデータ送信における正味のデータ部分
Linuxでは、socket()関数を利用してソケットを作成できる
サーバ側はソケットを作成し、接続待ちをするIPアドレスとポートを設定し、接続を受け付け通信を行う
クライアント側はソケットを作成し、接続相手を設定し通信を行う

socket()-> bind() -> listen() -> accept() -> read()/write() -> close()
apacheの場合、不特定多数のクライアントとやり取りするので、子プロセスで複数のaccept()の状態を作る

つまり様々なデータはsocket化して基本的にTCP/IPで、変調して電磁波で送受信して、クライアントとサーバでやり取りしてるってことね。
そして1パケットは128バイトってことは、リクエストに応じたパケットを作成しているのね。
この辺、義務教育で勉強したかったな。しかし、subnetやgatewayはawsの概念と一緒だな。Linux研究せなあかん。

スタートアップハブ Tokyo

スタートアップハブ Tokyoから、なんか手紙来た? と思ったら、quoカードだった^^
利用者アンケート。

dav

こういうの当たったことないから嬉しい^^
スタートアップの空気感だと、Gaiaxとかもいい印象だけど、スタートアップハブもサービスいいね。