nissy.dev

投稿一覧

次世代Webカンファレンス 2023 で登壇した

5 min read
  • #blog

次世代 Web カンファレンス 2023 に Tooling のセッションで登壇しました。 https://nextwebconf.connpass.com/event/300174/ 登壇のきっかけは、そーすけさんに声をかけてもらったからでした。過去の参加者数を見て少し悩んだのですが、JS Conf のときと同様にとりあえず失敗してもいいからやってみようの精神で「やります」とさくっと返信した気がします。 登壇していろいろ思うことがあって、頭の中に残すだけだともったいないなと感じたので、個

2022 年の振り返り

8 min read
  • #blog

もう 2023 年になってしまっているのですが、2023 年の抱負を考えるのを踏まえて、 2022 年振り返りをしようと思います。この記事を書きながら、個人ブログを全く更新できてないことに気づきました。。。 仕事周り 仕事に関する大まかな感想ついては、8 月末に次の会社のブログにまとめました。 https://blog.cybozu.io/entry/2022/08/31/110000 一言でまとめると、「チーム開発」を始めてちゃんとやった 1 年でした。 「チーム開発」を深く経験して、

Web Speed Hackathon 2021 mini での学び

16 min read
  • #blog

Web Speed Hackathon 2021 mini に参加していたのですが、こちらのほぼ満点を出した人の記事を元に、自分でも色々やってみた時に学習したことをまとめます。 こちらのスクラップでまとめていたのですが、色々興味のある内容があって話が脱線することも多かったので、再度自分のためにまとめ直した記事です。 学んだこと CSS のプロパティ object-fit 縦横比を維持、中央配置、トリミング、以上がすべて自動で行われる object-fit: cover をよく使う気がす

2021年の振り返り

9 min read
  • #blog

にっしーです。せっかく今年は個人ブログを作ったので、1 年を振り返ってみようと思います。 時系列振り返り 1 ~ 3 月 : 修論と本の執筆 この時期は、主に修論と本の執筆を行っていました。大学院での研究分野は、情報科学の手法を化学に応用するケモインフォマティクスと呼ばれる分野であり、特に自分は最近流行りの深層学習を扱っていました。 コロナ禍の大学院生活は、研究室の体制の問題などもあって大変でしたが、なんとか修論も書ききり卒業することができました。研究室の友人とバドミントンができなかった

新卒1年目の業務の振り返り

8 min read
  • #blog

にっしーです。今年度から Cybozu で Web エンジニアとして働いています。 この記事では、正式に kintone チームに配属された 2021 年 7 月から 2021 年 11 月までに行った業務内容について、その一部を振り返りたいと思います。 業務内容の振り返り OJT 期間の業務 今年の kintone チームでは、まず配属されると新卒でチームを組み、通常の新規機能の開発プロセスを OJT 形式で約 2 ヶ月間学びました。OJT の際には、新卒 2 年目の方々がメンターとし

URL遷移やsession historyに関する挙動の整理

3 min read
  • #note

URL 遷移の挙動に地味にハマった時に調べた時のメモ session history / document の挙動の注意点 異なる URL に遷移する場合 session history 新規に作成される document 新規に作成される 同じ URL に遷移する場合 session history 現在の履歴を消して、新規に作成される location.state や history.scrollRestoration は引き継がれる この点に関しては、妥当かどうかの議

TLS(SSL)の基礎

5 min read
  • #note
  • #network

新卒研修で扱った TLS (SSL) のメモ 安全に通信をするためのセキュリティプロトコル SSL: Secure Sockets Layer TLS: Transport Layer Security TLS は SSL の次世代規格 (ほぼ同じと捉えて問題ない) HTTP + TLS = HTTPS 守りたいもの → 守り方 通信相手が本物であること → デジタル署名 通信内容が盗聴されないこと → 対称暗号 通信内容が改竄されないこと → メッセージ認証コード デジタル

DNSの基礎

3 min read
  • #note
  • #network

DNS (Domain Name System) = ドメインから IP アドレスを割り出すシステム 問い合わせの流れ ドメイン → Recursive DNS → ルート DNS → 権威 DNS → ・・・ → 権威 DNS → IP アドレス hoge.cybozu.com の場合 ルート DNS: com は 192.XX.XX.XX (権威 DNS1) に聞いて 権威 DNS1: cybozu.com は 216.XX.XX.XX (権威 DNS2) に聞いて 権威 DNS

認証と認可の基礎

9 min read
  • #note

Web で支える技術で出てきたものを主に取リ扱う。 認証と認可の違い 認証 = ユーザが誰かを確認すること Determines whether users are who they claim to be 認可 = とある特定の条件に対して、リソースアクセスの権限を与えること Determines what users can and cannot access 認証せずに認可する例 「鍵の発行」 -> 鍵の持ち主が誰であろうと、施錠することができる 「チケットの発行」-> 持

Webセキュリティの基礎

6 min read
  • #note
  • #web
  • #security

新卒研修でやった内容を軽くまとめたもの 情報セキュリティの 3 要素 (CIA) 機密性:Confidentiality 認可されていない個人、エンティティ、プロセスに対して、情報を使用させない・開示しない特性 データ及び情報が、権限がある時に、権限がある方式に従った場合のみ開示されること 完全性:Integrity 改ざんや過不足のない正確な情報が保持されている特性 データ及び情報が正確かつ完全であり、それらが維持されること 可用性:Availability 認可されたエンテ

Databaseの基礎

4 min read
  • #note
  • #database

新卒研修ではデータベースの基本的な知識については扱わなかったが、一度覚えなおした方が良いと感じて勉強した時のメモ。 データベース データベース = 整理整頓されたデータの集まり データは壊れると取り戻せない 高い堅牢性、セキュリティが要求される トランザクション が ACID 特性を満たす必要がある トランザクション = データベース操作する際の一つのかたまりの処理 ACID 特性 Atomicity (原子性) トランザクションの途中の中途半端な状態にならない トランザクシ

Dockerの基礎

6 min read
  • #note
  • #docker

新卒研修でやった内容を軽くまとめたもの コンテナ VM とコンテナの違い VM:OS (カーネル、OS のコア機能) から仮想化 オーバーヘッドが大きい イメージサイズも大きい、起動も遅い コンテナ:プロセス (1 つの処理単位) から仮想化 ホスト OS とカーネルを共有する、起動は早い OS 機能も含めて完全に同じ環境を再現することはしていない コンテナの実現するための技術 Linux のカーネルには互換性があるため、カーネルを共有できる Linux namespace

CookieとSessionの基礎

2 min read
  • #note
  • #web

新卒研修でやった内容を軽くまとめたもの Cookie Cookie = サーバーから送られるデータ、ブラウザに保存される HTTP に状態を持たせることができる 「これはログイン後のやりとりだよ〜」とか ID、パスワードの 2 つが保存されていればできる ユーザーに再度入力させる必要がなくなる 簡単に見える + 書き換えもできる パスワードなどの秘密情報は扱えない Session Session = Cookie を使いつつ、安全に HTTP に状態を持たせる方法 ユーザー

SQLの基礎

5 min read
  • #note
  • #sql

新卒研修では細かな SQL 操作については扱わなかったが、一度覚えなおした方が良いと感じて勉強した時のメモ。 テーブル単位の操作 データベースの作成 CREATE DATABASE \[データベース名];​ テーブル作成 CREATE TABLE \[テーブル名] (\[テーブル定義]);​ テーブルのスキーマ変更 ALTER TABLE \[テーブル名] \[変更内容];​ データの型 数値型:TINYINT、INT、BIGINT など 文字列型:VARCHAR(n) (n

C10K問題

2 min read
  • #note

C10K 問題 = クライアント 1 万台問題 サーバーのハードウェア性能は問題ないにもかかわらず、クライアントの同時接続数が多くなるとサービスの応答が遅くなること Apache でよく発生していた問題 Apache : マルチプロセスのプロセス駆動アーキテクチャ 原因 プロセス数の上限 プロセスに振られる ID には上限がある (例: 32bit Linux 32767) マルチプロセスによるコンテキストスイッチのコスト コンテキストスイッチ :1 つの CPU が処理するプロ

Google Summer of Code (GSoC) 2020 参加記

14 min read
  • #blog
  • #gsoc

去年は参加できなかった GSoC に今年も引き続き応募したところ、Open Chemistryに所属するDeepChemという OSS に参加することができました。 自分自身の振り返りと今後参加する人のために、約 3 ヶ月間の流れをブログに残しておこうと思います。 バックグラウンド 機械学習を化学分野へ応用する研究を行っている修士 2 年です。学部時代の 4 年間も化学系の学部に所属していて、プログラミングは独学とバイトでの Web 開発経験で身につけました。 ここで言いたいのは、GSo

React Hooksについて 個人的感想

5 min read
  • #blog
  • #react

最近は、研究の都合上キャッチアップの中心が機械学習の論文がメインになっていました。 React をやっていると言いながらちゃんと咀嚼してなかった 面接等で聞かれることもちょくちょくある 以上の理由から、自分の思考を整理するために感想を書いていきます。 Hooks を一言で Hooks は、Redux より自由にロジックを書くことができる APIとして理解しました 。 個人的な印象はeasy よりの jQuery みたいな APIだと捉えています。 より詳細に 嬉しい点 簡単なデー

Kaggle Google QUEST Q&A Labeling 反省

15 min read
  • #blog
  • #kaggle

初めて真面目に Kaggle に参加した (2 週間前チャレンジ...) ので、その備忘録です。 コンペ振り返り やったこと 基本的に以下でやったことはほとんど全てうまくいかなかった。。。 Bert なにもわからない。。。 NLP での基本的な文章ベクトルによる回帰 → Bert よりかなり精度が悪かった 全てのラベルについて、カーネルのコメントにあった Post Process も行ってみた 公開カーネルの Bert モデルのチューニング → 精度改善はしなかった 出力層に近い層

JSのコードが実行されるまで

4 min read
  • #note

大きく分けて以下の 3 つのステップ経て、コードは実行される ソースコードを AST へパース AST を bytecode へ変換 bytecode をランタイムが解釈 1\. ソースコードを AST へパース テキスト(文字列)であるソースコードを、 AST と呼ばれる構造化されたデータに変換する過程が最初のステップ テキストは、コンパイラとよばれるプログラムによって parse = 品詞分解され、abstract syntax tree ( AST )に変換される V8 では

Google Summer of Code(GSoC) 2019に応募して、お祈りされました

8 min read
  • #blog
  • #gsoc

残念ながら採択されなかったのですが、そもそも情報が少なかったので、来年応募する人のためにも自分の応募過程について残しておきます。 Google Summer of Code Google が認定した OSS(100 以上はあります)に対して、大学生・大学院生がメンターと一緒に開発する企画です。順当に開発できれば報酬ももらえて、今年は$5400 でした。 詳しくは、以下の公式ページから調べてみると良さそうです。 https://summerofcode.withgoogle.com/ 参加