八木日記

いろいろなこと

最近の話、ちょっとPHPの話

ここ半年くらいブログ更新できていませんでした。。。
(転職、引っ越しなどでバタバタしていてという言い訳です)


以前の仕事ではJavaを使うことが多かったですが、今はPHPを使うことが多くなりました。

PHPを使うのは初めてなのですが、違う型のものの比較のところで引っかかっていたりしていました。
例えば、下記の比較がtrueになりますが、それが馴染みありませんでした。

"1"==1

Javaでは、上記の比較をしようとすると型が違うのでコンパイルエラーが発生しますが、PHPでは暗黙の型変換が起きてtrueになるそうです。
(以下の記事を拝見しました)
qiita.com

あとは、PHPでは変数の宣言時に型宣言をしないところもまだ慣れないです。

最近は、paizaラーニングのランクDスキルチェック問題を10問程やってみましたが、
ランクDだとやっぱり物足りない感があるので、もうちょっとランク上げた方が良さそう。。。

2020/02/08-10 函館


メガドンキホーテの看板の色、前は赤かった気がする

翼餃子

朝市二番館の500円どんぶり


チャイチキ、ラキポテ、バニラシェイク

五稜郭タワー1Fアトリウムのパン屋さん


みよえもん


羽田空港の空弁

羽田空港ねんりんやカフェのあったかいバウムクーヘン美味しかったです

メーメーやぎ

メーメーやぎというお店が札幌の琴似にありました。
山羊乳のソフトクリームなどが食べられるお店です🍦
メーメーやぎ - 琴似(札幌市営)/ソフトクリーム [食べログ]

お店に入ると山羊のぬいぐるみが置いてあり、とてもかわいいです。

また、店内には山羊の写真がたくさん飾られており、
美味しいソフトクリームを食べながら山羊の写真を楽しむことができます。
この写真の子たちは「弘安やぎファーム」というところの子たちらしいです。

山羊乳を初めて飲んだのですが、美味しかったです。
市販の牛乳とはちょっと違う味がしたような気がします。

juliaに少し興味がある

juliaという言語があることを知った。
数値計算を得意としている、高速な言語らしい。
たしかフーリエ級数について調べていた時にでてきたから知ったと思う。

インストールしてみた。
まず、公式サイトから対象OS、bitの最新版をダウンロード。
https://julialang.org/downloads/

f:id:ygnb0605:20191223233544p:plain

ダウンロードしたexeファイルを実行し、インストールを行う。

f:id:ygnb0605:20191223233916p:plain

実行してみる。
f:id:ygnb0605:20191223234111p:plain

対話型実行環境があがるので、1+1を入力してみる。
f:id:ygnb0605:20191223234609p:plain

実行してくれた。


ファイルにコードを書いて実行する方法も調べよう。

単位円を使って角度がわかるやつをelmでつくった

知りたい角度を入力すると、その角度の扇型が表示されるやつを
elmでつくった

画面はこんな感じ
f:id:ygnb0605:20191125221701p:plain

テキストボックスに任意の角度を入力して「角度計算」ボタンを押すと
青い扇型がその角度になる
f:id:ygnb0605:20191125221848p:plain

360度をこえると、こんな感じになって0度からの表示と同様になる
390度の場合、390-360=30なので30度と同じ
f:id:ygnb0605:20191125222145p:plain


ちなみに、クリアボタンを押すと初期状態と同じく
90度になる

ソースコードは以下の通り

import Browser
import Svg exposing (..)
import Svg.Attributes exposing (width, height, viewBox, d, fill, x, y, r, rx, ry)
import Svg.PathD exposing (..)
import Html exposing (Html, button, div, input, Attribute, text)
import Html.Attributes exposing (value, placeholder)
import Html.Events exposing (onClick, onInput)

main = Browser.sandbox { init = init, update = update, view = view }

type Msg = Input String | Clear | Calc

type alias Model =
    {
      xLength : Float
      , yLength : Float
      , degreeCircle : String
    }

init : Model
init =
    { xLength = 300
    , yLength = 200
    , degreeCircle = ""
    }


update : Msg -> Model -> Model
update msg model  =
  case msg of
    Input input ->
     { model | degreeCircle = input }
    Calc ->
     {
       xLength = 200 + (100 * cos(degrees ( 90 - Maybe.withDefault 0 (String.toFloat model.degreeCircle))))
      , yLength = 200 - (100 * sin(degrees ( 90 - Maybe.withDefault 0 (String.toFloat model.degreeCircle))))
      , degreeCircle = model.degreeCircle
     }
    Clear ->
     {
       xLength = 300
      , yLength = 200
      , degreeCircle = ""
     }


view model =
  div[]
  [
    svg
     [ width "500"
       , height "500"
       , viewBox "0 0 500 500"
     ]
     [ Svg.path
        [ d <| pathD
            [ M (200, 200)
            , L (200, 100)  
            , A (100, 100)  0 False True (model.xLength, model.yLength ) 
            , Z
            ]
            , fill "blue"
        ]
        []
     ] 
     , input [ placeholder "角度入力", onInput Input] []
     , button [ onClick Calc] [ text "角度計算"]
     , button [ onClick Clear] [ text "クリア"]
  ]

単位円の中心を(200,200)にして、扇型を作成した
作成する扇型のx座標とy座標はそれぞれ以下の式で求めた
x座標 = 中心のx座標 + 単位円の半径 × cos(90 - 入力した角度 )
y座標 = 中心のy座標 - 単位円の半径 × sin(90 - 入力した角度 )

2019/11/02-04 札幌







美味しいご飯屋さん~関東編1~

和食

鳥茶屋別邸


おひつ膳田んぼ

八倉

カフェ

カフェーマル



ハーブス

おかげ庵


Cafe Slik

その他

清勝丸

竹虎

浅草のらーめん


たぶんここ
tabelog.com

すしざんまい






舎鈴


江島食べ歩き

八王子のらーめん


たぶんここ
tabelog.com

函太郎