読者です 読者をやめる 読者になる 読者になる

SwiftでRealmを使ってみよう①【準備編(UI・画面遷移)】

はじめに まずRealmとは何かといったことですが、 SQLiteの代替になると言われているデータベースです。 Chatworkなどで使われているそうです。本記事ではiOSアプリでRealmを使ってみたいと思います。 Realmの導入までは以下の記事で書いています。 setomoki…

MySQLでの学習のためのサンプルデータ利用について

はじめに MySQLの学習でSELECTなどのシンプルな文法はGoogle検索などをすれば簡単に学習できると思うが、 実際の大量のデータでの使用は個人ではなかなか用意ができないことが多いと思います。そこで今回の記事ではサンプルデータを用意してそれをMySQLにイ…

macへのMySQLの導入

はじめに 今回はMacにMySQLを導入していきたいと思います。 導入にはHomebrewを使っていきます。また、自分の環境は以下です。 Mac mini MacOS X 10.11.6

JSONってなに??

はじめに プログラムの勉強をしているとよく出てくるJSONとは一体何なのか疑問に思ったので調べてまとめてみます! 本記事では簡単に調べたり書籍を読んだものをまとめたものなのでより詳しく知りたい方は各自でさらに調べてみてください。 JSONとは JSONと…

クラウドコンピューティングのメリット・デメリット

はじめに 本記事ではクラウドコンピューティングについてのメリットとデメリットについて簡単に書いていきたいと思います。クラウドコンピューティング自体がどんなものかとかどんな種類があるのかは以下の過去記事に書いてます! setomoki.hatenablog.com

クラウドコンピューティングの種類について

クラウドコンピューティングとは クラウドコンピューティングとはネットワーク上に存在している計算資源やサービスを提供しているサーバを意識することなく利用できるコンピューティング形態を表す言葉です。 例えば身近なものだとインターネット上でメールg…

CocoaPodsでのライブラリインストール【iOSアプリ】

CocoaPodsとは iOSアプリを作成するときに様々なライブラリを使用することがあると思います。 様々なライブラリを使っているとその管理が大変になってくると思います。 またライブラリの導入にもたとえばgithubからダウンロードして手動でプロジェクト追加な…

サーバへの攻撃の種類について

はじめに サーバへの攻撃にはいくつか種類があります。 サーバが攻撃されるとWebサービスなどのサーバを使っているサービスが正常に動かなくなる可能性があります。 そのような事態にならないためにもサーバへの攻撃の種類を知っておくと良いと思います。 そ…

正規化とは

はじめに 今回の記事では正規化について書いていきます。では、はじめに正規化とはなんのためのするのでしょうか? 正規化を行うことにより情報の重複をなくし整合的にデータを取り扱えるようするために行います。ただし正規化しすぎると逆に効率が悪くなる…

MySQLのチューニングについて

はじめに 今回はMySQLのチューニング時の考え方について書いていこうとおもいます。 また、本記事はどこを見直すとよいかについてのみ触れるため、 具体的なチューニングの仕方につては本記事ではふれません。まずはじめにチューニングとはなんのためにやる…

MySQLのレプリケーションについて

今回の記事ではMySQLのレプリケーションの特徴について簡単に書いていきたいと思います! レプリケーションってなに?って方は以下の記事へ! setomoki.hatenablog.com

レプリケーションとは

レプリケーションとは 一般的にレプリケーションとは、 データをリアルタイムに複製することをいいます。 複製をLANやインターネット経由で行えば物理的に異なるサーバへバックアップをリアルタイムにとるということになります。 またシステム自体の複製をと…

オプショナル型について(Swift)

今回はSwiftのオプショナル型について書いていきたいと思います! オプショナル型とは Swiftにはオプショナル型と非オプショナル型があります。 大きな違いはnilの代入が可能がどうかです! オプショナル型はnilの代入が可能 非オプショナル型はnilの代入が…

MySQLのストレージエンジンについて【後編】

はじめに 今回の記事ではストレージエンジンの InnoDBエンジン MyISAMエンジン について書いていきたいと思います。また前編は以下になります。 MySQLのストレージエンジンについて【前編】 - 初心者のインフラ・Web系メモ書き日記 InnoDBエンジン InnoDBはM…

MySQLのデータ型について

はじめに 本気記事ではMySQLのデータ型について書いていきたいと思います。 データ最適なデータ型を選ぶことは高速化にもつながります。 データ型を選ぶにあたり データ型はなるべく小さいほうがよい 単純なものがよい(文字列よりも整数のほうが早いなど) …

Swift入門-その3-文字列

はじめに (本記事ではSwift2についての内容になっています。) 今回の記事では文字列(String)について書いていきたいと思います。 詳細な内容は以下になります。 文字列型の宣言 特殊文字 文字数の取得 文字列の結合 文字列を数値に変換

Swift入門-その2-選択・繰り返し処理

はじめに 今回の記事では 選択(switch文) 繰り返し(for文) について書きます。 ちなみに前回の記事は以下になります。 Swift入門-その1-PlaygroundでSwiftを使ってみよう【前編】 - 初心者のインフラ・Web系メモ書き日記

ApacheのMPMの基礎について

MPMとは MPMとはMulti Processing ModuleというApacheで並列処理を行うモジュールです。 ApacheのMPMで利用可能な prefork worker について書いていきたいと思います。

簡単な負荷解析について

はじめに PCの処理が遅い!って一度は思ったことがあると思います。 ではなぜ処理が遅いのでしょうか。 今回のメモ書きではその原因の簡単な追究方法について書いていきたいと思います!

MySQLのストレージエンジンについて【前編】

ストレージエンジンとは MySQLの論理構造は以下から成ります。 接続/スレッド処理 クエリキャッシュ パーサー ストレージエンジン ストレージファイル さらに図で表すと以下になります。 この中のストレージエンジンでは実際のデータの読み書きを担当してい…

Swift入門-その1-PlaygroundでSwiftを使ってみよう

Swiftとは SwiftとはMacOSやiOSのネイティブアプリを開発するためのプログラミング言語です。Swiftが登場する前まではObjective-Cを使ってネイティブアプリの開発を行っていましたが、それに代わる新たな言語として設計されています。ちなみにSwiftが登場し…

ストレージサーバの冗長化についてとDRBD

はじめに ストレージサーバには多くのファイルが格納されています。そのためストレージサーバで障害が発生した場合広い範囲に影響が及びサービスの運営に大きな問題を生じさせます。そこでストレージサーバの冗長化について考えます。

トランザクションとは

トランザクションの概要 データベースへの更新処理などはINSERT文やUPDATE文によって行う。 これらの処理は単一である。しかし実際の作業単位として複数のINSERTやUPDATEを一つの作業としたい場合がある。 単一の処理を複数個まとめたものをトランザクション…

ubuntuでのコンソールでの文字化け対応

前回のubuntuのインストール記事 setomoki.hatenablog.comにて言語を「日本語」で選択したらコンソールでのエラー表示などが文字化けしていました・・・ 本記事では言語を英語に戻すことで対応します。対応方法は .bashrc に設定を書き込むことで行います。

リバースプロキシとは

リバースプロキシの役割 例えば以下のようなシンプルなサーバシステムがあったとします。 ここにリバースプロキシを導入した場合は以下のうような構成になります。 このような構成をすることでWebサーバが直接クライアントからの要求を受け付けるのではなく…

VirtualBoxにUbuntuのインストール[後編]

前編の記事では仮想マシンの作成をし、仮想マシンの光学ドライブにUbuntuのisoイメージファイルをセットしました。 詳しくは以下の記事になります。 setomoki.hatenablog.com 今回は前回の記事で書き忘れた仮想マシンのネットワーク設定と仮想マシンにUbuntu…

VirtualBoxにUbuntuのインストール[前編]

今回の実施内容 今回はVirtualBoxにUbuntuのインストールをしていきたいと思います。 VirtualBox自体のインストールについては以下の記事を参照してください。 setomoki.hatenablog.com 前編では仮想マシンを作成し、Ubuntuのisoイメージを仮想マシンに設定…

仮想化ソフトウェア[VirtualBox]のインストール

仮想化ソフトウェアとは 簡単に言うとコンピュータの中にさらに仮想的なコンピュータを作成を行えるソフトのことです。 これにより一つのコンピュータでいろいろなOSを動かすことができます。 例えばMacOS上でWindowsやLinuxOSを動作させることができるとい…

負荷分散について

負荷分散とは 複数台のサーバに処理を分散させてシステム全体のとしてのスケーラビリティを向上させることを言います。 (スケーラビリティとは拡張可能性のことです。) 負荷分散を考えておけば後々処理が追いつかない状態に陥った場合でもサーバの追加で対…

冗長化とはなんなのか

冗長化とは簡単に言うとシステムの一部で障害が発生ししてもシステムの機能を継続して使用できるようにすることを指しています。 例えば以下のようなシンプルなサーバシステムがあったとします。