はてなキーワード: ADDとは
1, about the trickle charge, rapid charging and stable battery charging algorithm
According to the energy requirements of the final application, a battery may contain up to 4 lithium ion or lithium polymer battery core, its configuration will have a variety of change, at the same time with a mainstream power adapter: direct adapter, USB interface or car charger. Remove the core quantity, core configuration or power adapter type difference, the battery has the same charge characteristics. So they charge algorithm. Lithium ion and li-ion polymer battery best charging algorithm can divided into three phases: trickle charge, rapid charging and stable charge.
Advanced battery charger with additional security function normally. For example, if the core temperature exceeds the given window, usually 0 ℃-45 ℃, charge will be suspended.
Remove some very low-end equipment, now on the market/li-ion polymer lithium ion battery solutions are integrated with the outer components or, in accordance with the characteristics of the charging to charge, this is not just to get better effect charge, but also for safety.
LTC4097 can be used to exchange adapter or USB power supply for single quarter/polymer lithium ion battery. Figure 1 for double input 1.2 A lithium battery charger LTC4097 schemes. It USES constant current/constant voltage algorithm charging, from exchange adapter power charge, programmable filling up to 1.2 electric current A, and with USB power can be as high as 1 A, at the same time, automatic detection in each input voltage whether there. This device also provide USB the current limit. Applications include PDA, MP3 players, digital camera, light portable medical and test equipment and big color cellular phone. The performance characteristics: no external micro controller charging termination; The input power automatic detection and choice; Through the resistance from the exchange of charging adapter input can be as high as 1.2 A programming charge current; The resistance of programmable USB charging current is up to 1 A; 100% or 20% USB charging current set; The input power output and existing bias NTC (VNTC) pin as a 120 mA drive ability; NTC thermistors input (NTC) pin for temperature qualified charged; Pre-settings battery voltage with floating plus or minus 0.6% accuracy; Thermal regulation maximize charge rate and free hot air LTC4097 can be used to exchange adapter or USB power supply for single quarter/polymer lithium ion battery. The use of constant current/constant voltage algorithm charging, from exchange adapter power charge, programmable filling up to 1.2 electric current A, and with USB power can be as high as 1 A, at the same time, automatic detection in each input voltage whether there. This device also provide USB the current limit. Applications include PDA, MP3 players, digital camera, light portable medical and test equipment and big color cellular phone.
2, lithium ion/polymer battery scheme
Lithium ion/polymer battery charge scheme for different number of core, core configuration, and power types are different. At present mainly have three main charging scheme: linear, Buck (step-down) switch and SEPIC (booster and step-down) switch.
When the input voltage in big with the charger with sufficient clearance of core after opening voltage, it is linear scheme, especially 1.0 C fast charging current than 1 A big too much. For example, MP3 players usually only one core, capacity from 700 to 1500 mAh differ, full charge voltage is open 4.2 V. MP3 player power is usually the AC/DC adapter or USB interface, the output is the rule of 5 V; At this time, the linear scheme is the most simple, most charger of the efficiency of the scheme. Figure 2 shows for lithium ion/polymer battery solution linear scheme, basic structure and linear voltage neat device.
MAX8677A is double input USB/AC adapter linear charger, built-in Smart Power Selector, used for rechargeable single quarter by Li + batteries portable devices. The charger integration of the battery and the external power source and load switch charging all the power switch, so that no external MOSFET. MAX8677A ideal used in portable devices, such as smart phones, PDA, portable media players, GPS navigation equipment, digital camera, and digital cameras.
MAX8677A can work in independent USB and the power input AC adapter or two input either one of the input. When connecting external power supply, intelligent power source selector allows the system not connect battery or can and depth discharge battery connection. Intelligent power source selector will automatically switch to the battery system load, use the system did not use the input power supply parts for battery, make full use of limited USB and adapter power supply input. All the needed electric current detection circuit, including the integration of the power switch, all integration in the piece. DC input current highest limit can be adjusted to 2 A and DC and USB input all can support 100 mA, 500 mA, and USB hung mode. Charge current can be adjusted to as high as 1.5 A, thus support wide range of battery capacitive. Other features include MAX8677A thermal regulation, over-voltage protection, charging status and fault output, power supply good surveillance, battery thermistors surveillance, and charging timer. MAX8677A using save a space, hot enhanced, 4 mm x 4 mm, 24 of the pins TQFN encapsulation, regulations, work in exceptional temperature range (40 ~ + 85 ℃).
2.2 Buck (step-down) switch scheme
When A 1.0 C of the charging current more than 1 A, or the input voltage of the core than with high voltage open many, Buck or step-down plan is A better choice. For example, based on the hard drive in the PMP, often use single core lithium ion battery, the full of open is 4.2 V voltage, capacity from 1200 to 2400 mAh range. And now PMP is usually use the car kit to charge, its output voltage in a 9 V to 16 between V. In the input voltage and battery voltage is the voltage difference between high (minimum 4.8 V) will make linear scheme lowers efficiency. This kind of low efficiency, plus more than 1.2 A 1 C fast charging electric current, have serious heat dissipation problems. To avoid this kind of situation, will the Buck scheme. Figure 3 for lithium ion/polymer battery charger scheme Buck diagram, basic structure with Buck (step-down) switching voltage regulators completely the same.
2.3 SEPIC (booster and step-down) switch scheme
In some use of three or four lithium ion/polymer core series equipments, charger of the input voltage is not always greater than the battery voltage. For example, laptop computers use 3 core lithium ion battery, full charge voltage is open 12.6 V (4.2 V x3), capacity is 1800 mAh to 3600 mAh from. Power supply input or output voltage is 1 6 V AC/DC adapter, or is car kit, the output voltage in a 9 V to 16 between V. Apparently, the linear and Buck solutions are not for this group of batteries. This is about to use SEPIC scheme, it can in the output voltage is higher than when the battery voltage, can be in the output voltage less than when the battery.
3, and power detection algorithm is proposed
Many portable products use voltage measurements to estimate the remaining battery power, but the battery voltage and surplus power relationship but will with the discharge rate, temperature and battery aging degree of change, make this kind of method can top 50% margin of error. The market for longer to use product demand unceasingly strengthens, so the system design personnel need more accurate solution. Use capacity check plan come to measure battery or consumption of electricity, will be in a wide range of application power to provide more accurate estimate of the battery power.
3.1 power detection algorithm is one of the examples of application, function complete list, double the battery portable battery application design
The battery circuit description. Figure 4 (a) can be used for identification of IC functions with typical application circuit batteries. According to the use of IC testing program is different, the battery needs to have at least three to four outside the terminal.
VCC and BAT pins will even to the battery voltage, so that for, C power and the battery voltage measurement. The battery is connected a grounding resistance smaller detection resistors, let capacity check meter high impedance SRP and SRN input can monitor sensor resistance on both ends of the voltage. Through testing the current flows through a resistor can be used to judge the battery or release the amount of electricity. Designers choose detection resistance value must be considered when resistance on both ends of the voltage can't more than 100 mV, low resistance may be more hours in current errors. Circuit board layout must ensure that SRP and SRN to testing from as close as possible to the connection of the resistor sensor resistance end; In other words, they should be the Kelvin attachment.
HDQ pin need external and resistors, this resistance should be located the host or the main application, such capacity check plan to the battery and portable devices when sleep function enable connection broken. Advice and resistance choose 10 k Ω.
Once the battery through the appraisal, bq26150 will issue commands to ensure that the host and quantity test plan of material lines between normal communication. When the battery connection interruption or to connect, the whole the identification process will be repeated again.
Host to be able to read capacity check plan of variable voltage measurement battery, to make sure the end of discharging threshold and charging terminate threshold. As for the remaining state power (RemainingStateofCapacity), do not need to read can use directly.
The above bq2650x and bq27x00 etc capacity check plan provides the battery manufacturer a simple to use options, this scheme L [just measuring battery voltage to be precise, so these capacity check plan can be applied to various battery framework, and can support the battery identification and double the battery application '
3.2 power detection algorithm is an example of applications another, can apply to all kinds of general voltmeter new IC.
Today's many manufacturers can provide a variety of voltmeter IC,, the user can choose the suitable function device, to optimize the product price. Use voltmeter measurement of storage battery parameters, the separate architecture allows users in the host custom power measurement algorithm within. Eliminating embedded processor battery cost. On this to Dallase semicconductor company called cases of DS2762 chip for typical analysis. A new separate voltmeter IC, its structure see chart 5 (a) below.
DS2762 is a single quarter of lithium battery voltmeter and protection circuit, integrated into a tiny 2.46 mm x 2.74 mm inversion of packaging. Due to internal integration for power detection of high precise resistance, this device is very save a space. It is the small size and incomparable high level of integration, for mobile phone battery and other similar handheld products, such as PDA, etc, are all very ideal. Integrated protection circuit continuously monitoring the battery voltage, over voltage and flow fault (charging or discharge period). Different from the independent protection IC, DS2762 allow main processor surveillance/control protection FET conduction state, such, can DS2762 through the protection of the power system and the control circuit implementation. DS2762 can also charge a battery consumption has depth, when the battery voltage within three V, provide a limit of the charging current recovery path.
DS2762 accurate monitoring battery current, voltage and temperature, the dynamic range and resolution of common satisfy any mobile communication product testing standards. The measurement of current for internally generated when the integral, realize the power measurement. Through the real-time, continuous automatic disorders correct, the precision of power measurement can be increased. The built-in measuring resistance due to eliminate manufacturing process and temperature and cause resistance change, further improve the precision of the voltmeter. Important data stored in 32 bytes, can add the lock EEPROM; 16 bytes of SRAM are used to keep dynamic data. And DS2762 all communication all through the 1-Wire, more communication interface node, minimize the battery and the connection to the host. Its main features for; Single quarter of lithium battery protector; High precision current (power measurement), voltage and temperature measurement; Optional integrated 25 m Ω measuring resistance, each DS2762 after fine-tuning alone; 0 V battery restore charge; 32 bytes can lock EEPROM, 16 bytes SRAM, 64 a ROM;
1-Wire, node, digital communication interface; Support more battery power management, and through the protection system control FET power; Dormancy mode power supply current only 2 µ A (most); Work mode power supply current for 90 µ A (most); 2.46 mm x 2.74 mm inversion of packaging or 16 feet SSOP package led, and both are can choose with or without detection resistance; After has with e
"The Artist"? "The Descendants"? "Hugo"? There was no critical consensus following a day of intense voting yesterday when a gaggle of critics groups voted their top honors. These included the Los Angeles Film Critics Association (LAFCA), the Boston Society of Film Critics (BSFC), and the New York Film Critics Online (NYFCO), as well as critics in San Francisco, Detroit and Indiana. The American Film Institute also announced its annual top 10, typically taking no risks.
Best Picture: "The Descendants" got a strong push with a win at the LAFCA, but "The Artist" took the top prize at the BSFC and the NYFCO. Both titles will make the final Academy shortlist. Fortified by nominations for their respective directors Martin Scorsese and Terrence Malick, "Hugo" and "The Tree of Life" should get nominations. The critics groups didn't get "The Help," any more than "The Blind Side," but the Civic Rights-era drama did make the American Film Institute top ten this year, so don't discount it yet.
Best Actor: Michael Fassbender is coming up fast with an LAFCA win. Why should we care about that group in particular? They're on a six-year roll predicting the Oscar winner for Best Actor. Brad Pitt's also a contender for "Moneyball," getting an art-house bump from "The Tree of Life," with Gary Oldman coming up on the outside thanks to the critical and box-office success of "Tinker, Tailor, Soldier, Spy" and a nod from the San Francisco Film Critics. How about George Clooney for "The Descendants"? He's still in the race, but not at the forefront. Like going for long shots? Then bet Michael Shannon for "Take Shelter," which won NYFCO. And if there's a sweep for "The Artist," add in Jean Dujardin.
Best Actress: Michelle Williams of "My Week With Marilyn," solidifies her spot with a win at the Boston Film Critics Association. Los Angeles went way out for Yung-Jun Hee in "Poetry" (what?) in their 'we're cool and uncorrupted by the Oscar race' vote. NYFCO went classic with Meryl Streep for "The Iron Lady." She's the Streep, but neither she nor Williams will be helped by an apparent lack of enthusiasm for their moves as a whole. Ditto Viola Davis ("The Help"), who will nonetheless make the top five Oscar nominees. Either SF winner Tilda Swinton ("We Need to Talk About Kevin") or multiple-runner-up Kirsten Dunst ("Melancholia") may slip in or come in sixth or seventh. Keep an eye out for Charlize Theron ("Young Adult"), Elizabeth Olsen ("Martha Marcy May Marlene") and Felicity Jones ("Like Crazy) as wild-card entries.
Best Supporting Actor: This is a two-man race between octogenarian Christopher Plummer and Albert Brooks playing against type as a cold-blooded hands-on killer. On the fringes: Patton Oswalt ("Young Adult"), Kenneth Branagh ("My Week with Marilyn") and Andy Serkis ("Rise of the Planet of the Apes").
Best Supporting Actress: Coming up on the inside is Melissa McCarthy for "Bridesmaids." Hurray for comedy! Bolstered by a best ensemble award from the LAFCA, this may push McCarthy into the five Oscar nominees. The LAFCA got behind Jessica Chastain, the NYFCO Breakthrough Performer, who was in every movie from "The Tree of Life" to "The Help," where she'll be competing against her popular co-star Octavia Spencer. The San Francisco critics supported Vanessa Redgrave for "Coriolanus," and Janet McTeer ("Albert Nobbs") was an LAFCA runner up in the category.
Who's out of the running in these five major categories? The Girl With the Dragon Tattoo, War Horse, J. Edgar and Midnight in Paris all underwhelmed. The X-Factor remains Scott Rudin's buzzy "Extremely Loud and Incredibly Close," which has not been screened widely after the New Yorker's David Denby flagrantly broke embargo on Rudin's other major film, "The Girl with the Dragon Tattoo." Pack the Kleenex box for this one.
http://www.chargerbatteryshop.co.uk/panasonic-cga-s002-digital-camera-battery-cbbs.html
http://www.gobatteryonline.com/canon-powershot-sd500-battery-charger-gose.html
http://www.keyboard-store.com/asus-04gncb1kusa4-laptop-keyboard.html
"The Artist"? "The Descendants"? "Hugo"? There was no critical consensus following a day of intense voting yesterday when a gaggle of critics groups voted their top honors. These included the Los Angeles Film Critics Association (LAFCA), the Boston Society of Film Critics (BSFC), and the New York Film Critics Online (NYFCO), as well as critics in San Francisco, Detroit and Indiana. The American Film Institute also announced its annual top 10, typically taking no risks.
Best Picture: "The Descendants" got a strong push with a win at the LAFCA, but "The Artist" took the top prize at the BSFC and the NYFCO. Both titles will make the final Academy shortlist. Fortified by nominations for their respective directors Martin Scorsese and Terrence Malick, "Hugo" and "The Tree of Life" should get nominations. The critics groups didn't get "The Help," any more than "The Blind Side," but the Civic Rights-era drama did make the American Film Institute top ten this year, so don't discount it yet.
Best Actor: Michael Fassbender is coming up fast with an LAFCA win. Why should we care about that group in particular? They're on a six-year roll predicting the Oscar winner for Best Actor. Brad Pitt's also a contender for "Moneyball," getting an art-house bump from "The Tree of Life," with Gary Oldman coming up on the outside thanks to the critical and box-office success of "Tinker, Tailor, Soldier, Spy" and a nod from the San Francisco Film Critics. How about George Clooney for "The Descendants"? He's still in the race, but not at the forefront. Like going for long shots? Then bet Michael Shannon for "Take Shelter," which won NYFCO. And if there's a sweep for "The Artist," add in Jean Dujardin.
Best Actress: Michelle Williams of "My Week With Marilyn," solidifies her spot with a win at the Boston Film Critics Association. Los Angeles went way out for Yung-Jun Hee in "Poetry" (what?) in their 'we're cool and uncorrupted by the Oscar race' vote. NYFCO went classic with Meryl Streep for "The Iron Lady." She's the Streep, but neither she nor Williams will be helped by an apparent lack of enthusiasm for their moves as a whole. Ditto Viola Davis ("The Help"), who will nonetheless make the top five Oscar nominees. Either SF winner Tilda Swinton ("We Need to Talk About Kevin") or multiple-runner-up Kirsten Dunst ("Melancholia") may slip in or come in sixth or seventh. Keep an eye out for Charlize Theron ("Young Adult"), Elizabeth Olsen ("Martha Marcy May Marlene") and Felicity Jones ("Like Crazy) as wild-card entries.
Best Supporting Actor: This is a two-man race between octogenarian Christopher Plummer and Albert Brooks playing against type as a cold-blooded hands-on killer. On the fringes: Patton Oswalt ("Young Adult"), Kenneth Branagh ("My Week with Marilyn") and Andy Serkis ("Rise of the Planet of the Apes").
Best Supporting Actress: Coming up on the inside is Melissa McCarthy for "Bridesmaids." Hurray for comedy! Bolstered by a best ensemble award from the LAFCA, this may push McCarthy into the five Oscar nominees. The LAFCA got behind Jessica Chastain, the NYFCO Breakthrough Performer, who was in every movie from "The Tree of Life" to "The Help," where she'll be competing against her popular co-star Octavia Spencer. The San Francisco critics supported Vanessa Redgrave for "Coriolanus," and Janet McTeer ("Albert Nobbs") was an LAFCA runner up in the category.
Who's out of the running in these five major categories? The Girl With the Dragon Tattoo, War Horse, J. Edgar and Midnight in Paris all underwhelmed. The X-Factor remains Scott Rudin's buzzy "Extremely Loud and Incredibly Close," which has not been screened widely after the New Yorker's David Denby flagrantly broke embargo on Rudin's other major film, "The Girl with the Dragon Tattoo." Pack the Kleenex box for this one.
http://www.chargerbatteryshop.co.uk/panasonic-cga-s002-digital-camera-battery-cbbs.html
http://www.gobatteryonline.com/canon-powershot-sd500-battery-charger-gose.html
http://www.keyboard-store.com/asus-04gncb1kusa4-laptop-keyboard.html
やー。面倒でした。
古い情報だと Outlook Express を経由しろと書いてあるので、後継であるらしいWindows Live Mail を経由して(Windows Live Mail からエクスポートする方法で)
Outlook に移行したのだが、どういうわけか宛名が文字列として移行されてしまい、xxx@example.com というメールアドレスの移行ができなかったんです。
で eml → msg もしくは pst 形式への変換ソフトを探すのですが、無料のものが見つからなくてあんまり情報もありませんでした。が、ありましたよ!お兄さん。
====
MAPI data collection and parsing tool. Supports property tag lookup, error translation, smart view processing, rule tables, ACL tables, contents tables, and MAPI<->MIME conversion. MrMAPI currently knows: 3916 property tags 801 dispids 35 types 58 guids 148 errors 27 smart view parsers Usage: MrMAPI -? MrMAPI [-Search] [-Dispids] [-Number] [-Type <type>] <property number>|<property name> MrMAPI -Guids MrMAPI -Error <error> MrMAPI -ParserType <type> -Input <input file> [-Binary] [-Output <output file>] MrMAPI -Flag <flag value> [-Dispids] [-Number] <property number>|<property name> MrMAPI -Rules [-Profile <profile>] [-Folder <folder>] MrMAPI -Acl [-Profile <profile>] [-Folder <folder>] MrMAPI [-Contents | -HiddenContents] [-Profile <profile>] [-Folder <folder>] [-Output <output directory>] [-Subject <subject>] [-MessageClass <message class>] [-MSG] [-List] MrMAPI -ChildFolders [-Profile <profile>] [-Folder <folder>] MrMAPI -XML -Input <path to input file> -Output <path to output file> MrMAPI -FID [fid] [-MID [mid]] [-Profile <profile>] MrMAPI -MAPI | -MIME -Input <path to input file> -Output <path to output file> [-CCSFFlags <conversion flags>] [-RFC822] [-Wrap <Decimal number of characters>] [-Encoding <Decimal number indicating encoding>] [-AddressBook] [-Unicode] [-Charset CodePage CharSetType CharSetApplyType] All switches may be shortened if the intended switch is unambiguous. For example, -T may be used instead of -Type. Help: -? Display expanded help. Property Tag Lookup: -S (or -Search) Perform substring search. With no parameters prints all known properties. -D (or -Dispids) Search dispids. -N (or -Number) Number is in decimal. Ignored for non-numbers. -T (or -Type) Print information on specified type. With no parameters prints list of known types. When combined with -S, restrict output to given type. -G (or -Guids) Display list of known guids. Flag Lookup: -Fl (or -Flag) Look up flags for specified property. May be combined with -D and -N switches, but all flag values must be in hex. Error Parsing: -E (or -Error) Map an error code to its name and vice versa. May be combined with -S and -N switches. Smart View Parsing: -P (or -ParserType) Parser type (number). See list below for supported parsers. -B (or -Binary) Input file is binary. Default is hex encoded text. Rules Table: -R (or -Rules) Output rules table. Profile optional. ACL Table: -A (or -Acl) Output ACL table. Profile optional. Contents Table: -C (or -Contents) Output contents table. May be combined with -H. Profile optional. -H (or -HiddenContents) Output associated contents table. May be combined with -C. Profile optional -Su (or -Subject) Subject of messages to output. -Me (or -MessageClass) Message class of messages to output. -Ms (or -MSG) Output as .MSG instead of XML. -L (or -List) List details to screen and do not output files. Child Folders: -Chi (or -ChildFolders) Display child folders of selected folder. MSG File Properties -X (or -XML) Output properties of an MSG file as XML. MID/FID Lookup -Fi (or -FID) Folder ID (FID) to search for. If -FID is specified without a FID, search/display all folders -Mid (or -MID) Message ID (MID) to search for. If -MID is specified without a MID, display all messages in folders specified by the FID parameter. MAPI <-> MIME Conversion: -Ma (or -MAPI) Convert an EML file to MAPI format (MSG file). -Mi (or -MIME) Convert an MSG file to MIME format (EML file). -I (or -Input) Indicates the input file for conversion, either a MIME-formatted EML file or an MSG file. -O (or -Output) Indicates the output file for the convertion. -Cc (or -CCSFFlags) Indicates specific flags to pass to the converter. Available values (these may be OR'ed together): MIME -> MAPI: CCSF_SMTP: 0x02 CCSF_INCLUDE_BCC: 0x20 CCSF_USE_RTF: 0x80 MAPI -> MIME: CCSF_NOHEADERS: 0x0004 CCSF_USE_TNEF: 0x0010 CCSF_8BITHEADERS: 0x0040 CCSF_PLAIN_TEXT_ONLY: 0x1000 CCSF_NO_MSGID: 0x4000 CCSF_EMBEDDED_MESSAGE: 0x8000 -Rf (or -RFC822) (MAPI->MIME only) Indicates the EML should be generated in RFC822 format. If not present, RFC1521 is used instead. -W (or -Wrap) (MAPI->MIME only) Indicates the maximum number of characters in each line in the generated EML. Default value is 74. A value of 0 indicates no wrapping. -En (or -Encoding) (MAPI->MIME only) Indicates the encoding type to use. Supported values are: 1 - Base64 2 - UUENCODE 3 - Quoted-Printable 4 - 7bit (DEFAULT) 5 - 8bit -Ad (or -AddressBook) Pass MAPI Address Book into converter. Profile optional. -U (or -Unicode) (MIME->MAPI only) The resulting MSG file should be unicode. -Ch (or -Charset) (MIME->MAPI only) Character set - three required parameters: CodePage - common values (others supported) 1252 - CP_USASCII - Indicates the USASCII character set, Windows code page 1252 1200 - CP_UNICODE - Indicates the Unicode character set, Windows code page 1200 50932 - CP_JAUTODETECT - Indicates Japanese auto-detect (50932) 50949 - CP_KAUTODETECT - Indicates Korean auto-detect (50949) 50221 - CP_ISO2022JPESC - Indicates the Internet character set ISO-2022-JP-ESC 50222 - CP_ISO2022JPSIO - Indicates the Internet character set ISO-2022-JP-SIO CharSetType - supported values (see CHARSETTYPE) 0 - CHARSET_BODY 1 - CHARSET_HEADER 2 - CHARSET_WEB CharSetApplyType - supported values (see CSETAPPLYTYPE) 0 - CSET_APPLY_UNTAGGED 1 - CSET_APPLY_ALL 2 - CSET_APPLY_TAG_ALL Universal Options: -I (or -Input) Input file. -O (or -Output) Output file or directory. -F (or -Folder) Folder to scan. Default is Inbox. See list below for supported folders. Folders may also be specified by path: "Top of Information Store\Calendar" Path may be preceeded by entry IDs for special folders using @ notation: "@PR_IPM_SUBTREE_ENTRYID\Calendar" MrMAPI's special folder constants may also be used: "@12\Calendar" "@1" -Pr (or -Profile) Profile for MAPILogonEx. -M (or -MoreProperties) More properties. Tries harder to get stream properties. May take longer. -No (or -NoAddins) No Addins. Don't load any add-ins. -On (or -Online) Online mode. Bypass cached mode. -V (or -Verbose) Verbose. Turn on all debug output. Smart View Parsers: 1 Additional Ren Entry IDs Ex 2 Appointment Recurrence Pattern 3 Conversation Index 4 Entry Id 5 Entry List 6 Extended Folder Flags 7 Extended Rule Condition 8 Flat Entry List 9 Folder User Fields Stream 10 Global Object Id 11 Property 12 Property Definition Stream 13 Recipient Row Stream 14 Recurrence Pattern 15 Report Tag 16 Restriction 17 Rule Condition 18 Search Folder Definition 19 Security Descriptor 20 SID 21 Task Assigners 22 Time Zone 23 Time Zone Definition 24 Web View Persistence Object Stream 25 Nickname Cache 26 Encode Entry ID 27 Decode Entry ID Folders: 1 Calendar 2 Contacts 3 Journal 4 Notes 5 Tasks 6 Reminders 7 Drafts 8 Sent Items 9 Outbox 10 Deleted Items 11 Finder 12 IPM_SUBTREE 13 Inbox 14 Local Freebusy 15 Conflicts 16 Sync Issues 17 Local Failures 18 Server Failures 19 Junk E-mail Examples: MrMAPI PR_DISPLAY_NAME MrMAPI 0x3001001e MrMAPI 3001001e MrMAPI 3001 MrMAPI -n 12289 MrMAPI -t PT_LONG MrMAPI -t 3102 MrMAPI -t MrMAPI -s display MrMAPI -s display -t PT_LONG MrMAPI -t 102 -s display MrMAPI -d dispidReminderTime MrMAPI -d 0x8502 MrMAPI -d -s reminder MrMAPI -d -n 34050 MrMAPI -p 17 -i webview.txt -o parsed.txt
仮にアスペやADDだったとしても、そのせいにしちゃいけないよ。
そのせいで自分が駄目、それを追い出したら上手くいくと思う思考自体が、
コミュニケーション能力やビジネススキル以前の問題。
アスペやADDを抱えてようが、それが自分の特徴だ長所だと捉えて正々堂々と胸を張ろうよ。
前回、このはてなで初めて「好かれない性格」という日記を綴りました。
おかげ様でごく一部で反響があり、そこの皆様に「発達障害の1つでは」と言われました。
それは今までで初めて言われたので斬新。
過去には、ADDを患っている方から「たぶん君も同じADDを抱えているよ」と言われた事もあります。
(ADDというのは、最近よく聞くADHDの1種で多動性のないものがADDなんだそう)
といっても医院等に行って正式に判断されたわけじゃないですけどね。
自分自身としては「そんな所もあるのかもなー。でも自分は生活に支障が出るレベルでもないから軽度というか、ほんの少し程度なんだろう」
程度に考えています。
*小さい頃から顔面チック(トゥレット症候群)が頻繁にあった(大人になった今でもある。が、他人の前ではなんとか我慢できる)
*言語チックもあった(無意識下ではないが、ほぼ口癖で意味のない言葉を連発したり歌ったりする癖)
*行動チックもあり
*いろんな依存に陥りやすい
まぁ、一部はADDは関係ないただの駄目な性格なのかもしれませんけれど・・・
これらは小さい頃から、それが自分だと分かってたので特に何とも思ってません。
まぁこれらを兄弟や親戚、友人にネタにされたり笑われた事もありましたが・・・(苦笑)
ところで、「幼少期に抑圧されたから云々」とも言われてましたが、
どちらかといえば自分は中学以降はイジメで殻に閉じこもるようになりましたが、
家庭環境は、厳しい面もありましたがどちらかといえばのびのびと育てられていた気もします。
(まぁそれらも小学時代までで、中学・高校・卒業となるに連れ、優しかった親も厳しくなり抑圧面は増えましたが・・・)
何が言いたいかというと、発達障害やADDなど言われる割には、そうなるような原因が幼少時にあったとは思えないんです。
もしかしたら前回書いた「好かれない性格」も、煽られた通りに根本的な何かが原因なのかもしれませんね。
とまぁそんな自分ですが、レールから外れた人生は送ってますがあまり辛いとは思ってなく、
世間から見れば壮絶な生き方してますが、数少ない良い交友を大事にしつつ笑顔で生きてます。
(そういうのを鈍感というのでしょうかね・・・苦笑)
・対応デバイス・キャリア:フィーチャーフォン(docomo・au・softbank・DisneyMobile)
・サービス使用料:無料
てなわけで、せっかくの無料サービスなのにiPhoneは蚊帳の外・・・。
んなわけで、さっそくのハックです。
この時点でガラケーをお持ちでないフューチャー兄貴は、デスクの隣のマドンナにガラケー借りるべし。
恋が生まれるかも。
専用って響きにウットリしながらクリックすべし。
3.「タイムライン」「@」・・・「ツイートデコ」のツイートデコをクリック
利用規約うんぬんはみなさんの自己責任で。とりあえずこのかわいい「デコってみる!!」をクリック。
こんなメニューが出るはず。そして「iモードメール作成」をクリック。
ここで仮にデスクの隣のマドンナにガラケーを借りてたら、同時にメアドゲットだぜ!!
とりあえず、言われたとおりメール送信しておこう。別に自力でメモってもいいんだけど・・・。
8.おもむろにiPhoneのAppStoreから「KeitaiEmu」をダウンロード。
無料なので安心しなさい。そして何のためのソフトなのかは気にしない。これお約束。
9.そろそろURL送ったメールも届いてるだろうし、クリップボードにURLをコピー!
12.無事にモバツイにアクセスできた!けどもっかいパスワードを!
13.おめでとう!!「ツイートデコ」ボタンが表示されてます!
14.すかさず右上のブックマークボタンを押して「Add Bookmark」か「Set Default Page」へ
すばらしい。すばらしい素材の安定感。往年のマンセルを思い起こさせる。
16.無事にツイートデコ達成!
はてなブックマーク - 政治評論家の花岡信昭氏が死去 拓殖大院教授、元産経新聞政治部長 - MSN産経ニュース
http://b.hatena.ne.jp/entry/sankei.jp.msn.com/politics/news/110515/stt11051517580003-n1.htm
agricola 死もまた、社会奉仕 だがちょっと待って欲しい。心筋梗塞でくたばった花岡氏にも「落ち度」があったのではないか(嘲 2011/05/15
これに、星を付けている皆さん。
Add Star buhikun bogus-simotukare hokuto-hei flagburner osaka06 ragdollsoft Gl17 vanacoral taron Gerard ryo_zin y_arim y_arim susahadeth52623
「死もまた、社会奉仕」というタグを付けて、花岡信昭の死に、落ち度(嘲というagricolaは、そういう姿勢で在特会とかを批判しているわけだ。何とかの面に堕ちるというのは、こういう時に言うのだろう。死者に鞭打つagricolaが、はてブのシステムが変わったことで目立ちまくってるな。agricolaのような存在が目立つはてブのシステムに変えて、はてなはますます阿呆の巣窟になっている。
はてながどんどん先鋭化していったら、結局困るのは、はてななのだが、先鋭化したブコメを目立つようにしたはてなは何がしたいのだろうか?一般常識とはかけ離れた路線で突き進みますよということだな。
【サンプル】
// --2009.01.05 山田(××) ADD START sb.append(" WHERE A.CUSTOMER_CODE = B.CUSTOMER_CODE?"); // --2011.04.02 大山(△△) CHANGE START //sb.append(" AND A.COMPANY_CODE = ?"); //// --2010.07.10 佐藤(○○) ADD START //sb.append(" AND A.BUSINESS_TYPE = ?"); sb.append(" AND A.COMPANY_CODE IN( ").append.(cList).append(")"; sb.append(" AND A.BUSINESS_TYPE IN( ").append.(bList).append(")"; // --2011.04.02 大山(△△) CHANGE END // --2010.07.10 佐藤(○○) ADD END sb.append(" AND EXISTS("); // --2009.01.05 山田(××) ADD AND
私の会社ではソースの変更(追加、変更、削除)をソース内に記載する文化があり、こういうソースコードにあふれている。
調査も改修もできやしねえ。。
http://b.hatena.ne.jp/register
こちらにもブックマークレットが複数載っていますが、なじみのはてブ追加ページを使いたいので書いてみました。
javascript:window.location='http://b.hatena.ne.jp/はてなID/add.confirm?&url='+escape(location.href);
もう一つは「ブックマークしてコメントする」をクリックするもの。
無言ブクマやコメントをするだけならば「追加する」ボタンでいいのですが、
タグを付けるのなら二つ目の方法が楽です。私はそちらを使っています。
・コメントが3行なのを一行に戻す。
・コメントがない行を消す
.nocomment{display:none;}
.bookmark-list span.comment { display: inline; }
.bookmark-list img.profile-image { width:18px; height:18px; }
■参考
http://hatena.g.hatena.ne.jp/hatenabookmark/20110405/1301981564
http://hibari.2ch.net/test/read.cgi/esite/1300432939/23-26
23 :名無しさん@お腹いっぱい。:2011/04/06(水) 11:48:38.71
/*サイドバー非表示*/
#container .curvebox-body { padding:20px; }
#sidebar { display:none; }
.bookmark-list li { padding-left: 20px; }
.bookmark-list img.profile-image { width:18px; height:18px; }
.bookmark-list span.comment { display: inline; }
/*ブクマ用フォーム非表示*/
#add-bookmark-container { display:none; }
/*人気コメント非表示*/
#scored-bokkmarks { display:none; }
https://gist.github.com/903132 を組み合わせて
ブクマ追加は[B!]アイコンからにするとこれまでに近い表示に。
26 :名無しさん@お腹いっぱい。:2011/04/06(水) 11:59:27.60
#scored-bookmarks { display:none; }
http://1-byte.jp/2011/03/20/20_tips_you_need_to_learn_to_become_a_better_php_programmer/
良いPHPerだって?そんなものは丸めてゴミ箱にでも捨ててしまった方が資源の再利用になる分いくらかマシだ。
つまり俺たちがしなくちゃならないことは「より良いPHPerにならないため」に何ができるかってことなのさ。
それじゃ、始めよう。
?>なんて使っちゃいけない。そう俺たちはBAD PHPer。
無駄なホワイトスペースの出力に悩まされるくらいなら対称性なんて丸めてゴミ箱にでも捨てた方がまだマシだ。非対称性こそが賛美。
require_once("config.php");
未だにこんなことやってるやつがいるのかいベイベー。絶対にダメだ。この一行を見たら俺は悶絶する。
ダメだ、早く何とかしないと。
大抵このconfig.phpの中身はこうなっている。見て絶望だ。
$hoge_path = ''; if (!LOCAL) { define('FOO_FLAG', 1); if (HONBAN) { define('HOGE_FLAG', 1); } else if (TEST) { define('HOGE_FLAG', 2); } } else { $hoge_path = '/local'; define('FOO_FLAG', 2); define('HOGE_FLAG', 3); } define('HOGE_URL', $hoge_path.'/hoge/');
こういうのが延々と続くわけだ。もういやだ。もう見たくない。
本番環境とテスト環境でどういう値の違いがあるのか、ローカル環境だとどうなるのか、まったく把握できる気がしない。
なまじPHPな設定ファイルのせいで、処理をついつい書いてしまう。そしてどんどん複雑になってしまう。
やはり設定データは基本的にYAML等のデータしか定義できない形式のもので用意すべきだ。そして環境ごとに設定ファイルを分けるべきである。
そうすることで何にどういう違いがあるのかすぐにわかるし、diffすれば一度にすべて把握することができる。
# 本番環境設定ファイル foo_flag: 1 hoge_flag: 1 hoge_url: '/hoge/'
# テスト環境設定ファイル foo_flag: 1 hoge_flag: 2 hoge_url: '/hoge/'
# ローカル環境設定ファイル foo_flag: 2 hoge_flag: 3 hoge_url: '/local/hoge/'
// ここで後の処理のためにhogeメソッドを呼び出しておく $q->foo(); // $a['foo']はここに来る時点で真のはず // 2010-03-10 判定がおかしいので修正 // 2010-06-21 やっぱり値が入ってる方が正しい if ( !isset($hoge[0]) ) { }
コメントは保守されない。そう、それは真実。こんなコメントを発見したら即効削除しよう。コメントは基本信じるな。
俺たちにちょっとしたヒントと大きな損害を与えてくれる、それがコメントの役割なのだ。
わかる。いいたい事はとてもわかる。俺たちはしばしばインデントにスペースを使うはずだ。一方でIDEのしっかりした言語ではタブも使うことがある。しかし悪いことに、両者を混同しているプログラマも一定数いるのだ。
タブを画面上で認識しにくいエディタが世の中には存在する(何とは言わないが)
そして画面上で認識しにくいことを理由にタブを気にしないプログラマがいる。
この二つの条件が重なると、タブとスペースの交じり合ったインデントが完成する。もうぐちゃぐちゃだ。これは永遠に続く戦いだ。
私たちが勝利を掴むためにできることなどせいぜい、常にスペースしか使わない。タブを見つけたらその都度スペースに変換する。そういった地道な活動が明日へとつながるのだ。
われわれがプログラムをするとき、何に一番時間がかかってるか。実は変数の命名なのである。ここで拘り過ぎて時間をかけ過ぎては何も進まない。
御託はイイからさっさと書け、だ。しかしとはいっても変数名は重要。日頃からどういうときにどんな名前を使うかを決めておくといい。
そして変数名に型はまったく必要ない。型宣言のないPHPにおいて、型の変数名をつけること自体ナンセンスだ。
$iNumber = 'aaa';
になんの意味もない。コメントを信じるなでも言ったが、これはプログラマを混乱させるだけの害悪なものだ。
変数を使う前に初期化するのは、警告を出さないという意味でも良い癖だ。しかし具体的にどこでやるかが問題だ。
$foo = null; $foo = $q->foo();
こんな初期化に意味はない。よくあるのはやはり、if文で値を振り分けるケースだろう
$foo = null; if ( $hoge ) { $foo = 1; } else if ( $bar ) { $foo = 2; }
このときの初期化はとても有効だ。もしnullの初期化を忘れたまま$fooを使うと警告が出るが、ちゃんと初期化してるので出ない。基本中の基本だ。
function getStatus() { $bReturn = false; if ($i == 2) $bReturn = true; return $bReturn; }(中略)
もし、何かしらの理由で、あなたの書いたif文が間違っていたら?
この書き方をしていれば、間違った値に対して、常にfalseが返る。
私たちが、PHPでsensitiveなデータを取り扱うなら、正しいデータが入力されるまでは、動かないコードを書くべきだ。
trueとfalseの条件がいまいち明確ではないが、本当に動かないコードを書けというのであれば以下のようにすべきだ
function getStatus() { $bReturn = false; if ($i == 2) $bReturn = true; else if ($i == 1) $bReturn = false; else throw new Exception("bad status! $i"); return $bReturn; }
中途半端にfalseを返して生存させる必要性はまったくない。今すぐ死ね!
連想配列のキーを指定する場合だけ定数と間違わないようにクオートで囲まなければならない。そして逆に定数を使いたい場合はクオートで囲ってはいけない。
更に後世のプログラマが処理を見たときに、定数が使いたかったのか、文字列が使いたかったのかを明確にしたい場合はconstantを使うと良い。
// 定数のFOOを使うよということが明確になる print $a[constant('FOO')];
もし、文字列を変数の値と一緒に出力するとき、PHPではコンマの代わりにprintfを使うことが使える。
printf( “Hello, my name is %s“, $sName);
以下の代わりに上記のコードを使う。
echo “Hello, my name is “, $sName;
出力すべき変数が増えれば増えるほど、有効になっていく。とにかく迷ったならば、printfを使え、だ。
三項演算子はとても有効だ。しかし優先順位に難があるせいで、三項演算子をネストしようとすると以下のようなコードになってしまう
$n = (($i == 1) ? 2 : (($i == 2) ? 3 :$i));
括弧だらけで読みにくいったらありゃしない。三項演算子を使うなら一回まで。約束守れないやつは丸めてゴミ箱にでも捨てちまえ。
if ( $flag ) { }
仕様をちゃんと把握しているなら真偽値のチェックなどこれで十分。
もし事前にbool型だというのが確定してるのなら「$flag === true」を使えばいい。
インクリメント、デクリメント演算子は前に付くか後ろに付くかで意味が変わるので慣れるまでは非常にややこしい。
わけがわからなくなるくらいなら初めから使わないほうが良い。見極められないなら使うな。それがPHPerなのだ。
文句なしだ。これは文句がない。
他にも色々あるので覚えておこう
$a %= 1; $a &= 1; $a |= 1; $a ^= 1; $a <<= 1; $a >>= 1;
てっとり早く画面に表示する際にpreはよく使うが、デザインの関係上画面の文字が見えないときがある。
なのでdivを使って以下のようにしとくと便利だろう。
function p($var) {
echo "<div align='left' style='background-color:white;color:black;'><pre>";
print_r($var);
echo "</pre></div>";
}
君らが通常作るアプリケーションなんぞに、定数なんぞ必要ない。いいか、もう一度言う、お前ら程度のもんが、定数使おう何ぞ、おこがましいわ!
大丈夫。なんでもかんでも定数にする必要はない。結局設定ファイルに定数をずらずら作りまくってわけがわからなくなってるパターンが多い。
貴様みたいなもんに、定数は制御できん。いいか設定ファイルはYAML等のデータで持つようにし、その連想配列のデータ構造を一つ持ってるだけで定数の変わりになる。
このメリットに比べれば、定数だと書き換えられなくて良いという利点などこの歯のカスほどのものだ。そんなものは丸めてゴミ箱へ捨ててしまうといい。
認識を改めろ。俺たちはより良いPHPerにならないために努力している。
class Request { private $parameters; private $method; function __construct () { $this->method = $_SERVER['REQUEST_METHOD']; if ( strtoupper($this->method) === 'POST' ) { $this->parameters = $_POST; } else { $this->parameters = $_GET; } } function param ($key) { return isset($this->parameters[$key]) ? $this->parameters[$key] : null; } }
これだけでもいい。たったこれだけでもとても便利だ。ここから拡張してGETやPOSTを明示的に取るメソッドとかも作ってみるといい。自分の手を動かすのだ!
例が良くない。こんなのは引数が20個ある関数から、setを20回呼ぶオブジェクトに変わっただけではないか。
そもそもこの20個の引数とはなんなのか。何かのデータ構造なんであれば連想配列にして引数一つとして渡すべきだし、それぞれまったく異なる用途の変数なのであればWindowsプログラミングじゃあるまいし、20個も引数取る時点で設計が間違えている。
何がいいたいか。別に関数でもオブジェクトでもどっちでもいいということだ。
そんなことで悩んでる暇があったら設計を見直せ。
スキあらば自分自身を返せ。スキあらばオブジェクトを返せ。配列はArrayObjectのARRAY_AS_PROPSで返せ。
ひたすらメソッドチェイン。来る日も来る日もメソッドチェイン。とにかくメソッドチェインを使い続けろ。そこに未来はある。
どんなコードも繰り返すな。もし、少しでも同じコードを書いていたなら、それは関数に置き換えてしまえ。
・・・と、いうのはやめなさい。
一見同じように見えた処理でも前後の流れでまったく違うものということが往々にしてある。
まとめ方にも問題があるケースもある。何でもかんでも関数化すると、関数が膨大に増えていく。君は見たことがあるだろうか。common.phpやfunction.phpの恐ろしさを。
確かに細かく関数化はされているが、適切に関数化していないのである。結合度が非常に高い。なんでもかんでも盲目的にまとめれば良いという話ではないのだ!
あまりに極度に意識しすぎると、プログラムそのものができなくなる。そういう状態に陥る。
気を抜いて。そう気を抜いて。所詮あなたのコードなんてすぐに消えてなくなるよ。きっともっと偉い人が作り直すよ。だからまずは思うが侭にやるといい。
結合度を減らすというのは非常に難しい。何度も何度も失敗し続けて、ようやくここは分けた方が良かったんだなと気付く。次に活かそうと心に決める。そしてまた同じ過ちを繰り返していくわけだ。
まずは実装することだ。これが一番の早道だ。まずはがっつり結合した関数をあえて作るといい。何も考えずに作ろう。
そしてその後に、一部分使いまわしたいとおもうことがあるはずだ。その時に関数に切り出そう。それを繰り返すといい。そのうち初めから分けた方が良いと気付く。
何事も経験が必要である!経験を積まないプログラマは丸めてゴミ箱に捨ててしまえ。
さて、先の例で言うならば、私ならadd_result_outputという関数を作ってしまうだろう。だって、addとresultを連続して呼ぶのはめんどくさいんだもん。一連の流れをいつも使うのなら、その流れをやってくれる関数を作ればいいじゃないか。
function add_result_output ($iVar, $iVar2) { $r = add($iVar, $iVar2); echo result($r); }
もっと言えばクラス化してしまってもいいかもしれない。どんな感じになるかは君の手を動かして確認しよう!
このTipsはとてもわかりにくく、ニッチ過ぎる部分も多いかもしれない。
あくまでも「より良いPHPerにならないための20Tips」なのだ。
君はこの記事を鵜呑みにしてはならない。PHPをPHPと見抜けないPHPerはPHPを使うのは難しい。
もし、あなたがPHPプログラマなら、公式のPHPドキュメントはあなたのケツの穴を拭くための紙になるだろう。
私は、それぞれのセクションを眺めて、各関数でどんなことが出来るかなんぞ、歯クソのゴミ程に役に立たないとおもっている。動けばいい。はは。
あなたは、PHPで用意された既製関数で多くのことが実現できることに、(俺の仕事を減らすなと)驚くはずだ。
この記事があなたの役に立たない事を。
ふざけんな!
この記事に書かれている内容は、丸めてゴミ箱に捨てた方が良いレベルです。
http://logsoku.com/thread/academy6.2ch.net/english/1259371295/
466 :名無しさん@英語勉強中 :2010/03/16(火) 18:01:25
名称-----*見出し語---token----word family----type
1.SVL-----12,000--12,000 (11,811)--8,543--11,996 (11,807)
2.LDAE----22,065--24,458 (23,105)--11,658--17,423 (16,116)
3.RHWIED--15,775--16,849 (15,718)--10,631--14,337 (13,259)
4.NVA-----24,055--27,700 (25,030)--12,129--20,186 (17,727)
Longman Dictionary of American English (LDAE)
Random House Webster's Intermediate English Dictionary (RHWIED)
token 延べ語数
個々の語をそれぞれ1語と数える
type (異なり語 (数))
個々の語が2回以上繰り返された場合、1回のみ数える
lemma 基本形+活用形
wait, waits, waited, waiting:1語
society, societies, society’s, societies’:1語
leak, leaks, leaking, leaked, leaky, leakiness, leakage, leaker:1語
468 :名無しさん@英語勉強中 :2010/03/16(火) 18:09:38
How many words do native speakers know?
At present the best conservative rule of thumb that we have is that up to a vocabulary size of around 20,000 word families, we should
expect that native speakers will add roughly 1000 word families a year to their vocabulary size. That means that a five year old
beginning school will have a vocabulary of around 4000 to 5000 word families. A university graduate will have a vocabulary of around
20,000 word families (Goulden, Nation and Read, 1990).
http://www.fltr.ucl.ac.be/fltr/GERM/ETAN/bibs/vocab/cup.html
471 :名無しさん@英語勉強中 :2010/03/16(火) 18:23:03
語彙習得速度
native speakers will add roughly 1000 word families a year to their vocabulary size.
http://www.fltr.ucl.ac.be/fltr/GERM/ETAN/bibs/vocab/cup.html
例えばworldcupというタグがついているブックマーク全てにsoccerというタグを加えたいとする。
Setting→Rename tagsからOld tag(変更対象のタグ)にworldcupを選択しNew Tag(変更後のタグ)にworldcup soccerと入力してリネームする。
スペースが入っていると別々のタグとして認識するのでworldcupタグが付いているブックマークにsoccerタグが追加されるわけだ。
同様にして2つ以上のタグも追加できる。
worldcupとSouthAfricaの両方のタグが付いているブックマークにtravelというタグを加えたいとする。
タグリネームを使うやり方はリネームする前のタグを1つしか選択できないため使えない。
どうするかというとまずworldcupとSouthAfricaタグ両方が付いているブックマークを表示する。
そして右上のBulk Editをクリック。Bulk Editとは表示されているブックマークをまとめて編集できる便利機能だ。
Select Allで全てのブックマークにチェックを入れた後Add Tagでtravelタグを追加できる。
ただしここで注意したいのがBulk Editは1ページに表示される分だけのブックマークにしか適用されないこと。
Display Optionで100件表示しておけば100件を1回で編集できるため楽になるはずだ。
変更したいブックマークが1000件ある場合は10回同じ作業を繰り返さないといけないがそんなに頻繁に行う作業ではないため我慢して欲しい。
今後iPadでWWWを見る人が増えるかも知れないので、サークルのWWWサイトで公開しているパロディ同人誌をsigilでePub化しようかと思ったんだが、メタデータの取り扱いがよくわからないので色々考えてみたメモ。
まず前提として、同人誌のePub化を行うにあたり、各種メタデータを書く必要がある。その際、一部同人界隈で使われている、暗喩、符丁、伏字の類は一切使わないこと。それに抵抗があるコンテンツはePub化しないほうがいい。(そもそもそんな内容のものをWWWで公開すんなって話でもある。mixiでやっとけ。pixivは他人に見られることが前提のサービスだからやめとけ。)
メタデータを読むにあたり参考にしたのはこれ http://ryoji.sakura.ne.jp/references/rfc2413-j.txt
何がどこまで決まっているのかさっぱり分からないので、的外れな使い方をしているかも知れない。特に著者名とサークル名の扱いの違い(AuthorとPublisherに分けるべきか、どちらもAuthorにすべきか)と、Rightsが怪しい。
2.2.15: <rights> </rights>
諸権利に関する表明や、ある権利への参照を表す。本仕様では著作権表示やさらなる諸権利についての説明は直接的に示されるべきである(should)。本仕様ではコンテンツ供給者が、購読権や販売用コンテンツの複製などのライセンス用語を、安全な販売業者に向けて指定する方法を定義していない。
http://lost_and_found.lv9.org/opf/opf_2.0_final_spec_ja.html
完全なオリジナルであれば、堂々と
と書けばよい。もっとも、日本の場合はオリジナルだろうがパロディだろうが、電子書籍としてこれが世に出た時点でメタデータの Title/Author/Date of publication を元に著作権が発生する(無方式主義)ので、わざわざ明記する必要はない気もする。
パロディ同人誌の場合、『元の作品タイトル』を書き、それに対応する著作権情報を書くのがやはり礼儀であろう。複数年続いている作品の場合、年は省いて書いたほうがいいのかもしれない。
例:『バクマン。』であれば、
>バクマン。 (c) Tsugumi Ohba (c) Takeshi Obara
となる。この場合、(c)表記に出版社がないので書かなくてよいだろう。複数連名の場合漏れなく書くこと。
となる。
例:アニメ『ストライクウィッチーズ』の本であれば、
>ストライクウィッチーズ (c) 第501統合戦闘航空団
例:『WORKING!!』のアニメ版の足湯回後日談本などを出した場合は俺に教えてくれ、じゃなくて、
>WORKING!! (c)高津カリノ/スクウェアエニックス・「WORKING!!」製作委員会
自分のサークルでわざわざePub化するとこなんてほとんどないと思う。どこかが同人誌をePub化するサービスを始めたとき、これらのメタデータがどう使われるのか?にとても興味がある。ツッコミとか、自分とこのブログで取り上げて修正とか自由にやってほしい。誰か規格を作ってくれたらそれに乗っかりたい。
JRuby上で動くRubyとJavaのログを同じファイルに保存したいときなど
JRuby界隈で何かいい方法ないかな~と探していたけど見つからないので
RubyのLoggerのインターフェースをcommons-loggingを使用して実装してみた
使用バージョンは以下
require 'logger' class CommonsLoggingLogger def initialize(name="ruby") @progname = nil @logger = org.apache.commons.logging.LogFactory.getLog(name) end def add(severity, message=nil, progname=@progname, &amp;block) if message.nil? and block_given? message = yield end case severity when Logger::DEBUG debug(progname){message} when Logger::INFO info(progname){message} when Logger::WARN warn(progname){message} when Logger::ERROR error(progname){message} else fatal(progname){message} end end def debug(arg0=nil, &amp;block) @logger.debug make_log(arg0, &amp;block) end def info(arg0=nil, &amp;block) @logger.info make_log(arg0, &amp;block) end def warn(arg0=nil, &amp;block) @logger.warn make_log(arg0, &amp;block) end def error(arg0=nil, &amp;block) @logger.error make_log(arg0, &amp;block) end def fatal(arg0=nil, &amp;block) @logger.fatal make_log(arg0, &amp;block) end def debug? @logger.isDebugEnabled end def info? @logger.isInfoEnabled end def warn? @logger.isWarnEnabled end def error? @logger.isErrorEnabled end def fatal? @logger.isFatalEnabled end def level if debug? Logger::DEBUG elsif info? Logger::INFO elsif warn? Logger::WARN elsif error? Logger::ERROR else Logger::FATAL end end def level=(lv) #do nothing end def sev_threshold level end def sev_threshold=(lv) #do nothing end def datetime_format nil end def datetime_format=(fm) #do nothing end attr_accessor :progname private def make_log(message_or_progname, &amp;block) if block_given? progname = message_or_progname || @progname message = yield else progname = @progname message = message_or_progname end progname_message(progname, message) end def progname_message(progname, message) progname.nil? ? message : "#{progname}: #{message}" end end
あああああどうしようどうしよう
また怒られる、怒られる
起きると言った時間にまた起きれなかった
これだけ怒られてもまだこれだけのことができないのか
幼稚園児でもできることがなんでできないのか
今度会ったら、しばくと言われた。
一回失敗するごとに、ケツを10回叩くって言われた。
これだけ怒られて、口で言ってもわからないのだから、
お前は脳みそがガキなのだから、体でわかるしかない。
俺も精神的に限界で、それ以外にもう思いつかない。と言われた。
私もそれ意外思いつかなかった。
いっそのことだれかADDですと診断してくれませんか?
そうなったらこの関係も色々終わるんだろうな
ちょっとほっとするのかもしれない
とにかく怒られるのがいやだ
怒られたくない、ごめんなさいごめんなさいごめんなさい。
こんな関係明らかに正常じゃない
怖い。
でも好きだ。
たぶん…。すごく。
別れたい。
ぼく草食だから女性を傷つけてないもん!・・だって?http://anond.hatelabo.jp/20100210111547
kanose 「レイプファンタジー」なんてキーワードを出す辺り、書いたのは女性ではないと思った/id:tenkyoin 女性がレイプファンタジーなんて用語使って文章書いているの見たことないもんで
tenkyoin id:kanoseさん、宇野常寛さんの読者にはちゃんと女性も一定割合、いますよ。変な印象操作はやめてください。
僕が言いたかったのは「女性が書いたものとして批判している人が多いけど、レイプファンタジーという用語を使って男性を批判する文章を書いている女性は見たことないから、これ書いたのは男性だよね」であって「宇野氏の書籍に女性読者がいない」ではないですよ。宇野氏が好きなのはわかりますが、転叫院さんこそ、僕が言いたいことをねじ曲げて印象操作しないでください。
http://h.hatena.ne.jp/kanose/9236555986980764011
これで40分。
タイムアタックってことでアルゴリズムは全幅探索で書き上げました。
エラーチェック皆無。
A*ならもう5分ほど延びるかな?
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace Maze { class Program { // 探索用地図 static int[,] maze; // 始点終点 static Position Start = new Position(0, 0), Goal = new Position(0, 0); static void Main(string[] args) { //////////////////////////// まずは各行のリストとして読み込み string[] inMaze; using (var fp = new FileStream(args[0], FileMode.Open, FileAccess.Read)) using (var iStream = new StreamReader(fp)) inMaze = iStream.ReadToEnd().Split('\n'); // 迷路幅 int height = inMaze.Length; // 迷路高さ int width = inMaze[0].Length; /////////////////////////// 読み込んだ迷路を作業用地図に展開 maze = new int[width, height]; for (int y = 0; y < height; ++y) { string line = inMaze[y]; for (int x = 0; x < line.Length; ++x) { maze[x, y] = line[x] == '*' ? -1 : 0; if (line[x] == 'S') Start = new Position(x, y); if (line[x] == 'G') Goal = new Position(x, y); } } // 探索実行 int dist = Search(maze, Start); // 探索結果から最短経路を再現 Position backTracer = Goal; while (dist>1){ --dist; backTracer = backTracer.Nearbys.First(pos => maze[pos.X,pos.Y] == dist); maze[backTracer.X, backTracer.Y] = -2; } //////////////////// 最短経路こみのアスキー地図に変換 char[,] outMaze = new char[width, height]; for (int y = 0; y < height; ++y) { for (int x = 0; x < width; ++x) { outMaze[x, y] = maze[x, y] == -2 ? '$' : maze[x, y] == -1 ? '*' : ' '; } } outMaze[Start.X, Start.Y] = 'S'; outMaze[Goal.X, Goal.Y] = 'G'; ////////////////////// 結果は標準出力に。 for (int y = 0; y < height; ++y) { for (int x = 0; x < width; ++x) Console.Write(outMaze[x, y]); Console.WriteLine(); } Console.ReadLine(); } /// <summary> /// 探索する。SG間の道のりを返す(道のり=SGが隣接しているなら1) /// </summary> private static int Search(int[,] maze, Position Start) { List<Position> FrontLine = new List<Position>(); FrontLine.Add(Start); int dist = 1; for (; ; ) { List<Position> NextFrontLine = new List<Position>(); foreach (var pos in FrontLine) { foreach (var nextPos in pos.Nearbys) { if (nextPos == Goal) return dist; if (maze[nextPos.X, nextPos.Y] == 0) { maze[nextPos.X, nextPos.Y] = dist; NextFrontLine.Add(nextPos); } } } FrontLine = NextFrontLine; ++dist; } } } struct Position { public readonly int X, Y; public Position(int x, int y) { X = x; Y = y; } public IEnumerable<Position> Nearbys { get { return new[]{ new Position(X-1,Y), new Position(X,Y-1), new Position(X+1,Y), new Position(X,Y+1), }; } } public static bool operator==(Position p1, Position p2){ return p1.X == p2.X && p1.Y == p2.Y; } public static bool operator!=(Position p1, Position p2){ return p1.X != p2.X || p1.Y != p2.Y; } } }