投稿

7月, 2021の投稿を表示しています

Pythonの基本的な組み込み型の整理①

イメージ
組み込み型を知ること Elements of Programming Interviews in Python: The Insiders’ Guide 数値関連 abs(x) math.ceil(x) math.floor(x) min(x,y) max(x,y) pow(x,y) sqrt(x) 組み込み型を知ること お仕事で書かないのでどうしても行き当たりばったりで書くことが多いのでたまには地味な基礎的なこととか書きたいなと。 何回かに分けて書きます。 Elements of Programming Interviews in Python: The Insiders’ Guide 以前 こちらの記事 でも紹介したいわゆるコーディングインタビュー対策用の本、 Elements of Programming Interviews in Python: The Insiders’ Guide 。 この本の中にChapter4にPrimitive Typesという章があったので、せっかくだし記事にしようとなりました。 公式の組み込み関数はこちら 数値関連 abs(x) 数値xの絶対値 |x|を求めるときに。 >> > abs ( - 10 ) 10 math.ceil(x) 公式のmath(数学関数)はこちら math.ceil は天井、引数として与えた x 以上の最小の整数を返します。 例えば、 >> > import math >> > math . ceil ( 2.17 ) 3 といったように、小数に関してもカバーしています。 math.floor(x) 対して math.floor です。 ceil(天井) と反対の床を意味することから、真逆の結果を返すような関数であることが想像できますよね。 返り値として x の「床」 ( x 以下の最大の整数) を返します。 >> > math . floor ( 2.17 ) 2 min(x,y) max(x,y) これらは書かなくても知ってるよ!となる気がするので軽く。 min(x,y) で x,y が数値型の場合、 x,y のいず...

英語弱者が英語を話せるようになるまで Day5

イメージ
知らなかったこととかのメモ。 テーマ:Announcing a Pay Cut 知らなかった語彙 知っていたけど普段使えていない表現 思いつかなかったけどこう言うことを伝えたかった 知らなかったこととかのメモ。 テーマ:Announcing a Pay Cut 給料カットを報告するときの表現をメインに勉強するトピック。 なんか良くない話題が多いがしょうがない、ビジネスだし。 知らなかった語彙 The company is in the red 意味:[会社の]赤字である 赤字、と red でそのままだなと思った。 確かにビジネス以外では使わないし、単純に白井なかったので要復習。 As soon as we break even, we will get your salaries back to where they were. ニュアンス的には利益が出始めたら給料戻すよ!ってことなんだろうけど、しっくり来なかったからDeepLにかけてみた。 「損益分岐点に達した時点で、皆さんの給料を元に戻します。」 ・・・ 損益分岐点でいいのか・・・??? We are forced to impose a salary reduction. 意味:「給与の減額を余儀なくされている。」 給料の減額は同じような意味で cut your pay も使われていた。 ここら辺の語彙には敏感になっていた方が良さそう。いや真面目に。 知っていたけど普段使えていない表現 in an attempt to V 意味:「〜する試みで」 try to ~とかで誤魔化しがちだけど一辺倒になるのは良くないのでここら辺も覚えておきたい。 despite/is sprite of~ 意味:「~にも関わらず」 大体上手くいってない時に使ってるイメージ。 受験でも結構出るような語彙なのにあまり使ったことないな・・・ ちなみにレッスン中では Desipite all of your efforts ~ という形で出ていた。 まるで死刑宣告みたいだぁ・・・ I am afraid~ 意味:「残念ながら〜」 これも良くないことを伝える時に。 ポジティブな事ばかりではないのだからそういう時にどう伝...

英語弱者が英語を話せるようになるまで Day4

イメージ
知らなかったこととかのメモ。 テーマ:Firing an Employee そういえば更新日が迫っている時にシステムエラーが何度か続いたのでレアジョブからDMMに切り替えました。久しぶりに英会話記事。 といってもメモ程度なので役に立つかは分かりません。 従業員を解雇するときの表現をメインに勉強するトピック。 知らなかった語彙 cut to the chase 意:[ズバリと]要点を言う。 本文の中では「I’ll cut to the chase.」と言う書き方がされていた。 口語的な表現っぽいので要復習。 severance package 退職金。講師に質問したら解雇される時にその月の給料とその次の給料とか出たりするらしい。解雇されることがない環境でしか仕事をしていないから聞き馴染みがなかったけどそういうものなのか… We wish you well in your future endeavors. endevors って今までの英会話で本当に一回も使ったことないかもしれん。 そういえば感謝の 「We appreciate the contribution you have made to the company.」 とか 「We appreciate all the hard work you did for us.」 みたいなのはいったとしても幸運を祈る、みたいなのってあまり(個人的な)語彙としては存在しない気がする。 知っていたけど普段使えていない表現 What am I supposed to do now? あまり使っていなかったが、考えてみれば使えるシチュエーションが多い気がする。 ここで覚えて今後使えるようにしたい。 There is no easy way to say this. 申し訳ない時の表現。 前置きとしてビジネスシーンで使えるので覚えておいた方が良さそう 同様に「This is not an easy task for me to do.」 も使える。 Considering your performance… your 以下は何でもいいけど原因を伝えるときに有用っぽい。 思いつかなかったけどこう言うことを伝えたかった Have you eve...

for文を使うかWhile文を使うかの話

イメージ
どっちでもいいじゃん、そう思っていました for文とWhile文を使うシチュエーションについて深く考えたことがなかったのです。 正直できることにほとんど差がないし すると、 コーディングを支える技術――成り立ちから学ぶプログラミング作法 を読んでいるときにどちらも一緒ならばfor文の方が読みやすいよ!と書いていたので確かに!と思ったのでメモ。 そう述べているメインの理由として例を見ながら考えてみます。 C言語でwhile文が要素が以下のように散らばるのに対して、 i = 0 while ( i < N ) { printf ( "%d\n" , i ) ; i ++ ; } for文では以下のような文法のため、一塊の処理として読んだ時に1度で理解しやすくなる、というものでした。 for ( i = 0 ; i < N ; i ++ ) { printf ( "%d\n" , i ) ; } チームで開発する以上、何度も読み返すような例は良くない。 何より自分ですらどういった意図を持ってそのコードを書いたかなんて忘れてしまうのだから簡潔にかけている方がいいですよね。 確かにその通りだと思ったので今後はよっぽどの理由がない限りチーム開発では繰り返し処理をfor文で書くことにしようと思いました。というお話。

【メモ】Swiftの@State

イメージ
@Stateってなんぞや と言う話。 ただのメモなので基本の当たり前のことについて書いておく。 まあ更新可能な変数を宣言したい時につけとけばそう言うものとして扱ってくれるんだろうなぁ、程度のイメージだった。 ただ、知らなかったのはこの値を更新するたびに body を更新、画面を 再描画 するということ。 Swift初期のこととかよく知らなかったけど、この仕組み自体 Swift5.1 で追加されたものらしい。 そもそも論としてstructが基本的に更新不能と言うことを考えれば何かしらの回避可能な仕組みがあって当たり前だろう、ということになりそうなものだけど新しい事を学ぶ時ってインプットが多くなりすぎて詰め込む方に意識がいってしまいすごく今更なメモになった。 ちなみにひとまず動かしてみた例がこれ。 トグルボタンを用意して状態出力するもの。 ソースは ここ 。

SwiftUIのViewModifierについて

イメージ
初心者向け 開発者定義のViewModifier 初心者向け の記事。 SwiftUIではViewでUIの要素を指定し、ViewModifierで要素のレイアウトを整えていく。 その書き方はそれぞれの要素に対して // // ContentView.swift // Modifier // // Created by kuehar on 2021/07/01. // import SwiftUI struct ContentView : View { var body : some View { Text ( "Hello, world!" ) . padding ( ) } } struct ContentView_Previews : PreviewProvider { static var previews : some View { ContentView ( ) } } プロジェクトを作ったときはこういう形式でコードが生成されるが、このコードの中の .padding() が実際のViewModifer。 Previewで見てみると最初はこんな感じだが、 例えば .padding(bottom) に変えてみると、 少しだけ Hello, World! が上に動いている。非常に分かりづらいが。 こういった形で各要素を修飾することによって要素の内容を変えていく。 開発者定義のViewModifier 同時に、開発者側で定義する再利用可能なViewModifierを作成できる。 開発者でどのビューにも適用できる再利用可能なViewModifierを作成したい場合に用いるもので、いくつかのViewModifierを組み合わせて新しいViewModifierを作成することができる、というもの。 例えば Apple公式のViewModifier のドキュメントでは以下のようなViewModifierを定義し、使用しています。 // // ContentView.swift // Modifier // // Created b...