並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 55件

新着順 人気順

initの検索結果1 - 40 件 / 55件

  • MySQLクイック・リファレンス

    この文書は、osCommerceで使用しているデータベースMySQLの基本的な使い方について解説しています。おもにデータベースの管理者よりも、ユーザに向けて書かれています。 はじめに ここでは、MySQLサーバは起動しているものとして説明します。 MySQLの文字について MySQLでは、データベース名やテーブル名の大文字と小文字を区別しています。それ以外は区別しません。 MySQLのフィールド名やテーブル名に使える文字は、英数字と_(アンダーバー)、$、サーバのキャラクタセットにある文字です。 知っておきたいコマンド mysqladmin(データベースの作成・削除や、MySQLサーバの情報を得る) mysqlshow(データベース、テーブルの情報を表示する) mysql(MySQLクライアントの起動) mysqldump(データベース、テーブルをダンプする) myisamchk(テーブル

    • はじめてのjQuery

      デザイナ向け「初めてのjQuery」

      • 2行追加するだけでWebサイトを高速化するInstantClick.io - atskimura-memo

        Before visitors click on a link, they hover over that link. Between these two events, 200 ms to 300 ms usually pass by (test yourself here). 引用:InstantClick — JS library to make your website instant リンクにマウスオーバーしてからクリックするまでには200msから300msほど時間がかかるそうです。実際このテストページでクリックしてみるとMacのトラックパッドだとさらに遅く500msくらいかかってました。 InstantClick.ioはその間に裏でリンク先ページをロードして勝手にリンクをpjax化してしまうという高速化ライブラリです。 やってることはRails4のturbolinksと似てます

          2行追加するだけでWebサイトを高速化するInstantClick.io - atskimura-memo
        • 世の中のHTML5アプリケーションが糞だから、俺が「初期化」の作り方を教えてやんよ - mizchi's blog

          2chまとめみたいなタイトルにしてみた。(してみたかった) HTML5のアーキテクチャと初期化とキャッシュの考え方が、「ウェブエンジニア」は本当に出来てない。 とくにソシャゲをウェブビューに貼ってスマホ対応しました系。本当にダメ。 じゃあどうするか?基本的に「初期化」の考え方を直せばどうにかなる。 (この記事はBackboneを使うときに考えてることだけど、他でも一緒だと思う) 前提 シングルページアプリケーション セマンティクスやSEOは考慮しない 基本哲学 共通モデルの初期化を徹底的に行う サーバーにリクエストを投げるのは最小限 クライアントでサーバーモデルのキャッシュを作り、更新が期待されるまで再取得しない 理由 いくらDOMの最適化したところでUXに影響が大きいのはサーバーリクエスト(200~2000ms)で、プログラミング段階で辛さがあつまるのは非同期処理の部分。 プログラマとし

            世の中のHTML5アプリケーションが糞だから、俺が「初期化」の作り方を教えてやんよ - mizchi's blog
          • 統計の基本事項

            トップページ→研究分野と周辺→システムの評価→ 基本統計量 平均(算術平均)値は、(データ値の総和)÷(データ数)となる。(或るデータの値)-(平均値)を、そのデータの偏差という。偏差の絶対値の大きいデータが多ければ、そのデータ群はばらつきが大きい。データ群のばらつきの大きさを単純に偏差の総和とすると、偏差には正負があるので相殺されてしまう。 そこで、各データの偏差を二乗する(こうすれば必ず正の値になる)。(各データの偏差の二乗の総和)÷(データ数)をそのデータ群の分散と呼び、ばらつきの大きさを表す。また、分散の平方根を標準偏差という。英語では偏差はDeviation、分散はVariance、標準偏差はStandard Deviationとなるので、標準偏差はS.D.と略記される事も多い。 統計の最も基本的な量である基本統計量としては、他に最大値、最小値、範囲(最大値-最小値)、中央値(デ

            • Linux女子部 systemd徹底入門

              Linux女子部 「Fedora最新技術情報&Systemd勉強会」 http://connpass.com/event/3859/ で使用した資料です。 変更履歴 2013/11/04 ver1.0 初版 2013/11/05 ver1.1 誤植修正、少し追記 2013/11/06 ver1.2 daemon-reload,mask,テンプレート機能を追記 2013/11/12 ver1.3 User/Groupオプションの説明追加 2013/11/24 ver1.4 誤植修正 2014/05/05 ver1.5 imjournalモジュールの説明追加Read less

                Linux女子部 systemd徹底入門
              • Amazon EC2(Linux)システム管理で知らないとハマる5つの環境設定 | DevelopersIO

                ども、大瀧です。みなさん、EC2をバリバリ使ってますか?使いたいときにすぐ使える仮想マシンとして、開発・検証から本番まで幅広く活用されていると思います。 日頃EC2を業務で運用する中で、EC2インスタンスをコピーすると意図しない環境設定に変わってしまうというトラブルが度々あり、cloud-initというツールに拠ることがわかってきました。 「EC2インスタンスのコピーなんて、一旦インスタンスを作成したあとはあまりやらないのでは?」と思われがちですが、EC2独特の制限などもあり、実際の運用では思ったよりも頻繁にインスタンスのコピーが必要になります。インスタンスのバックアップ&リストアなどはイメージしやすいと思いますが、それ以外にも意外なケースとして以下があります *1。インスタンスのコピーは、AMI(Amazon Machine Image:インスタンスのバックアップ)を取得し、新規インスタ

                  Amazon EC2(Linux)システム管理で知らないとハマる5つの環境設定 | DevelopersIO
                • プログラミングスレまとめ in VIP

                  お知らせ† 非常にゆったりとしたペースで更新が続けられております。 プログラミングに関連することであれば何でも良いので書いてって下さい。 初めての方は、 はじめてなの…やさしくして… へどうぞ 既存の記事をメンテしてもらえると嬉しくて涙が出ます。 編集時のIDは「vip」、パスは「vip」です。 祝・復旧 vipperじゃないがたまに見てた -- 2023-02-28 (火) 18:18:01 旧字キチガイの記述全部消せばいいのに。役に立たん独り言だらけだし。元から少なかった人が消滅した原因でしょあれ -- 2023-03-03 (金) 23:07:56 ↑うんこ掃除しました -- 2023-11-12 (日) 02:42:18 こんにちは -- マイキー 2024-02-22 (木) 07:22:12

                  • MacBookAirを買ったあとにやったことまとめ - id:HolyGrailとid:HoryGrailの区別がつかない日記

                    西尾さんがマカーになった記念エントリ というわけでマカーになりました - 西尾泰和のはてなダイアリー うひひ、マカーの仲間入りおめでとうございます>< やったことを羅列していくよ! 抜けがあったりするかもしれないけど多めに見てね! 概要だけつかめればいいと思うよ! まず最初に OSXの再インストールを行います。 そして、そのついでにXCodeもインストールします。 これで前準備は完了です。 Dockからすべてのアイコンを削る 基本的にアプリケーションの起動はQuickSilverから行うのでDockからアイコンを削除します。 これで今起動しているアプリケーションを把握しやすくなります。 環境設定をいろいろいじる Spotlightのショートカットキーを無効にする(→QuickSilverの呼び出しにCtrl+Spaceを割り当てるため) Dockを自動的に隠す/表示にチェック(→常に表示は

                    • [速報]マイクロソフト、「Windows 365 Boot」発表。起動するとクラウドPCが即利用可能、「Windows 365 Offline」によりオフラインでも利用可能に

                      [速報]マイクロソフト、「Windows 365 Boot」発表。起動するとクラウドPCが即利用可能、「Windows 365 Offline」によりオフラインでも利用可能に マイクロソフトは日本時間4月6日未明にオンラインイベント「Windows Powers the Future of Hybrid Work」を開催。オフィスでのローカルワーク、自宅でのリモートワークなどを組み合わせたハイブリッドな働き方を支援する新しい製品群を発表しました。 「Windows 365 Boot」を始めとする4つの製品です。 マイクロソフトは昨年2021年7月、デスクトップ仮想化の技術を用いてクラウド上の仮想マシンからWindows環境をリモート配信する「Windows 365 クラウドPC」(以下、クラウドPC)を発表しています。 参考:[速報]マイクロソフト「Windows 365 Cloud PC

                        [速報]マイクロソフト、「Windows 365 Boot」発表。起動するとクラウドPCが即利用可能、「Windows 365 Offline」によりオフラインでも利用可能に
                      • Linuxがブートするまで

                        普段Linuxを使っていながら、vmlinuzやinitrd.imgというファイルは何なのか、 あやふやにしか理解していなかったので、一通りLinuxマシンのブートの仕組みを 勉強してみた結果を書き留めておく。なお、BIOSとGRUB Legacyの環境を前提としている。 EFIやGRUB2を使った環境については、今後いずれ勉強していきたい。 基本的にOSの起動は、単純・低機能なプログラムが、より複雑・高機能なプログラムを 読み込み起動するという処理を連鎖的に行う仕組みになっている。 Linuxでは、下記のプログラムが順に起動していく: BIOSブートローダ (GRUB)Stage 1Stage 1.5Stage 2LinuxカーネルInit以下では、それぞれのプログラムについて順に要約して述べていく。 1. BIOS現在一般的なx86/x86-64 CPUは、電源が投入されると、0xff

                        • メモリリークとは何か - kuenishi's blog

                          メモリリークに悩まされている技術者は多いだろう。メモリリークが嫌でGCという技術が開発されたといっても過言ではないし、歴史的にはC++からJavaへシフトが起きた大きな理由のひとつといっていい。Unix系の簡単な定義でいえば、ヒープ領域を指すポインタ(アドレス)をロストしてしまえばそのメモリはもう漏れたといってよい。たとえばこういったコードだ。 struct { int i; char c; } spam; int main(){ void* p; int i; for(i=0; i<1024; ++i){ p = malloc(sizeof(struct spam)); } pause(); } このコードではpause(3)の時点で約5KBのメモリが漏れている。free(3)を使えばメモリをOSに返却できるが、アドレスが分からないので返却できない。 ところが、ここでいいたいのは、メモリ

                            メモリリークとは何か - kuenishi's blog
                          • 科学技術論文の書き方 学術論文の書き方

                            本サイト:「科学技術論文の書き方」(How to Write a Scientific Paper),通称「ボスの頭痛薬」では, 学術論文,特に原著論文/学位論文を書く為の基本的なお作法がまとめられています. 教員各位にあっては,学生に論文を書かせる時に「まずこれを読め」と言っておくと,きっと頭痛が緩和されるでしょう. 学生諸君・新人研究者諸君にあっては,まずこれを読んで反映させてから論文を先生・ボスに見せに行くと,きっとお小言が減るでしょう.

                            • Systemd入門(1) - Unitの概念を理解する - めもめも

                              Linuxの起動処理は、これまでinit/upstartと呼ばれる仕組みで行われていました。Red Hat Enterprise Linux 7 (RHEL7)では、これが、systemdと呼ばれるまったく新しい仕組みに置き換わります。Fedoraでは、すでに先行してsystemdが採用されていますが、この連載(?)では、Fedora 17での実装をベースとして、systemdの考え方や仕組み、利用方法を説明していきます。今回は、systemdの動作の基礎となる「Unit」の概念を理解します。 systemdを採用したFedoraでLinuxの基礎を学びなそう!という方には、「「独習Linux専科」サーバ構築/運用/管理――あなたに伝えたい技と知恵と鉄則」がお勧めです。(^^/ systemdの考え方 参考資料 ・Rethinking PID 1:systemdの開発者であるLennart

                                Systemd入門(1) - Unitの概念を理解する - めもめも
                              • Systemdコマンド早見表(CentOS 7対応)

                                CentOS 7ではsystemdが導入されているので、サービスの管理が従来と大きく変わっています。詳しい解説はsystemd徹底入門のスライドを参照するとして、ここでは「前のコマンドはsystemdでどう入力するの?」というのだけ、簡単にまとめてみました。 サービス名にはsshdを指定していますが、もちろん任意のサービスが指定できます。 サービスの起動、終了など 操作SysV InitSystemd 起動/etc/init.d/sshd startsystemctl start sshd 終了/etc/init.d/sshd stopsystemctl stop sshd 強制終了PID探してkill -9systemctl kill -s 9 sshd 再起動/etc/init.d/sshd restartsystemctl restart sshd 設定反映/etc/init.d/s

                                • なぜsystemdなのか? | POSTD

                                  このブログ記事は2014年5月21日に行った私の講演の内容に基づいています。 ここ数年、GNU/LinuxのディストリビューションはSysV initを避ける傾向にあり、代わりに多種多様な新しいinitシステムへと移行が進んでいます。SysV initに満足しているユーザにとっては、これは予想外の流れでしょう。問題なく使えるのに、なぜ多くのディストリビューションはSysV initに背を向けているのでしょうか。 この記事ではSysV initの問題点と、それに対してsystemdがどんな解決法を提供しているのか説明してみようと思います。 私は特にsystemdの大ファンだというわけではなく、ただ広く使われているツールだという認識以上の思い入れは無いことだけお断りしておきます。 initシステムの役割とは何か? コンピュータが起動する時には、ビルトインされたファームウェア(コンピュータの場合

                                    なぜsystemdなのか? | POSTD
                                  • C++入門

                                    C++入門 基礎知識は仮定しません あなたは 人目のお客さんです。 ゆっくりしていってください。 C++入門1   プログラミングの基礎知識 C++入門2   coutを使った出力 C++入門3   cinを使った入力 C++入門4   オブジェクト指向について C++入門5   クラスを作ろう C++入門6   クラスを作ろう(補足) C++入門7   クラスの練習 C++入門8   コンストラクタの引数 C++入門9   クラス間の関係 C++入門10  乱数 C++入門11  while文とfor文 C++入門12  値を戻す関数 C++入門13  値を戻す関数の例 C++入門14  パブリックとプライベート C++入門15  継承 C++入門16  継承の練習 C++入門17  さらに継承 C++入門18  デストラクタ C++入門19  配列 C++入門20  ポインタ C++入

                                    • https://qiita.com/exilias/items/f8a4a7bfb8cf3010c0a6

                                      • mixiのサーバOS移行のお話 - 前回補足&インストール編 - mixi engineer blog

                                        こんにちは。新しもの好きが集まる運用部アプリ運用グループの清水です。 前回の記事では、多くの反響をいただきました。ありがとうございます。 Twitterや、はてブのほとんどのコメントを読ませていただきました。 みなさんのOSの宗派が垣間見えた気がします。 さまざまなコメントをいただいていた中で、よくある代表的なコメントについて、改めてこの場を借りてお答えしたいと思います。 2012年12月28日追記: 以下のQAにつきまして、いわゆる"ネタ"として書きましたが、誤解を招き、不適切な表現で不快な思いをされた方々へ深くお詫び申し上げます。 また、QAの一部に関わるところですが、OS標準のパッケージを否定するつもりは全くございません。 Linuxを安心して使うことができるのは、Linuxディストリビューションに携わっているデベロッパーの方々の素晴らしい活動や成果によるもの、というのが揺るぎない事

                                          mixiのサーバOS移行のお話 - 前回補足&インストール編 - mixi engineer blog
                                        • systemdを本番運用してわかったこと - mixi engineer blog

                                          こんにちは、運用部 アプリ運用グループの清水です。モンスト仲間募集中です。 以前、Fedora 8からFedora 17への移行のお話を書きました。Fedora 17ではsystemdがデフォルトで使われています。そのsystemdを本番環境で運用して1年以上が経ち、様々な経験をしてきました。systemdの環境で知っておくと役に立つと思われることについていくつか紹介したいと思います。 まずは、systemdの概要について簡単に紹介します。 systemdの概要と歴史 systemdは、従来のSysVinit/Upstartに代わるもので、Linuxサーバの起動時に初期設定やサービス起動をおこなうことにとどまらず、プロセスやリソースなど様々な管理をおこなうデーモンです。 Fedora 14の頃(2010年11月リリース)にTechnology Previewとして提供され、Fedora 1

                                            systemdを本番運用してわかったこと - mixi engineer blog
                                          • Pythonを取り巻く開発環境(PyCon JP 2012資料 #pyconjp) - YAMAGUCHI::weblog

                                            はじめに こんにちは、Python界の情弱です。情弱ながらPyCon JP 2012で1セッション持たせてもらえることになりました。予め資料を公開しておきますので、当日は色々と質問・意見して頂ければと思います。 各トピックは各トピックでの総論になっていますので、細かい部分は本文最後の参照にあるリンクを見るとより理解が深まります。 「なおここに書いてある内容は所属する団体とは関係のない、私個人の見解ですので、予めご了承下さい。」テンプレ終わり。 イベント PyCon JP 2012 発表日時 2012-09-16 11:00-11:45 作者 @ymotongpoo URL http://2012.pycon.jp/program/sessions.html#session-16-1100-room357-ja スライド (追記: 2012/09/16 23:50:00) 発表の24:00頃

                                              Pythonを取り巻く開発環境(PyCon JP 2012資料 #pyconjp) - YAMAGUCHI::weblog
                                            • ウノウラボ Unoh Labs: ベンチャー流サーバ構築のススメ(ソフトウェア編)

                                              尾藤正人です ラボブログではウノウのエンジニアで1日1人1エントリ(早く書くのはあり)で書いてます。おかげさまでウノウも順調にエンジニアの数が増えて、僕の順番に回ってくるのが少しずつ遅くなってきました。でもまだまだウノウではエンジニアを大募集中です!!我こそはと思う方はぜひご連絡ください。 前回のベンチャー流サーバ構築のススメ(ネットワーク編)ではネットワーク周りについて書きました。前回のエントリで言ったように、今回はソフトウェア周りのことについて書きたいと思います。 ソフトウェア周りで重要なのは、同じ構成にする、これにつきます。web サーバにだけ apache をインストールしたりとか、DB サーバにだけ MySQL をインストールしたりだとかいうことはしません。全てのサーバに同じパッケージ、同じプログラムをインストールします。それによる管理コストの軽減ははかりしれないものがあります。

                                              • /etc/init.d/hoge start と service hoge start は何が違う?

                                                cles::blog 平常心是道 blogs: cles::blog NP_cles() « X220 が Fan Error. により完全に沈黙 :: X220 のファンユニットを交換 » 2014/06/04 /etc/init.d/hoge start と service hoge start は何が違う?  systemmanagemant  cli 214 4へぇ 普段、Linux でデーモンを制御するには /etc/init.d/hoge というスクリプトを叩いている*1のですが、あるマニュアルを読んだら service hoge を使いましょう的なことが書いてありました。 試してみると確かに /etc/init.d/hoge start の代わりに service hoge start としても同じようにデーモンが起動できるようです。 ただ、困ったことに僕にはこの2つの違いが

                                                  /etc/init.d/hoge start と service hoge start は何が違う?
                                                • Dockerコンテナ内でpuppeteerを使うとChromeゾンビプロセスがたまる問題 - その手の平は尻もつかめるさ

                                                  表題のような問題があり,その調査したという記録です.なお,結論を一言で言うと--initを使え,ということになります. そもそもDockerコンテナを起動すると,CMDあるいはENTRYPOINTに指定されたコマンドがコンテナ内でPID 1として起動します.これが何を意味するかと言うと,「CMDあるいはENTRYPOINTに指定されたコマンド」はそのコマンド自体の責務をまっとうするのと同時に,initプロセスとしての振る舞いも行わなければならないということになります (id:hayajo_77さんにこの辺を詳しく教えてもらいました,ありがとうございます). つまりPID 1で動いているプロセスは「SIGCHLDをトラップすることで孤児プロセスを適切に回収し,waitpidをかける」という処理も適切に行う必要があります. さて,puppeteerを使ってChromeブラウザを起動するとどうな

                                                    Dockerコンテナ内でpuppeteerを使うとChromeゾンビプロセスがたまる問題 - その手の平は尻もつかめるさ
                                                  • 「窓の手」公式サイト

                                                    • 仙石浩明の日記: Android 端末 IS01 のカーネルを入れ替えてみた 〜 さよならデッカード LSM

                                                      先週末 IS01 で root 権限が必要なアプリが使えるようになったばかりなのに、 そのわずか 4日後、 スマートフォン@2ch掲示板に以下の書き込みがあり、 カーネル空間への侵入口が明らかにされてしまった。 一番乗りを果たした goroh_kun さんに敬意を表しつつも、 IS01 のプロテクトがこの程度だったことが残念でもある。 「root を取られても大丈夫な作りになっている」 と開発者が豪語し、 しかも IS01 の発売から 5ヶ月間も破られなかったのだから、 さぞかし鉄壁の守りなのだろうと思っていたのに、 こんな分かりやすい穴があったとわ... (負け惜しみ ^^;)。 【ROM焼き】au IS01 root2 〜わたくし達も未来へ〜 ... 317 :goroh_kun:2010/12/01(水) 03:14:21 ID:LGLTLBmZ 自動起動仕込むところを大体見つけまし

                                                      • 櫻田潤 | インフォグラフィック・エディター

                                                        ビジュアルの力で世界を丸くする。 地球の形状が「丸い」のは、そこで暮らす僕たちにひとつの「ビジョン」を指し示しています。地球の形と同じように、世界で起こっていることのすべてが丸く収まっていれば良いのですが、現実は違います。 大小いろいろな規模の摩擦がいたるところに発生し、繰り返されます。その解決に必要なのは、お互いの「考え」や「価値観」「立場」、「状況」「状態」を示し、認め合うことです。そのために、「ビジュアル」の力を活用していきます。

                                                          櫻田潤 | インフォグラフィック・エディター
                                                        • なんとなくCSSを使っている人が,CSS中級者になるために (「崩れないレイアウト」のセオリー) - 主に言語とシステム開発に関して

                                                          CSSを「なんとなく」知っていて,「なんとなく」使っている, というケースがある。 そういう場合,思わぬところでレイアウトが崩れ, 要素の正確なポジショニングができず, 「なんとなく」ずっと悩み続けることになる。 その原因は,CSSの中級のノウハウが足りない,という点にある。 一発で正確なレイアウトができるようになろう。 そうなれば,CSS中級者だ。 以下は,CSS中級者になるためのノウハウ。 (1) 要素の分類 (1−1) インライン要素とブロック要素 (1−2) 置換インライン要素と非置換インライン要素 (2) 正確なポジショニング (2−1) positionのrelative/absoluteの使い方 (2−2) DOCTYPEスイッチによるボックスモデルの解釈方法の違い (2−3) 要素内の高さ位置と,要素の高さ (2−4) floatの崩れない使い方 (3) 正確なテーブルレイ

                                                            なんとなくCSSを使っている人が,CSS中級者になるために (「崩れないレイアウト」のセオリー) - 主に言語とシステム開発に関して
                                                          • Upstart を使ってお手軽 daemon 化

                                                            こんにちは。斎藤です。 手元でちょちょいと作ったプログラムや、 init スクリプトの無いOSSを daemon として動作させ続けたい事、ありませんか?そんなときに便利なのが Upstart です。daemontoolsの代わりとしても使えます。 今回は設定方法を中心に、解説していきます。 ※CentOS 6.3 (x86_64) で検証しています はじめに Upstart とは何か UpstartのWikiによると、"/sbin/init"デーモン(例えばSysVinit)を置き換えるものであり、イベントベースでタスクやサービスを起動・停止できるようにしたものである、と述べられています。また、特徴として、SysVinitと比べ「設定が簡単」「起動が早くなる」などが挙げられています。 Upstart のメリット 3つのメリットがあると、私は考えています。 起動・終了制御が容易 仮にABE

                                                              Upstart を使ってお手軽 daemon 化
                                                            • anyenvで開発環境を整える - Qiita

                                                              私の場合、開発環境では複数の言語のコードを書いたり実行したりします。 例えば perl, ruby, nodejs, python など。 これらを利用するために、plenv, rbenv, nodebrew, pyenv などを利用していました。 しかし、遅ればせながら anyenv というものがあると聞いたので、こっちに乗り換えました。 **envを2つ以上使ってる人はこれ使うのが良いと思います。おすすめ。 http://blog.riywo.com/2013/06/22/155804 https://github.com/riywo/anyenv インストールは簡単 README.md のとおりにやればOK # ------------------------------------------------------------------------ -# plenv +# an

                                                                anyenvで開発環境を整える - Qiita
                                                              • 今からDockerを始める人へ!Docker Initがアツい!

                                                                package main import ( "net/http" "github.com/labstack/echo/v4" ) func main() { e := echo.New() e.GET("/", func(c echo.Context) error { return c.String(http.StatusOK, "Hello, World!") }) e.Logger.Fatal(e.Start(":1323")) } # syntax=docker/dockerfile:1 # Comments are provided throughout this file to help you get started. # If you need more help, visit the Dockerfile reference guide at # https://docs.

                                                                  今からDockerを始める人へ!Docker Initがアツい!
                                                                • iOSアプリ開発のメモリ管理で気をつけること - A Day In The Life

                                                                  Objective-C での開発にだいぶ慣れてきたのですが、いまだメモリ管理まわりでハマることが多いのでまとめてみました。 メモリを確保してから解放するまでの流れ メモリを確保してから解放するまでの流れは以下の図のようになります(図はアップルのサイトから引用)。 alloc または init すると参照カウントが1になります alloc または init 系メソッドを呼ぶと参照カウントが1になります。 このように書いたのは、クラスの仕様によって alloc メソッドで retainCount が1になるオブジェクトと init 系のメソッドで retainCount が1になるオブジェクトがあるためです。alloc と init はセットで呼ばれることがほとんどなのでこの違いが問題になることはないと思いますが念のため。 int main() { /* allocで参照カウント1 */ NS

                                                                  • Docker を用いた rpm / deb パッケージ作成の継続的インテグレーション - ゆううきブログ

                                                                    サーバ管理ツールのエージェント みたいなソフトウェアをインストールしやすくするために、rpm / deb パッケージを作りたい。 しかし、rpm / deb パッケージ化するためには、それぞれ CentOS(RedHat)、Debian(Ubuntu) 環境でパッケージ化することになる。 社内ではこれまでパッケージ化の専用ホストがいて、そこで spec ファイルや init スクリプトを置いて rpmbuild コマンドとか debuild コマンドを叩いてパッケージを作成していた。 さらに、アプリケーションエンジニアからインフラエンジニアに依頼するという形をとっていた。 この方法の問題点として、以下の3つがある。 spec ファイルや init スクリプトなどをプロジェクトの Git リポジトリで管理しづらい。つまり、レビューとかがやりにくい。 リリースフローを自動化しづらい。具体的には

                                                                      Docker を用いた rpm / deb パッケージ作成の継続的インテグレーション - ゆううきブログ
                                                                    • Goで軽量なデスクトップアプリ作成

                                                                      Lorca+SvelteKitでやってみる! https://github.com/zserge/lorca https://github.com/sveltejs/kit あらかじめ必要なもの go(version 1.17.2以降) nodejs(16.9.0以降),npm(7.21.1以降) Chrome/Chromium/Edgeのいずれか プロジェクトの開始 mkdir sample-gui cd sample-gui go mod init sample-gui npm init svelte@next frontend // Choice "Svelte app template" is "Skelton Project". // Choice "Use TypeScript" is No. // Choice "ESLint" is No. // Choice "Prett

                                                                        Goで軽量なデスクトップアプリ作成
                                                                      • http://orz.kakiko.com/kaeru/usbboot.html

                                                                        • Linuxのユーザーランドをinitから全てまるごとgolangで書く - Qiita

                                                                          gokrazy を試してみました。 gokrazyとは https://gokrazy.org/ "gokrazy is a pure-Go userland for your Raspberry Pi 3 appliances" Linuxのユーザーランドをinitから全てまるごとgolangで書いてあるシステムで、しかもコマンド一発でRaspberry Pi 3用にビルドして、ブートするSDカードを作成してくれます。 Quick startの手順通りにSDカードを作って動作することを確認しました。 (ただし、host名gokrazyの解決ができなったので、別の方法でラズパイのIPアドレスを特定してIPアドレス直接指定で、そこで動くWebサーバに接続しました。) びっくりする小ささ SDカード上に作られたルートファイルシステムを見てみました。 $ df -h . Filesystem S

                                                                            Linuxのユーザーランドをinitから全てまるごとgolangで書く - Qiita
                                                                          • Grub2の認証でバックスペースを28回押すとレスキューコンソールに入れる脆弱性が発見された

                                                                            Back to 28: Grub2 Authentication Bypass 0-Day Grub2のバージョン1.98(2009年12月)から、2.02(2015年12月)までにおいて、脆弱性が発見された。 脆弱性はGrub2の認証機能を使っていた場合に、ユーザー名を入力すべきところで、バックスペースを28回入力すると、レスキューコンソールに入れてしまうものだ。これにより、コンピューターに物理アクセスを得ている人間が、Grub2の強力なレスキューコンソール機能を使うことができる。 脆弱性の原因も詳しく書かれていて興味深い。grub2のコードでは、'\b'が入力されるたびに、unsigned型の変数をデクリメントする。この時、アンダーフローをチェックしていない。その変数は配列の添字に渡されて、ゼロが書き込まれる。 結果として、関数のreturn addressを0x0にすることができ、関

                                                                            • .emacs分割のすゝめ - KAYAC engineers' blog

                                                                              最近ロードバイクを買いました。nagata(@handlename)です。 前回、安易にも無防備な.emacsを晒したら、我らがtypester先生に 「.emacsに全部書くのは小学生までだよね〜」(大幅に誇張あり) と言われてしまったので、早速.emacsを分割してみたいと思います! (設定ファイル群をgithubにあげました) なんで分割するの? そもそもなんで分割するんでしょうか? メリットとしては、こんなものがあります。 見通しがよくなる 環境依存の設定を切り分けられる 一部のファイルにエラーがあっても他のファイルの設定は適用される それぞれ個別にbyte compileできる 一部のエラーが全体に影響しないっていうのはいいですね。とっても。 では、実際に分割する方法を見ていきましょう。 分割してみよう 分割した設定ファイルを読み込むために、IMAKADOさん謹製のinit-lo

                                                                                .emacs分割のすゝめ - KAYAC engineers' blog
                                                                              • vagrant-serverspec で TDD ライクにサーバ構築を行う

                                                                                Shin x blog Advent Calendar 2013 の 24 日目です。 先日リリースされた vagrant-serverspec を使って、テストドリブンなサーバ構築を行ってみました。 vagrant-serverspec は、サーバ、インフラの状態をテストするツール serverspec を Vagrant のプロビジョナとして実行できるプラグインです。これを使うことで、vagrant コマンドから、serverspec のテストを実行することができます。 詳しくは、@ryuzee さんの下記エントリを参照して下さい。 vagrant-serverspecを使ってプロビジョニング結果をテストする | Ryuzee.com 仕様 今回構築するサーバの仕様は下記です。PHP 5.5.x をインストールして、ビルトインサーバを起動するというものです。(※ちなみにビルトインサーバ

                                                                                • systemd超入門 | DevelopersIO

                                                                                  これはとある勉強会用の資料です。スライド作るのが面倒臭くなったのでブログにすることにしました。 Systemdとは Systemdは、Linuxの起動処理やシステム管理を行う仕組みです。 Linuxの起動処理 Linuxの起動はざっくりと以下の4段階によって行われます。 電源投入によりBIOSが起動する。 BIOSからブートローダーが呼び出される。 ブートローダーがLinuxカーネルを起動する。 Linuxカーネルがinitプロセス(PID 1)を起動する。 このinitプロセスが、Linuxの起動処理を司ります。古くから使われていたのがSysvinitで、Sysvinitの代替えとして近年Ubuntuなどで採用されていたのがUpstartです。そしてFedora 15やCentOS 7、Red Hat Enterprise Linux 7で採用されたのがSystemdです。 System

                                                                                    systemd超入門 | DevelopersIO