Hatena::ブログ(Diary)

babu_babu_babooのごみ箱

2018-10-05

数独の正解確認のプログラムを作りたい

| 19:17

数独の正解確認のプログラムを作りたい
https://okwave.jp/qa/q9544201.html

やっぱり頭のネジが緩んでるな。間違いだらけだった。


let A = [
7,6,1, 3,5,2, 8,4,9,
5,8,2, 9,4,1, 3,7,6,
4,9,3, 7,6,8, 2,1,5,

6,2,8, 4,7,3, 9,5,1,
9,7,4, 1,2,5, 6,3,8,
3,1,5, 8,9,6, 4,2,7,

2,5,7, 6,8,4, 1,9,3,
8,3,9, 2,1,7, 5,6,4,
1,4,6, 5,3,9, 7,8,2

];

const
  SQRT = Math.sqrt,
  INT  = Math.floor,
  
  MAX  = SQRT (A.length),
  AREA = SQRT (MAX),
  COUNT = [...new Array (MAX)],
  
  slice = (i, n = AREA) => A.slice (i, i + n),
  
  is_aligned = ary => {
    let a = new Set (ary);
    return ary.every ((_, i) => a.has (i + 1));
  },
  
  getRow = row => slice (row * MAX, MAX), 
  getCol = col => COUNT.map ((_, i) => A[col + i * MAX]),
  getArea = area => {
    let i = INT (area / 3) * MAX * AREA + (area % AREA) * AREA;
    return slice (i).concat (slice (i + MAX), slice (i + MAX * 2));
  },
  
  check = () =>
    COUNT
    .reduce ((rst, _, i) => rst.concat ([getRow (i), getCol (i), getArea (i)]), [])
    .every (a => is_aligned (a));


alert (check () ? "出来た!": "できてな〜い!");


2018-10-02

月を印刷してみた。(最大サイズ:直径210mmギリ越)

| 10:12

f:id:babu_babu_baboo:20181002102811j:image

PLA 0.2mm積層 ファジースキン処理

40時間超ても印刷が終了しない。何時おわるんだよ〜!



f:id:babu_babu_baboo:20181002105815j:image

三宝作ってみた

PLA 0.2mm積層 これもファジースキン処理。

緑色で透明なフィラメントを使用する。

ラメが入ったような光沢をだす。

制作:2分割、総制作時間:約11時間

2018-09-05

ちょっと暇なので質問に答えてみた

| 18:23

URLによってHTMLのテキストを変更するコードを教えてください。
https://oshiete.goo.ne.jp/qa/10703653.html

あれ!? element.lang を使うべきだったよな



コードの意味(どのようなイベント発生など)を調べて
https://okwave.jp/qa/q9534243.html

かなり省略しすぎたか?まぁそのぶん理解もは早かろうて。

はやばやと自分から解説放棄した。

駄菓子菓子、可哀想だと思いちょっとだけ解説する。

あれならしない方が良かったのでは?と反省

丸投げになった。

「どこが悪いのかもわからない」そのまま返したい。


結局それは丸投げと同じになった。

think49think49 2018/09/08 20:46 amaryllis_watchさんはteratailでは方々に迷惑をかけていましたが、OKWaveに来ていたのですか…。
この人は基本、「分かりません」を盾にコードを出してもらうパターンですね。

babu_babu_baboobabu_babu_baboo 2018/09/08 22:01 お久しぶりです。

ちょっとだけ、わざと切れてみました。
多少強引な態度を示すのも面白いかな?と思って。

こうしてくれる人たちによって私の言動はささえられています!

babu_babu_baboobabu_babu_baboo 2018/09/08 22:22 無駄に文才をしめす

think49think49 2018/09/08 22:57 お久しぶりです。回答の中に見知った方がいるとほっとしますね。

> ちょっとだけ、わざと切れてみました。
#9を見ました。
しかし、私はamaryllis_watchさん自身が考え方を根本から変えないと、成長出来ないだろうなーと思います。

最近、分かってきた事ですが、初学者の中には、私や babu_babu_baboo さんとは全く違ったタイプの方がいるようです。
- 全く分からない状態からサンプルコードを探し、動くコードを見て満足する
- そして、そこからコードの意味を想像し、改変するが正常動作しないのでQ&Aサイトに質問をする。
- 回答を貰っても、基礎が出来てないので理解できない。
- 自分の中でイメージを膨らませて適当な予想をし、回答者に返答をする(当然、的外れ)
基礎が出来ていない人に説明しても時間の無駄なわけで、最近はかなり回答のモチベが下がってます。
babu_babu_baboo さんのように、理解して貰える方とコードの話をする方が数倍楽しい。

babu_babu_baboobabu_babu_baboo 2018/09/09 06:39 私も最近の質問者への回答は、モチベーションがあがりません。
回答者が示すサンプルも旧世代的なものばかり。
ES2015を策定した人たちが泣いていると思います。


>数倍楽しい
同感です。ありがとうございます。

think49think49 2018/09/09 10:59 > 回答者が示すサンプルも旧世代的なものばかり。
ES6的なコードという意味では、https://teratail.com/tags/JavaScript はそこそこ普及している感じですね。
https://ja.stackoverflow.com/questions/tagged/javascript は質問者にも回答者にも厳しいので、ビシバシ鍛えられます(が、質問の絶対数が少ない)。

質問の絶対数はteratailが頭一つとびぬけているので、好きな質問が見つかりやすいかもしれません。
例えば、
https://teratail.com/questions/82926
質問者のマナーはなってない事が多いので、コードを書く楽しみに時間を費やす方が建設的かも

babu_babu_baboobabu_babu_baboo 2018/09/10 17:13 >https://teratail.com/questions/82926

面白そうな課題です。
脳内では作り始めているのですが、うぅ時間が

think49think49 2018/09/15 09:17 https://teratail.com/questions/146686
肩慣らしとしては、この質問も面白いかもしれません。
単純な命題ですが、最適化を考え始めると、いろいろな実装法がありそうです。

babu_babu_baboobabu_babu_baboo 2018/09/15 19:44 え〜と、、、
回答例にないもというと
(ソートが無いだけ高速)
これしか思いつかなかったです。

var hoge = [
{
date:"7",
status:"C"
},
{
date:"6",
status:"B"
},
{
date:"5",
status:"D"
},
{
date:"4",
status:"B"
},
{
date:"3",
status:"A"
},
{
date:"2",
status:"C"
},
{
date:"1",
status:"A"
}
];

const N = 4;
const C = Array.prototype.concat;

let buf = [ ];

hoge.forEach (h => {
let {date} = h;

Array.isArray (buf[date])
? buf[date].push (h)
: buf[date] = [h];
});


let rst = C.call ([],
C.apply ([], buf.splice (N+1)),
C.apply ([], buf.splice (1))
).reverse ();


rst.forEach (r => console.log (r));

babu_babu_baboobabu_babu_baboo 2018/09/15 19:48 でも、 concat & splice は激遅かぁ。
添字に0が無い前提だしね。

2018-08-25

龍頭を3Dプリンタで作る

| 21:59

f:id:babu_babu_baboo:20180824181733j:image

東北の田舎じゃ葬式に葬列組んでお墓に行くんだよね。その時に使う龍頭を作った。

なかなかの出来栄え!(自画自賛)

角が一本なのは壊れにくくするため、モデルとなったのは、ドラゴンボールにでてくるシェンロン!


でもちょっと小さい!

長谷川さんに売りつける予定。

取っ手と棒まで印刷して2万円也で売り出そうか?

印刷時間 PLA 0.2mm でトータル27時間

2018-08-17

フォームで開始時間と終了時間の二つのselectボックスを表示させたい

| 16:48

フォームで開始時間と終了時間の二つのselectボックスを表示させたい

久々の回答。レスが付かないとおもってたけど

https://oshiete.goo.ne.jp/qa/10669901.html


3Dプリンタで見台(スマホ台)を作った。しかもシャー専用の赤、滑り止めが3倍ついて滑りにくくなってます

f:id:babu_babu_baboo:20180817171539j:image

Fujillin さん欲しい?あげるよ!

FujillinFujillin 2018/08/18 08:10 おはよっす

>Fujillin さん欲しい?あげるよ!
呼んだ?
う〜〜ん…………いらね。

>レスが付かないとおもってたけど
休み中なのでPC環境が無いのです。(^_^;)イマドキ
スマホだけなので、ちと暇な時に、検証しなくても済む質問に回答してみたのです。

それよりも、その前のbabuさんの回答を見て、また、後ろ姿が遠くなったなと・・・(^_^;)
ジェネレータを使いこなしてるし…アロー関数も……
まぁ、アローは大したことはないんだけど、おいらは何とか読めるという程度。自分で書くことは出来ない。(ってか、しないのかな?)

babu_babu_baboobabu_babu_baboo 2018/08/18 16:08 こんちは

やっぱり、いらなにのね
これの色違いでマークがないやつをすでに30個は作って配りました。
あれから3Dプリンタは3台になり、プリンタの前で寝泊まりし、プログラムも数か月書くこともなく。
腕が落ちたと思っています。

そして、それでもなんだか褒められてる?ニシッ!

FujillinFujillin 2018/08/22 18:01 またきました。

>Namaes は、ないだろう! ふっつうは、Namesだよな!
よく見てるのね。
質問者の使っている変数名を同じ意味で利用した方がわかりやすいかなと・・・(sはつい付けちゃったけど)

デバッグで走らせたら、エラー!!
???

よっくよく見たら、後で参照する時に、自分で全部Namesって書いてた(>_<)
似てるので、なかなか見つけられなかった。
・・・というお粗末でした。(笑)

babu_babu_baboobabu_babu_baboo 2018/08/22 19:20 こんばんは

私もデバッグしたら動かない!なんで?で、すぐに発見!
なんつったって自分も過去にやらかしたことが多々ありますからね。
最近は、関数名を考えるのが面倒なのでAとかBとか適当につけます。

>パラメータから取得した文字をHTMLに表示し、なおかつメールの内容にのせて送りたい
https://oshiete.goo.ne.jp/qa/10677729.html

これも new Url を使って書いてみたいのだけれど、質問者がちょっとね。

FujillinFujillin 2018/08/23 09:22 おはようです

この間は、ジェネレータだし、今回はクラス定義で次回はURIオブジェクト?
存在は知っているけれど、未収得の内容ばかりだなぁ・・・

やっぱり、後姿が遠くなってるな・・・

クラスは「クラスを定義してインスタンス化する」方が多くの言語では一般的なのだろうけれど、他の言語はほとんど知らないし、javascriptで最初に(ちょっと特殊な方法?)覚えてしまったので、なかなか切り替えられない。
概念的には、クラス定義の方がすっきりしていることはわかってはいるのですがね。

babu_babu_baboobabu_babu_baboo 2018/08/24 17:53 使わないと忘れるいっぽうなのですよ

もう従来の方法の回答では、回答する側も進歩がないと思います。
私もショートコーディングに魅力を感じていた頃とでは、全然回答スタイルが違いますね。
プログラムを見た人を感動させるには、「短いのにこんなことができるの?」だと思っていた時期がありました。
ある程度プログラムを書ける人が見て、感動させられたなら自分の目標に近付いたと思います。
色々な意味で apos さんには感謝しています。

なんか回答を続けていると、そればかりが気になって仕事というか生活になりませんでした。
なので自分を見つめて、一切を絶とうと決断。
ことわりもなく連絡を断ってしまって怒っているかもしれませんけどね。

FujillinFujillin 2018/09/03 09:59 また来ました

あっちってどこ?
>https://oshiete.goo.ne.jp/qa/10701532.html
・・・ってのも、babuさんがどう解釈したのかな〜って思ったので。

不可解な質問なので、意味がわからなかった。
配列から、値を1個取り出して返す関数なら、シャッフルはいらないし。
シャッフルすることから想像できるのは、カードみたいに全体(セット)をシャッフルして順番に返してゆき、なくなったらまた全体をシャッフル。ってやつ。

でも、例示の配列の値が重複しているので、セット区切りで見れば必ずある確率で値が出現するようになるけれど、同じ数でもずらして取り出すと、出現率はまったく保証はされない。
出現率を制御したいのなら、値と確立を元に算出する方が合理的だし(おみくじみたいなやつ)、この場合もシャッフルは必要ない。

何かやりたいことはあるのだろうけれど、それにシャッフルが必要だと質問者が思い込んでいるだけなのか、本当に必要なのかが文章だけからでは判別できなかった。


おまけに
>function(){var b = this.result;}
ってのが更に意味不明。
thisは固定じゃないので、何を示すか文章からは読み取れないし。
result(プロパティ)で参照するのなら、next()とかshuffle()などというメソッドが、そのthisに存在するのだろうか?
あるいはプロパティを参照すれば、自動更新されるような仕組みって作れたっけ?

・・・なんて妄想はするのだが、質問者が何を求めているのかまったくわからない。

さらには、仮に質問の回答を得られたとしても、質問者はそれを使うことができなさそうな気がする。
あるいは、誰かに頼まれて「この部分だけ作って」と言われたにしても、「できましたっ」って渡したら「そういうのではなくってぇ・・・」みたいに役に立たないとか・・・

妄想は尽きないのでした。


ついでながら…
>ある程度プログラムを書ける人が見て、感動させられたなら〜
おいらはそんなこと考えたことないですね〜。
(専門家はたくさんいるし、プログラムで感動させられるとも思ってないので)
まぁ、少しは「なるほど」って思ってもらえるかもしれないのは、うまいアイデアを見つけ出せた時に、そのレベルでかなぁ。(そんなこともめったにないけれどね)

babu_babu_baboobabu_babu_baboo 2018/09/03 17:53 こんちは

>あっち
OKWave です
https://okwave.jp/qa/q9532174.html

>不可解な質問なので、意味がわからなかった。
自分が過去に通ってきたような気がします。なので想像しやすいかな?

どっかから拾ってきたコードを見ると、「ださぁっ!」って思います
回答している人たちの(そのへんに転がっている)コードでさえ、古典的に見えます。
なので無性に書き換えてやりたくなります!

>質問者はそれを使うことができなさそうな気がする
同意します。個人的にはそれを使いこなせなくてもよいのです。
(これは私の自己満足かな?)

よく専門学校の生徒が丸投げするような質問がありますよね。
実は今、その質問を待っていたりします。
あれを現代風に答えてみたいです。
もしくは、めっちゃショートコーディングで!
そこの担任の講師が悩みそうなやつで!

>専門家はたくさんいるし
ちなみに think49 さんは、プロのプログラマーではないそうです。
プロを超てそうでしょ?
むしろプロっぽい人の回答がダサい。

そして自分の回答より、後出しの回答がダサかったらもう笑うしかないでしょ!

--
なんだかプログラミングに興味が薄れてきています。
自分の身の回りに話が通じる人がいない!
浮いているというか、孤立しているというか、面倒な案件だけが回ってくるとか
「コンピュータに詳しいんだって?!」その言葉から始まる次のワード!
もう簡便してほしい!

--
とある機械屋さんと話す時がありました。
自作したパソコンはこれまで数台あり、そのうちの1台は地元企業のサーバーに採用されていると自慢されました。
(ファイルサーバーにしか使っていいないようなきがするけど)
聞き流してはみましたが、それってプラモデルより簡単じゃん!
それをさも自慢げに。。。
自作ならオレだって数十台つくってらっ!っつんの。

あっ、愚痴だった。

FujillnFujilln 2018/09/04 09:31 おはよ

>OKWave です
どれどれ・・・
タイトルも質問の文章も違うので、見つけられなかったみたい。
あはっ! こっちのはわかりやすいではないの。
でも、単にシャッフルすれば終わりって質問内容ですね。
グループ分けとか部屋割りとかでもしたかったのかな?
しっかし、同時期に質問してこれだけの違いはなんなんだろう。
gooの方は、ミスディレクションだらけなので判じ物になっちゃってる。

>どっかから拾ってきたコードを見ると、「ださぁっ!」って思います
「ださぁっ!」の前に、そのままコピペで使おうとする考えに疑問を持っちゃいますね。
IndexDBの質問も、数か月前の回答(締切られたので回答せず)をそのまま「回答しようかなぁ…」って思ってる間にまた締切られちゃった。(笑)

>think49 さんは、プロのプログラマーではないそうです
それはそれは・・・
てっきりプロだとばかり思ってました。

>よく専門学校の生徒が丸投げするような質問がありますよね。
学校に行っているはずなのに、まるっきり学習しようとする気が感じられないやつね。
健啖な検索でわかることすら調べる気配もないし、回答でもらったものを理解する気もない。
学校に行く意味が無いので、そのまま「やめちゃえば?」って思っちゃう。

>「コンピュータに詳しいんだって?!」その言葉から始まる次のワード!
最初に、評判になるようなことをしてしまったのが失敗だったのかも。
価値も努力もわからずに、気楽に利用しようとするだけの人々が多いのは、(↑)のような質問をする人と、どこか同じようなものを感じます。

>自作ならオレだって数十台つくってらっ!っつんの。
ハードの知識がある程度あると、便利そうだなぁ・・・
おいらは、そっちはサッパリなのだ。