「console.log」を含む日記 RSS

はてなキーワード: console.logとは

2021-01-19

console.log("Hello, Anonymous Dialy");

console.log("仕事疲れた");

console.log("転職したいけど、次の仕事見つかるか不安だなぁ");

console.log("応募してみないと分からないのはそうだけど");

 

for (let chr of "みんな、しんどい時ってどうしてるのかなぁ?") {

console.log(chr);

}

2020-12-23

anond:20201223100242

createPassword = (n) => n==0 ? "" : String.fromCharCode(33+Math.floor(Math.random()*93)) + createPassword(n-1);
console.log( createPassword(8) );

2020-12-03

https://anond.hatelabo.jp/20201130214610

「 ①IFでAかBを選択させてどっちかの設定を実行

 ②Whileで決められた回数分繰り返す

 これでやりたいことは分かる。分かるけれどこれでどうやって動画音楽エンコードをしたり

 画像処理をしたりするソフトウェアになるのかというのがよく分からない。」

プログラミングでやることは、その2つだけじゃなくて、もうひとつある。

関数を呼び出すこと

Javascriptなら、console.log("Hello world")。

これは、テキストを出力するという関数を呼び出していて、関数の内部を理解しなくても使える。

オブジェクト指向も、結局はこれと同じこと。あらかじめ用意されている関数メソッドを呼び出せばいい。

もしもゲームを作りたいなら、ゲームエンジンを使うといい。

これは、大きなゲーム作成専用ライブラリで、ゲームを作るための大量のメソッドを持っている。

JSとかPython なら、比較的小さなゲームエンジンライブラリがあるので、いいと思うよ。

2020-11-03

anond:20201102113231

こうですか?わかりません ><

function pair(psns) {
  var i = -1;
  var cnt = 0;
  var flg = psns[0] && psns[0].sex;
  // modified on 2018-12-31 by XXXX
  // var flg psns[0].sex;
  var j = -1;
  var tmp = null;
  // modified on 2020-12-31 by XXXX.
  // var k = -1;
  for(i = 0; i < psns.length; i++) {
    //console.log('■■■■■■■■■■■■■■■■■■■■ BEGIN ■■■■■■■■■■■■■■■■■■■■')
    //console.log(psns, 'i=' + i, 'cnt=' + cnt, 'flg=' + flg);
    if(psns[i].sex == flg) {
      //console.log('cnt: ' + cnt + '->' + (cnt+1));
      cnt++;
    } else {
      j = i - cnt + 1;
      // j = i - cnt;
      // j = i - cnt - 1;
      //console.log('swap ' + i + '<-->' + j);
      tmp = psns[j];
      psns[j] = psns[i];
      psns[i] = tmp;
      i = j - 1; // <- 理由は分からないが、i = jだと上手くいかない(by XXXX)。
      cnt = 0;
      // flg = !flg; // これはなぜか上手くいかない (by XXXX)
      flg = flg == MALE ? FEMALE : MALE;
      while(j > 1) {
        if(psns[j].height < psns[j-2].height) {
          //console.log('swap ' + j + '<-->' + (j-2));
          tmp = psns[j-2];
          psns[j-2] = psns[j];
          psns[j] = tmp;
        }
        j -= 2;
      }
      // modified on 2018-12-31 by XXXX.
      // 
      //for(k = 0; k + 2 < j;) {
      //  if(psns[k].height > psns[k+2].height) {
      //    tmp = psns[k+2];
      //    psns[k+2] = psns[k];
      //    psns[k] = tmp;
      //  }
      //  k += 2;
      //}
    }
    //console.log(psns, 'i=' + i, 'cnt=' + cnt, 'flg=' + flg);
    //console.log('■■■■■■■■■■■■■■■■■■■■ END ■■■■■■■■■■■■■■■■■■■■')
    //console.log('')
  }
  for(i = 0; i < psns.length; i++) {
    //console.log('■■■■■■■■■■■■■■■■■■■■ BEGIN ■■■■■■■■■■■■■■■■■■■■')
    //j = i / 2;
    j = Math.floor(i / 2);
    //console.log(psns, 'i=' + i, 'j=' + j);
    tmp = psns[i];
    if(!(i % 2)) {
      psns[j] = [null, null];
    }
    if(tmp.sex == MALE) {
      psns[j][0] = tmp;
      psns[j][1] = psns[i+1];
    } else {
      psns[j][0] = psns[i+1];
      psns[j][1] = tmp;
    }
    // modified on 2018-12-31 by XXXX.
    // 
    //psns[j][0] = tmp;
    //psns[j][1] = psns[i+1];
    i++;
    //console.log(psns, 'i=' + i, 'j=' + j);
    //console.log('■■■■■■■■■■■■■■■■■■■■ END ■■■■■■■■■■■■■■■■■■■■')
  }
  psns.splice(psns.length / 2, psns.length);
  // modified on 2020-12-31 by XXXX.
  // return psns.slice(0, psns.length / 2 + 1);
  // return psns.slice(0, psns.length / 2);
}

2020-10-30

お願いだからセンスの無い人はプログラマにならないで下さい

プログラミングセンスです。センスの無い人がプログラマになると、他のすべての人に迷惑がかかります。だからセンスの無い人は絶対プログラマにならないで下さい。

プログラミングセンスが無い人や、プログラミングをやったことの無い人は、知識を得たり経験を積んだりすれば、誰でも「良いプログラマ」になれると思っているようですが、無理です。

というのも、センスの無いプログラマ問題は、知識経験の不足ではないからです。センスの無いプログラマの救いようの無い問題は「頭がおかしいこと」なのです。

題材は何でもいいのですが、具体的なコードを見た方がイメージがつきやすいと思いますので、とりあえず以下の問題を考えます

問題

住民リストが与えられるので、背の低い順に男女ペアにしたリストを作って下さい。ただし、男女の数は同数であるします。

コード

ふつうの人は、難しく考えずに以下のようなコードを書きます

const makePair = (persons) => {
  const males = persons.filter(person => person.sex === MALE)
  const females = persons.filter(person => person.sex === FEMALE)
  const compareHeight = (a, b) => a.height - b.height
  males.sort(compareHeight)
  females.sort(compareHeight)
  return males.map((male, idx) => [male, females[idx]]) // 男女の数は同数
}

この例はJavaScriptなので高階関数を使っていますが、仮にそういう機能が無かったとしても、

というコード構成は大きく変わらないでしょう。

一方、センスの無いゴミプログラマは、以下のような名状しがたきコードを書いてきます

function pair(psns) {
  var i = -1;
  var cnt = 0;
  var flg = psns[0] && psns[0].sex;
  var j = -1;
  var tmp = null;
  for(i = 0; i < psns.length; i++) {
    //console.log('■■■■■■■■■■■■■■■■■■■■ BEGIN ■■■■■■■■■■■■■■■■■■■■')
    //console.log(psns, 'i=' + i, 'cnt=' + cnt, 'flg=' + flg);
    if(psns[i].sex == flg) {
      //console.log('cnt: ' + cnt + '->' + (cnt+1));
      cnt++;
    } else {
      j = i - cnt + 1;
      //console.log('swap ' + i + '<-->' + j);
      tmp = psns[j];
      psns[j] = psns[i];
      psns[i] = tmp;
      i = j - 1; // <- 理由は分からないが、i = jだと上手くいかない(by XXXX)。
      cnt = 0;
      flg = flg == MALE ? FEMALE : MALE;
      while(j > 1) {
        if(psns[j].height < psns[j-2].height) {
          //console.log('swap ' + j + '<-->' + (j-2));
          tmp = psns[j-2];
          psns[j-2] = psns[j];
          psns[j] = tmp;
        }
        j -= 2;
      }
    }
    //console.log(psns, 'i=' + i, 'cnt=' + cnt, 'flg=' + flg);
    //console.log('■■■■■■■■■■■■■■■■■■■■ END ■■■■■■■■■■■■■■■■■■■■')
    //console.log('')
  }
  for(i = 0; i < psns.length; i++) {
    //console.log('■■■■■■■■■■■■■■■■■■■■ BEGIN ■■■■■■■■■■■■■■■■■■■■')
    j = Math.floor(i / 2);
    //console.log(psns, 'i=' + i, 'j=' + j);
    tmp = psns[i];
    if(!(i % 2)) {
      psns[j] = [null, null];
    }
    if(tmp.sex == MALE) {
      psns[j][0] = tmp;
      psns[j][1] = psns[i+1];
    } else {
      psns[j][0] = psns[i+1];
      psns[j][1] = tmp;
    }
    i++;
    //console.log(psns, 'i=' + i, 'j=' + j);
    //console.log('■■■■■■■■■■■■■■■■■■■■ END ■■■■■■■■■■■■■■■■■■■■')
  }
  psns.splice(psns.length / 2, psns.length);
}

こんなコードメンテナンスは御免被りたいです。一見して配列の要素を入れ替えていることが分かるだけで、実装を全て読まなければ(いや読んでも)処理の意図が全く分かりません。また、たとえば「i = j - 1」が間違って「i = j」などと書かれていてバグを起こしたとしても、原因を突き止めるのは困難を極めます

さて、このコードは具体的に何がいけないのでしょうか。長すぎることがいけないのしょうか。変数名が分かりにくいのがいけないのでしょうか。引数破壊的に変更しているのがいけないのでしょうか。不要コメントが残っているのがいけないのでしょうか。よく見ると、ソート処理で車輪の再発明をしていたり、「j」や「tmp」などが場所によって意味が違うカメレオン変数になっていたりしますが、それがいけないのでしょうか。どれも正しいですが、それらを逐一直したところで、本質的解決にはならないでしょう。

後者コードはもはや「ここを直したら良くなる」とかいレベルを超えています。たしかに、問題を具体的に挙げることはできます。このコードの致命的な問題が、凝集度の低さと、単一責任原則(SRP)違反にあるのは間違いありません。しかし、後者コードを書いてくる人に、

住民リストを男女に分ける処理や、リストソートをする処理、2つのリストをまとめる処理は、この問題とは独立して意味のある操作から、別の関数として抽出しましょう。その方がコードの見通しがよくなるし、一部の処理を修正したときの影響も小さくなるし、単体テストも書きやすくなります

なんて言ったって聞く耳を持たないでしょう。

そもそも、こういうコードを書く人は、この処理自体を「pair」なんて関数抽出すらしません。まだこの問題では入出力のフォーマットが明確に定義されているので、他人が1から書き直せますが、実際のプロダクトでは、無数の副作用を起こす数千行のコード迷路を彼の脳内フォーマットデータが通るわけです。もちろん、テストコードなんてありません。

まり、指摘をしても絶対に直らないのです。いくら言語の優れた機能ベストプラクティスを紹介しても、馬の耳に念仏。それらの利点を理解できるだけの脳みそが足りていないのです。

どうして、同じ処理を実装するのに、ここまでの違いが生じるのでしょうか。

これは、プログラミング技術問題ではありません。既に述べた通り、ふつうの人なら、特定機能の有無とか知識の程度にかかわらず、ふつうコードを書くのです。なぜなら、ふつうの人にはそちらの方が楽だからです。つまり、前者のコード別に何か卓越した技術を身につけた結果書けるようになるものではなく、まともな感覚さえ持っていれば、プログラミング初心者にとっても前者のコードの方が書きやすいのです。

まり後者のようなコードを書いてくる奴というのは、現実世界の捉え方が常人とは著しくずれているのです。要するに、「頭がおかしい」のです。この病気はもう直りません。だからセンスの無い人は絶対プログラマにはならないで下さい。

2020-04-08

anond:20200408130328

まあそうやろなあ

(function(){
  try{
    return (function(){ console.log("return"); })();
  }finally{
    console.log("finally");
  }
})()

// 出力
// return
// finally

2019-12-25

anond:20191225124529

console.log()がどこを出力先にするのかにもよるけど、

5G網から接続されたTCPソケットなら実際イケるんちゃう

(setIntervalのinterval設定ってコールバック呼んだ後なんだっけ先なんだっけ?)

anond:20191225123706

setInterval(_=>console.log("これが1秒に1000回表示できると思ったら大間違いだ"), 1);

2019-06-12

納得いかいから詳しい人教えて

masuda_array = ["パンティー"];
function hoge(array){
    array = ["うんち"];
    return array;
}
console.log(hoge(masuda_array)); // ["うんち"]
console.log(masuda_array); // ["パンティー"]

masuda_array = ["パンティー"];
function hoge(array){
    array[0] = "うんち";
    return array;
}
console.log(hoge(masuda_array)); // ["うんち"]
console.log(masuda_array); // ["うんち"]

なんでこの二つで動作が変わるの?

2019-02-07

anond:20190207155153

わかったよ、then使わずちゃんと書き直すってば。

(async () => 
  console.log( (await Promise.all(
    [
      'xevra',
      'Hamachiya2',
      'zyzy',
      'naoya',
      'amerio',
      'nitoyon',
      //'sbedit1234',
      'blueboy',
      'aikoku_sensei',
      'aflat_1000dai4',
      'kyo_ju',
      'MermaidSong',
      'anigoka',
      'miruna',
      'the_sun_also_rises',
      'enderuku',
      'frothmouth',
      'tanaka_yuuma',
      'rag_en',
      'comzoo',
      'Yagokoro',
      'kowyoshi',
      'quick_past',
      'zaikabou',
      'gui1',
      'scopedog',
      'qwerton',
      'white_rose',
      'kaitoster',
      'ninosan',
      'n2s',
      //'atsupi0420',
      //'hidamari1993',
      //'ketudan',
      'synonymous',
      'narwhal',
      'cloq',
      'kazuyomugi',
      'Doen',
      'Ilovenoel',
      'ribbentrop189',
      'htnmiki',
      'botuyoku',
      'hagex',
      'p_shirokuma',
      'takayoz',
      //'moko_chan',
      'Delete_All'
    ].map(  
      async id => (await fetch(`http://b.hatena.ne.jp/api/internal/cambridge/user/${id}`)).json()
    )
  )).sort((a,b)=>b.user.total_followers-a.user.total_followers).map(e=>`${e.user.display_name}:${e.user.total_followers}`).join('\n') )
)()

お気にいられ順

anond:20190203145803

naoya:4961

Hamachiya2:2348

xevra:1805

Delete_All:1319

kaitoster:930

p_shirokuma:878

nitoyon:824

zaikabou:812

kyo_ju:756

kowyoshi:664

hagex:659

kazuyomugi:572

anigoka:543

the_sun_also_rises:433

ninosan:422

blueboy:397

quick_past:351

htnmiki:324

synonymous:315

narwhal:300

aflat_1000dai4:287

miruna:276

rag_en:261

white_rose:236

gui1:233

scopedog:197

frothmouth:186

comzoo:184

cloq:183

enderuku:144

aikoku_sensei:113

zyzy:109

Doen:106

n2s:89

Yagokoro:67

amerio:64

Ilovenoel:56

qwerton:53

MermaidSong:34

ribbentrop189:21

tanaka_yuuma:18

takayoz:15

botuyoku:0

Promise.all([
'xevra',
'Hamachiya2',
'zyzy',
'naoya',
'amerio',
'nitoyon',
//'sbedit1234',
'blueboy',
'aikoku_sensei',
'aflat_1000dai4',
'kyo_ju',
'MermaidSong',
'anigoka',
'miruna',
'the_sun_also_rises',
'enderuku',
'frothmouth',
'tanaka_yuuma',
'rag_en',
'comzoo',
'Yagokoro',
'kowyoshi',
'quick_past',
'zaikabou',
'gui1',
'scopedog',
'qwerton',
'white_rose',
'kaitoster',
'ninosan',
'n2s',
//'atsupi0420',
//'hidamari1993',
//'ketudan',
'synonymous',
'narwhal',
'cloq',
'kazuyomugi',
'Doen',
'Ilovenoel',
'ribbentrop189',
'htnmiki',
'botuyoku',
'hagex',
'p_shirokuma',
'takayoz',
//'moko_chan',
'Delete_All'
].map(  
   async id => { return (await fetch(`http://b.hatena.ne.jp/api/internal/cambridge/user/${id}`)).json()}
)).then(
  v=>console.log(
    v.sort((a,b)=>b.user.total_followers-a.user.total_followers).map(e=>`${e.user.display_name}:${e.user.total_followers}`).join('\n')
  )
)

2018-04-08

読んだページを全部自動ブクマする

数日前に puppeteer で自動PDF にする試みを書いたブログホッテントリに入ってるのを見た

それに影響されて自動ブクマするもの作ってみた

bg.js

const username = ""
const api_key = ""

chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
	if(message.bookmark){
		bookmark(message.bookmark)
	}
})

async function bookmark(url){
	fetch("http://b.hatena.ne.jp/atom/post", {
		method: "POST",
		referrer: "no-referrer",
		headers: {
			Accept: "application/x.atom+xml, application/xml, text/xml, */*",
			"X-WSSE": await createCredential(),
		},
		body: `
			<entry xmlns="http://purl.org/atom/ns#">
				<link rel="related" type="text/html" href="${url}" />
			</entry>
		`.replace(/\t/g, ""),
	}).then(e => {console.log(e)})
}

async function createCredential(){
	const non = Math.random().toString(36).substr(2)
	const now = new Date().toISOString()
	const buf = new TextEncoder().encode(non + now + api_key)
	const u8a = new Uint8Array(await crypto.subtle.digest("SHA-1", buf))
	const str = Array.from(u8a, e => String.fromCharCode(e)).join("")
	const b64 = btoa(str)
	return `UsernameToken Username="${username}", PasswordDigest="${b64}", Nonce="${btoa(non)}", Created="${now}"`
}

username と api_key を埋めてバックグラウンドで動かす

page.js

chrome.runtime.sendMessage({
	bookmark: location.href
})

ページ内で動かすコード

URLバックグラウンドに投げる

今は全部投げるコードになってるが、必要に応じていらないドメインを弾いたりする

2018-03-22

N予備校プログラミング入門コースを修了した

https://anond.hatelabo.jp/20170911110731

昨年、はてブでバズりまくったエントリにまんまと乗せられた実務経験なしのプログラミング初心者

N予備校プログラミングコースプログラミング入門 Webアプリコース(有料のプログラミングコースで一番最初にやるコース)を修了したので知見をまとめておきます

とりあえず結論

そんな感じです。以下、理由

経験者の独学はほぼ無理。

客観的データをあげると、

入門コース実践編となる3章からは各講義最後課題が出されて、

N予備校GitHubリポジトリにプルリクエストを出すことで課題の提出に変えて、

学習を進めていくのですが、

3章最初課題の提出数は現在424件あるのですが、

https://github.com/progedu/intro-curriculum-3001

入門コースラストの4章最後課題の提出数は現在24件です。

https://github.com/progedu/intro-curriculum-4023

ちょうど動画ベースの講座がこないだ終わったところなので、

単純に計算すると脱落率約95%となっています

課題は解答をコピペして提出することも可能なので、

ちゃんと内容を理解できている人の割合さらに低いと思われます

なんで?

なぜそんなに脱落していくかというと、まあ難易度だったり色々あるとは思うのですが

基本的には説明不足ということだと考えています

~をするにはこういうプログラムを書けばいい!ということは教えてくれるのですが、

なぜ、こういうプログラムを書けば~ができるのかということについての説明が少ないです。

感覚としては、途中の式と解答だけが書いてある数学参考書を読み進めているような感じで、学習者には途中の式の意味自力で読み解く能力が求められます

その過程ドキュメントをあたったり、自ら調べて解決する能力必要です。

またアロー関数式だったり、三項演算子論理演算子を用いた代入などの省略記法を多用する割にソースコード中にほとんどコメントを書かないことも初学者には難しいかなと感じました。

体系的な学習にも不向きです。

あとオブジェクト指向説明をせずに、JavaScriptオブジェクトを扱っていたり、

データベース学習をする前に、MVCパターンを扱っていたり、ちぐはぐさを感じるところも多かったです。

ということで(他にもいろいろあるのですが)、未経験者が独学で進めていくのは厳しいんじゃないかな~というのが入門コースを終えての結論です。

たとえば保護者の方が専門のエンジニアで分からないことがすぐに聞けるような環境にあればよい教材になるかもしれません。

初心者が中級者へステップアップするきっかけになる可能性はある。

ただ中級者へのステップアップを目指している初心者きっかけをつかむには良い教材になりえるとも感じました。

私自身、GitHubLinux(Ubuntu)、Node.jsExpressフレームワークなど、自主的にはなかなか食指が動かなかった分野の知識を得ることができたと思います

難易度は高いですが、中級者向けのまとまった教材というのはネット上にもあまりないと思いますので、ある程度経験のあるプログラマ知識を深めるために利用するのはありだと思います

それでも体系的な知識が得られるかというと微妙ですが…。

ちゃん勉強しようとするとかなり時間必要

ただ社会人学習を進めるにはまとまった時間の確保というのがネックになるとは思います

N予備校の入門コースの想定学習時間は180時間だったと思いますが、私はこのコースを修了するのに400時間前後かかったと思います

(今年の1月初頭からほぼ毎日午後を勉強時間に充てて、ようやく昨日入門コースを修了しました)

コースを終わらせることだけを目標にするならもっと短くできるとは思いますが、ある程度知識をつけて今後にいかすことを目標にするとなると、想定学習時間内でコースを終わらせるのは難しい気がします。

これから学習してみようと思っている方へ

色々書きましたが、それでも月1,000円というのは破格の価格設定だと思いますので、気になっている方は挑戦してみてもよいのではないでしょうか。

おすすめ学習方法としては

などがおすすめです。 「「分かりそう」で~」のサイトには本当にお世話になりました。m(_ _)m

ただ特にプログラミング経験の浅い方に伝えたいのですが、N予備校の入門コース理解できなかった、挫折たからといって、プログラミングができないということはまったくないです。

私自身、SEプログラマとしての実務経験はありませんが、趣味でも仕事でもガンガンプログラム活用しています

それでもN予備校の入門コースの内容は相当難しかったです。

ぜひ挫けずにプログラミング学習を続けていただきたいなと思っています

あとネット上にはN予備校プログラミングコースレビュー散見されますが、無料コースしかやってないんじゃないかなーというものが多いのでお気をつけください。

基本的無料コースと有料コースは別物と考えたほうがよいと思います

参考になれば幸いです。

ところで、N予備校ニコニコ動画再現コース2017年度中公開予定になってるんですけど、本当に公開されるんですよね・・・?(※)

3/31 追記 ※ギリギリでしたがちゃんと公開されたようです。退会してから気づいたので内容はわかりません。

2017-07-21

var hatenadfp = hatenadfp || {};

hatenadfp._startTime = new Date().getTime();

hatenadfp.adUnits = hatenadfp.adUnits || [];

var googletag = googletag || {};

googletag.cmd = googletag.cmd || [];

hatenadfp.debug = hatenadfp.debug || false;

hatenadfp.isNGContent = typeof hatenadfp.isNGContent !== 'undefined' ? hatenadfp.isNGContent : function () {

return false;

};

hatenadfp.enableSingleRequest = hatenadfp.enableSingleRequest || false;

hatenadfp.slotRenderEndedCallback = hatenadfp.slotRenderEndedCallback || function (event) {

if (hatenadfp.debug || window.location.search.match('hatena_dfp_debug=1')) {

console.log( 'Slot ' + event.slot.getAdUnitPath() + ' has been rendered in '

+ (new Date().getTime() - hatenadfp._startTime) + ' msec, with' +

' size: ' + event.size,

' creativeID: ' + event.creativeId +

' isEmpty: ' + event.isEmpty +

' lineItemId: ' + event.lineItemId +

' serviceName: ' + event.serviceName );

}

};

2017-05-10

【追記あり】Re: inside 売れないサービスの開発現場から

http://anond.hatelabo.jp/20170509183828

を書いた増田です。

こんなにたくさん反応があると思っていませんでした。

開発に対してモチベーションが保てずに、愚痴まとめてスッキリしようとか、そういう気持ちで殴り書いたものだったので。

本当にありがとうございます

「俺、こんなんドン・キホーテと一緒やん」みたいな気持ちでやってたことが、少し報われました。

自分発信のものに反応もらえるってこんなに嬉しいんですね。(何しろ二年くらいそういうのないもので。)

はてブツイッターでの反応は全部読んでますありがとうございます。(二年なかったので許してください。気持ち悪がらないでください。)

どうせお前のスキル不足だろ!!!バカ!!!働け!!!死ね!!!みたいなの予想してたので、9割くらいの人に同調されてるのに少しびっくりしています

と同時に、そんなんやっぱりどっか根本的におかしいよね、なんて思ったりもしています。大きい問題すぎてどうにもできないですが。ちなみにスキル不足はあっています

いくつかちょっと返したいコメントあったので、ざっくり返信します。

ーーーーーーーーーーーーーーーーーーーーーー

・「給料もらってるの?会社大丈夫?」

一応お給料はいただいてます。少ないですが。僕は業務委託なので、会社大丈夫かどうかはあまり興味がないのでよくわかりません。潰れたら次に行くだけです。

・「お金出所がきになる。」

あんまり詳しいことは言えませんしわかりませんが、受託開発みたいなことをしているようなので裏で黒いことをしていない限りは、そこで得た収入をつぎ込んでいるのだと思います。今の体制を維持していくだけなら会社的にはそんなに負担になっていないのかもしれません。プロっぽい人が一人もいないので、実験的な意味合いもあるのかなあと勝手に思っています

・「辞めればいいのに」

おっしゃる通り。だけど僕が抜けたらもうこのサービス動かなくなってしまます。一回やるって言って、お金もらっている以上は続けたいじゃないですか、できるだけ。一応愛着も二ミリくらいあります。でも、お給料出なくなったら秒でやめますよ。

・「仕様決めには入らないの?」

この話聞きます

~~~~~~~~~~

ディ「やっぱり仕様決めるのに作る人がいないと進まないよね!」

僕「そうですね。」

ディ「まず、今回はこういう機能を入れたくて、この機能が狙っている効果としてはね・・・」(クソでかいビジョン説明Google行け。)

僕「なんとなく伝わりました。で、どういうの作りたいんですか?」

ディ「こうこうこんな感じで、〇〇(ちょっと話題スタートアップサービス)みたいな、ユーザーが楽しんで使ってくれる機能いいね!

僕「なるほど。まず、それもう別サービスでやったほうがよくないですか?今までの方向性から変わりすぎなような。あんまり詰め込むとユーザーわかんないですよ。」

ディ「大丈夫!後から説明する!もうストーリーはできてるから!そしてそれはデザイン次第だから!」

僕「わかりました。後ここ、なんか聞いてたビジョンとずれてるようなんですけど。」

ディ「そこはねーこうこうこういう理由でね、こうなってこう、さっきの説明もしちゃうけど、ここからこうなるストーリーを狙ってるんだよ」(ユーザーにその説明する気なのかな?)

僕「なるほどですね。じゃあ、全体的にこういう仕様にしたほうがよくないですか?そんなにビジョンからずれてもないですし。」

ディ「うーん・・・それだとなあ、なんか違うんだよな。」

僕「こっちの方が技術的なこういう問題も解消できますよ。ちょっと初めのだとすぐ実装思い浮かばないですし、バグも出やすそうです。」

ディ「でも可能不可能かでいうと、不可能じゃないよね?」

僕「不可能ではないと思いますけど。」

ディ「じゃあ、こっちでいこう!!!!」

僕「わかりました。」

ディ「で、どれくらいでできるかな?」

僕「え、まだ方向性だけで、何にも決まってないのと同じなので見積もりはできないですよ。」

ディ「そのために呼んだのに!!!!!」

~~~~~数時間後~~~~~

僕「ここはどうするつもりですか?僕はA案の方がいいと思いますけど。B案ちょっと影響大きすぎますし。」

ディ「でもB案もなあ・・・B案じゃないとストーリーがなあ・・・」(この仕様会議中にもう五回はそのストーリー外れてるよね?)

僕「(こうなると進まないので)じゃあB案で。」

ディ「お願い!!!!」

~~~~~数時間後~~~~~

ディ「ここはキモ!本当にキモ!コアだから!!!

僕「なるほど、でもこの機能ユーザーいないと楽しめないですよね?こうこうこうしたら、いいんじゃないですかね?」

ディ「絶対増えるから!この機能いれたら絶対増える!!!!」

僕「いや、というか、ストーリー自体ユーザーいないと途中でこけて、ケアできてないこといっぱいあると思うので、コアならなおさらちょっと考え直した方が。」

ディ「・・・・・・・・(キレ気味に)じゃあどうするの?全部無駄になるよ?」(ご愛顧ありがとうございましたってhtmlならすぐ書けるよ?)

~~~~~~~~~~

こんな感じですぐスリーパーホールドで固められちゃうんで、無駄なんです。

・「今どきPDFで納品とかあるの?」

僕も驚いています。何度か無理って突き返したんですけど、他のツールでも手間があんまり変わらなかった(すごい話し合うくせに実際見て大幅に手直しがある。)

ので、もうPDFで仮組みした方が早いと思って諦めてます。紙出身なんじゃないの?って意見見て、なるほど、と納得しました。

ーーーーーーーーーーーーーーーーーーーーーー

なんかいっぱい書きたいことあったんですが、忘れちゃいました。

辻褄があってない部分は、本当のこと書きすぎてて、ちょこちょこ誇張入れたり省いたり、言えないことをごまかしたり、分かりにくいなとおもったところを直したりしたためです。単純にミスってるとかもあるかもなので、雰囲気で読んで下さい。ミス錯乱に変える高等テクニックだと思って褒めてくれてもこちらとしては何の問題もありません。褒めて。

ちなみにディレクターは二人居ますが、もう片方はほとんど言いなりなので、ここに書いているやり取りは、一人のディレクターしか出てきていません。

こんなうつの上がらないエンジニアの戯言、何の先の展開力もない、ただの文字だけのコンテンツが、2日で600はてブ以上取って、ほんとうにインターネットすごい。

もっと正直に話すと、最近鬱手前っぽい症状が出ていて(一回なったことがあるので)、ちょっとやばいと思ったので、書きました。

本当に激務でもなく、パワハラもない、これ以外のストレスはないホワイト現場なんですが、こういうことでも積み重ねていくと滅入っていくんだ、と自分でもちょっとびっくりしています

また溜まったり、状況が変わったら(転職とか転職とか転職とか)書きます。本当は漫画にしたいと思っていたのですが、下手すぎて文章しました。誰か漫画にしてください(強欲)。

ではでは

console.log("thank you for reading!!");

~~~~~追記~~~~~

作業が待ちに入って、少し手が空いたので追記します。

続編も思ったより伸びてしまいました。20はてブくらいで尻すぼむだろうと思っていたので。

本当にありがとうございます

そしてみなさんご心配ありがとうございます

一度壊れているからか、自然

・ねる

やす

・てきとうなことをいう

・むしする

と、危ない時には四つの技を覚えましたので、戦闘では全く使えませんが、自己防衛にはまあまあ長けたポケモンになっていますので心配いりません。

文読みやすいとかうまいとか、言われ慣れてないので困惑していますありがとうございます

書くこと自体は割と好きな方なので、これくらいの脊髄反射みたいなものでよければ、シリーズ化とまではいきませんが、書き続けたいなと思っています

増田として書くのも気楽で楽しいんですが、別サービスへの移行も考え中です。まとめるとき楽そうなので。でも、こういうのって増田からいいんですかね?

まりブログなど続いた覚えがないので、まだ思案中ですし、もう書けることも仕事系統だと同じテイストなっちゃうので、読み飽きるかなあとも思っています

やるとなったらある程度身を削る覚悟はいますが。

ではでは、もしかしたら増田としてはこれが最後かもしれません。

人には言えないドン引きされるような性の話が書きたくなったらまた来るかもしれません。

console.log("see you later!!!");

2017-02-05

http://anond.hatelabo.jp/20170205125220

色々ありはするんだけど説明簡単なのとして

var a =[];

a[0] = 10;

a["1"] = 100;

a["a"] = 20;

console.log(a);

とりあえずこのaがLength2のArrayとして表現されるのは意味が分かんないんだけど。

2016-11-17

かえりたい

if(dev.isBored() || job.isSucks() || human.isFucked()) { searchJobs({openHours: 10, minSalary: 25}); } console.log('転職したい');

2016-04-01

月刊Vim 3月号 - ゼロ除算編

:echo 1 / 0
:echo 0 / 0
2147483647
-2147483648

きっしょwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

他の言語もチェックしてみるか

golang

package main

import "fmt"

func main() {
	fmt.Println(1 / 0)
	fmt.Println(0 / 0)
}

division by zero

php

echo 1 / 0;
echo 0 / 0;

PHP Warning: Division by zero

python 2

print 1 / 0
print 0 / 0

ZeroDivisionError: integer division or modulo by zero

python 3

print(1 / 0)
print(0 / 0)

ZeroDivisionError: division by zero

nodejs

nodejsだと1/0と0/0で異なるメッセージが表示された。

console.log(1 / 0);

Infinity

console.log(0 / 0);

NaN

luajit

luajitだとnodejsで表示されたメッセージの短縮形で表示された

print(1 / 0)

inf

print(0 / 0)

nan

haskell

修正しました thx @anekos

main = do
    print(1 / 0)

Infinity

main = do
    print(0 / 0)

NaN

java

public class Test {
    public static void main(String[] args) {
        System.out.println(1 / 0);
    }
}
public class Test {
    public static void main(String[] args) {
        System.out.println(0 / 0);
    }
}
Exception in thread "main" java.lang.ArithmeticException: / by zero
        at Test.main(Test.java:3)

bash

#!/bin/bash

echo $((1 / 0))
echo $((0 / 0))
test.bash: 行 4: 1 / 0: 0 による除算です (エラーのあるトークンは "0")
test.bash: 行 5: 0 / 0: 0 による除算です (エラーのあるトークンは "0")



haskellnodejsとluajitはエラーにならないけどまあいい。

Vimはやべえよ。


結論言語わずゼロ除算はするな









しまった、4月だった。

2015-10-21

Array.ForEachがうまくいかないから

for(var i = 0; i < list.length; i++){
}

にしておいた。Windowsjsファイルスクリプトを食わせたら動いたけど、XulRunnerよ、Array.forEachは使えないんだなきっと。ふざけやがって。計6時間消費、Array.forEachを何とかつかってやろうと思っていたが。

MozillaMicrosoftなどに負けたのは、ふつうに使える開発ツールが無さすぎなんだよ。傾斜生産方式を見習えっての。

少し直してはアドオンパッケージングして、ロードさせてアプリ再起動させて実行、また直してはアドオンパッケージングして、ロードさせてアプリ再起動させて実行で、たかが1文字間違えていただけで見つけるのに数十分もかけさせられてたら萎えるわ。alertも使えないし、console.logかいうのも ctrl+shift+J で出る画面になにも表示されないし。

Visual Studioサイコーだね!!Java なんて手を出さなくて助かったわ。重くてすぐオチる Eplicse なんて使っていたらストレスたまるし。

ログイン ユーザー登録
ようこそ ゲスト さん