投稿

英語弱者が英語を話せるようになるまで Day6 テーマ:Interviews

イメージ
知らなかったこととかのメモ。 テーマ:Interviews 知らなかった語彙 知っていたけど普段使えていない表現 今後の人生で人生で(おそらく)使うことはないけど初めて知った表現 面接について 知らなかったこととかのメモ。 テーマ:Interviews 面接に関するトピック。 なんかやる気がでる。 知らなかった語彙 I’d like to begin by ~ 意味:~から始めたい(始めようと思う的な方が近いかも?) 面接官が面接を始めるときに「I’d like to begin by asking」という形で出てきた。 まあ面接を始める時の前置きみたいな感じだよね。 the moment I read about your program, I was genuinely interested. 意:このプログラムを読んだ時、とても興味が湧いた 別に表現自体は普通だけど強意の表現で genuinely を使うのっていいよねと思った話。 焦っている時とかは無意識の内に very とか too 祭りになっているのでここら辺の表現を連続して使うのを避けられればより自然になりそう。 知っていたけど普段使えていない表現 Let’s move on next part. 意:次のパートに進もう 前書いた次に進みましょう、という表現を言い換えるならこれ。 担当の先生がそういってたので真似るだけ何だけど、今思えば何でこれを使っていなかったんだろう・・・ 何にせよ勉強できたからよし!ということで。 今後の人生で人生で(おそらく)使うことはないけど初めて知った表現 honor student 意:特待生、優等生 はい。僕の人生でこういう時期がほとんどなかったので使うことはないと思いますが、へぇ〜と思ったので書きました。 海外だと大学のGPAはかなり重要だと聞いたことがあるし、これはよく使われるんだろうなあという話。 面接について 会話パートの内容は 挨拶 ↓ 何でこのプログラム(ポジション)に興味持ったん? ↓ この仕事をするのにどういう経験があるん? ↓ 強みと弱み教えてや ↓ このプログラム(ポジション)にどういうことを期待してるん? ↓ 終わり、合否連絡に

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

failed: unable to get local issuer certificate (_ssl.c:1123)と出たので解決した話

イメージ
Webスクレイピングとか 試していたらこれが突然出た。 macOS用公式インストーラーのPython 3.6でCERTIFICATE_VERIFY_FAILEDとなる問題 という記事に解決策が書いてあったが、 python.orgで配布されているmacOS用の公式インストーラーでインストールしたPython 3.6を使い、 urllib.request.urlopen() で https:// のWebページを取得しようとすると、以下のエラーが発生します。 で、このタイトルのエラーに当たっていたよう。 私の場合はPython3.8.5を使っていたので $ /Applications/Python\ 3.8/Install\ Certificates.command というコマンドをターミナルで叩くことで事なきをえた。 読んでないのが悪いとはいえこれはハマる人が多いんじゃなかろうか。

CodeWarsの話。CreatePhoneNumber編

イメージ
たまたま目にしたので Create Phone Number たまたま目にしたので CodeWars なるサイトがあるとのことで試しに登録してみた。 サイトで問題を解いてコーディングスキル上げてね!みたいなサイトです。 Create Phone Number そこで2問目(3問目だったかも)で出てきた Create Phone Number についてPythonで解いていました。 この問題はリストで10桁の数字が与えられるので、それらの値を電話番号のフォーマット、下のような形式で変換して返してほしいという問題です。 create_phone_number ( [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ] ) # => returns "(123) 456-7890" 僕は愚直にfor文の中で分岐を何度も挟むことで作る、という方法を取りました。 def create_phone_number ( n ) : phone_number = '(' for i , num in enumerate ( n ) : if i < 3 : phone_number += str ( num ) if i == 2 : phone_number += ') ' elif i <= 13 : phone_number += str ( num ) if i == 5 : phone_number += '-' return phone_number でもよく見たらこれって書く量も多いし、なんかあんまりいけてないなぁと思っていたところ他の方の回答を見たところ、こんな解答を見つけました。 def create_phone_number ( n ) : return "({}{}{}) {}{}{}-{}{}{}{}" .

Nuxt.jsを短期間でFirebaseにデプロイしてCircleCIで自動デプロイをするところまでを設定するマニュアル

イメージ
楽をするのは良いことだ 環境 構築 Firebase Nuxt.js 楽をするのは良いことだ ということで、個人的に好きで使っているNuxt.jsをFirebaseにデプロイし、その後Githubにプッシュするたびに自動的にデプロイされるように設定するまでをこの記事では解説しておきます。 Firebase使ってみた こちらの記事を参考にさせていただきました。 環境 OSX Catalina npm version6.14.6 node.js v12.18.4 構築 Firebase まず Firebase にログインします。 Googleアカウントが必要となるので持っていない方は取得してください。 こちらのページにアクセスしたら使ってみるをクリックし、以下の個人のプロジェクトを管理するページに移ってください。 そしてプロジェクトを追加をクリックし、任意のプロジェクト名を設定し、プロジェクトを作成してください。 これでプロジェクトを作成できました! ひとまずターミナルを開き、以下のコマンドを使ってFirebase CLIをインストールしておきましょう。 $ npm install -g firebase-tools そしてついでにログインをしておきましょう。 $ firebase login 次はNuxtプロジェクトを作成し、Firebaseとつないでデプロイしてみましょう。 Nuxt.js mkdir firebase cd firebase vue init nuxt-community/starter-template sample こちらでfirebaseディレクトリ内にNuxtのテンプレートが作成されました。 そして次にfirebaseとつなぐ必要があるので以下のコマンドをターミナルで実行してください。 また、ここではHostingを選択してください。 $ firebase init MacBook-Pro sample % firebase init ######## #### ######## ######## ######## ### ###### ######## ## ## ##

社内システムを開発する際にAPIを使う、という選択肢を考える

イメージ
社内システムとAPI 社内でとある雑談をしている際に、社内システムを構築する際にAPIを設計、開発するとより簡単、かつ疎結合なシステムを作る時に便利になってくるのではないか、という前提を元にAPIについて勉強しなおしました。 どうせ勉強するならアウトプットして外に出すことで間違っていた際にご指摘を受けることも出来ますし、自身の勉強の証にもなるだろうということでサクサクっと書いていきます。 参考図書 Webを支える技術 Web API: The Good Parts 学習の順番 Webを支える技術 Web API: The Good Parts の順で勉強しました。 正確には Webを支える技術 は読んだことがあったので、基本的な歴史や仕様について学び直すために読んだ、と言ったほうが正しいかもしれません。 そもそもHTTPとかを理解できていないとAPIについて何を言っているのか分からない、というのはあると思うのでWebの仕組みを理解する基礎固めのためにも読むべきだと思います。 あと単純に面白いです。 Web API: The Good Parts はWeb APIをこれから設計、開発しようという人を対象とした本なので、APIについてのざっくりとした説明はあるものの、主軸はあくまでこういうAPI設計したら気持ち悪くね?こっちの方がよくね?とか、特定のユーザーにAPI叩かれすぎたら困るよね?じゃあこうしよう!などの開発者向けの内容がメインです。 こちらも面白かったです。 オライリーの本ですが、著者が日本の方ということもあり、分かりにくい表現も少なく、スラスラ読める、という印象なので困っている方に特におすすめです。 そもそもAPIって何よ? 一般的な定義 Application programming interface の略です。 よく言われるAPI、というのは大体の場合Web APIのことを指します。 なお、APIを使うことをITエンジニア界隈では「APIを叩く」、と言います。 これはAPIを使うことを英語で「hit api」というためで、それが和訳されて使われ続けて今に至るとか。 なお、Web APIとは、 Web API: The Good Parts にある通り、 Web APIとは「HTTPプロトコルを