「シンタックス」を含む日記 RSS

はてなキーワード: シンタックスとは

2010-02-15

http://anond.hatelabo.jp/20100215141354

言葉が話せない以前にセマンティクスとかシンタックスという単語を使う必要がない上に、

読んだ一般的な人間からして読みづらい単語使ってるその神経が問題のような気がしてならない

最近言葉が流暢に話せなくなった

頭の中に構築してあるセマンティクスと実際に表現できるシンタックスの繋がりがかなり弱くなってる。

言っても意味が伝わらなかったり、そもそも言葉にできずにあたふたする事が多い。

何これ。若年性アルツハイマー統合失調症?怖い。

2010-02-05

[]http://anond.hatelabo.jp/20100205131149

二重エスケープじゃなくて、エスケープした後にはてなキーワードリンクに変換されている。類似で&というのもある。

あと、化けるのはスーパープレ記法でもシンタックスハイライトしたときだけ。

プラス&が&に化けるおまけ付き

$www = "w" & shift;
$www = "w" & shift;

シンタックスハイライト失敗する。なぜだろうか。

2010-01-05

Macemacsって使いにくくないだろうか?

404 blog not foundの人とか。miobjective-cシンタックスハイライトサポートしてないようなので、はじめてemacsに手を出したのだけどcontrolキーが左側にしかないのでファイル開いたり保存したりするのが大変すぎる。左手の小指がつりそう。ヘビーユーザは一体どうしてるのだろうか?

2009-12-29

SPSSシンタックス 覚書

・各行の1列(桁)目が半角ブランクである場合は継続行記号。

・各行の1列(桁)目が半角アスタリクス“*”である場合は注釈行記号。

ひとつコマンドを終了する記号は行末の半角ピリオド“.”。

変数リスト

 1)ひとつ変数

 2)複数の変数名を半角ブランクまたは半角カンマでくくって指定したもの

 3)ファイル変数順に指定する最初の変数名 to 指定する最後の変数名 ← これで書くとスゴク便利 e.g.)

【便利なテクニック】

・Ctrl + R でシンタックスの実行

・Ctrl + A で全体を選択して、Ctrl + Rで全て実行

***全角スペースは絶対使ってはいけない!バグる!***

2008-12-18

こっそり教えてはてダ中の人

新規投稿・既存変更の上限が1日10KBになってるのは確定?

これは新しい仕様でしばらく変わらない?

----

@2008-12-18 19:16

naoya hatena, diary そんな上限はないですよー。64kb (65,535bytes, EUC-JP日本語で 65,535/2 文字) までいけます。

わあお手数かけまして。…うーん、じゃあなんだろう。

スーパーpre記法シンタックスハイライト使ったときに、表示上でのみいろいろ中身が消えたり途中で切れたりします(1週間くらい前に投稿したときは平気だったと思うのに)。気がついたらどっかに書いたり報告したりするかもしれません。PCメモリ回線の問題だったらやだなあ。

----

やったー消える文章ができたよーみんなメモれコピれー

>|ruby|
agent.get(:url => 'http://example.com/', :referer => referer_uri)
agent.get({:url => 'http://example.com/', :referer => referer_uri})
|

を、

|<

普通に閉じて、d.hatena.ne.jp で投稿またはプレビューする、と、途中で消えます、たぶん…

2008-11-29

スーパーpre記法シンタックスハイライト)を使ってrubyコードを保存しようとすると、proxy errorとやらが出て保存できない。なぜだ!?自分はてダでは出来たぞ!?

シンタックスハイライトを使わないスーパーpre記法だったら大丈夫だった。何だったんだ?

2008-10-30

http://anond.hatelabo.jp/20081025202001

いまさらだがFizzBuzz

1から100まで、3の倍数5の倍数云々って、全部定数の計算じゃね?

というところに気付き、自称メタプログラマー(略してメタグラマー)俺の血が騒いだ。


定数計算なら、それは実行時ではなくコンパイル時に行なわれるべきだ……。


というわけでC++テンプレートメタプログラミング召喚。


#include <iostream>

const int FIZZ_NUM = 3;
const int BUZZ_NUM = 5;
const int BEGIN_NUM = 1;
const int END_NUM = 101;

template<int N> struct Fizz {
    enum {PRINT = 0, NEXT = N + 1};
    static void print() {}
};

template<int N> struct Buzz {
    enum {PRINT = 0, NEXT = N + 1};
    static void print() {}
};

template<int N, bool ForB> struct Number {static void print() {std::cout << N;}};

template<> struct Fizz<FIZZ_NUM> {
    enum {PRINT = 1, NEXT = 1};
    static void print() {std::cout << "Fizz";}
};

template<> struct Buzz<BUZZ_NUM> {
    enum {PRINT = 1, NEXT = 1};
    static void print() {std::cout << "Buzz";}
};

template<int N> struct Number<N, true> {static void print() {}};

template<int N, int F, int B> struct FizzBuzz {
    static void print() {
        typedef ::Fizz<F> Fizz;
        typedef ::Buzz<B> Buzz;
        
        Fizz::print();
        Buzz::print();
        Number<N, Fizz::PRINT || Buzz::PRINT>::print();
        std::cout << std::endl;
        
        FizzBuzz<N + 1, Fizz::NEXT, Buzz::NEXT>::print();
    }
};

template<int F, int B> struct FizzBuzz<END_NUM, F, B> {static void print() {}};

int main(int argc, char **argv)
{
    FizzBuzz<BEGIN_NUM, 1, 1>::print();
    return 0;
}

ifなし%なしループ系なし、しかも実行時オーバーヘッドなし!(多分)

あ、これを見て理解する人間オーバーヘッドは無視ね。


ああ、久しぶりにC++を触ったけど、やっぱC++テンプレートってダメダメだな。20世紀の遺物といわざるを得ない。


君がもし21世紀モテイケメンメタグラマーなら、21世紀プログラミング言語D言語を使うべきだ!


驚くべきことに、D言語コンパイル時に関数が実行でき、その結果をソースコードとして取り込める!

ただし実行できるのは簡単な関数だけだけど……。

以下、それを使ったD言語によるメタプログラミング的実装。


import std.stdio;

// これでFizzBuzzを全部出力するコードを作るぜ!
string makeFizzBuzzCode() {
    string code;
    for(int i = 1; i <= 100; ++i) {
        // 効率? コンパイル時にそんな配慮は要らん!
        if(i % 3 == 0 &amp;&amp; i % 5 == 0) {
            code ~= "writefln(\"FizzBuzz\");\n";
        } else if(i % 3 == 0) {
            code ~= "writefln(\"Fizz\");\n";
        } else if(i % 5 == 0) {
            code ~= "writefln(\"Buzz\");\n";
        } else {
            code ~= "writefln(" ~ static_itoa(i) ~ ");\n";
        }
    }
    return code;
}

int main(string[] args) {
    // おまけで生成されたコードも見せるよ。
    pragma(msg, makeFizzBuzzCode());
    
    // 生成したコードを埋め込む。コピペみたいな感覚
    mixin(makeFizzBuzzCode);
    return 0;
}

// 以下ユーティリティ。このぐらい標準で欲しいな……。

/// 整数文字列変換(コンパイル時)
string static_itoa(int n) {
    if(n == 0) {
        return "0";
    }
    
    // 10で割りながら余りを文字にして追加。桁が逆転した文字列になる。
    string s;
    for(; n; n /= 10) {
        s ~= ("0123456789")[n % 10];
    }
    
    // 桁位置を正常にする。相変わらず効率無視。
    return static_reverse(s);
}

/// 配列リバースコンパイル時)
/// 実行時ならarray.reverseが使えるんだけどね……。
T[] static_reverse(T)(T[] s) {
    T[] result;
    foreach_reverse(c; s) {
        result ~= c;
    }
    return result;
}

// 心配なので静的ユニットテスト(笑)
unittest {
    static assert(static_itoa(0) == "0");
    static assert(static_itoa(10) == "10");
    static assert(static_itoa(999) == "999");
    static assert(static_itoa(9999) == "9999");
    static assert(static_itoa(12345) == "12345");
    static assert(static_itoa(314159265) == "314159265");
}

コンパイル結果

$ dmd -unittest fizz_buzz.d
writefln(1);
writefln(2);
writefln("Fizz");
writefln(4);
writefln("Buzz");
writefln("Fizz");
writefln(7);
writefln(8);
writefln("Fizz");
writefln("Buzz");
writefln(11);
writefln("Fizz");
writefln(13);
writefln(14);
writefln("FizzBu(ry

出力結果は略。

さすがD言語C++JavaC#にできない事を平然とやってのけるッ

そこにシビれる!あこがれるゥ!


というか、


writefln(1);
writefln(2);
writefln("Fizz");
writefln(4);

もうwritefln(出力関数)要らなくね?

修正。


// これでFizzBuzzを全部出力するぜ!
string makeFizzBuzzCode() {
    string code;
    for(int i = 1; i <= 100; ++i) {
        // 効率? コンパイル時にそんな配慮は要らん!
        if(i % 3 == 0 &amp;&amp; i % 5 == 0) {
            code ~= "FizzBuzz\n";
        } else if(i % 3 == 0) {
            code ~= "Fizz\n";
        } else if(i % 5 == 0) {
            code ~= "Buzz\n";
        } else {
            code ~= static_itoa(i) ~ "\n";
        }
    }
    return code;
}

int main(string[] args) {
    // もうコンパイル時のメッセージしか出さない。(笑)
    pragma(msg, makeFizzBuzzCode());
    return 0;
}

コンパイル結果。

$ dmd -unittest fizz_buzz.d
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBu(ry

実行するまでもなく結果が出力された。つまり実行時間ゼロ、ということは……


世 界 最 速


以上、世界最速なD言語宣伝でした。

みんな使おうD言語


D言語リファレンス日本語

http://www.kmonos.net/alang/d/1.0/index.html(1.0。こっちの方が安定してる?)

http://www.kmonos.net/alang/d/2.0/index.html(もっと凄い2.0)

D言語本家配布元(無料コンパイラが入手できます)

http://www.digitalmars.com/


それにしても、ちゃんとD言語シンタックスハイライトを実装しているはてなは偉い。(笑)

2008-10-06

http://anond.hatelabo.jp/20081006220301

シンタックスハイライトがあると、だいぶましなんだけどね。

っていうか貼り付けるときにスーパーpre記法シンタックスハイライト指定してみたんだけど、日本語部分が文字化けしてしまったのでそのままにした。うーんうーん。

2008-05-12

バイト先で使ってるシステム脆弱性を見つけてしまった件

某有名企業の末端で派遣バイトしてもうすぐ一年

つい最近、社内の重要システムに「'」を入れると、SQLサーバから「シンタックスエラー」とか言われる欠陥を発見してしまった。

っていうかこれってSQLインジェクションなんじゃ…orz

あの部分には「'」を入れることは滅多にないから気付きにくい。

そしてこのシステム、恐らくは完全にイントラ用。

社内にはクラッキングできる奴もいなそう。

仮にいたとしても、盗んだ情報を非常に持ち出しにくい(怪しい操作をする人間を特定しやすい)運用をしている。

けどこれってどうなんだ。

日頃から「情報漏洩しないようにがんばろー><」と派遣バイト派遣社員正社員含めてそこに勤務してるみんなが頑張ってる。

けど、これを無茶して(もしくは脅迫などして無茶させて)悪用する奴が現れたら一巻の終わりだよ。

※ちなみに最低でも毎日300人はそのシステムを操作しているし、その問題となる部分は権限上1000人以上の人間が操作可能と思われる。

一応、直属の上司に「これ、ヤバイエラーかもしれないんで、開発元に報告しておいてください」と報告しておいた。

開発元が『きっと大丈夫だよ(運用的な意味で』と判断せず、速やかに対処してくれることを望む限り。

2007-12-20

PukiWikiシンタックスハイライトを入れた

以下から必要なファイルDLwiki/skinに放り込む。

http://code.google.com/p/google-code-prettify/

<?php if (PKWK_ALLOW_JAVASCRIPT) { ?>
  <script type="text/javascript" src="skin/prettify.js"></script>
  <link href="skin/prettify.css" rel="stylesheet" type="text/css"/>
<?php } //** SETTING FOR GOOGLE CODE PRETTIFY! **//?>
<body onload="prettyPrint()">
  Class Pre extends Element
  {
  ...

  function toString()
  {
    return $this->wrap(join("\n", $this->elements), 'pre', ' class="prettyprint"');
  }
  }

define('PKWK_ALLOW_JAVASCRIPT', 1);

2007-11-18

プログラマでない人を見分けるライフハック

プログラマでない人を見分けるライフハック

ライフハック」という単語を知らなければプログラマではない。

プログラマインターネットを徘徊してさまざまな情報を集めるのでプログラマインターネットでよく使われる単語には敏感である。「ライフハック」や「Geek」はその典型であり、これを知っているかどうかでインターネットによく触れているかが判断できる。

対して非プログラマテレビ雑誌しか読まないので、そこで扱われていない「ライフハック」などの単語に触れる機会がない。でも「スイーツ」なら良く知っている。スイーツ(笑)

Yahoo! Mailを使っていたらプログラマではない。

プログラマなら、容量・使い勝手ともに優れていて、送信するメール広告がつかないGmailを知っている。

対して非プログラマ学生は同じく非プログラマの友達から薦められたHotmailYahoo! Mailを使い、送信するメールの末尾にそれぞれのメールサービス広告をつけているのである。FreeMLなんて論外。

アルファベットを全角で書いている人はプログラマではない。

プログラマは全角で書いたスペースや数字・アルファベットを含むコードエラーを起こしたという経験を持っていて、そのトラウマプログラミングから離れたブログ記事などの普通の文章にも現れる。

対して非プログラマにとっては全角か半角かというのは単なる表記の違いに過ぎないのである。

ブログの記事の一部のフォントサイズを大きくしている人はプログラマではない。

プログラマが書くエディタには(シンタックスハイライトはあるとしても)文字を大きくして表示させる機能はない。プログラマが書く何百・何千という行数にわたるコードはすべて単調な同じサイズのフォントで書かれているので、プログラマはそのような単調な文字列に慣れている。また、プログラマは自分の書くコードがどのような書き方をすれば読みやすいコードになるのか、また、自分の書くブログを章立てにすれば相手に自分の言いたいことが伝わるかを常に気にかけている。

対して非プログラマは自分の文章に強弱をつけるためには、文字を大きくするしか方法を知らない。


これであなたの周りにいる偽プログラマを見分けられますね!



追記:

@ujihisaに捧げたこのエントリに多くのブクマありがとうございます。嬉しいです。ちなみに上で書いた「文字を大きくする」というのはhttp://d.hatena.ne.jp/iammg/20071117みたいな書き方のことです。

最後にブクマコメントを参考にして追記です。


このエントリーを信じる人はプログラマではない。

プログラマは細心の注意をはらって情報を集め、自分の考えをまとめる。例えば、新しい話題を見つけようと国内・海外サイトを巡回し、そにかかれていることを試しもせずに自分のブログで紹介するなどといった軽々しいことは決して行わない。プログラマは常に自分のコードに書いてある条件分岐が正しいかどうか、変数の取りうる値は適切であるかどうかを気にけるとともに、自分の考え・行動が正しいかどうかを自分自身で確かめるのである。

対して非プログラマインターネット掲示板ブログに書いてあることを鵜呑みにし、さも自分が特別な情報源を得たかのように他人へ間違った知識を吹聴するのである。

2007-10-03

恥ずかしい思い出を思い切って晒す

ことで、さっさと忘れるという魂胆。


  • ある田舎駅の前の、民家の入り口にずっとおばちゃんが座ってるので、てっきり店かと思って入ってしまった。「炭酸飲料ありますか」と聞いてしまったし

_| ̄|     ((○

  • 歌を一人で熱唱しているのを家族に見られた

_| ̄|○

  • 寝坊という理由だけで、嘘をついて学校を休んだことがある((たまにはつらくても行くときあるけど))

_| ̄|   ((○

  • 駅の立ち入り禁止区域に入ってしまい、運転士に指摘された((もちろん悪意ないし知った時点でその場から離れたけど))

_| ̄|        ((○

_| ̄| ((○


ここからDelphi


  • Delphiをはじめたとき、何も読まずにprocedure Form1.OnClick(Sender: TObject);に「a = "はじめの第一歩"」とか打ってエラーが出たので、やっと調べたが、型と変数の定義という初歩で挫折し、アンインスコしたことがある((ちなみに今では普通に何も読まなくても簡単なメモ帳作れるレベル))

_| ̄|   ((○

  • Delphiの初歩を少し覚えたとき、自分でプロシージャ作ったら、フォームに置いてあるコントロールアクセスできなくて、3日迷って、思い切って2chで質問。そんでもって30分で解決((ちなみにこれが生まれてはじめての2chへの書き込み))

_| ̄|       ((○

ちなみにこんな感じのプロシージャだった

procedure test;

begin

Label1.Caption := 'テストだよん!';

end;

ちなみに語尾が「だよん」だとかのなのは、今もやってる個人的なルールっぽいもの。

_| ̄|  ○

あーすっきりした!

2007-07-22

[]C#にあるようなプロパティもどき

getter/setterを関数で書くと、後ろに()を付けないといけないから格好悪い!!

って人にオススメ


template<typename T>struct _property{

  virtual operator T() = 0;

  typedef T _t;

};


class asdf{

  int foo;


public:

  struct __foo : _property<int>{

    asdf &parent;


    operator _t(){

      printf("親クラス(?)のメンバへのアクセスが面倒...");

      return parent.foo;

    }


    __foo(asdf &p) : parent(p){}

  }y;


  struct : _property<char*>{

    operator _t(){

      printf("ここに副作用付き処理を書ける!?\n");

      printf("この関数が参照を返せばgetもどきも実装できる!?\n");

      return "ふひひひ!やったね!!";

    }

  }x;


  asdf(int v) : y(*this){ foo = v * v - v - v; }

};


void p(char*s){ printf("\n増田はこちらを振り返ると、\n悲しそうな顔をしてこう言った\n「%s」\n", s); }


int main(){

  asdf a(127);


  //生でprintfに渡すと型推論が行われない

  //それ以外の関数だったら問題ないかも

  p(a.x);


  printf("\n");


  //どうしてもと言うならキャストすべし

  printf("\n%d\n", (int)a.y);


  return 0;

}


VC8で動作確認してるよ!

はっきり言って普通にgetter/setter書くよりも手間多いね!

あとcppシンタックス表示使うと文字化けしちゃうから引用ブロックに入れておいたよ!

2007-03-05

ぜんぶかいてみた

http://anond.hatelabo.jp/20070305101151

見出し関連】

見出し記法

みだしきほうをとなえた

◆時刻付き見出し記法

t*じこくつきみだしきほうをとなえた

name属性付き見出し記法

name*ねいむぞくせいつきみだしきほうをとなえた

カテゴリー記法

[はてな]かてごりーきほうをとなえた

小見出し記法

こみだしきほうをとなえた

◆小々見出し記法

ここみだしきほうをとなえた

【その他入力支援】

リスト記法

  • hogehoge
    • hogehoge
  • hogehoge
    1. hogehoge

◆定義リスト記法

hoge
fuga

◆表組み記法

hoge fuga
hoge fuga

引用記法

hoge

◆pre記法

hoge

スーパーpre記法

hoge

スーパーpre記法シンタックスハイライト

$There's @More %Than &amp;One \$Way \@To \%Do *It.

aa記法

                 _,,,.. --- ..,,,__
              ,, r''"        `ヽ、
            /     , .∧     `'、
            //  , i  / ,/ 'i i,  ,   'i
           ',i' ,  /フ'メi_/   '、i_i,_L,, i  ',
       _,,_   ,/ ,,i / ,,r==、,,''  _,,,ニ,,i 'i,i i i,
      ./  'i ./ i. レ'i             `' i/レ'! ',    幸 運 を !
      |.  i i  '、 i    r─---┐    i  i ',
     _,,L,,_ i, i   `'i,.   i      i   ,' /  ',
   ,r''"    `'i'、!    /ヽ,   '、    ノ  ./''"    i
 / -─'''''''‐く ト-、,/   フ-、`ー‐ '",,_-''" ',      i
 i   _,,,,,__ノ ,i.i.  `'ヽー" 'ヽ,  ̄ ̄''ー0'i   ヽ    i
 'i        )i i     `ヽ  `ヽ,,`>、,,,,,,L_  \,,,j
  '、   ─--r' i i          i       ヽ,
   \,,__,,ノ-,i,i           i   0 i ',
    i,    //      ,, -'   i 0    ', i
     \,__//   _,, -ァ'''"       i   0 ', i
        ̄゛゛゛ ̄  i           i 0     ', ',

脚注記法

(( hoge ))

◆改行記法

----ここから----

1行目

2行目

----ここまで----

◆pタグ停止記法

----ここから----

< hoge fuga >

----ここまで----

tex記法

<img src="http://d.hatena.ne.jp/cgi-bin/mimetex.cgi?e^{i\pi}~=~-1" class="tex" alt="e^{i\pi} = -1">

ウクレレ記法

[uke:D7 D7@0202 C C@3345]

http記法

http://www.hatena.ne.jp/

はてな

<img src="http://d.hatena.ne.jp/barcode?str=http%3a%2f%2fwww%2ehatena%2ene%2ejp%2f" class="barcode" alt="http://www.hatena.ne.jp/">

http://www.hatena.ne.jp/

◆mailto記法

mailto:info@hatena.ne.jp

google記法

google:はてな

google:image:はてな

google:news:はてな

amazon記法

[amazon:はてな]

自動リンク停止記法

http://www.hatena.ne.jp/

id記法

id:1234567890

id:1234567890:archive

id:1234567890:about

id:1234567890:image

id:1234567890:detail

question記法

question:1234567890:title

question:1234567890:detail

question:1234567890:image

search記法

search:はてな

search:keyword:はてな

search:question:はてな

search:asin:はてな

search:web:はてな

◆antenna記法

a:id:1234567890

bookmark記法

b:id:1234567890

[b:id:1234567890:t:1234567890]

b:t:1234567890

b:keyword:はてな

◆diary記法

d:id:hatena

d:keyword:はてな

fotolife記法

f:id:hatena:hatena:image

f:id:hatena:favorite

◆group記法

g:hatena

g:hatena:id:hatenadiary

g:hatena:id:hatenadiary:20040501

g:hatena:id:hatenadiary:archive

g:hatena:keyword:はてなダイアリー利用可能タグ

idea記法

idea:182

idea:182:title

i:id:sample

i:t:タグ

rss記法

r:id:sample

◆graph記法

graph:id:sample

graph:id:sample:しなもんの体重

<img src="http://graph.hatena.ne.jp/sample/graph?graphname=%e3%81%97%e3%81%aa%e3%82%82%e3%82%93%e3%81%ae%e4%bd%93%e9%87%8d" class="hatena-graph-image" alt="しなもんの体重" title="しなもんの体重">

graph:t:体重

map記法

map:x139.6983y35.6514

keyword記法

[[はてな]]

[keyword:はてな]

[keyword:はてな:map]

[keyword:はてな:map:satellite]

[keyword:はてな:map:hybrid]

isbn/asin記法

ISBN:9784798110523

ISBN:4798110523

asin:B0009WHOMG

ISBN:9784798110523

◆rakuten記法

[rakuten:rdownload:10285260:image:small]

jan/ean記法

jan:4981254610640:barcode

続きを読む記法

====

スーパー続きを読む記法(これ大丈夫かな…ないと思うけど、以下のエントリ隠れたらごめんなさい)

=====

以上。

(追記)波線が??になっちゃってたので、hoge等に変更しました。

(追記:20070412) 引用記法の書き方間違ってたので修正しました。

- 転職ならen
- 派遣ならen
 
1ページ中1ページ目を表示(合計:16件)