最近やった案件まとめ

最近結構いろいろな案件をやっているが基本的に作業日報を書かない会社なので何をやったかこのブログにまとめておこうと思う。

サッカーの試合日程表を自動的に最新3件表示する

某大手企業のJ2のチームの日程表をサイトの中に埋め込んであるのだが全試合だとどれが終わったのか?次どれなのか?がかなり見づらいので最新3件を表示する形にしていたのだが手作業だとかなり手間になるということでジャバスクリプトを使った自動表示を依頼された。

本当ならデータベースからPHPなどでデータを持ってきて表示させるのが一般的ではあるが、今回はPHPの使えないサーバー?(使えるのかは聞いてないけど)だったため、ジャバスクリプトでなんとかしてみた。

試合数は50試合ぐらいあってそれを一度でっかいテーブルで整形し、テーブルのtrタグに対して今日よりも未来3つのtrにonというクラスをつけて:notを使い、CSSでonの無い行を全部消すという仕組みにした。

難しかったのはjsのループでまず、配列に日程の日付データを入れ、そのデータと今日の日付を比べる。今日より未来の日程が見つかったらその日程から3回ループさせてidを作り、そのidに対してaddclassでonというクラスを付けてあげる。

はっきり言ってこのロジックにたどり着くまでに3回ぐらい作り直した。ジャバスクリプトでループさせて自動的に表示させるロジックを作る案件なんておそらく5年…いや過去に経験したことがないかもしれない。

最初はループで今日より後のidを見つけたら全部onにして、高さをCSSで指定してoverflow:hidden;で見えなくするやり方を使ったが、レスポンシブ対応が死ぬほどめんどくさかったのでしょうがなくループの中にループを作って3つ抽出するというプログラムを作ったわけだ。

後から考えるととてもシンプルなソースになったのだが、最初作ったソースはえげつないぐらい長いソースで、ループすらさせず全部手書きで配列を書いて今日と比べるという小学生でも作れるようなものだった…。

3度目の作り直しでかなりコンパクトなソースになったのですごく達成感はある。この仕事はいい仕事したと思う。

お問い合わせフォームを作る仕事

珍しく新しいサイトを構築する仕事が入り、サーバーも設定を全部最初からやるとかいう面倒な案件。サーバー設定は流石にフロントエンドエンジニアの仕事ではないだろってことで全部他の会社に頼んだのだが、そのサーバー設定についても意味不明なことを聞かれすぎて頭が爆発しそうになった…。

普通ワードプレスってそんなに難しいものではないのだが、今回はサーバーのセキュリティーをしっかりして作るとかでインストール時にメールが飛ばない…。いや、そんな仕様のサーバー使うの嫌や…。

そのワードプレスはプラグインを入れるのもFTPログイン情報を求められたりしてめんどくさすぎるやろって思ったわけだが、これに関してはconfig.phpにコードを追加すれば回避できるようになった。

しかしメールが飛ばないという状態は続き、サーバーを構築してくれている業者にワードプレスから一切メールが飛ばないんですけど…って相談したら2段階のセキュリティー設定があり、上位のサーバーがメールをブロックしていたとか…。何やそれ?意味わからなすぎる…。この案件嫌すぎる…。

そしてメールフォームを構築し始めたのだが、確認画面とか完了画面が必要なのでそういうのが出来る、MW WP フォームというプラグインを使ったわけだがこれが意外と癖の強いプラグインで確認画面に進んでフォームに戻れなかったり、オリジナルのテンプレートではメールが送れなかったりと使いづらすぎる…。

なんやかんやで1日潰したけどやっぱりコンタクトフォーム7で作り直すことにした。

確認画面を作るプラグインを追加してなんとかそれっぽくしたけどそれで良かったのか?わからん。なんかちょっと仕様と違う感じやけどもう俺にはこれ以上無理や。ただのコーダーにメールフォームは作れんのだよ…。

その他の案件

リニューアルとか更新とか結構色々やってるけど他はそれほど難しい案件はなく、印象はあまり残っていない。なんか今の派遣先は無駄に色々な案件を同時進行していてバラバラと仕事が来るのでテストアップ中がむちゃくちゃ多い…。1ヶ月以上テストアップしてたらもはや忘れてしまっている。忘れないうちに本アップして検収済みとしたいのだが…。

あと仕事として発注してない仕事を進めまくっているのもどうかと思うなぁ…。お蔵入りばっかりやるのはモチベーションが上がらないからなぁ。でもまぁ面白ければやる意味あるとは思うけどね。

\よかったら使ってね/

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)