Skip to content

Instantly share code, notes, and snippets.

@pinzolo
pinzolo / Gemfile
Created June 24, 2014 15:09
一般的な Gemfile
source 'https://rubygems.org'
gem 'rails'
# some gems
group :development, :test do
gem 'rspec'
gem 'rspec-rails'
gem 'pry'
@pinzolo
pinzolo / Rakefile
Created June 13, 2014 07:06
-cfs option is invalid from RSpec3
#!/usr/bin/env rake
require "bundler/gem_tasks"
task :default => [:spec]
begin
require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new(:spec) do |spec|
spec.pattern = 'spec/**/*_spec.rb'
spec.rspec_opts = ['-cfs'] # ← ココ!!
end
@pinzolo
pinzolo / jquery.localList.js
Last active August 29, 2015 14:01
localStorage を利用して配列をわりと安全に扱うための jQuery プラグイン
(function($, window) {
var LocalList = function() {
this.localListKey = "";
};
$.extend(LocalList.prototype, {
add: function(obj) {
var data = JSON.parse(localStorage.getItem(this.localListKey));
data.push(obj);
localStorage.setItem(this.localListKey, JSON.stringify(data));
@pinzolo
pinzolo / addCommentToCell.java
Created May 7, 2014 07:36
POIにてセルにコメントを登録する
private void addCommentToCell(Cell cell, String content) {
Sheet sheet = cell.getSheet();
Workbook book = sheet.getWorkbook();
Drawing drawing = sheet.createDrawingPatriarch();
// サイズは適当
ClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 1, 1, 4, 4);
Comment comment = drawing.createCellComment(anchor);
comment.setString(book.getCreationHelper().createRichTextString(content));
cell.setCellComment(comment);
}
# Wiki
## テスト
### リスト
* foo
* bar
* baz
* bazbaz
@pinzolo
pinzolo / copy_file_using_commons_io.java
Last active August 29, 2015 13:59
Apache Commons IO を使用したファイルコピー
import org.apache.commons.io.IOUtils;
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
try {
bis = new BufferedInputStream(new FileInputStream(file));
File newFile = new File("/path/to/dest_dir/" + file.getName());
newFile.createNewFile();
bos = new BufferedOutputStream(new FileOutputStream(newFile));
IOUtils.copyLarge(bis, bos);
@pinzolo
pinzolo / upload_files.js
Last active August 29, 2015 13:59
アップロードするファイルをリスト出力し、ajax アップロードを行う。結果をリストに追加表示する。
function uploadFiles(files) {
var fileListHtml = '<ul>';
// for (var i = 0; i < files.length; i++) では、error, success 時の liId が束縛されず最後の値となる
// files は FileList を想定しており、FileList#forEach は存在しないのでこのような書き方となる
[].forEach.call(files, function(file, idx, list) {
var liId = 'file_' + idx;
fileListHtml += '<li id="' + liId + '">' + file.name + '</li>';
var formData = new FormData();
formData.append('file', file);
j$.ajax('<@f.path uri="upload" />', {
@pinzolo
pinzolo / drag_and_drop_files.js
Created April 10, 2014 14:01
File API を実装しているブラウザにて、ファイルのドラッグアンドドロップを処理する
if (window.File) {
$("#fileDrop").on('dragenter', function (e) {
e.stopPropagation();
e.preventDefault();
j$(this).addClass('fileOver');
}).on('dragover', function (e) {
e.stopPropagation();
e.preventDefault();
}).on('drop', function (e) {
$(this).removeClass('fileOver');
@pinzolo
pinzolo / vim_tips
Created April 10, 2014 02:01
Tips for vim
# 重複を取り除いてソートする
:sort u
# ページ送り
C-f
C-b
@pinzolo
pinzolo / get_lines_from_large_file.sh
Created March 24, 2014 23:41
巨大なファイルから任意の行を取得する
# 先頭行取得
cat large_file.txt | head -1 | tail -1
# ランダム取得(0から32767)
cat large_file.txt | head -$RANDOM | | tail -1
# 複数行取得(1000行目までの10行)
cat large_file.txt | head -1000 | tail -10
# 最終行取得