サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
www.key-p.com
花粉との戦いの季節がまたやってきました、しらかみです。 WebFileがリリースされてから、早いもので15年が経ちました。 その間、Webアプリを取り巻く状況の変化については、ご存知のとおりです。 WebFileもそろそろフロントエンドの刷新を検討すべき時期なのかもしれません。 そこで今回は、3大メジャーフロントエンドフレームワークである、 React、Angular、Vue.jsについてあれこれ調査した結果をお話したいと思います。 とはいえ、各フレームワークの特徴や仕様については、そこら中に転がっていて、 そういうのと比べられるとボロが出るので、二番煎じになるのもあれなので、 ここではフレームワークを選定および採用する場合に 検討した/しなかった(あと、しなくてもよかった)ポイントを紹介したいと思います。 検討したこと システムの規模はどのくらい? Reactは小〜中規模向け、Vue.j
tです。 今回は、JavaScriptのユーティリティライブラリである、Lodashについて書きます。 最近では、Lodashの機能も、JavaScriptに標準で用意されるようになりました。 例えば、Lodashの_.keys関数や_.some関数は、JavaScriptに標準で用意されています。 _.some関数Array.prototype.some() Lodash JavaScript標準
tです。 Moment.jsというJavaScriptのライブラリについて紹介します。 Moment.jsは日付処理を行うライブラリです。JavaScriptには、標準でDateクラスがありますが、Moment.jsは、多言語対応や様々な機能が追加されています。 今回は、現時刻から指定した日(2017年7月1日)まで、どれくらいあるか表示する方法を、2パターンご紹介します。 1.だいたいの単位で表示する (Twitterのツイートの時間表示などでよく見られます) 2.正確に表示する (カウントダウンイベントなどで使えるかと思います) 実行環境 Node v7.10.0 Moment.js v2.18.1 1. だいたいの単位で表示する 以下のようにするだけで、だいたいの単位で表示できます。 fromNowを実行するだけなので、簡単です。
お久しぶりの登場、溝畑です。 JSばかりでしたが、今回はPHPです。 個人的に「指定したURLのキャプチャを撮ることはできないの?」という相談を受けて、調べてみました。 早速やっていきましょう! PHP PhantomJS PHP PhantomJSというライブラリを使います。 composer前提で話を進めていきます。 composer initでcomposer.jsonを作成。 { "scripts": { "post-install-cmd": [ "PhantomInstaller\\Installer::installPhantomJS" ], "post-update-cmd":[ "PhantomInstaller\\Installer::installPhantomJS" ] }, "config": { "bin-dir": "bin" }, "require": {
前回に引き続き、今回も、JavaScriptのPromise関連の記事です。 今回は、JavaScriptライブラリのbluebirdを使って、コールバックで非同期処理を行う関数を簡単にPromiseを返す関数に変換する方法を紹介します。 bluebirdとは bluebirdとは、Promiseを実装したJavaScriptのライブラリです。現在、多くのブラウザやNode.jsなどのJavaScript実行環境では、Promiseが標準で対応されていますが、IEなどの未対応の環境でも、bluebirdを利用することでPromiseを使えるようになります。 それだけでなく、bluebirdにはES2015の標準の仕様にない便利な関数があり、Promiseに対応している環境でも便利なライブラリです。 bluebirdのpromisify、promisifyAllでPromiseを返す関数を作
tです。今回は、Babelを使ってJavaScriptコードをトランスパイルするときに便利な、babel-preset-envについて紹介します。 Babelは、ES2015、ES2016などの新しいJavaScriptの文法や機能を、対応していないJavaScript環境でも利用できるように、JavaScriptのコードを変換します。 最近では、ES2015、ES2016へのJavaScript環境の対応も進んでいますが、それと同時に、新しい文法や機能の策定も行われています。 babel-preset-envを使うことで、簡単に、既に対応している機能は変換を行わないようにすることができます。 環境準備 babel-preset-envを使ってどのように変換されるかを、「index.js」を使って見ていきます。 以下の3つのファイルを、任意のディレクトリに準備してください。
今回は、JavaScriptのPromiseについての紹介と、Promiseを使っていると困る「例外時のエラー出力」について書きます。 Promiseとは Promiseは非同期処理を分かりやすく記述するために使われるものです。 例えば、Node.jsで3つのファイルを読み込むような場合を考えます。ひとつ前のファイルの内容を使って次のファイルを読み込むイメージです。 この場合、readFileSyncを使うなどの回避ができると思いますが、Promiseの説明のため非同期処理で行います。 まずは、Promiseを使わずに書いてみます。 const fs = require( 'fs' ); fs.readFile( 'file1', function ( error, data1 ) { // data1から次に読み込むファイル名を求める fs.readFile( data1, functi
お久しぶりです。2回目の登場、溝畑です。 Markdown記法を覚える意味も込めて、VimにMarkdownの環境を整えてみましたのでご紹介。 Markdownとは、文書を記述するための軽量マークアップ言語のひとつです。 Markdownについては、http://daringfireball.net/projects/markdown/ こちらを参照していただければと思います。 それでは実際に環境を整えていきましょう。 プラグイン管理にNeoBundleを導入していることを前提で進めます。 環境を整えるにあたって、導入するプラグインは以下の3つです。 ・vim-markdown ・previm ・open-browser.vim .vimrcに以下の記述を追加
takedaです。前回に引き続き今回もRubyです。Rubyを使い始めて3ヶ月ほどになりますが、Rubyとの接し方にも慣れてきました。 今回は、内部DSLを用いた、設定ファイルの読み込みについて記述します。 端的にまとめると、Rubyのプログラムを設定ファイルのように扱おうということです。 内部DSLとは DSLとはドメイン特化言語と呼ばれるものです。ある事柄に対して、特化しているプログラミング言語のようなものです。 MySQLなどの設定ファイルも、設定項目に対して、代入を行うだけのプログラミング言語とみなすことができるかと思います。 内部というのは、Rubyという言語の内部で特化された言語ということです。 外部DSLは文法などが一から定義されるのに対して、内部DSLでは、Rubyの文法に則って記述します。 何ができるのか 通常のYAMLやJSONなどの設定ファイルの記述と違い何ができるの
こんにちは、何回目かの登場です。だんだん暖かい通り越して暑くなってきましたね。 今回は、たまには技術的な事をお話ししたいと思い、簡単ですがSSL混在コンテンツの対処についてまとめてみました。 SSLとは? よくあるお問い合わせページや、ログインページのURLを見ると「https」が先頭についていることがあります。 これはSSLが適用されている場合に表示されます。SSLとはネットワーク上のデータを暗号化して送受信するプロトコルの一つです。暗号化することでサイトで入力する情報を盗み見られることなく安全に送受信を行う事が出来ます。 もちろん弊社サイトのお問い合わせも、自社製品システム(WebFile・GrpMail・多守Plus)もこれを導入しております(`・ω・´)b SSLのページでは、『http://』の形で外部からファイルを読み込むと、ブラウザによっては警告が表示されてしまいます。 暗号
こんにちは、沼田です。 今回はPHPネタを投稿します。 ここしばらくは開発上、JavaScriptフレームワークのjQueryや、そのプラグインを用いることが多いです。 jQueryプラグインの方でAjax通信を使って、PHPサーバからJSON化したデータを取得するケースがありますが、PHPサーバ側で配列データをJSON化して出力する時は、気をつけないと意図した結果と異なりjQueryプラグイン側でエラーになってしまいます。 まずは、以下のPHP配列をご覧ください。 ■配列1 array(3) { [1] => string(5) "data1" [3] => string(5) "data2" [9] => string(5) "data3" } これをjson_encode()を使ってJSON形式にエンコードします。 すると以下のようなエンコード結果が得られます {"1":"data1
お久しぶりです。 常角(つねずみ)です。 2月以来2度目の投稿になります。 前回の投稿は、意外と好評だったそうで、なんだかんだでたくさんの人に見てもらえたかと思うと嬉しいです。 さて、今回のテーマはAndroid。 端末内のファイルのメニュー内の「共有」に、自分の作ったアプリを追加する方法を紹介したいと思います。 要は、画像のビューアとかで「共有」⇒「Twitter」でTwitterにアップロードできるあれです。 やり方は簡単 まず、Manifest.xmlにintent-filterを追加します。 例) <intent-filter> <action android:name=”android.intent.action.SEND” /> <category android:name=”android.intent.category.DEFAULT” /> <data android:m
こんにちは、常角です。 というか、初投稿なのではじめまして、です。 名前は、常角(つねずみ)と読みます。 ド田舎出身で、地元ではそこそこありふれた名前ですが、神戸に出てきてからは、弟たち以外に同じ苗字の人間に会ったことはないです。 加えて、大体初対面の人は「つねかどさん」と呼ぶので、毎回突っ込むのが億劫になります。(宅配の人とかに対しては、もう諦めています) さて、記念すべき初投稿のネタなのですが・・・何にしよう。 考えてなかったので、書くことがないです。 では格好つかないので、以前仕事で使った、便利だと思ったSQL文を紹介します。 どんな事をするのかは、タイトルを見てね。 少しだけどういうことか説明すると、 DB上で、特定の値が重複しているデータが存在する場合、それを一つだけ残して、残りを削除するためには?という事です。 Delete t1 From 削除したいデータのテーブル t1 W
大西です。 久しぶりの投稿で画像のサイズ間違えたようですが気にしない程度のA型です。 本日、見つけたツールの紹介。 Dash (Docs & Snippets) カテゴリ: 開発ツール 価格: 無料 Xcodeのリファレンスよりも快適! クラスリファレンスを素早く検索・表示できるアプリ「Dash」 – 拡張現実ライフ を見て、自分でも使ってみたのですが、想像を超える便利さが無料で手に入るんだから、「HDD(SSD)の容量が足らない!」って人以外は、絶対に入れるべきです。 iPhoneの開発しなくても、PerlやRuby、PHPやjQueryにCSS、ActionScriptなど20種類以上のマニュアルから、一気に検索出来るし、それぞれ単独でも検索可能、おまけにDashExpanderにあった、snipet機能まで付いているので、間違い無くお薦め。 DashExpander カテゴリ: 仕事
こんばんは。るんるん。 シリコンスチーマーでのパン作りがうまくいって、ごきげんです。 タブブラウザが主流のこの頃、 いくつか開いていたタブを閉じるのは、 もちろんショートカットキー「 Command + w 」派です。 でも、便利なこのショートカットキー、罠が潜んでいます。 なぜなら「w」キーの隣は「q」キー。 「 Command + q 」はアプリケーション終了、これは大ピンチです! まちがってCtrl + q しちゃって、えーんって泣いてるのが、このアカウントです。えーん。 — うちださん (@viva154) 2月 24, 2012 いつものごとくTwitterで泣いてたら、天の声が・・・ @viva154 KeyRemap4MacBookいれて、Ctrl+qを長押ししないとアプリ終了できないようにするのが、常識です!(キリッ — 大西正晃さん (@kp_ohnishi) 2月 24
ご無沙汰しておりました。奥村です。 開発でMacOS X でApache+PHP環境から、Oracleデータベースに接続する必要がありました。 今回は接続するための設定をご紹介します。 環境 今回の設定での環境です。 Mac OS X 10.6.4 MacPorts 1.8.1 残りは MacPortsでインストールしたモジュールのバージョンです。 Apache 2.2.14 PHP 5.2.11 PEAR(pecl) 1.9.1 phpやapacheの設定はできている前提です。 前準備 まずはOracleのInstantClientをダウンロードします。 http://www.oracle.com/technology/global/jp/software/tech/oci/instantclient/index.html 最低限の必要なファイルは下記です。 instantclient-
WebFile Liteは 2022年5月31日12時にサービス提供を終了いたします。 新規のお申し込みは 2022年3月1日18時までの受付となります。 WebFile Liteとは、ファイルを送る、受け取る、共有する、守る、管理することができる、「安全なファイル送受信・ファイル共有システム」を無料でご利用頂ける企業向けサービスです。安全なファイル送受信、ファイル共有システムで機密データの情報漏洩を防ぎます。
< ?xml version="1.0" encoding="utf-8"?> <mx :WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" horizontalAlign="left" creationComplete="init()"> </mx><mx :Script> < ![CDATA[ import flash.desktop.*; import mx.controls.Alert; private var process:NativeProcess; private function init():void{} public function dittoCommnd():void{ if (NativeProcess.isSupported){ // コマンドライン情報
今日は、Postfixを使って受信メールでPHPを動かす方法のご紹介です。 POPメールサーバは、メールを受信すると、各アカウントのメールボックスにメールを 貯めておきますが、メールボックスに入れるかわりに受信したメールを他のプログラム に渡すこともできるんです。 この機能を使うと、どんなことができるかというと、例えば特定のメールアドレスに メールを送ると、送信内容をBBS(掲示板)に反映したり、ブログの記事として投稿 したりと、普段、ブラウザを使って実行するのと同じようなことができます。 外出先からメールでブログ更新とか、今風でカッコイイでしょ。 と、前置きは長くなりましたが、設定方法です。 設定するファイルは、 /etc/aliases です。ここに php: "| /usr/bin/php -f /var/www/mail-exec.php > /dev/null 2>&1" こんな
グループでのメール対応に特化した 使いやすい メールシステム シンプルな画面で、メールの対応状況がひと目でわかる。 二重対応・見落としを防ぐ「メール共有管理システム」です。
久しぶりの登場です(^^; めっきりと、Emacsを使う機会が減ったので、忘れる前にがんばって、開発しようと奮闘中です。 以前は、Emacs上で、grepをするときは、以下のように、grep-findを定義していたりもしたのですが、Macで動かなかったりして、放置していました。 (add-hook 'dired-load-hook '(lambda () (load-library "ls-lisp") (setq ls-lisp-dirs-first t) (setq dired-listing-switches "-AFl") (setq find-ls-option '("-exec ls -AFGl {} \;" . "-AFGl")) (setq grep-find-command "find . -type f -print0 | xargs -0 -e grep -ns ")
トマト@ネットワーク云々担当です。 サーバを運用していると、攻撃や、不正アクセスを受ける事はよく有ります。 今回は、SSHへの連続的な攻撃を、サーバで判断し、自動でアクセスを拒否するスクリプトを紹介します。 攻撃の判断基準は、存在しないユーザでのアクセスと、存在しないユーザで、パスワード間違いの接続、存在するユーザで、パスワード間違いの接続の3種類です。 スクリプトの内容的には、crontabを使用し、一定間隔でログファイルをチェック、指定回数以上の攻撃を検知すると、hosts.denyファイルにて、該当IPからのSSH接続を拒否すると言う物です。 最新ファイルは、コメント欄のURLからダウンロード出来ます。 以下のコードを、コピー&ペーストで使用しないで下さい。 ※環境により、不用なコードが入ってしまう場合があります ssh-check.sh #!/bin/sh #-----------
社内では、Tracをつかって開発をしているのですが、本日、某女史より、「redMineのガントチャート・・・」という叫びがあり、Pluginのページまで、Skypeで送りつけられたので、インストールしてみたら案外簡単でした。 インストールメモは、以下の通り。 TracGantt より、TracGantt 0.3.2a Sourceをダウンロードします。 インストールしてきたファイルを解凍して、インストールコマンドを実行すれば、インストールは、完了です。 $ tar zxfv TracGantt-0.3.2a.tar.gz $ cd TracGantt-0.3.2a $ python setup.py install あとは、使いたいプロジェクトのconf/trac.iniに、以下の記述をすれば完了です。 [components] tracgantt.* = enabled また、チケット
港町神戸から、 価値あるサービスを。 We provide valuable services from the port city of Kobe.
先日、24インチiMacに移行した、S嬢が、「Emacsで日本語入力ができません」というので、見てみると、確かに、ATOKが一瞬ONになるものの、すぐに英数モードに切り替わってしまい、日本語入力ができない。 日本語の表示は綺麗にできているので、「なんなんだろう?」と思ってました。 で、本日自分も、Carbon Emacsを、最新版にUpしたところ、同様の現象に合ってしまったので、「何かが変わったな?」ということは分かったので、早速調査してみました。 思いの外、簡単に見つかりました。 Carbon Emacsの「よくある質問と回答」のページに、載っていました。 Mac OS X のインプットメソッドがオフになってしまう GNU Emacs + インラインパッチの仕様変更による現象です。 .emacs.el の後ろの方に (setq default-input-method "MacOSX"
本日、少し遊んでてはまった。 前から、他のWebサービスでは気になったのだが、深く追求していなかったが、探すとすぐに理由が見つかったので、忘れないためにメモです。 何らかの処理をするために、キーが押された事を検知して、処理を走らせるなんてのは、最近多いわけですが、その際に使うイベントによって、MacのFirefoxでは、旨く以後いてくれないという話。 サンプルをつくりました。---->こちら <hhml> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <script language="JavaScript"> <!-- function eventpress() { alert("event!"); } //--> </script> <body> onkeydown<input
普段は、ほとんど、Ubuntuなのだが、たまにCentOSもつかう。 ただ、その時にいつも気になるのが、sudoがデフォルトでないこと。 ここでは、省略するがsuって結構危険な香りなので、CentOSであっても、sudoにした方がいいと思ってる。 で、たまにしかやらないので、rootを無効にする方法を、すぐ忘れてしまうので、メモです。 まずは、sudoをインストールして、visudoで、wheelグループに所属する人だけが、sudoを使えるようにする。 visudoして、以下のようにコメントアウトを外す。 ## Allows people in group wheel to run all commands %wheel ALL=(ALL) ALL で、次に以下のようにして、rootを無効化してしまう。 $ sudo passwd -l root これだけですので、自分管理のマシンは
前エントリーの続きです。 遅くなりましたが・・・・ 前回で、「標準のApache1.3とPHP4.4で、MySQL4.1に接続して・・・」という所までは出来ているという前提で話を進めます。 MySQL5.0のインストールや設定やら ここから、いよいよMacportをつかって、インストールをしていきます。 まずは、macportを使えるように、このあたりのエントリーを参考に準備だけはしておいてください。 macportが使えるようになったら、以下のように作業を進めます。 MySQL5インストール 以下のように、MySQL5をいすトールします。 $ sudo port install mysql5 +server マシンスペックにも関係しますが、思いの外、時間が掛かりますので、一服をおすすめします。 ここで、問題が発生します。以前、Mac miniでテストしたときは問題なかったのですが
次のページ
このページを最初にブックマークしてみませんか?
『KEYPOINT~キー・ポイント株式会社』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く