約 2,472,289 件
https://w.atwiki.jp/nicoratch/pages/1027.html
概要 バックライト付ボタンと24bit / 192kHzの高音質サウンドカードを内蔵したDJコントローラー。VirtualDJ LE同梱。 DJ-KONTROL 3 ブラック ホワイト +スペック表・DJ-Kontrol3 PC PLATFORM - MINIMUM SYSTEM REQUIREMENTS Intel® Pentium® 4 or AMD Athlon™ XP DirectX compatible Soundcard 512MB RAM 20MB free on the hard drive PC PLATFORM – MINIMUM RECOMENDED SYSTEM REQUIREMENTS Intel® Core™ 2 or AMD Athlon™ X2 Multi-channel DirectX compatible Soundcard 2GB RAM 200MB free on the hard drive MAC PLATFORM - MINIMUM SYSTEM REQUIREMENTS Intel® processor Mac OS X v10.7 CoreAudio compatible Soundcard 1024MB RAM 30MB free on the hard drive MAC PLATFORM - MINIMUM RECOMENDED SYSTEM REQUIREMENTS Intel® processor Latest Mac OS X v10.9 Multi-channel CoreAudio compatible Soundcard 2048Mb (2GB) RAM 200MB free on the hard drive Additional requirements for Video mixing ATI™ or NVIDIA® video card w/256MB of Dedicated DDR3 RAM Video card must support dual-screen output DJ-KONTROL 3 https //jb-systems.eu/dj-kontrol-3 DJ-KONTROL 3S +スペック表・DJ-Kontrol3S Professional MIDI controller for DJs (mobile, clubs, studio …) Sturdy aluminum housing with high glossy polycarbonate top surface and stylish white/blue lighting. Comes bundled with the latest version of VirtualDJ LE, the ultimate DJ-software that can even mix video and karaoke clips! Thanks to standard MIDI-communication this controller can also be used with any MIDI DJ-software you can imagine! Most of the buttons are backlit easy to use in dark venues. Can be used on any modern laptop or PC, running Windows® XP/Vista/7/8/10 or Mac® OSX Built-in 24Bit/192kHz premium quality sound card for excellent sound performance! High resolution, touch sensitive scratch wheels with blue backlight Mixer 3band equalizer with push kill function DJ-mic input and PFL headphones output Crossfader with curve adjustment. Balanced XLR-masters (+ unbalanced cinch) Easy plug play installation no extra drivers or computer skills needed! Fully optimized for use with VirtualDJ software “1-click" beat matching, automatic beat loops, instant beat detection, ... Beat synced samplers, very accurate master tempo, 3 cue points per track, , … Video mixing creative mixing of video clips, including video effects! Plays MP3, AIFF, OGG, WAV, CDA, WMA, and many more … Upgrade to VirtualDJ PRO at a discounted price! General ApplicationDJ Club General Dimensions (cm)32 x 24 x 6.5 cm General Weight (kg)1.96 General Colorblack General PowerinputUSB 5Vdc General Energy LabelNo General Displaynone General RUNo General IP ratingindoor Audio supported audio formatsAIFF, FLAC, MP3, WAV, WMA Function equalizerYes Function sound effectsNo Function pitch controlYes Function syncYes BrandJB SYSTEMS EANCode5420025603843 DiscontinuedNo DJ-KONTROL 3S https //jb-systems.eu/dj-kontrol-3s
https://w.atwiki.jp/microsoftexcelmatome/pages/21.html
sub/functionなどのサブルーチン単位のこと。 変数のスコープはプロシージャのサブルーチンの中で宣言すればサブルーチン内に、プロシージャの最初で宣言すればだいたいグローバルになる。 グローバルにしといたほうがいい変数としては、VBE[?]で補完対象[?]にしてくれるので、たとえば 定数 Application.ActiveWorkbookみたいな感じのグローバルなほうが良い変数 あたりをやっておくと良い。 グローバル変数は使わなくてもfunctionで参照[?]を返してやれば byref function hoge( i as integer ) as Object とかやればグローバル変数を減らせる。 おまけにインテリセンスで関数の戻り値が見れる。いいことずくめ 。 グローバル変数はやめて標準モジュールにfunctionを登録しよう。
https://w.atwiki.jp/logef/pages/204.html
統轄権/裁定権 英jurisdiction。 cf. obédience Prof. F.
https://w.atwiki.jp/ce00582/pages/837.html
Function tls(th, y) As Single Dim n As Single Dim m As Single Dim tl As Single Dim tr As Single Dim c(0 To 10) As Single Dim maxw As Single Dim maxtl As Single Dim w1 As Single maxw = -999 For n = 1 To 60 tl = 0.01 * n tr = trs(tl, th, y) For m = 0 To 10 c(m) = (1 - tl) * y(m) + tr Next w1 = wel(th, c, y) If w1 maxw Then maxtl = tl If w1 maxw Then maxw = w1 Next tls = maxtl End Function Function trs(tl As Single, th, y) As Single Dim m As Single Dim tr1 As Single Dim tr2 As Single Dim tr3 As Single Dim b1 As Single Dim b2 As Single Dim b3 As Single Dim c(0 To 10) As Single Dim t As Single tr1 = 0.01 For m = 0 To 10 c(m) = (1 - tl) * y(m) + tr1 Next b1 = bud(th, c, y) tr2 = 0.5 For m = 0 To 10 c(m) = (1 - tl) * y(m) + tr2 Next b2 = bud(th, c, y) t = 0 Do Until t 100 tr3 = (tr1 + tr2) / 2 For m = 0 To 10 c(m) = (1 - tl) * y(m) + tr3 Next b3 = bud(th, c, y) If b3 0 Then b1 = b3 If b3 0 Then tr1 = tr3 If b3 0 Then b2 = b3 If b3 0 Then tr2 = tr3 If b3 ^ 2 10 ^ (-5) Then t = 1000 t = t + 1 Loop trs = tr1 End Function Function bud(th, c, y) As Single Dim b1 As Single Dim s As Single Dim m As Single b1 = 0 For s = 1 To 100 m = prefer(s, th, c, y) b1 = b1 + y(m) - c(m) Next bud = b1 End Function Function wel(th, c, y) As Single Dim w1 As Single Dim s As Single Dim m As Single w1 = 0 For s = 1 To 100 m = prefer(s, th, c, y) w1 = w1 + Log(c(m)) + Log(1 - y(m) / th(s)) Next wel = w1 End Function Function prefer(s As Single, th, c, y) As Single Dim m As Single Dim maxu As Single Dim maxm As Single Dim u1 As Single Dim c1 As Single Dim l1 As Single maxu = -999 For m = 0 To 10 c1 = c(m) l1 = y(m) / th(s) pp = 0 If l1 0.99 Then pp = 1 If l1 0.99 Then l1 = 0.5 If c1 0.01 Then pp = 1 If c1 0.01 Then c1 = 0.5 u1 = Log(c1) + Log(1 - l1) If pp = 1 Then u1 = -999 If u1 maxu Then maxm = m If u1 maxu Then maxu = u1 Next prefer = maxm End Function Private Sub Command1_Click() Dim s As Single Dim m As Single Dim th(1 To 100) As Single Dim y(0 To 10) As Single Dim c(0 To 10) As Single Dim tl As Single Dim tr As Single Open "c /m1.txt" For Input As #1 Do Until EOF(1) Input #1, a1, a2 s = a1 th(s) = a2 Loop Close #1 For m = 0 To 10 y(m) = 0.13 * m Next tl = tls(th, y) tr = trs(tl, th, y) Debug.Print tl, tr For m = 0 To 10 c(m) = (1 - tl) * y(m) + tr Next For s = 1 To 100 Debug.Print s, prefer(s, th, c, y) Next Open "c /m2.txt" For Output As #1 For m = 0 To 10 Write #1, m, y(m), c(m) Next Close #1 End Sub
https://w.atwiki.jp/suffix/pages/1351.html
2回目以降のロードで有効になるので、リロードして動作確認すること。 self.clients.claim()を使って、1回目のロードから有効になるかは調査中。 /*serviceWorker登録元js*/ if( serviceWorker in navigator) { console.log("serviceWorkerに対応"); navigator.serviceWorker.register( ./serviceWork.js ) .then(function(registration) { console.log("serviceWork登録完了",registration.scope); }) .catch(function(err) { console.log("serviceWorker登録失敗",err); }); } else { console.log("serviceWorker非対応"); } /*serviceWorker登録例*/ //最初にインストールされる self.oninstall = function() { } //次にactivateされる self.onactivate = function() { } //fetchして、メッセージを書き換えたり。 self.onfetch = function(event) { event.respondWith( new Response( レスポンステスト )); } chrome //serviceworker-internals/から削除。
https://w.atwiki.jp/langc/pages/23.html
名前 コメント Exercise 2-1.Write a program to determine the ranges of char , short , int , and long variables, both signed and unsigned , by printing appropriate values from standard headers and by direct computation. Harder if you compute them determine the ranges of the various floating-point types. Exercise 2-2.Write a loop equivalent to the for loop above without using or || . Exercise 2-3.Write the function htoi(s) , which converts a string of hexadecimal digits (including an optional 0x or 0X) into its equivalent integer value. The allowable digits are 0 through 9, a through f, and A through F . Exercise 2-4.Write an alternate version of squeeze(s1,s2) that deletes each character in the string s1 that matches any character in the string s2 . Exercise 2-5.Write the function any(s1,s2) , which returns the first location in the string s1 where any character from the string s2 occurs, or -1 if s1 contains no characters from s2 . (The standard library function strpbrk does the same job but returns a pointer to the location.) Exercise 2-6.Write a function setbits(x,p,n,y) that returns x with the n bits that begin at position p set to the rightmost n bits of y, leaving the other bits unchanged. Exercise 2-7.Write a function invert(x,p,n) that returns x with the n bits that begin at position p inverted (i.e., 1 changed into 0 and vice versa), leaving the others unchanged. Exercise 2-8.Write a function rightrot(x,n) that returns the value of the integer x rotated to the right by n bit positions. Exercise 2-9.In a two s complement number system, x = (x-1) deletes the rightmost 1-bit in x . Explain why. Use this observation to write a faster version of bitcount . Exercise 2-10.Rewrite the function lower, which converts upper case letters to lower case, with a conditional expression instead of if-else .
https://w.atwiki.jp/ce00582/pages/673.html
Function seeku(s As Single, th, wp As Single, bp As Single) As Single Dim u1 As Single u1 = seeku1(s, th, wp, bp) If u1 -900 Then u1 = seeku2(s, th, wp, bp) seeku = u1 End Function Function seeku2(s As Single, th, wp As Single, bp As Single) As Single Dim ls As Single Dim cs As Single Dim us As Single Dim ys As Single Dim ws As Single Dim l1 As Single Dim c1 As Single Dim u1 As Single Dim l2 As Single Dim y2 As Single Dim y1 As Single Dim c2 As Single Dim u2 As Single Dim h As Single Dim lp As Single Dim t1 As Single Dim t2 As Single Dim e As Single e = 10 ^ (-5) h = 0.1 ls = 0.99 cs = 0.01 us = Log(cs) + Log(1 - ls) ws = Log(cs) + Log(1 - th(s) * ls / th(s + 1)) If bp + cs th(s) * ls Then us = -999 If ws wp Then us = -999 t2 = 0 Do Until t2 10 t1 = 0 Do Until t1 100 l1 = ls If l1 1 Then l1 = ls c1 = cs + h u1 = Log(c1) + Log(1 - l1) w1 = Log(c1) + Log(1 - th(s) * l1 / th(s + 1)) If bp + c1 th(s) * l1 Then u1 = -999 If w1 wp Then u1 = -999 l2 = ls - h If l2 0 Then l2 = ls c2 = cs u2 = Log(c2) + Log(1 - l2) w2 = Log(c2) + Log(1 - th(s) * l2 / th(s + 1)) If bp + c2 th(s) * l2 Then u2 = -999 If w2 wp Then u2 = -999 l3 = ls + h If l3 1 Then l3 = ls c3 = cs + h u3 = Log(c3) + Log(1 - l3) w3 = Log(c3) + Log(1 - th(s) * l3 / th(s + 1)) If bp + c3 th(s) * l3 Then u3 = -999 If w3 wp Then u3 = -999 l4 = ls + h If l4 0.99 Then l4 = ls c3 = cs - h If c4 0.01 Then c4 = cs u4 = Log(c4) + Log(1 - l4) w4 = Log(c4) + Log(1 - th(s) * l4 / th(s + 1)) If bp + c4 th(s) * l4 Then u4 = -999 If w4 wp Then u4 = -999 l5 = ls - h If l5 0 Then l5 = ls c5 = cs + h u5 = Log(c5) + Log(1 - l5) w5 = Log(c5) + Log(1 - th(s) * l5 / th(s + 1)) If bp + c5 th(s) * l5 Then u5 = -999 If w5 wp Then u5 = -999 If u1 us Then ls = l1 If u1 us Then cs = c1 If u1 us Then us = u1 If u2 us Then ls = l2 If u2 us Then cs = c2 If u2 us Then us = u2 If u3 us Then ls = l3 If u3 us Then cs = c3 If u3 us Then us = u3 If u4 us Then ls = l4 If u4 us Then cs = c4 If u4 us Then us = u4 If u5 us Then ls = l5 If u5 us Then cs = c5 If u5 us Then us = u5 If (lp - ls) ^ 2 e Then t1 = 1000 lp = ls t1 = t1 + 1 Loop h = h / 2 t2 = t2 + 1 Loop seeku2 = us End Function Function seeku1(s As Single, th, wp As Single, bp As Single) As Single Dim ls As Single Dim cs As Single Dim us As Single Dim ys As Single Dim ws As Single Dim l1 As Single Dim c1 As Single Dim u1 As Single Dim l2 As Single Dim y2 As Single Dim y1 As Single Dim c2 As Single Dim u2 As Single Dim h As Single Dim lp As Single Dim t1 As Single Dim t2 As Single Dim e As Single e = 10 ^ (-5) h = 0.1 ls = (bp + 0.01) / th(s) If ls 0.01 Then ls = 0.01 ys = th(s) * ls cs = ys - bp us = Log(cs) + Log(1 - ls) ws = Log(cs) + Log(1 - ys / th(s + 1)) If ws wp Then us = -999 t2 = 0 Do Until t2 10 t1 = 0 Do Until t1 100 l1 = ls + h If l1 0.99 Then l1 = ls c1 = th(s) * l1 - bp y1 = th(s) * l1 u1 = Log(c1) + Log(1 - l1) w1 = Log(c1) + Log(1 - y1 / th(s + 1)) If w1 wp Then u1 = -999 l2 = ls - h If l2 0.01 Then l2 = ls c2 = th(s) * l2 - bp If c2 0.01 Then l2 = ls c2 = th(s) * l2 - bp y2 = th(s) * l2 u2 = Log(c2) + Log(1 - l2) w2 = Log(c2) + Log(1 - y2 / th(s + 1)) If w2 wp Then u2 = -999 If u1 us Then ls = l1 If u1 us Then us = u1 If u2 us Then ls = l2 If u2 us Then us = u2 If (lp - ls) ^ 2 e Then t1 = 1000 lp = ls t1 = t1 + 1 Loop h = h / 2 t2 = t2 + 1 Loop seeku1 = us End Function Function seekw(wp As Single) As Single Dim x1 As Single Dim x2 As Single Dim x3 As Single Dim w1 As Single Dim w2 As Single Dim t As Single x1 = 0.3 x2 = 0.7 Do Until t 100 w1 = 2 * Log(x1) w2 = 2 * Log(x2) x3 = x2 + (wp - w2) * (x2 - x1) / (w2 - w1) x1 = x2 x2 = x3 If (wp - w2) ^ 2 10 ^ (-5) Then t = 1000 t = t + 1 Loop seekw = x2 End Function Function lx(s As Single, th, tl As Single, tr As Single) As Single Dim ls As Single ls = ((1 - tl) * th(s) - tr) / (2 * (1 - tl) * th(s)) If ls 0 Then ls = 0 lx = ls End Function Function cx(s As Single, th, tl As Single, tr As Single) As Single Dim ls As Single ls = ((1 - tl) * th(s) - tr) / (2 * (1 - tl) * th(s)) If ls 0 Then ls = 0 cx = (1 - tl) * th(s) * ls + tr End Function Function tls(th) As Single Dim maxw As Single Dim tl As Single Dim tr As Single Dim tp As Single Dim w1 As Single Dim n As Single maxw = -999 For n = 1 To 400 tl = 0.001 * n tr = trs(th, tl) w1 = wel(th, tl, tr) If w1 maxw Then tp = tl If w1 maxw Then maxw = w1 Next tls = tp End Function Function trs(th, tl As Single) As Single Dim tr1 As Single Dim tr2 As Single Dim tr3 As Single Dim b1 As Single Dim b2 As Single Dim t As Single tr1 = 0 tr2 = 0.1 t = 0 Do Until t 100 b1 = bud(th, tl, tr1) b2 = bud(th, tl, tr2) tr3 = tr2 - b2 * (tr2 - tr1) / (b2 - b1) tr1 = tr2 tr2 = tr3 If (tr1 - tr2) ^ 2 10 ^ (-5) Then t = 1000 t = t + 1 Loop trs = tr2 End Function Function wel(th, tl As Single, tr As Single) As Single Dim w1 As Single Dim s As Single Dim ls As Single Dim cs As Single w1 = 0 For s = 1 To 100 ls = lx(s, th, tl, tr) If ls 0 Then ls = 0 cs = cx(s, th, tl, tr) w1 = w1 + Log(cs) + Log(1 - ls) Next wel = w1 End Function Function bud(th, tl As Single, tr As Single) As Single Dim w1 As Single Dim s As Single Dim ls As Single Dim cs As Single Dim ys As Single ys = 0 cs = 0 For s = 1 To 100 ls = lx(s, th, tl, tr) If ls 0 Then ls = 0 ys = ys + th(s) * ls cs = cs + cx(s, th, tl, tr) Next bud = ys - cs End Function Private Sub Command1_Click() Dim th(1 To 100) As Single Dim s As Single Dim tl As Single Dim tr As Single Dim bs(1 To 100) As Single Dim ws(1 To 99) As Single Dim u(1 To 99, -10 To 10, -10 To 10) As Single Dim w1 As Single Dim wp As Single Dim bp As Single For s = 1 To 100 th(s) = 0.02 * s Next tl = tls(th) tr = trs(th, tl) Debug.Print tl, tr For s = 1 To 100 bs(s) = th(s) * lx(s, th, tl, tr) - cx(s, th, tl, tr) Next For s = 1 To 99 w1 = Log(cx(s, th, tl, tr)) + Log(1 - th(s) * lx(s, th, tl, tr) / th(s + 1)) ws(s) = seekw(w1) Next h = 10 ^ (-3) For s = 1 To 99 For m = -10 To 10 For n = -10 To 10 wp = 2 * Log(ws(s) + h * m) bp = bs(s) + h * n u(s, m, n) = seeku(s, th, wp, bp) If u(s, m, n) -900 Then Debug.Print m, n Next Next Debug.Print s, u(s, 0, 0) Next End Sub
https://w.atwiki.jp/jpops/pages/15127.html
fictionをお気に入りに追加 fictionのリンク #bf Amazon.co.jp ウィジェット fictionの報道 神使轟く、激情の如く。 Lenny code fiction、MAGIC OF LiFEを迎えた対バンライブ『LEGIT Vol.13』レポート - http //spice.eplus.jp/ 映画『PULP FICTION』とF-LAGSTUF-Fのオリジナルアパレルコレクションが発売 - 株式会社CRESCE Lenny code fiction × リアクション ザ ブッタのツーマン・ライヴが決定。 SHIBUYA DIVE pre.「ダイブ!!」 、10/26開催 - Skream! Lenny code fiction、デビュー5周年ワンマンライブで見せた4人の絆と未来への覚悟 | 歌詞検索サイト【UtaTen】ふりがな付 - 歌詞・音楽メディアUtaTen N0V3L - NON-FICTION - ele-king.net SF作家に聞く「スペキュレイティブ・フィクション」はこのクレイジーな世界で何かを教えてくれるのだろうか? - TechCrunch Japan ポルカドットスティングレイ「FICTION」MV公開、雫が和装やタキシード姿など目まぐるしく入れ替わる(動画あり) - ナタリー MAN WITH A MISSION 未発表曲「Between friction and fiction」も披露、“原点”で開催したスペシャルライブ&トークをレポート - http //spice.eplus.jp/ Maison book girl、初のベスト盤『Fiction』を機に辿る歩み「良いと思うものを作り続けていれば好きな人の心に刺さると信じて」 - リアルサウンド Maison book girlベストアルバム「Fiction」通常盤初回生産分に全8種アナザージャケットのランダム封入が決定、Amazonイベントも実施 | PONYCANYON NEWS - PONYCANYON NEWS Maison book girl、ベスト・アルバム『Fiction』詳細発表。新ヴィジュアル、特設サイトも公開 - Skream! ブクガのベスト盤「Fiction」詳細決定、新コスチュームは歴代衣装をミックス - ナタリー Foxes In Fiction(フォクシーズ・イン・フィクション)5年振りのアルバム『Trillium Killer』 - TOWER RECORDS ONLINE - TOWER RECORDS ONLINE Lenny code fiction、『僕のヒーローアカデミア』との理想的な関係 OP曲のメッセージを読む - リアルサウンド TVアニメ『僕のヒーローアカデミア』7月14日(土)より第2クールスタート! 新OPテーマをLenny code fiction、EDを菅田将暉さんが担当! - アニメイトタイムズ sumika、新作『Fiction e.p』から「ペルソナ・プロムナード」Music Video公開!! - PR TIMES sumika「Fiction ep」インタビュー|結成5周年で描く新たな“フィクション” - 音楽ナタリー 特集・インタビュー - 音楽ナタリー sumika、9ヶ月ぶりの新作『Fiction e.p』からライブさながらの「フィクション」Music Video公開!! - PR TIMES sumika「Fiction e.p」初回盤DVDの収録曲目決定 - ナタリー Lenny code fiction「Colors」インタビュー|自分たちの色を確立させたハイブリッドな「Colors」 - 音楽ナタリー 特集・インタビュー - ナタリー fictionとは fictionの69%は知恵で出来ています。fictionの19%は月の光で出来ています。fictionの11%は苦労で出来ています。fictionの1%は気の迷いで出来ています。 fiction@ウィキペディア fiction Amazon.co.jp ウィジェット 掲示板 名前(HN) カキコミ すべてのコメントを見る ページ先頭へ fiction このページについて このページはfictionのインターネット上の情報を集めたリンク集のようなものです。ブックマークしておけば、日々更新されるfictionに関連する最新情報にアクセスすることができます。 情報収集はプログラムで行っているため、名前が同じであるが異なるカテゴリーの情報が掲載される場合があります。ご了承ください。 リンク先の内容を保証するものではありません。ご自身の責任でクリックしてください。
https://w.atwiki.jp/mnk375/pages/18.html
function initRollovers() { if (!document.getElementById) return var aPreLoad = new Array(); var sTempSrc; var aImages = document.getElementsByTagName( img ); for (var i = 0; i aImages.length; i++) { if (aImages[i].className == rollover ) { var src = aImages[i].getAttribute( src ); var ftype = src.substring(src.lastIndexOf( . ), src.length); var hsrc = src.replace(ftype, _on +ftype); aImages[i].setAttribute( hsrc , hsrc); aPreLoad[i] = new Image(); aPreLoad[i].src = hsrc; aImages[i].onmouseover = function() { sTempSrc = this.getAttribute( src ); this.setAttribute( src , this.getAttribute( hsrc )); } aImages[i].onmouseout = function() { if (!sTempSrc) sTempSrc = this.getAttribute( src ).replace( _on +ftype, ftype); this.setAttribute( src , sTempSrc); } } } } window.onload = initRollovers; function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a i a.length (x=a[i]) x.oSrc;i++) x.src=x.oSrc; } function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?")) 0 parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n]) d.all) x=d.all[n]; for (i=0;!x i d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x d.layers i d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x d.getElementById) x=d.getElementById(n); return x; } function MM_swapImage() { //v3.0 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i (a.length-2);i+=3) if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} } jQuery(function(){ jQuery("a.hover img").mouseover(function(){ jQuery(this).fadeTo(100, 0.7); }).mouseout(function(){ jQuery(this).fadeTo(100, 1); }).each(function(){ jQuery(" img ").fadeTo(100, 0.7); }); });
https://w.atwiki.jp/solutionlog/pages/23.html
Springトランザクション管理概要 包括的なトランザクション管理 さまざまなトランザクションAPIを同じように扱える Springデータアクセスとの統合 グローバルトランザクション JTAを使ってグローバルトランザクションをつかう JTAのUserTransactionはJNDI経由で利用する⇒アプリケーションサーバ外で再利用できない EJB CMTを使うこともできる。 CMTはJTAつまりアプリケーションサーバ環境と結びついてしまう CMTを利用するにはビジネスロジックをEJBとして実装しないといけない ローカルトランザクション 特定のリソースにひもづくトランザクション 複数のトランザクションリソースは扱えない JTAトランザクションは扱えない Springのトランザクションモデル 一貫していて、どの環境でも動く JTA JDBC Hibernate JPA JDO 宣言的トランザクション管理 トランザクション管理に必要なコードをかかなくていい トランザクションのAPIに依存しないコードがかける シンプルなプログラマティックトランザクション管理 アプリケーションサーバのトランザクション管理が必要なのは、複数リソースのトランザクションを扱う時くらい トランザクションモデル要素 PlatformTransactionManager トランザクションストラテジ SPI。モックとかスタブとか作れる DataSourceTransactionManager データソースを参照 JtaTransactionManager:JavaEEのJTAのデータソースを使う場合 HibernateTransactionManager:Hibernateの場合。LocalSessionFactoryBeanを参照 TransactionException 実行時例外だから、必要に応じて例外処理すればいい getTransaction TransactionStatusを取得できる TransactionDefinition 分離レベル Propagation Timeout Read-only status TransactionStatus 実行しているスレッドと関連づいてる トランザクション実行制御とトランザクション情報のクエリ トランザクションを伴うリソースの同期 High-level synchronization approach リソースの生成、再利用、破棄、リソースのトランザクション同期、例外のマッピング native ORM API JdbcTemplateなどのテンプレート Low-level synchronization approach ネイティブAPIを使いたい(あんまりないけど) Spring管理のインスタンスの取得、リソースのトランザクション同期、例外のマッピング DataSourceUtils/EntityManagerFactoryUtils/SessionFactoryUtils/PersistenceManagerFactoryUtils TransactionAwareDataSourceProxy DataSourceのプロキシ 既存のコードがDataSourceをつかっていて、Spring管理のトランザクションに入れたいとき High-level synchronization approachに置き換えるのが正解 宣言的トランザクション管理 SpringAOPの技術によって可能になってる。 CMTとの比較 トランザクションの振る舞いを設定できるのは同じ CMTと違って、JTA以外でもローカルトランザクション(JDBC,JPA...)でも使える EJBとちがって、どんなクラスにでもトランザクション管理をきかせられる ロールバックルールを提供 自動ロールバックする例外を指定できる デフォルトではCMTと同じ動作(非チェック例外ではロールバック、チェック例外ではロールバックしない) ビジネスオブジェクトがトランザクションのことを気にしなくてよくなる トランザクションの振る舞いをAOPを使って変えられる リモートも含めたトランザクションは利用できない そもそも利用することあるか要確認 宣言的トランザクションの中身 宣言的トランザクションはAOPプロキシで実現されている TransactionInterceptor アドバイスとジョインポイントはメタデータで(XML or アノテーション)指定 caller⇒AOPプロキシ⇒トランザクションアドバイザ⇒カスタムアドバイザ⇒ターゲットメソッド ロールバックの宣言的設定 デフォルトでは、非チェック例外ではロールバック、チェック例外ではロールバックしない) ロールバックする/しない例外を個別に指定 tx method name="*" rollback-for="Throwable" no-rollback-for="InstrumentNotFoundException"/ ビーン毎にトランザクションの設定を切り替える aop advisor 、 aop pointcut 、 tx advise を複数セット用意 tx advise/ デフォルト値 プロパゲーション=REQUIRED 分離レベル=DEFAULT read/write タイムアウト時間=対象のトランザクションシステムのタイムアウト時間。(タイムアウトがサポートされない場合はなし) RuntimeException⇒ロールバック、それ以外⇒ロールバックしない tx attributes/tx method の設定項目 name:トランザクションと関連付けられるメソッド名(*利用可能) propagation [REQUIRED] isolation[DEFAULT] timeout[-1] read-only[false] rollback-for no-rollback-for @Transactional アノテーションでトランザクションの設定ができる 利用できる場所 インターフェース定義、インターフェースメソッド、クラス定義、クラスのpublicメソッド tx annotation-driven/ と一緒に使う transaction-manager [transactionManager] mode [proxy] aspectjも指定可能 proxy-target-class [false] trueの場合は、クラスベースのプロキシ falseの場合は、JDKインターフェースベースのプロキシ order [Ordered.LOWEST_PRECEDENCE] tx annotation-driven/ のが設定されたアプリケーションコンテキストのビーンについてのみ@Transactionalが有効 クラス定義、またはクラスメソッドのみに利用したほうがいい。 アノテーションはインターフェースからは継承されないため、クラスベースのプロキシ、ウィービングベースのアスペクトを使うと、トランザクションが有効にならない プロキシモード(デフォルト)ではセルフインボケーションでは、@Transactionalは効かない AspectJモードでは、セルフインボケーションでも@Transactionalは有効(ウィービングされるから) @Transactionalの優先度 クラスレベル メソッド @Transactionalの設定項目 value propagation isolation readOnly timeout rollbackFor noRollbackFor トランザクション名はFQCN.メソッド名 複数のトランザクションマネージャを使う @Transactional("xxx") :xxxはビーン定義の qualifier/ よく使う@Transactionalの属性値のセットがあれば、カスタムアノテーションを作るのがいい トランザクションプロパゲーション