Twitterの名前、記号部分を天気予報のアイコン、夜は月のアイコンへと変更する。
Twitterの名前の特定の記号部分(■や@部分)を天気予報のアイコン、夜は月のアイコンへと変更する。ある有名エンジニアさんのアイディアを拝借して作りました、autoloadとnamespaceの関係で手詰まり、試行錯誤して解決、その次に命名の間違えで手詰まり。そしてファイルの参照で手詰まりしてやっとリリースしました?、長かった。
使用方法はdefineにそれぞれの値をいれてコマンドから定期的に実行すればよいという品物です。Composerでインストールしている環境で下記のコマンドでパッケージをインストールしてください。
パッケージの開発部分は白紙です、今後、この機能に関してはバージョンアップするつもりはないです。
プログラムに改善の余地はありですが、はじめてパッケージ使ったので疲れました?以上、現場からでした。
https://packagist.org/packages/zip358/tw_name_change
https://github.com/zip358/tw_name_change
defineの補足
- OPENWEATHERMAPのAPI_IDが必要です(ユーザー登録が必要です)。
- Twitter API 登録しCONSUMER_KEYなどのキーが必要です。
- Twitterのユーザー名が必要です(自分)。
- KENNOは下記のテーブルを参照ください。
- KIGOUは置き換える文字です。
※正規表現に使われている記号は使用できません。
composer require zip358/tw_name_change
php Twitter_name_change.php
if($argv[0]){
require './vendor/autoload.php';
use zip358\tw_name_change\tw_name_chg;
define("KIGOU","■");
define("KENNO","KENNO");
define("TIME_ZONE","TIME_ZONE");
define("OPENWEATHERMAP_API_ID","Openweathermap_api_id");
define("USER_SCREEN_NAME","user_screen_name");
define("CONSUMER_KEY", "CONSUMER_KEY");
define("CONSUMER_SECRET", "CONSUMER_SECRET");
define("ACCESS_TOKEN", "ACCESS_TOKEN");
define("ACCESS_TOKEN_SECRET", "ACCESS_TOKEN_SECRET");
$tw_name_change = new tw_name_chg();
$tw_name_change->main();
}
KENNO | 県名 |
---|---|
0 | 北海道 |
1 | 青森県 |
2 | 岩手県 |
3 | 宮城県 |
4 | 秋田県 |
5 | 山形県 |
6 | 福島県 |
7 | 茨城県 |
8 | 栃木県 |
9 | 群馬県 |
10 | 埼玉県 |
11 | 千葉県 |
12 | 東京都 |
13 | 神奈川県 |
14 | 新潟県 |
15 | 富山県 |
16 | 石川県 |
17 | 福井県 |
18 | 山梨県 |
19 | 長野県 |
20 | 岐阜県 |
21 | 静岡県 |
22 | 愛知県 |
23 | 三重県 |
24 | 滋賀県 |
25 | 京都府 |
26 | 大阪府 |
27 | 兵庫県 |
28 | 奈良県 |
29 | 和歌山県 |
30 | 鳥取県 |
31 | 島根県 |
32 | 岡山県 |
33 | 広島県 |
34 | 山口県 |
35 | 徳島県 |
36 | 香川県 |
37 | 愛媛県 |
38 | 高知県 |
39 | 福岡県 |
40 | 佐賀県 |
41 | 長崎県 |
42 | 熊本県 |
43 | 大分県 |
44 | 宮崎県 |
45 | 鹿児島県 |
46 | 沖縄県 |
タグ
autoload, Composer, define, https, namespace, org, packages, packagist, Twitter, zip, アイコン, アイディア, アップ, インストール, エンジニア, コマンド, それぞれ, つもり, バージョン, パッケージ, ファイル, プログラム, リリース, 下記, 予報, 今後, 余地, 使用, 値, 参照, 名前, 命名, 品物, 変更, 夜, 天気, 実行, 拝借, 改善, 方法, 月, 有名, 機能, 次, 特定, 現場, 環境, 白紙, 解決, 記号, 試行錯誤, 部分, 開発, 関係,
皆が知りたいアクセス数と収入。
皆が知りたいアクセス数と収入ですが、こんな感じになります。この頃、感じたことはアクセス数が多くても日の収入が少ないということはあります、逆にアクセス数が少なくても収入が多い日もあります。なので、この頃はアクセス数に気をかけていません。毎月、ブログの収入が入ってきたら本当に言うことはないだけど、自分の場合、毎月じゃなく毎年、1回ぐらい振り込まれるような感覚ですね。銀行に振り込まれるには最低収入が8000円に到達しないと振り込まれません。因みに逆算すれば月にどれぐらいの収入を得ているか分かるかと思います。
まぁでもアクセス数が増えていくことが収入が増えていく一番の近道にはかわりはないだろうけど、この頃、アクセス数は日によってまちまちです。100超えする日もあれば、日に2000人超えした日もありと・・・おそらくスパムだろうけど。日によって本当にまちまちなのです。出来れば毎日、平均してアクセス数が1万ぐらいあれば良いなと思っています。たぶん、昔のGさんのアルゴリズムだったら1000人超えはあり得たかもしれないけれど、いまのアルゴリズムだと人によって表示されるサイトや順位が変わるので、正直なところ、100超えしているだけでも、一般人としては、まぁ凄いかもしれない。だけども自分としては毎日、アクセス数が1万超えして頂けないと飯旨には到底なれないなと思っています。
リンクをシェアして拡散して頂けると有り難いです。
トイウコトデ、今後ともどうぞよろしくお願い致します。
タグ
1, 100, 2000, 8000, アクセス, かわり, こと, スパム, どれぐらい, ブログ, まちまち, 一, 万, 到達, 収入, 場合, 平均, 感じ, 感覚, 日, 昔, 最低, 月, 本当, 毎年, 毎日, 毎月, 気, 皆, 自分, 近道, 逆, 逆算, 銀行, 頃,
大衆理容へ行ってきました。
大衆理容へ行ってきました。はじめて低料金の床屋?さんに行ってきたのですが、あっと言う間に髪の毛切られました。雑な扱いなんですけどね、3000円以上支払ってたのと最終的には出来上がりはあまり変わりない気がする。特に超絶にオシャレな髪型でもないので、出来上がりは変わらなかった。確かに髪切ったあとは雑かなと思っていたけど・・・。
家に帰って髪洗って乾かしたら、それほど違和感がなかったというのが衝撃的でした。天然パーマということも助かってか・・・もしれないけれど、見た目は変わらないなと印象を持ちました。でもまぁ…が付きますがね(下記参照)。
大衆理容の求めてはいけないものはコミュニケーションです、ほぼ機械的に散髪をするので会話は必要最低限です、全体を通して雑な対応なのだけど1300円にそういうの求めてはいけないかと思いました。
それに特に男前でもないので、大衆理容でも良いかなと思ったけど、、、やっぱ今まで行きつけの床屋?さんには勝てないなと思いました。
こういう人は大衆理容の方が断然良いと思います、コミュニケーションを求めない、接客サービスを求めない、スポーツ刈りや坊主にしたい方は断然、大衆理容さんの方がお得です。また、髪型の仕上がりはどうでも良い、多少ちぐはぐでも良いひとなども大衆理容さんの方がお得です。
こういう人は行かないほうが良い、オシャレな髪型を目指している人、店員さんの接客サービスも求める方、望まない髪型になって後悔する方などは大衆理容を利用しない方が無難です。
以上、現場からでした。
やっぱリアルな体験が大事だなと?。
タグ
1300, 3000, あと, こと, コミュニケーション, それ, パーマ, もの, 下記, 会話, 全体, 印象, 参照, 大衆, 天然, 家, 対応, 床屋, 必要, 散髪, 料金, 最低限, 機械的, 気, 理容, 男前, 見た目, 超絶, 違和感, 雑, 髪, 髪の毛, 髪型, 髪洗,
ping送信はエラー吐きまくり。
FC2ブログ http://ping.fc2.com
Technorati JAPAN http://rpc.technorati.jp/rpc/ping
NAMAAN http://ping.namaan.net/rpc/
Blog People http://www.blogpeople.net/servlet/weblogUpdates
BulkFeed http://bulkfeeds.net/rpc
gooブログ http://blog.goo.ne.jp/XMLRPC
MyBlog Japan http://ping.myblog.jp
ココログ http://ping.cocolog-nifty.com/xmlrpc
ブログ村 Pingサーバー広場 http://ping.blogmura.jp/rpc/
Amagle ping service http://ping.amagle.com/
ブログスタイル http://blogstyle.jp/xmlrpc/
JUGEM http://jugem.jp/?mode=NEWENTRY
bolgoon http://www.blogoon.net/ping/
人気blogランキング http://blog.with2.net/ping.php/
ドリコム http://ping.rss.drecom.jp
エキサイトブログ http://ping.exblog.jp/xmlrpc
yahoo.com http://api.my.yahoo.com/RPC2
PING.BLOGGERS.JP http://ping.bloggers.jp/rpc/
上記のようなping一覧が在るけれど、実際機能していないものが多い。ping送信はもう時代遅れになりつつ在るのかもしれない。そんな時代遅れになりつつ存在なので、自分でping先をいちいち管理するのは、ナンセンスだと思いこの度、pingoo!(https://pingoo.jp/)というサービスのフリープランを使いだしました。因みにスパム屋さんなど、いろいろな方々が登録されているサービスなのでそれを覚悟でお試しください。
それとは別にping送信をコマンドラインから送信するPHPプログラムを作りました。自分が運用しているよさこい動画検索サイトに入れ込んでいます。ソースコードとコマンドは下記になります。
php ping.php ping
<?php
if ($argv[1]=="ping") {
$nglist = [];
$server = array(
"http://ping.fc2.com",//FC2ブログ
"http://pingoo.jp/ping/",//pingoo.jp
);
$site_name = "よさこい動画検索";
$url_parameter = explode("\n", file_get_contents("../data.csv"));
for ($i = 0; $i < count($server); $i++) {
foreach ($url_parameter as $key => $val) {
$parameter = explode(",", $val);
$parameter[0] = trim($parameter[0]);
$parameter[1] = trim($parameter[1]);
$site_url = "https://yosakoi-video.com/?id={$parameter[0]}&q=" . urlencode($parameter[1]);
$dev = $content = '<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>weblogUpdates.ping</methodName>
<params>
<param><value>' . $site_name . '</value></param>
<param><value>' . $site_url . '</value></param>
</params>
</methodCall>
';
$options = array('http' => array(
'method' => 'POST',
'header' => 'Content-type: text/xml' . "\r\n"
. 'Content-length: ' . strlen($content),
'content' => $content
));
$context = stream_context_create($options);
$ret = @file_get_contents($server[$i], false, $context);
var_dump($server[$i]);
var_dump($parameter[0]);
//var_dump($ret);
}
}
}
タグ
2, Amagle, blog, BLOGGERS, bolgoon, BulkFeed, cocolog-nifty, com, fc, goo, http, https, JAPAN, jp, JUGEM, MyBlog, NAMAAN, People, ping, pingoo, service, Technorati, xmlrpc, Yahoo, いろいろ, エキサイト, エラー, ココログ, サーバー, サービス, スタイル, スパム, ドリコム, ナンセンス, プラン, フリー, ブログ, ブログ村, もの, ランキング, 一覧, 上記, 人気, 先, 存在, 実際, 広場, 度, 方々, 時代遅れ, 機能, 登録, 管理, 自分, 送信,
WordPressの公式ウィジェットカレンダー末日がズレている?ので直した。
WordPressの公式ウィジェットカレンダー末日がズレている?ので直した。直した箇所はこちら変数名に$ooooと書いている部分が今回修正した箇所です。修正したファイルはWordPressのインクルードフォルダにある。ジェネラルテンプレートぴーえぃちーぴー(general-template.php)
wp-includes\general-template.php
このファイルを直しました。コアファイルなので次期UPDATEで修正されるかとは思いますが、それまではこちらの修正でなんとかなるさ?!
因みに何故、$ooooにしたのかは、お???の???という土佐弁からです。ファイルの中にget_calendar(げっとカレンダー)という関数があるのでそちらを修正しています。原因は下記です。
gmdateというものを使用している所をローカルサーバーの時間で対応しました、さくらレンタルサーバーのタイムゾーンは日本時間を指しています。若干の誤差はあるけれど酷い誤差ではないのでdateで大丈夫そうです。
要は日付の末日が正確に取れていないことが原因みたいです?
はやく修正してくれることを願っています。
function get_calendar( $initial = true, $echo = true ) {
global $wpdb, $m, $monthnum, $year, $wp_locale, $posts;
$key = md5( $m . $monthnum . $year );
$cache = wp_cache_get( 'get_calendar', 'calendar' );
if ( $cache && is_array( $cache ) && isset( $cache[ $key ] ) ) {
/** This filter is documented in wp-includes/general-template.php */
$output = apply_filters( 'get_calendar', $cache[ $key ] );
if ( $echo ) {
echo $output;
return;
}
return $output;
}
if ( ! is_array( $cache ) ) {
$cache = array();
}
// Quick check. If we have no posts at all, abort!
if ( ! $posts ) {
$gotsome = $wpdb->get_var( "SELECT 1 as test FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish' LIMIT 1" );
if ( ! $gotsome ) {
$cache[ $key ] = '';
wp_cache_set( 'get_calendar', $cache, 'calendar' );
return;
}
}
if ( isset( $_GET['w'] ) ) {
$w = (int) $_GET['w'];
}
// week_begins = 0 stands for Sunday.
$week_begins = (int) get_option( 'start_of_week' );
// Let's figure out when we are.
if ( ! empty( $monthnum ) && ! empty( $year ) ) {
$thismonth = zeroise( intval( $monthnum ), 2 );
$thisyear = (int) $year;
} elseif ( ! empty( $w ) ) {
// We need to get the month from MySQL.
$thisyear = (int) substr( $m, 0, 4 );
// It seems MySQL's weeks disagree with PHP's.
$d = ( ( $w - 1 ) * 7 ) + 6;
$thismonth = $wpdb->get_var( "SELECT DATE_FORMAT((DATE_ADD('{$thisyear}0101', INTERVAL $d DAY) ), '%m')" );
} elseif ( ! empty( $m ) ) {
$thisyear = (int) substr( $m, 0, 4 );
if ( strlen( $m ) < 6 ) {
$thismonth = '01';
} else {
$thismonth = zeroise( (int) substr( $m, 4, 2 ), 2 );
}
} else {
$thisyear = current_time( 'Y' );
$thismonth = current_time( 'm' );
}
$unixmonth = mktime( 0, 0, 0, $thismonth, 1, $thisyear );
$last_day = gmdate( 't', $unixmonth );
$oooothisyear = date( 'Y', $unixmonth );
$oooolast_day = date( 't', $unixmonth );
$oooothismonth = date( 'm' , $unixmonth);
// Get the next and previous month and year with at least one post.
$previous = $wpdb->get_row(
"SELECT MONTH(post_date) AS month, YEAR(post_date) AS year
FROM $wpdb->posts
WHERE post_date < '$thisyear-$thismonth-01'
AND post_type = 'post' AND post_status = 'publish'
ORDER BY post_date DESC
LIMIT 1"
);
$next = $wpdb->get_row(
"SELECT MONTH(post_date) AS month, YEAR(post_date) AS year
FROM $wpdb->posts
WHERE post_date > '$oooothisyear-$oooothismonth-{$oooolast_day} 23:59:59'
AND post_type = 'post' AND post_status = 'publish'
ORDER BY post_date ASC
LIMIT 1"
);
/* translators: Calendar caption: 1: Month name, 2: 4-digit year. */
$calendar_caption = _x( '%1$s %2$s', 'calendar caption' );
$calendar_output = '<table id="wp-calendar" class="wp-calendar-table">
<caption>' . sprintf(
$calendar_caption,
$wp_locale->get_month( $thismonth ),
gmdate( 'Y', $unixmonth )
) . '</caption>
<thead>
<tr>';
$myweek = array();
for ( $wdcount = 0; $wdcount <= 6; $wdcount++ ) {
$myweek[] = $wp_locale->get_weekday( ( $wdcount + $week_begins ) % 7 );
}
foreach ( $myweek as $wd ) {
$day_name = $initial ? $wp_locale->get_weekday_initial( $wd ) : $wp_locale->get_weekday_abbrev( $wd );
$wd = esc_attr( $wd );
$calendar_output .= "\n\t\t<th scope=\"col\" title=\"$wd\">$day_name</th>";
}
$calendar_output .= '
</tr>
</thead>
<tbody>
<tr>';
$daywithpost = array();
// Get days with posts.
$dayswithposts = $wpdb->get_results(
"SELECT DISTINCT DAYOFMONTH(post_date)
FROM $wpdb->posts WHERE post_date >= '{$thisyear}-{$thismonth}-01 00:00:00'
AND post_type = 'post' AND post_status = 'publish'
AND post_date <= '{$oooothisyear}-{$oooothismonth}-{$oooolast_day} 23:59:59'",
ARRAY_N
);
if ( $dayswithposts ) {
foreach ( (array) $dayswithposts as $daywith ) {
$daywithpost[] = (int) $daywith[0];
}
}
// See how much we should pad in the beginning.
$pad = calendar_week_mod( gmdate( 'w', $unixmonth ) - $week_begins );
if ( 0 != $pad ) {
$calendar_output .= "\n\t\t" . '<td colspan="' . esc_attr( $pad ) . '" class="pad">?</td>';
}
$newrow = false;
$daysinmonth = (int) gmdate( 't', $unixmonth );
$oooodaysinmonth = (int) date( 't', $unixmonth );
for ( $day = 1; $day <= $oooodaysinmonth; ++$day ) {
if ( isset( $newrow ) && $newrow ) {
$calendar_output .= "\n\t</tr>\n\t<tr>\n\t\t";
}
$newrow = false;
if ( current_time( 'j' ) == $day &&
current_time( 'm' ) == $thismonth &&
current_time( 'Y' ) == $thisyear ) {
$calendar_output .= '<td id="today">';
} else {
$calendar_output .= '<td>';
}
if ( in_array( $day, $daywithpost, true ) ) {
// Any posts today?
$date_format = gmdate( _x( 'F j, Y', 'daily archives date format' ), strtotime( "{$thisyear}-{$thismonth}-{$day}" ) );
/* translators: Post calendar label. %s: Date. */
$label = sprintf( __( 'Posts published on %s' ), $date_format );
$calendar_output .= sprintf(
'<a href="%s" aria-label="%s">%s</a>',
get_day_link( $thisyear, $thismonth, $day ),
esc_attr( $label ),
$day
);
} else {
$calendar_output .= $day;
}
$calendar_output .= '</td>';
if ( 6 == calendar_week_mod( gmdate( 'w', mktime( 0, 0, 0, $thismonth, $day, $thisyear ) ) - $week_begins ) ) {
$newrow = true;
}
}
$pad = 7 - calendar_week_mod( gmdate( 'w', mktime( 0, 0, 0, $thismonth, $day, $thisyear ) ) - $week_begins );
if ( 0 != $pad && 7 != $pad ) {
$calendar_output .= "\n\t\t" . '<td class="pad" colspan="' . esc_attr( $pad ) . '">?</td>';
}
$calendar_output .= "\n\t</tr>\n\t</tbody>";
$calendar_output .= "\n\t</table>";
$calendar_output .= '<nav aria-label="' . __( 'Previous and next months' ) . '" class="wp-calendar-nav">';
if ( $previous ) {
$calendar_output .= "\n\t\t" . '<span class="wp-calendar-nav-prev"><a href="' . get_month_link( $previous->year, $previous->month ) . '">? ' .
$wp_locale->get_month_abbrev( $wp_locale->get_month( $previous->month ) ) .
'</a></span>';
} else {
$calendar_output .= "\n\t\t" . '<span class="wp-calendar-nav-prev">?</span>';
}
$calendar_output .= "\n\t\t" . '<span class="pad">?</span>';
if ( $next ) {
$calendar_output .= "\n\t\t" . '<span class="wp-calendar-nav-next"><a href="' . get_month_link( $next->year, $next->month ) . '">' .
$wp_locale->get_month_abbrev( $wp_locale->get_month( $next->month ) ) .
' ?</a></span>';
} else {
$calendar_output .= "\n\t\t" . '<span class="wp-calendar-nav-next">?</span>';
}
$calendar_output .= '
</nav>';
$cache[ $key ] = $calendar_output;
wp_cache_set( 'get_calendar', $cache, 'calendar' );
if ( $echo ) {
/**
* Filters the HTML calendar output.
*
* @since 3.0.0
*
* @param string $calendar_output HTML output of the calendar.
*/
echo apply_filters( 'get_calendar', $calendar_output );
return;
}
/** This filter is documented in wp-includes/general-template.php */
return apply_filters( 'get_calendar', $calendar_output );
}
タグ
calendar, general-template, GET, gmdate, oooo, php, UPDATE, WordPress, wp-includes, インクルード, ウィジェット, カレンダー, コア, こちら, サーバー, さくら, ジェネラル, ズレ, そちら, それまで, タイム, テンプレート, ファイル, フォルダ, もの, レンタル, ローカル, 下記, 中, 今回, 使用, 修正, 公式, 原因, 土佐弁, 変数, 対応, 所, 時間, 末日, 次期, 箇所, 部分, 関数,
100円で買取1100円で売る。
100円で買取1100円で売る。これは買取の適正価格?、ハードオフやブックオフなどの中古買取屋ではそんな感じでものを売っています。売れない商品は100円以下で買い取られたり無料で引き取る形になり、ジャンク品などで売られる場合もある。今日、ハードオフに何か売れるものはないかと見に行ってきたら電源の入らないPS3の本体が3台ほどジャンク品として売られていた。
中身を見ないとわからないけれど、PS3には欠陥があってどこかの基盤のハンダ周りが熱で溶けてしまい、電源が入らなくなる事象があるそうだ。
通称「YLOD」という故障らしい、直し方もググると書いていて技術のある人はトライしてみると良いかなと思いました。因みに電源が入らないPS3(プレイステーション3)が皮肉なことに300円で売られていた。
これらの故障を直して売れる方は300円が3000円に化けるだなと思って見ていた。3000円という値段は最低価格でメルカリだと8000円?1万円前後で売られている。こういう感じで中古屋のジャンク品を買いメンテナンスしてメルカリなどで商品を売ったりしている人も世の中にはいるだろうなと…。
ヤフオクに出品している商品は未だ買い手が現れない、気長に待ちたいと思います。※オークション形式から即決価格で売るように順次対応するつもりです。
因みに「100円で買取1100円で売る。」というタイトルは「100円のコーラを1000円で売る方法」という本のタイトルのパクリです?。
タグ
1, 100, 1100, 3, 300, 3000, 8000, PS, YLOD, こと, これ, これら, ジャンク, どこか, トライ, ハードオフ, パンダ, ブックオフ, プレイステーション, メルカリ, もの, 万, 中古, 中身, 事象, 人, 今日, 価格, 値段, 周り, 商品, 基盤, 場合, 形, 感じ, 技術, 故障, 方, 最低, 本体, 欠陥, 無料, 熱, 皮肉, 買取, 通称, 適正, 電源,
ミラーワールド「メタバース」とAI!ええっ!?
二人が語っている動画を視聴して数年後には彼らが語っていることは全て具現化されていくだろうなと思いました。その中で一番、興味深い話はAI(人工知能)がミラーワールド=メタバース(仮想現実世界)を作りその中でものや機械を生産やシュミレーションを行い、人工知能が試した結果を現実世界で同じように取り入れるという事です。これを見て凄く違和感を感じてしまいました…。
これってリアルワールドと思っている現実世界も実はシュミレーションの中かもしれないという事、まさに映画、マトリックスの世界だなと感じました。
メタバースの世界とは別にやはりAIがプログラミングコードを生成するということはそれほど難しくない、近い将来、複雑なプログラミングも行えるようになるのだなと感じました。これからITエンジニアを目指す方はコード書くよりAIが書き出したコードを修正できる能力の在るひとが必要になるかと思われます。そして数年後にはノーコードでいろいろな事がAIに置き換わるのだなと、それほどITエンジニアはいらないですね。
AIは脅威だと思います、全然大丈夫とは思えない、AIを作る側はこれからも安泰かもしれないけれど、一般人は間違いなく今後数年で仕事はなくなると思います。皆がクリエイティブなことが出来るわけでもないのだから、これはかなり大変な時代になると思います。こういう動きは大企業から始まります、お気をつけて就職活動や転職活動を行ったほうが良さそうです。1時間ほどの動画ですがこれからどう社会を変えていくのかが分かる動画です見る価値ありかな!?。
タグ
AI, IT, エンジニア, コード, こと, これ, シュミレーション, ノー, バース, ひと, プログラミング, マトリックス, ミラー, メタ, リアル, ワールド, 世界, 中, 事, 二人, 人工, 仮想, 修正, 全て, 具現, 動画, 将来, 彼ら, 必要, 数, 方, 映画, 機械, 現実, 生成, 生産, 知能, 結果, 能力, 複雑, 視聴, 話, 違和感,