freenode の ChanServ
access #*** add <nick> 10 <cho45> level #*** list -ChanServ@fn(ChanServ@services.)- -- Access Levels for [#***] -- -ChanServ@fn(ChanServ@services.)- Index Level Type Description -ChanServ@fn(ChanServ@services.)- ----- ----- ---- ----------- -ChanServ@fn(ChanServ@services.)- 1 -1 AUTODEOP Automatic deop/devoice -ChanServ@fn(ChanServ@services.)- 2 OFF AUTOVOICE Automatic voice -ChanServ@fn(ChanServ@services.)- 3 8 CMDVOICE Use of command VOICE -ChanServ@fn(ChanServ@services.)- 4 30 ACCESS Allow ACCESS modification -ChanServ@fn(ChanServ@services.)- 5 5 CMDINVITE Use of command INVITE -ChanServ@fn(ChanServ@services.)- 6 30 AUTOOP Automatic op -ChanServ@fn(ChanServ@services.)- 7 10 CMDOP Use of command OP -ChanServ@fn(ChanServ@services.)- 8 10 CMDUNBAN Use of command UNBAN -ChanServ@fn(ChanServ@services.)- 9 15 AUTOKICK Allow AKICK modification -ChanServ@fn(ChanServ@services.)- 10 20 CMDCLEAR Use of command CLEAR -ChanServ@fn(ChanServ@services.)- 11 25 SET Modify channel SETs -ChanServ@fn(ChanServ@services.)- 14 10 TOPIC Change the channel topic -ChanServ@fn(ChanServ@services.)- 15 50 LEVEL Use of command LEVEL -ChanServ@fn(ChanServ@services.)- -- End of list --
を ChanServ に送ると指定 nick をチャンネルのアクセスリストに加えられる。30 とかやると autoop になる?
一定以上の level は contact じゃないと設定できない 。contact の nick でログインし NickServ で identify していても、 ChanServ に identify しないとだめ。現在の自分の level 未満しか設定できないっぽい。contact は level 50 みたいで、49 までしか設定できない (すなわち 50 になるためには contact にならないといけない?)。help すると mask を設定すると書いてあるけど、http://freenode.net/using_the_network.shtml では registered nick を指定するように書いてある。
デフォルトだと split したあとに level 0 のユーザ (access list にないユーザ) は deop される。
ある nick が登録されているかどうかは /msg NickServ info nick すればいいみたいだ。登録されてない nick を access list に入れるとどうなるんだろう。 Nick [fagaslgol] is not registered みたいにおこられた。
以下ヘルプ転載 (これまとめてあるのどこにあるんだろ……)
ChanServ
<cho45> help
-ChanServ@fn(ChanServ@services.)- ChanServ allows you to register and control various
-ChanServ@fn(ChanServ@services.)- aspects of channels. ChanServ can often prevent
-ChanServ@fn(ChanServ@services.)- malicious users from "taking over" channels by limiting
-ChanServ@fn(ChanServ@services.)- who is allowed channel operator priviliges. Any channel
-ChanServ@fn(ChanServ@services.)- which is not used for 120 days will be expired and may
-ChanServ@fn(ChanServ@services.)- be dropped. ChanServ's commands are listed below.
-ChanServ@fn(ChanServ@services.)- For more information on a specific command, type
-ChanServ@fn(ChanServ@services.)- /msg ChanServ help <command>.
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- REGISTER Register a channel
-ChanServ@fn(ChanServ@services.)- DROP Cancel the registration of a channel
-ChanServ@fn(ChanServ@services.)- IDENTIFY Identify yourself with your password
-ChanServ@fn(ChanServ@services.)- SET Set various channel options
-ChanServ@fn(ChanServ@services.)- ACCESS Modify the list of privileged users
-ChanServ@fn(ChanServ@services.)- AUTOREM Maintain the AutoRemove list
-ChanServ@fn(ChanServ@services.)- LEVEL Change the level required for functions
-ChanServ@fn(ChanServ@services.)- LIST Display list of channels matching a pattern
-ChanServ@fn(ChanServ@services.)- INFO Display information for a channel
-ChanServ@fn(ChanServ@services.)- GETKEY Retrieve the key (+k) to a channel
-ChanServ@fn(ChanServ@services.)- INVITE Invite yourself to a channel
-ChanServ@fn(ChanServ@services.)- OP Op yourself on a channel
-ChanServ@fn(ChanServ@services.)- VOICE Voice yourself on a channel
-ChanServ@fn(ChanServ@services.)- UNBAN Unban yourself on a channel
-ChanServ@fn(ChanServ@services.)- CLEAR Clear various channel modes
<cho45> help register
-ChanServ@fn(ChanServ@services.)- Syntax: REGISTER <channel> [password]
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- Registers <channel> in ChanServ's database. [password] is
-ChanServ@fn(ChanServ@services.)- used via ChanServ IDENTIFY to identify the channel contact
-ChanServ@fn(ChanServ@services.)- for some functions. If no password is specified, only
-ChanServ@fn(ChanServ@services.)- the channel contact nick can use ChanServ IDENTIFY.
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- Guidelines for running a freenode channel are found here:
-ChanServ@fn(ChanServ@services.)- http://freenode.net/channel_guidelines.shtml Pick someone
-ChanServ@fn(ChanServ@services.)- to register your project channel who is around frequently.
-ChanServ@fn(ChanServ@services.)- If your channel contact's nick expires,
-ChanServ@fn(ChanServ@services.)- ChanServ will drop their channel when NickServ drops
-ChanServ@fn(ChanServ@services.)- their nick. Consider setting an ALTERNATE (/msg
-ChanServ@fn(ChanServ@services.)- ChanServ HELP SET ALTERNATE) to avoid
-ChanServ@fn(ChanServ@services.)- this situation.
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- Give channel staffers the ability to maintain
-ChanServ@fn(ChanServ@services.)- your channel via the ACCESS command (/msg ChanServ
-ChanServ@fn(ChanServ@services.)- HELP ACCESS). Level '10' lets them gain ops,
-ChanServ@fn(ChanServ@services.)- voice and devoice users, etc. Try to ensure your
-ChanServ@fn(ChanServ@services.)- channel has 24-hour coverage. Staffers should
-ChanServ@fn(ChanServ@services.)- IDENTIFY to NickServ so that their nicks don't expire,
-ChanServ@fn(ChanServ@services.)- and so that ChanServ will recognize them.
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- If no one on a channel's ACCESS list enters the
-ChanServ@fn(ChanServ@services.)- channel within 120 days, the channel will be
-ChanServ@fn(ChanServ@services.)- considered expired and may be dropped.
<cho45> help drop
-ChanServ@fn(ChanServ@services.)- Syntax: DROP <channel> [password]
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- Cancels the registration of <channel>. Only a
-ChanServ@fn(ChanServ@services.)- channel contact may DROP a channel. Also,
-ChanServ@fn(ChanServ@services.)- the contact must IDENTIFY before using this
-ChanServ@fn(ChanServ@services.)- command, or supply the correct channel password.
<cho45> help identify
-ChanServ@fn(ChanServ@services.)- Syntax: IDENTIFY <channel> [password]
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- Identifies you as the channel contact for <channel>.
-ChanServ@fn(ChanServ@services.)- Some ChanServ commands require that you IDENTIFY before
-ChanServ@fn(ChanServ@services.)- using them.
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- If you are the contact (your master nick is equal to
-ChanServ@fn(ChanServ@services.)- the stored contact nick), you need not use the channel
-ChanServ@fn(ChanServ@services.)- password, otherwise you have to. If there is no channel
-ChanServ@fn(ChanServ@services.)- password, only the contact nick can use this command.
<cho45> help set
-ChanServ@fn(ChanServ@services.)- Syntax: SET <channel> <option> [parameters]
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- Allows the channel contact or level 25 to set various
-ChanServ@fn(ChanServ@services.)- channel options and other information. All options may
-ChanServ@fn(ChanServ@services.)- be abbreviated, such as:
-ChanServ@fn(ChanServ@services.)- /msg ChanServ set #channel CONT newcontact
-ChanServ@fn(ChanServ@services.)- to set the CONTACT nickname to "newcontact". For more
-ChanServ@fn(ChanServ@services.)- specific information on each option, type:
-ChanServ@fn(ChanServ@services.)- /msg ChanServ HELP SET <option>
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- Available options:
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- CONTACT Set the contact of a channel (contact)
-ChanServ@fn(ChanServ@services.)- ALTERNATE Set the alternate contact for the channel
-ChanServ@fn(ChanServ@services.)- PASSWORD Set the contact password (contact)
-ChanServ@fn(ChanServ@services.)- MLOCK Lock channel modes on or off
-ChanServ@fn(ChanServ@services.)- TOPICLOCK Restrict topic changes
-ChanServ@fn(ChanServ@services.)- PRIVATE Hide channel from ChanServ lists
-ChanServ@fn(ChanServ@services.)- SECUREOPS Stricter control of chanop status
-ChanServ@fn(ChanServ@services.)- SECURE Activate ChanServ security features
-ChanServ@fn(ChanServ@services.)- ENTRYMSG Send a message to users upon entry
-ChanServ@fn(ChanServ@services.)- EMAIL Set the channel email address
-ChanServ@fn(ChanServ@services.)- URL Set the channel url
-ChanServ@fn(ChanServ@services.)- GUARD Have ChanServ join your channel
-ChanServ@fn(ChanServ@services.)- SPLITOPS Let anyone keep ops from a netsplit
-ChanServ@fn(ChanServ@services.)- VERBOSE Notify chanops on access changes
<cho45> help access
-ChanServ@fn(ChanServ@services.)- Syntax: ACCESS <channel> ADD <mask> <level>
-ChanServ@fn(ChanServ@services.)- ACCESS <channel> DEL <mask | index>
-ChanServ@fn(ChanServ@services.)- ACCESS <channel> LIST [mask]
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- Maintains the channel access list for <channel>.
-ChanServ@fn(ChanServ@services.)- Users matching a hostmask on the access list will
-ChanServ@fn(ChanServ@services.)- have access to various ChanServ commands depending on
-ChanServ@fn(ChanServ@services.)- what level they have (/msg ChanServ HELP LEVEL for
-ChanServ@fn(ChanServ@services.)- how to view and change the level required for each
-ChanServ@fn(ChanServ@services.)- command). Anyone not on the channel's access list
-ChanServ@fn(ChanServ@services.)- has a default access level of 0. You may type:
-ChanServ@fn(ChanServ@services.)- /msg ChanServ HELP ACCESS {ADD|DEL|LIST} for more
-ChanServ@fn(ChanServ@services.)- specific information on each command.
<cho45> help autorem
-ChanServ@fn(ChanServ@services.)- Syntax: AUTOREM <channel> ADD <mask> [reason]
-ChanServ@fn(ChanServ@services.)- AUTOREM <channel> DEL <mask | index>
-ChanServ@fn(ChanServ@services.)- AUTOREM <channel> LIST [mask]
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- Maintains the channel autoremove list for <channel>.
-ChanServ@fn(ChanServ@services.)- If a user on the autoremove list attempts to join the
-ChanServ@fn(ChanServ@services.)- channel, ChanServ will ban/remove the user.
-ChanServ@fn(ChanServ@services.)- /msg ChanServ HELP AUTOREM {ADD|DEL|LIST} for more
-ChanServ@fn(ChanServ@services.)- specific information on each command.
<cho45> help level
-ChanServ@fn(ChanServ@services.)- Syntax: LEVEL <channel> SET <type|index> <level>
-ChanServ@fn(ChanServ@services.)- LEVEL <channel> RESET <type|index|ALL>
-ChanServ@fn(ChanServ@services.)- LEVEL <channel> LIST
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- Changes the access level required to be able to execute
-ChanServ@fn(ChanServ@services.)- certain commands. This allows the channel contact to be
-ChanServ@fn(ChanServ@services.)- able to customize the access level list to the needs of
-ChanServ@fn(ChanServ@services.)- the channel. For more specific help on each command,
-ChanServ@fn(ChanServ@services.)- type: /msg ChanServ HELP LEVEL {SET|RESET|LIST}
<cho45> help list
-ChanServ@fn(ChanServ@services.)- Syntax: LIST <pattern>
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- Lists all registered channels that match <pattern>.
-ChanServ@fn(ChanServ@services.)- Channels that have SET PRIVATE ON, will not be
-ChanServ@fn(ChanServ@services.)- displayed.
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- Example: LIST #*bleh*
-ChanServ@fn(ChanServ@services.)- Lists all channels that contain bleh
<cho45> help info
-ChanServ@fn(ChanServ@services.)- Syntax: INFO <channel>
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- Displays information for <channel>, including channel
-ChanServ@fn(ChanServ@services.)- contact, time of registration, topic, and mode lock, if
-ChanServ@fn(ChanServ@services.)- any.
<cho45> help getkey
-ChanServ@fn(ChanServ@services.)- Syntax: GETKEY <channel>
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- Returns the key to <channel>. Useful if the channel
-ChanServ@fn(ChanServ@services.)- is set +k.
<cho45> help invite
-ChanServ@fn(ChanServ@services.)- Syntax: INVITE <channel>
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- Invites the sender to <channel>. Useful if SET MLOCK
-ChanServ@fn(ChanServ@services.)- is set to +i on the channel.
-ChanServ@fn(ChanServ@services.)- Example:
-ChanServ@fn(ChanServ@services.)- /msg ChanServ INVITE #channel
-ChanServ@fn(ChanServ@services.)- ChanServ will invite you to #channel.
<cho45> help op
-ChanServ@fn(ChanServ@services.)- Syntax: OP <channel | ALL> [nicknames]
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- Gives channel operator status to [nicknames]. If no
-ChanServ@fn(ChanServ@services.)- nicknames are specified, ChanServ will op the nick who gave
-ChanServ@fn(ChanServ@services.)- the command. Placing a - in front of a nick will
-ChanServ@fn(ChanServ@services.)- deop that nick. If SECUREOPS is ON, ChanServ will not
-ChanServ@fn(ChanServ@services.)- op nicks who do not have a level of CmdOp or higher.
-ChanServ@fn(ChanServ@services.)- Examples:
-ChanServ@fn(ChanServ@services.)- /msg ChanServ OP #channel
-ChanServ@fn(ChanServ@services.)- Ops the nick who gave the command on #channel.
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- /msg ChanServ OP #channel nick1 -nick2 nick3
-ChanServ@fn(ChanServ@services.)- Ops nick1 and nick3, but deops nick2 on #channel.
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- /msg ChanServ OP ALL
-ChanServ@fn(ChanServ@services.)- Ops you in all channels you are currently in, if
-ChanServ@fn(ChanServ@services.)- you have CMDOP access.
<cho45> help voice
-ChanServ@fn(ChanServ@services.)- Syntax: VOICE <channel> [nicknames]
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- Gives voice status to [nicknames]. If no nicknames
-ChanServ@fn(ChanServ@services.)- are specified, ChanServ will voice the nick who gave the
-ChanServ@fn(ChanServ@services.)- command. Placing a - in front of a nick will
-ChanServ@fn(ChanServ@services.)- devoice that nick.
-ChanServ@fn(ChanServ@services.)- ChanServ will refuse to voice an user who is on the access
-ChanServ@fn(ChanServ@services.)- list as autodevoiced. To disable this, prefix the nick
-ChanServ@fn(ChanServ@services.)- with a +.
-ChanServ@fn(ChanServ@services.)- Examples:
-ChanServ@fn(ChanServ@services.)- /msg ChanServ VOICE #channel
-ChanServ@fn(ChanServ@services.)- Voices the nick who gave the command on #channel.
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- /msg ChanServ VOICE #channel nick1 -nick2 +nick3
-ChanServ@fn(ChanServ@services.)- Voices nick1, nick3 even if autodevoiced,
-ChanServ@fn(ChanServ@services.)- but devoices nick2 on #channel.
<cho45> help unban
-ChanServ@fn(ChanServ@services.)- Syntax: UNBAN <channel> [ALL]
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- Unbans every ban matching your user@host or user@ip and
-ChanServ@fn(ChanServ@services.)- every gecos ban matching your ircname on <channel>. If
-ChanServ@fn(ChanServ@services.)- you specify ALL, every ban and gecos ban on <channel>
-ChanServ@fn(ChanServ@services.)- will be cleared. You must have CMDCLEAR access to
-ChanServ@fn(ChanServ@services.)- <channel> to use the ALL option.
-ChanServ@fn(ChanServ@services.)- Examples:
-ChanServ@fn(ChanServ@services.)- /msg ChanServ UNBAN #channel
-ChanServ@fn(ChanServ@services.)- Clears every ban on #channel matching you
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- /msg ChanServ UNBAN #channel ALL
-ChanServ@fn(ChanServ@services.)- Clears every ban on #channel.
<cho45> help clear
-ChanServ@fn(ChanServ@services.)- Syntax: CLEAR <channel> <option>
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- ChanServ will clear certain channel modes depending on
-ChanServ@fn(ChanServ@services.)- <option>.
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- Options:
-ChanServ@fn(ChanServ@services.)-
-ChanServ@fn(ChanServ@services.)- OPS - Deops every channel op
-ChanServ@fn(ChanServ@services.)- VOICES - Devoices every voiced user
-ChanServ@fn(ChanServ@services.)- MODES - Clears all channel modes
-ChanServ@fn(ChanServ@services.)- BANS - Removes all channel bans
-ChanServ@fn(ChanServ@services.)- GECOSBANS - Remove all channel gecos bans
-ChanServ@fn(ChanServ@services.)- USERS - Removes all users from channel
-ChanServ@fn(ChanServ@services.)- ALL - Combination of OPS, VOICES, MODES,
-ChanServ@fn(ChanServ@services.)- and BANS (does not remove users)NichServ
<cho45> help
-NickServ@fn(NickServ@services.)- NickServ allows you to "register" a nickname and
-NickServ@fn(NickServ@services.)- prevent others from using it. The following
-NickServ@fn(NickServ@services.)- commands allow for registration and maintenance of
-NickServ@fn(NickServ@services.)- nicknames; to use them, type /msg NickServ <command>.
-NickServ@fn(NickServ@services.)- For more information on a specific command, type
-NickServ@fn(NickServ@services.)- /msg NickServ help <command>.
-NickServ@fn(NickServ@services.)-
-NickServ@fn(NickServ@services.)- REGISTER Register a nickname
-NickServ@fn(NickServ@services.)- DROP Cancel the registration of a nickname
-NickServ@fn(NickServ@services.)- IDENTIFY Identify yourself with your password
-NickServ@fn(NickServ@services.)- ACCESS Modify the list of authorized addresses
-NickServ@fn(NickServ@services.)- SET Set various options for your nickname
-NickServ@fn(NickServ@services.)- LIST Display list of nicks matching a pattern
-NickServ@fn(NickServ@services.)- RECOVER Kill another user who has taken your nick
-NickServ@fn(NickServ@services.)- RELEASE Regain custody of your nick after RECOVER
-NickServ@fn(NickServ@services.)- GHOST Kill a ghosted nickname
-NickServ@fn(NickServ@services.)- INFO Get information for a nickname
-NickServ@fn(NickServ@services.)- LINK Link your nickname to another
-NickServ@fn(NickServ@services.)- UNLINK UnLink your nickname
<cho45> help register
-NickServ@fn(NickServ@services.)- Syntax: REGISTER <password>
-NickServ@fn(NickServ@services.)-
-NickServ@fn(NickServ@services.)- This enables you to register your nickname with a
-NickServ@fn(NickServ@services.)- password so only you can use it. Please try to
-NickServ@fn(NickServ@services.)- use obscure passwords that cannot be easily guessed.
-NickServ@fn(NickServ@services.)- Passwords *ARE* case sensitive. Once you have
-NickServ@fn(NickServ@services.)- registered a nickname, you can use the SET and
-NickServ@fn(NickServ@services.)- ACCESS commands to configure it.
-NickServ@fn(NickServ@services.)-
-NickServ@fn(NickServ@services.)- Please IDENTIFY yourself to nickserv when you
-NickServ@fn(NickServ@services.)- connect to the network. Many clients will allow you
-NickServ@fn(NickServ@services.)- to automate this function. If you don't IDENTIFY
-NickServ@fn(NickServ@services.)- to NickServ for a period of 60 days or more, your
-NickServ@fn(NickServ@services.)- nickname will be considered to be expired and it
-NickServ@fn(NickServ@services.)- may be dropped.
<cho45> help drop
-NickServ@fn(NickServ@services.)- Syntax: DROP <nickname> <password>
-NickServ@fn(NickServ@services.)-
-NickServ@fn(NickServ@services.)- DROP allows you to cancel the registration of your
-NickServ@fn(NickServ@services.)- nickname, thus allowing others to re-register it.
<cho45> help identify
-NickServ@fn(NickServ@services.)- Syntax: IDENTIFY <password>
-NickServ@fn(NickServ@services.)-
-NickServ@fn(NickServ@services.)- Most commands require that you identify yourself, in order to
-NickServ@fn(NickServ@services.)- use them. Also, nicknames which have kill protection will
-NickServ@fn(NickServ@services.)- be killed if the user has not identified within one minute.
-NickServ@fn(NickServ@services.)- If SET AUTOMASK is ON, and you IDENTIFY from a host
-NickServ@fn(NickServ@services.)- which is not on your ACCESS list, the new hostmask will
-NickServ@fn(NickServ@services.)- automatically be added to it.
<cho45> help access
-NickServ@fn(NickServ@services.)- Syntax: ACCESS {ADD|DEL|LIST} [mask]
-NickServ@fn(NickServ@services.)-
-NickServ@fn(NickServ@services.)- The ACCESS command allows you to modify the list of
-NickServ@fn(NickServ@services.)- recognized hostmasks for your nickname. If you use a
-NickServ@fn(NickServ@services.)- hostmask that is not on your ACCESS list, you must
-NickServ@fn(NickServ@services.)- IDENTIFY with NickServ.
-NickServ@fn(NickServ@services.)-
-NickServ@fn(NickServ@services.)- Examples:
-NickServ@fn(NickServ@services.)- ACCESS ADD *wnder@*underworld.net
-NickServ@fn(NickServ@services.)- Gives users matching *wnder@*underworld.net
-NickServ@fn(NickServ@services.)- permission to use your nickname.
-NickServ@fn(NickServ@services.)-
-NickServ@fn(NickServ@services.)- ACCESS DEL *wnder@*underworld.net
-NickServ@fn(NickServ@services.)- Opposite of previous command.
-NickServ@fn(NickServ@services.)-
-NickServ@fn(NickServ@services.)- ACCESS LIST
-NickServ@fn(NickServ@services.)- Displays list of authorized hostmasks for your
-NickServ@fn(NickServ@services.)- nickname.
-NickServ@fn(NickServ@services.)-
-NickServ@fn(NickServ@services.)- Type: /msg NickServ HELP ACCESS <option> for more information
<cho45> help set
-NickServ@fn(NickServ@services.)- Syntax: SET <option> [parameters]
-NickServ@fn(NickServ@services.)-
-NickServ@fn(NickServ@services.)- Configures various nickname options.
-NickServ@fn(NickServ@services.)- Options:
-NickServ@fn(NickServ@services.)-
-NickServ@fn(NickServ@services.)- KILL Turn kill protection on or off
-NickServ@fn(NickServ@services.)- AUTOMASK Auto add new hostmasks on IDENTIFY
-NickServ@fn(NickServ@services.)- PASSWORD Reset your nickname password
-NickServ@fn(NickServ@services.)- SECURE Turn nickname security on or off
-NickServ@fn(NickServ@services.)- UNSECURE Set nickname security very low
-NickServ@fn(NickServ@services.)- PRIVATE Hide nickname information from LISTs
-NickServ@fn(NickServ@services.)- MEMOS Allow memos sent to your nick
-NickServ@fn(NickServ@services.)- NOTIFY Turn notification of new memos on/off
-NickServ@fn(NickServ@services.)- SIGNON Turn notification of memos on signon on/off
-NickServ@fn(NickServ@services.)- EMAIL Associate an email address with your nick
-NickServ@fn(NickServ@services.)- URL Associate a url with your nick
-NickServ@fn(NickServ@services.)- HIDE Hide information in your INFO reply
-NickServ@fn(NickServ@services.)- UIN Set ICQ UIN for this user
-NickServ@fn(NickServ@services.)- GSM Set number of mobile phone for this user
-NickServ@fn(NickServ@services.)- PHONE Set the phone for this user
-NickServ@fn(NickServ@services.)- UNFILTERED Allow messages from unregistered users
-NickServ@fn(NickServ@services.)- MASTER Reset the master nickname for your link
-NickServ@fn(NickServ@services.)-
-NickServ@fn(NickServ@services.)- Type /msg NickServ HELP SET option for more information
-NickServ@fn(NickServ@services.)- on a specific option.
<cho45> help list
-NickServ@fn(NickServ@services.)- Syntax: LIST <pattern>
-NickServ@fn(NickServ@services.)-
-NickServ@fn(NickServ@services.)- Lists all registered nicknames that match <pattern>.
-NickServ@fn(NickServ@services.)- Nicknames that have SET PRIVATE ON, will not be
-NickServ@fn(NickServ@services.)- displayed.
-NickServ@fn(NickServ@services.)-
-NickServ@fn(NickServ@services.)- Example: LIST *nick*
-NickServ@fn(NickServ@services.)- Lists all nicknames that contain nick
<cho45> help recover
-NickServ@fn(NickServ@services.)- Syntax: RECOVER <nickname> [password]
-NickServ@fn(NickServ@services.)-
-NickServ@fn(NickServ@services.)- If someone has stolen your nickname, you can use
-NickServ@fn(NickServ@services.)- RECOVER to get it back. RECOVER performs
-NickServ@fn(NickServ@services.)- a nick collide on <nickname> and enforces the
-NickServ@fn(NickServ@services.)- nickname until you use the RELEASE command on
-NickServ@fn(NickServ@services.)- it, or just wait until the release timeout. If
-NickServ@fn(NickServ@services.)- you match a hostmask on <nickname>'s ACCESS
-NickServ@fn(NickServ@services.)- list, and <nickname> has NOT SET SECURE ON,
-NickServ@fn(NickServ@services.)- or if you are identified to a linked nickname,
-NickServ@fn(NickServ@services.)- you do not need to supply a password.
-NickServ@fn(NickServ@services.)- Otherwise, you have to supply the correct
-NickServ@fn(NickServ@services.)- password.
<cho45> help release
-NickServ@fn(NickServ@services.)- Syntax: RELEASE <nickname> [password]
-NickServ@fn(NickServ@services.)-
-NickServ@fn(NickServ@services.)- If NickServ is enforcing your nickname, as it would
-NickServ@fn(NickServ@services.)- after a RECOVER or if you didn't IDENTIFY
-NickServ@fn(NickServ@services.)- in time, you can use RELEASE to regain control
-NickServ@fn(NickServ@services.)- of your nickname. If you match a hostmask on
-NickServ@fn(NickServ@services.)- <nickname>'s ACCESS list, and <nickname>'s
-NickServ@fn(NickServ@services.)- SET SECURE is OFF, or if you are
-NickServ@fn(NickServ@services.)- identified to a linked nickname, you do not
-NickServ@fn(NickServ@services.)- need to supply a password. Otherwise, you
-NickServ@fn(NickServ@services.)- have to supply the correct password.
<cho45> help ghost
-NickServ@fn(NickServ@services.)- Syntax: GHOST <nickname> [password]
-NickServ@fn(NickServ@services.)-
-NickServ@fn(NickServ@services.)- If you suddenly get disconnected from your isp or
-NickServ@fn(NickServ@services.)- the irc server, sometimes a ghosted client will
-NickServ@fn(NickServ@services.)- be left behind. This command can be used to
-NickServ@fn(NickServ@services.)- kill the ghosted client so you can get your
-NickServ@fn(NickServ@services.)- nickname back. If <nickname> has SET SECURE
-NickServ@fn(NickServ@services.)- OFF, and you match a hostmask on <nickname>'s
-NickServ@fn(NickServ@services.)- ACCESS LIST, or if you are identified to a linked
-NickServ@fn(NickServ@services.)- nickname, you do not need to supply a password.
-NickServ@fn(NickServ@services.)- Otherwise, you have to supply the correct
-NickServ@fn(NickServ@services.)- password.
<cho45> help info
-NickServ@fn(NickServ@services.)- Syntax: INFO <nickname>
-NickServ@fn(NickServ@services.)-
-NickServ@fn(NickServ@services.)- Displays information for <nickname> such as time registered,
-NickServ@fn(NickServ@services.)- SET options, whether they are online, etc.
<cho45> help link
-NickServ@fn(NickServ@services.)- Syntax: LINK <nickname> <password>
-NickServ@fn(NickServ@services.)-
-NickServ@fn(NickServ@services.)- This command will link your current nickname to
-NickServ@fn(NickServ@services.)- <nickname>, assuming you have supplied the correct
-NickServ@fn(NickServ@services.)- password for <nickname>. Once you have linked nicknames,
-NickServ@fn(NickServ@services.)- your ACCESS list will be deleted, and you will share
-NickServ@fn(NickServ@services.)- <nickname>'s access list. Your memos will also be added
-NickServ@fn(NickServ@services.)- to <nickname>'s memos. Your channel access will be merged
-NickServ@fn(NickServ@services.)- with <nickname>'s access. If <nickname> was previously
-NickServ@fn(NickServ@services.)- unlinked, it will become the master nickname for your
-NickServ@fn(NickServ@services.)- link.
-NickServ@fn(NickServ@services.)-
-NickServ@fn(NickServ@services.)- When any nickname in your link gives a command to services,
-NickServ@fn(NickServ@services.)- it will be processed as if it came from the master nickname,
-NickServ@fn(NickServ@services.)- with the exception of DROP, UNLINK, SET PASSWORD,
-NickServ@fn(NickServ@services.)- SET EMAIL, and SET URL.
-NickServ@fn(NickServ@services.)-
-NickServ@fn(NickServ@services.)- The advantage of linked nicknames is whenever you
-NickServ@fn(NickServ@services.)- IDENTIFY for one nick, you will be identified for
-NickServ@fn(NickServ@services.)- every nick in the link. Also, memos sent to any nickname
-NickServ@fn(NickServ@services.)- will all be stored in the master nickname's record, for
-NickServ@fn(NickServ@services.)- any nickname in the link to read. Furthermore, if any
-NickServ@fn(NickServ@services.)- nickname in the link is on a channel's access list, all
-NickServ@fn(NickServ@services.)- nicknames will receive the same access. Also, all
-NickServ@fn(NickServ@services.)- linked nicknames have the same cloak.
-NickServ@fn(NickServ@services.)-
-NickServ@fn(NickServ@services.)- Example:
-NickServ@fn(NickServ@services.)- /msg NickServ LINK CoolGuy CoolGuysPassword
-NickServ@fn(NickServ@services.)- Links your nickname to "CoolGuy".
<cho45> help unlink
-NickServ@fn(NickServ@services.)- Syntax: UNLINK [nickname [password]]
-NickServ@fn(NickServ@services.)-
-NickServ@fn(NickServ@services.)- This command will unlink your nickname from your current
-NickServ@fn(NickServ@services.)- link. Or, if [nickname [password]] is specified, it will
-NickServ@fn(NickServ@services.)- unlink [nickname] from its current link. When you unlink,
-NickServ@fn(NickServ@services.)- the access list of the master of the link will be copied
-NickServ@fn(NickServ@services.)- to your own. Memos, however, are not copied. The channel
-NickServ@fn(NickServ@services.)- access remains with the other nicks; the unlinked nick
-NickServ@fn(NickServ@services.)- will not have any channel access. If you are unlinking
-NickServ@fn(NickServ@services.)- the master nickname, the next nickname in the link will
-NickServ@fn(NickServ@services.)- become the new master.
-NickServ@fn(NickServ@services.)-
-NickServ@fn(NickServ@services.)- Example:
-NickServ@fn(NickServ@services.)- /msg NickServ UNLINK
-NickServ@fn(NickServ@services.)- Unlinks your nickname from your link.
-NickServ@fn(NickServ@services.)-
-NickServ@fn(NickServ@services.)- /msg NickServ UNLINK CoolGuy CoolGuysPassword
-NickServ@fn(NickServ@services.)- Unlinks "CoolGuy" from whatever link he
-NickServ@fn(NickServ@services.)- was in.
freenode の umode とか
Adobe Lightroom
Mac 版 Picasa がはやくでてほしい……
とかおもいつつ Lightroom を試用してみる。買わないけど
- 結構レスポンスがいい。smb 経由で一枚 13MB ぐらいの写真をあつかっているけど、プレビューの生成とかのタイミングが結構いいっぽい。
- 現像パラメータは Photoshop CS 3 と全く一緒。UI がすこしちがう。トーンカーブの設定がかっこよくなっていて、ハイライトとかの設定とポイントのカーブ設定が統合されている (より直感的)
- ダブルクリックで 100% と全体表示をきりかえされるのは気持ちがいい。
- TAB でさらに全画面にすぐできるのも気持ちがいい。
- 補正前と補正後の二枚表示とか、複数写真の拡大率同期しながらの比較は便利
- 「ライブラリ」と「現像」のきりかえは遅い
写真現像専用にはいいかもなぁ。でも Photoshop もっているなら 30k はちょっと高い (同じことはできるし) 逆に Photoshop もってなくて写真現像しかやらねーよっていう場合はやすい気もする。
関連エントリー
- Photoshop + Lightroom が月額1000円 Lighroom はパッケージも今は別に高くはなくて、アップグレード版は10k円しないぐらいだけど、Photoshop はまだまだ高い。最新...
- ✖ SIGMA DP2 を買ってみたけど、RAW を Photoshop CS3 では現像できないというひどい事実をつきつけられて (Adobe...
- RAW Photoshop の現像時のごみとり機能が便利だ。パッチツールみたいなやつだけど、自動で似た色のところを選択するっぽい。いまつかってる一眼...
- ✖ 最近 Lightroom 3 Beta を使ってみてる。正直 Photoshop のほうが軽くていいんだけど、Photoshop をアップグ...
- Lightroom のワークフローと、バックアップの運用 今のところはこうしてるけど、もっといい方法があったらいいなあ的なもの。 取り込み カメラそれぞれに対して以下のような方法を使っている。 EO...
はてキ
[[スイーツ(笑)]] の括弧は全角なのに [[ライフハック(笑)]] は半角なのがなんかうける。
キーボード
最近はずっと HHKP を使ってるなぁ。MacBook のバッテリがダメダメになって常時AC電源でやってるから、もういろいろコードを繋げまくり。今だに記号とか数字を見ないで打てない……
ノード生成関数
みじかめで、よさそうなのを書こうとしているけどわりとびみょうだなぁ http://subtech.g.hatena.ne.jp/cho45/20071117/1195309573 をもとにしてj
function $N (str, childs) {
if (str.nodeType) return str;
var t, cur, stack = [cur = document.createDocumentFragment()];
while (str.length) {
if (str.indexOf("<") == 0) {
if (t = str.match(/^\s*<(\/?[^\s>\/]+)([^>]+?)?(\/)?>/)) {
var tag = t[1], attrs = t[2], isempty = !!t[3];
if (tag.indexOf("/") == -1) {
child = document.createElement(tag);
if (attrs) attrs.replace(/([a-z]+)=(?:'([^']*)'|"([^"]*)")/gi,
function (m, name, v1, v2) {
child.setAttribute(name, v1 || v2);
}
);
cur.appendChild(child);
if (!isempty) {
stack.push(cur);
cur = child;
}
} else cur = stack.pop();
} else throw("Parse Error: " + str);
} else if (t = str.match(/^([^<]+)/)) cur.appendChild(document.createTextNode(t[0]));
str = str.substring(t[0].length);
}
var ret = stack.pop();
if (ret.childNodes.length == 1) ret = ret.firstChild;
if (childs) for (var i = 0; i < childs.length; i++) {
ret.appendChild(arguments.callee(childs[i]));
}
return ret;
}みたいなのにしてみた (innnerHTML は table 関係の要素を扱うとき、補完とかされてかえってめんどうくさい。)
document.body.insertBefore(
$N("<div/>", [
"<p>aaa<em>foobar</em></p>",
document.createElement("br"),
"<p><a href=''>foobar</a></p>",
]),
document.body.firstChild
);みたいにする。文字列だけあつかえてもあんまり嬉しくないので、DOM オブジェクトを混在させてもいいように
ただ、あんまり読みやすくない。jQuery みたいなのはいいんだけど、特殊なオブジェクトをつくって DOM の基本メソッドを全部実装しないといけないから長くなる……
✖
いよいよお金がなさすぎてヤバいんだぜ
ニコニコ
ひさしぶりに VOCALOID 系のを聴いてまわった。
✖
Ruby の名前空間
orz... Fx3 + Firebug でクラッシュしてから edit ページひらいて送信したら消えてしまった……変なタイミングで入力の復帰が行なわれたようだ……できるかぎり復元してみる
JS かいたり Scheme かいたりしたあと Ruby をかこうとするとなんかハマる。メソッドの名前と変数の名前が分離しているからなんだけど、たまにきもちわるい感じがする (スイッチがきりかわるとそうでもないんだけど……)。
class Foo
end
def Foo
endができるということはいいのだけど (Hpricot とか Pathname がやってる)、おなじようなノリで
class Foo
module Bar
end
end
def Foo::bar
endみたいなのはもちろんできない。やるとしたら
module Foo
module Bar
end
def Bar
:a
end
def self.Bar
:b
end
end
p Foo.Bar #=> :b
p Foo::Bar() #=> :b
include Foo
p Bar #=> Foo::Bar
p Bar() #=> :aみたいになるけど、(わざとやっているとはいえ) きもい><
✖
あああ、もうほんと、僕は全然大人になれる気がしない。あるいは例えば、誰か何か、僕が必死になれるような人がいれば、そうならざるを得なくなり、いわゆる「大人」になれるのかもしれないけれど、僕はそういう人を見付けられる気がしない。正直に話をすれば、女の子よりもプログラミングのほうが素敵なのではないかとちらちら考えてしまうし、もし素敵な子がいたとしても、僕よりも素晴らしい人がいるのだからそれでいいだろうと考える。逃げまわることが大好きらしい。
酔っぱらっていたり、少し追いつめられていたりすると、頭の中の言葉、いうべきことではないことも、全て水面までうきあがり、それをキーボードにうちこむことができる。でも、一方で、そういう、特殊な状態に頼った自己表現を嫌い人もいる。自分もどっちかというと嫌いだ。言うべきことはしっかりと考え、言葉、単語ひとつひとつを熟考してから、書くべきだと思う。ただし、それではいつまでたっても、自分が納得できる文章というのが書けない以上、表現が成立しない。
これは全くプログラミングと一緒だ。汎用性をもたせよう、完璧にしようと考えるあまり、実装に手がつかず、途方にくれる、ということがよくある。それは本当に間違いだ。実装はとりあえずすればよい。動かなければ意味がない。表現はとりあえずしてみなければならない。あとからそれをとりけすのは、少しやっかいではあるが、あとからとりけすのが非常にやっかいなものは、まだやるべきことではない。「ごめんなさいまちがえました」といい、訂正できる程度のことを、完全に動くまでテストし、リリースすることが重要だと考える。
関連エントリー
- コンテスト プログラミングコンテスト、みたいなのにどうも興味が持てない。頭が悪いから、解く楽しみ、みたいなのがない。というかああいう、頭の悪さを嫌でも実...
- 結局のところ 自分が損しなくても、他人が得をするのは許せない、ってのが、大多数の意見のようです。あはは、わかるきがする。 とかいうと、他人が得をしたら相対...
- ✖ 「自分」が書いたものは、誰かのコピーをシュレッダーにかけたものをかきあつめた断片みたいなものだから、もとはといえば他人のものなのだ。どれひと...
- 表現 それが表現である限り、表現者が見えてこないと面白くない。ただの商品であるか否かの境界がそのへんにあると思った。なんとなく。でもただの商品が悪...
- 何かを書きたい 何かを書きたい。 理想の女性像を明確に想像できないことに気付いた。萌える女の子は明確だけど、あぁだめだ自分きもすぎる。 なにかしら美しいもの...
✖
僕は本当に恵まれた環境にあるということを、泣きそうになるぐらいに実感する必要があるが、泣きそうになるほどに実感はしていない。なんてすばらしいんだろうと考えることはよくある。
普通、ソフトウェア、ライブラリのリリースはめちゃくちゃ孤独だ。「これでいいのか」「すでに同じようなモジュールがないか」「名前空間を必要以上に汚染していないか」ということを、殆ど独りで考え、結論をだし、自分のバランス感覚・距離感を信じてリリースする必要がある。そういう意味で、例えば、IRC などで「これでいいのか」ということを相談できたり、意見を聴けたりするのは、本当に素晴しい。ただ、いつもおもうのは、そういうのに頼りすぎてはいけないということだ。バランス感覚は、常にバランスを保ち続けることで維持できるはずであるし、距離感は、いつも距離を図っていないとわからない。
関連エントリー
- ✖ ごちゃごちゃやってたけど、文字とか、バランスとか、よくわかんなくなって泣きそうになってやめた…… 精密さがないと思うんだけど、どこに精密さが...
- ✖ フィードを吐かないということを書いたけど、photo カテゴリのものだけ吐くようにした。良いバランスを探ってる。
- ✖ 特に書きたいことがないので書いてない。考えたことをとにかく書いている僕としては、これはすなわち頭で何も考えていないということです。不安さの軽...
- 色やバランス ぷろぐらみんぐ脳なのかそうじゃないのかわからないけど、グリッドレイアウトでガイドひきまくったり、テキストレイアウトで端をスナップする位置にし...
- ✖ 次の子どもの誕生日は自転車かなあと漠然と考えて、とりあえず昭和記念公園のレンタサイクルの乗せて様子を見た結果、本人の希望によりまた今度となっ...
MBTI
さっき http://www5.big.or.jp/~seraph/zero/mbti.cgi をやったら
だった。しばらく INFP だったのが INFJ になった。(でも前にどこでやったのか覚えていない)
関連エントリー
- Rasberry Pi で使える2000円ぐらいのTFT液晶モジュール http://www.wvshare.com/product/3.2inch-RPi-LCD-B.htm これっぽいものを ebay から買...
- STM32F103 C8 T6 の安いボードでLチカ (platformio + mbed) STM32F103 C8 T6 の安いボードが ebay で売っているので買ってみました。水晶が実装済み基板が 300円程度。届いたボードに...
- LPC1114 LPC1114FN28 / mbed 開発を platformio を使ってやる DIP で唯一実用になる(?) ARM Cortex-M0 マイコンです。SRAM が 4KB しかないのが心許ないですが、秋月で現在180...
- デジカメRAWファイルのサイドカーJPEGファイルを削除する Lightroom プラグイン WIFI転送のためαシリーズで撮影するときは RAW+JPEG にしています。 RAW+JPEG で撮った写真を Lightroom でメモ...
- 自作 デジタル SWR 計(再) 2 | 方向性結合器の改善編 FT82-43 に20ターンでやってみましたが、結果が芳しくありませんでした。 そこで、FT82-61 に 30 ターンという、おそらくこれ...
JSDeferred 重い処理を自動で分割する。
JSDeferred の loop 関数は軽かろうが重かろうか一回ずつ setTimeout はさむんで効率わるいので、for ループと loop 関数の間ぐらいの関数をてきとうに書いてみた。
function aloop (n, f) {
var i = 0;
var end = new Object;
var ret = null;
return Deferred.next(function () {
var t = (new Date()).getTime();
try {
do {
ret = f(i)
i++;
if (i > n) throw end;
} while ((new Date()).getTime() - t < 100)
log("Devided: " + ((new Date()).getTime() - t) + "msec.");
return Deferred.call(arguments.callee);
} catch (e) {
if (e == end) {
log("End");
return ret;
} else {
throw e;
}
}
});
}
aloop(100, function (n, o) {
var dummy = 0;
log(n);
for (var i = 0; i < n * n * n; i++) {
dummy++;
}
});関数一回の処理に 100msec 以上かかってしまったら、一度ブラウザに処理をかえす。
この例だとこんなふうになります
Firebug has been disabled for www.google.com Enable Firebug Enable Firebug for this web site http://lowreal.net/Test: 0 http://lowreal.net/Test: 1 http://lowreal.net/Test: 2 http://lowreal.net/Test: 3 http://lowreal.net/Test: 4 http://lowreal.net/Test: 5 http://lowreal.net/Test: 6 http://lowreal.net/Test: 7 http://lowreal.net/Test: 8 http://lowreal.net/Test: 9 http://lowreal.net/Test: 10 http://lowreal.net/Test: 11 http://lowreal.net/Test: 12 http://lowreal.net/Test: 13 http://lowreal.net/Test: 14 http://lowreal.net/Test: 15 http://lowreal.net/Test: 16 http://lowreal.net/Test: 17 http://lowreal.net/Test: 18 http://lowreal.net/Test: 19 http://lowreal.net/Test: 20 http://lowreal.net/Test: 21 http://lowreal.net/Test: 22 http://lowreal.net/Test: 23 http://lowreal.net/Test: 24 http://lowreal.net/Test: 25 http://lowreal.net/Test: 26 http://lowreal.net/Test: 27 http://lowreal.net/Test: 28 http://lowreal.net/Test: 29 http://lowreal.net/Test: 30 http://lowreal.net/Test: 31 http://lowreal.net/Test: 32 http://lowreal.net/Test: 33 http://lowreal.net/Test: 34 http://lowreal.net/Test: 35 http://lowreal.net/Test: 36 http://lowreal.net/Test: 37 http://lowreal.net/Test: 38 http://lowreal.net/Test: 39 http://lowreal.net/Test: Devided: 109msec. http://lowreal.net/Test: 40 http://lowreal.net/Test: 41 http://lowreal.net/Test: 42 http://lowreal.net/Test: 43 http://lowreal.net/Test: 44 http://lowreal.net/Test: 45 http://lowreal.net/Test: 46 http://lowreal.net/Test: 47 http://lowreal.net/Test: Devided: 116msec. http://lowreal.net/Test: 48 http://lowreal.net/Test: 49 http://lowreal.net/Test: 50 http://lowreal.net/Test: 51 http://lowreal.net/Test: 52 http://lowreal.net/Test: Devided: 109msec. http://lowreal.net/Test: 53 http://lowreal.net/Test: 54 http://lowreal.net/Test: 55 http://lowreal.net/Test: 56 http://lowreal.net/Test: Devided: 113msec. http://lowreal.net/Test: 57 http://lowreal.net/Test: 58 http://lowreal.net/Test: 59 http://lowreal.net/Test: Devided: 103msec. http://lowreal.net/Test: 60 http://lowreal.net/Test: 61 http://lowreal.net/Test: 62 http://lowreal.net/Test: Devided: 119msec. http://lowreal.net/Test: 63 http://lowreal.net/Test: 64 http://lowreal.net/Test: 65 http://lowreal.net/Test: Devided: 137msec. http://lowreal.net/Test: 66 http://lowreal.net/Test: 67 http://lowreal.net/Test: Devided: 103msec. http://lowreal.net/Test: 68 http://lowreal.net/Test: 69 http://lowreal.net/Test: Devided: 112msec. http://lowreal.net/Test: 70 http://lowreal.net/Test: 71 http://lowreal.net/Test: Devided: 122msec. http://lowreal.net/Test: 72 http://lowreal.net/Test: 73 http://lowreal.net/Test: Devided: 133msec. http://lowreal.net/Test: 74 http://lowreal.net/Test: 75 http://lowreal.net/Test: Devided: 144msec. http://lowreal.net/Test: 76 http://lowreal.net/Test: 77 http://lowreal.net/Test: Devided: 158msec. http://lowreal.net/Test: 78 http://lowreal.net/Test: 79 http://lowreal.net/Test: Devided: 168msec. http://lowreal.net/Test: 80 http://lowreal.net/Test: 81 http://lowreal.net/Test: Devided: 182msec. http://lowreal.net/Test: 82 http://lowreal.net/Test: 83 http://lowreal.net/Test: Devided: 194msec. http://lowreal.net/Test: 84 http://lowreal.net/Test: Devided: 103msec. http://lowreal.net/Test: 85 http://lowreal.net/Test: Devided: 106msec. http://lowreal.net/Test: 86 http://lowreal.net/Test: Devided: 110msec. http://lowreal.net/Test: 87 http://lowreal.net/Test: Devided: 114msec. http://lowreal.net/Test: 88 http://lowreal.net/Test: Devided: 118msec. http://lowreal.net/Test: 89 http://lowreal.net/Test: Devided: 122msec. http://lowreal.net/Test: 90 http://lowreal.net/Test: Devided: 126msec. http://lowreal.net/Test: 91 http://lowreal.net/Test: Devided: 131msec. http://lowreal.net/Test: 92 http://lowreal.net/Test: Devided: 135msec. http://lowreal.net/Test: 93 http://lowreal.net/Test: Devided: 140msec. http://lowreal.net/Test: 94 http://lowreal.net/Test: Devided: 144msec. http://lowreal.net/Test: 95 http://lowreal.net/Test: Devided: 148msec. http://lowreal.net/Test: 96 http://lowreal.net/Test: Devided: 153msec. http://lowreal.net/Test: 97 http://lowreal.net/Test: Devided: 158msec. http://lowreal.net/Test: 98 http://lowreal.net/Test: Devided: 166msec. http://lowreal.net/Test: 99 http://lowreal.net/Test: Devided: 171msec. http://lowreal.net/Test: 100 http://lowreal.net/Test: End
実際つかうならハードコードされてるところをましにしたりしないといけないかな。


