約 2,918,090 件
https://w.atwiki.jp/portablesoftware/pages/21.html
Portable Sleipnir 配布ページ スクリーンショット カスタマイズに特化したIEコンポーネントブラウザ ライセンス フリーウェア サイズ ZIP 4.30MB 解凍後 6.35MB 対応OS 98/98SE/Me/2000/XP/Vista 使用方法 ZIPファイルをダウンロード後、解凍。 PortableSleipnir.exeをダブルクリックで起動。 設定はsettings\All Usersフォルダに保存されます。
https://w.atwiki.jp/beaglemasa/pages/11.html
Apache2.2のインストール authz_ldapをインストールする場合にはldapのライブラリーが必要。 ldapcpplib-develをインストールすればOK. ライブラリをインストールせずコンパイルすると失敗する。 configure error could not find an LDAP library configure failed for srclib/apr-util エラーになる。 httpd-2.2.8をダウンロード tar xvzf /usr/local/src/httpd-2.2.8.tar.gz cd httpd-2.2.8 コンパイル(WebDAV、proxy、ldapの組み込み) ./configure --prefix=/usr/local/apache2 --enable-so --enable-modules=all --enable-mods-shard=all --enable-dav --enable-lock --enable-fs --enable-rewrite --enable-proxy --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http --enable-proxy-ajp --enable-proxy-balancer --with-ldap --enable-ldap --enable-authnz-ldap make make install 環境設定 ・/usr/local/apache2/conf/extra/httpd-default.conf ServerTokens Full → ServerTokens Prod ServerSignature On → ServerSignature Off
https://w.atwiki.jp/tanken/pages/192.html
TITLE table編集 #nomenubar counter 2008年04月25日 (金) 15時13分51秒 #0033cc 編集 #0033ff 編集 選択肢 投票 好き (0) 嫌い (0) notimestamp (0) 順位 選択肢 得票数 得票率 投票 1 0 (0%) 2 no 0 (0%) 3 yes 0 (0%) その他 投票総数 0
https://w.atwiki.jp/snagplaces/pages/48.html
最終更新日時:2010年04月30日 (金) 13時38分59秒[編集] はじめに 定番FTP転送ソフトであるvsftpを使ってFTPサーバを構築します。 注意事項 ルータで20番と21番ポートとPASV用の60000〜60030番ポートが空いていること ファイアウォールのセキュリティも許可していること はじめに注意事項 vsftpのインストールインストール 設定ファイルの編集vsftpd.confの編集 上位ディレクトリに移動できるユーザの登録 アクセス許可ユーザの登録 vsftpdサービスの起動 自動起動に設定 vsftpのインストール インストール # yum install vsftpd [▲上へ] 設定ファイルの編集 vsftpd.confの編集 ※SSLの設定は今回はしてません。 # vi /etc/vsftpd/vsftpd.conf 【12行目あたり変更】Anonymousユーザログイン許可 anonymous_enable=NO 【15行目あたり確認】ローカルユーザのログインを許可 local_enable=YES 【18行目あたり確認】書き込み権限を与える write_enable=YES 【27行目あたり変更】Anonymousユーザに書込み権限 anon_upload_enable=NO 【31行目あたり変更】Anonymousユーザのディレクトリ作成権限 anon_mkdir_write_enable=NO 【38行目あたり確認】ログの取得 xferlog_enable=YES 【46行目あたり変更】Anonymousユーザの所有者変更を許可 chown_uploads=NO 【54行目あたり変更】ユーザのコマンドを記録する xferlog_std_format=YES 【56行目あたり変更】ログの出力先 xferlog_file=/var/log/vsftpd.log 【56行目あたり変更】セッションのタイムアウト idle_session_timeout=600 【60行目あたり変更】データ転送中断によるタイムアウト data_connection_timeout=120 【79・80行目あたり変更】ASCIIモード転送の許可 ascii_upload_enable=YES ascii_download_enable=YES 【83行目あたり変更】ログイン時のメッセージはなし ftpd_banner= 【87行目あたり変更】Anonymous接続時のメールアドレス要求 deny_email_enable=NO 【94行目あたり変更】chroot_listを使用する chroot_list_enable=YES 【96行目あたり変更】chroot_list(local_rootより上位に行けないユーザのリスト)の場所 chroot_list_file=/etc/vsftpd/chroot_list 【102行目あたり変更】ディレクトリ一括転送を許可 ls_recurse_enable=YES 【114行目以降】 【PAM認証でのサービス名】 pam_service_name=vsftpd 【user_listの有効】 userlist_enable=YES 【user_listに記録したユーザのみ許可】 userlist_deny=NO 【chroot_listに登録したユーザは上位ディレクトリへ行ける】 chroot_local_user=YES tcp_wrappers=YES local_root=public_html use_localtime=YES 【以降PASV関連の設定】 pasv_addr_resolve=YES pasv_address=ドメイン名 pasv_promiscuous=YES pasv_min_port=50000 pasv_max_port=50030 上位ディレクトリに移動できるユーザの登録 # vi /etc/vsftpd/chroot_list 上位ディレクトリに移動できるユーザを登録 アクセス許可ユーザの登録 # vi /etc/vsftpd/user_list rootをコメントアウト ログインさせたいユーザ名を最下行に追加 この作業をしておけば、新規ユーザはすぐにFTPアクセスができてしまう問題を回避できます。 [▲上へ] vsftpdサービスの起動 # service vsftpd start 自動起動に設定 # chkconfig vsftpd on これでvsftp自体の設定は完了です。Anonymousの設定がデフォルトでYESになってるのが多いのは、FTP自体Anonymousで運用してねってことなんですかね? [▲上へ]
https://w.atwiki.jp/wiki8_djmax/pages/47.html
◆DJMAX PORTABLE Internationalにおいての通常版との変更点です。 ■システム変更点 OBLIVION ~ Rockin Night Style ~ 4Bのノート数がスピーカーモードのノート数に固定 8B MODEのLRノートのデザイン変更 Fever GJ削除、DreadnoughtがRiver Flowに変更 説明書はハングル英語のバイリンガル(前半分と後ろ半分とで分かれている)で、歌詞ページは全て削除されています ファームウェアバージョン2.71以上要求 OP動画で英語の字幕付き 解禁タイミングは通常版と全く同じか? コンボ解禁は通常版と同様のシステム スコア計算も前回と同じ ハイスコア登録時の名前の入力内容が記憶されます バグ1、3の改善 A.I.の演奏終了時すぐにリザルト画面に移行する現象の修正 Chrono BreakersのBGAのズレはそのまま コースについては、Dreadnoughtがあった箇所は(今のところ)全てRiverFlowに変化 ※「Visual Artist Party」の「ECO」に「River Flow」があります(笑) コースでFever GJがあった箇所がいろんな曲に変化 OSTでDreadnoughtだった位置にRiver Flow OSTでADDITIONAL DISCで選択できる曲が1曲以下の時にゲームがリスタートする不具合の修正 Evil DiscはRoute 66 Discに名称変更 初めのモード選択のロゴの上に「i」のマーク 起動時にneowizのロゴ ■Gallery変化 IMAGE 通常版 83-85 Funky Chups No.1-3 86-88 Fever GJ No.1-3 89-91 Futurism No.1-3 International版 83-86 Funky Chups No.1-4 87-91 Futurism No.1-5 ■曲名変化 (画像やディスクも変化) 바람에게 부탁해 → Ask the Wind One The Love → Wonder Love 레모네이드 → Lemonade 아침형 인간 → Every Morning Eternal Memory ~소녀의 꿈~ → Eternal Memory ~A girl s Dream~ 피아노 협주곡 1번 → Piano Concerto No.1 ■アーティスト名変化 슈퍼꼬마 → Supbaby ■ムービー変化 Astro Fight → 服装が変わった&蹴り飛ばす相手が忍者 (ディスクetcも変化) Eternal Memory ~A girl s Dream~ → 出だしの韓国語消去 ■曲修正 Wonder Love(One The Love) 二回目のサビ(?)前 When you call my name I feel like 「getting high」. do you feel the same? (サビ直後の子供の声は全て削除) Out Law ラップ部分中盤 back up once again, tons of 「gin」, drink all night long, 「smoke」 an ounce again Temptation ラップ部分序盤 let s dance to the song maybe hitting 「a bong」 no wrong, keep it right Can We Talk 中盤 when we make 「insane love」 there is no wonder entities Rock or Die 【Rock is Fruck update Yeah, that s so fine Yo. Killed that s kidding】 (↑全て消えてカラオケ状態に)
https://w.atwiki.jp/uo88/pages/773.html
Abominable Snowman 概要 名称 画像 pub 通称 slot 生息地 関連生物 名声 カルマ 戦利品 解体 アビリティ 特効 テイム可能値 - バード難度 ステータス ステータス HP スタミナ マナ STR DEX INT 最小 - - - - - - 最大 - - - - - - 抵抗 抵抗 物 炎 冷 毒 エ 最小 - - - - - 最大 - - - - - ダメージ DMG 物 炎 冷 毒 エ xx-xx(xx-xx) スキル スキル 格闘 戦術 耐性 解剖学 治療 毒 探知 隠蔽 受け流し 最小 - - - - - - - - - 最大 - - - - - - - - - スキル2 魔法 評価 瞑想 霊媒 霊話 神秘 集中 織成呪文 不調和 最小 - - - - - - - - - 最大 - - - - - - - - - スキル3 武士道 忍術 騎士道 最小 - - - 最大 - - - その他 食べ物 - グループパワー - コメント 名前 コメント
https://w.atwiki.jp/nobunyaganoyabou/pages/13.html
)(); /** * The main Table namespace */ var Table = (function(){ /** * Determine if a reference is defined */ function def(o) {return (typeof o!="undefined");}; /** * Determine if an object or class string contains a given class. */ function hasClass(o,name) { return new RegExp("(^|\\s)"+name+"(\\s|$)").test(o.className); }; /** * Add a class to an object */ function addClass(o,name) { var c = o.className || ""; if (def(c) !hasClass(o,name)) { o.className += (c?" " "") + name; } }; /** * Remove a class from an object */ function removeClass(o,name) { var c = o.className || ""; o.className = c.replace(new RegExp("(^|\\s)"+name+"(\\s|$)"),"$1"); }; /** * For classes that match a given substring, return the rest */ function classValue(o,prefix) { var c = o.className; if (c.match(new RegExp("(^|\\s)"+prefix+"([^ ]+)"))) { return RegExp.$2; } return null; }; /** * Return true if an object is hidden. * This uses the "russian doll" technique to unwrap itself to the most efficient * function after the first pass. This avoids repeated feature detection that * would always fall into the same block of code. */ function isHidden(o) { if (window.getComputedStyle) { var cs = window.getComputedStyle; return (isHidden = function(o) { return none ==cs(o,null).getPropertyValue( display ); })(o); } else if (window.currentStyle) { return(isHidden = function(o) { return none ==o.currentStyle[ display ]; })(o); } return (isHidden = function(o) { return none ==o.style[ display ]; })(o); }; /** * Get a parent element by tag name, or the original element if it is of the tag type */ function getParent(o,a,b) { if (o!=null o.nodeName) { if (o.nodeName==a || (b o.nodeName==b)) { return o; } while (o=o.parentNode) { if (o.nodeName (o.nodeName==a || (b o.nodeName==b))) { return o; } } } return null; }; /** * Utility function to copy properties from one object to another */ function copy(o1,o2) { for (var i=2;i arguments.length; i++) { var a = arguments[i]; if (def(o1[a])) { o2[a] = o1[a]; } } } // The table object itself var table = { //Class names used in the code AutoStripeClassName "table-autostripe", StripeClassNamePrefix "table-stripeclass ", AutoSortClassName "table-autosort", AutoSortColumnPrefix "table-autosort ", AutoSortTitle "Click to sort", SortedAscendingClassName "table-sorted-asc", SortedDescendingClassName "table-sorted-desc", SortableClassName "table-sortable", SortableColumnPrefix "table-sortable ", NoSortClassName "table-nosort", AutoFilterClassName "table-autofilter", FilteredClassName "table-filtered", FilterableClassName "table-filterable", FilteredRowcountPrefix "table-filtered-rowcount ", RowcountPrefix "table-rowcount ", FilterAllLabel "Filter All", AutoPageSizePrefix "table-autopage ", AutoPageJumpPrefix "table-page ", PageNumberPrefix "table-page-number ", PageCountPrefix "table-page-count " }; /** * A place to store misc table information, rather than in the table objects themselves */ table.tabledata = {}; /** * Resolve a table given an element reference, and make sure it has a unique ID */ table.uniqueId=1; table.resolve = function(o,args) { if (o!=null o.nodeName o.nodeName!="TABLE") { o = getParent(o,"TABLE"); } if (o==null) { return null; } if (!o.id) { var id = null; do { var id = "TABLE_"+(table.uniqueId++); } while (document.getElementById(id)!=null); o.id = id; } this.tabledata[o.id] = this.tabledata[o.id] || {}; if (args) { copy(args,this.tabledata[o.id],"stripeclass","ignorehiddenrows","useinnertext","sorttype","col","desc","page","pagesize"); } return o; }; /** * Run a function against each cell in a table header or footer, usually * to add or remove css classes based on sorting, filtering, etc. */ table.processTableCells = function(t, type, func, arg) { t = this.resolve(t); if (t==null) { return; } if (type!="TFOOT") { this.processCells(t.tHead, func, arg); } if (type!="THEAD") { this.processCells(t.tFoot, func, arg); } }; /** * Internal method used to process an arbitrary collection of cells. * Referenced by processTableCells. * It s done this way to avoid getElementsByTagName() which would also return nested table cells. */ table.processCells = function(section,func,arg) { if (section!=null) { if (section.rows section.rows.length section.rows.length 0) { var rows = section.rows; for (var j=0,L2=rows.length; j L2; j++) { var row = rows[j]; if (row.cells row.cells.length row.cells.length 0) { var cells = row.cells; for (var k=0,L3=cells.length; k L3; k++) { var cellsK = cells[k]; func.call(this,cellsK,arg); } } } } } }; /** * Get the cellIndex value for a cell. This is only needed because of a Safari * bug that causes cellIndex to exist but always be 0. * Rather than feature-detecting each time it is called, the function will * re-write itself the first time it is called. */ table.getCellIndex = function(td) { var tr = td.parentNode; var cells = tr.cells; if (cells cells.length) { if (cells.length 1 cells[cells.length-1].cellIndex 0) { // Define the new function, overwrite the one we re running now, and then run the new one (this.getCellIndex = function(td) { return td.cellIndex; })(td); } // Safari will always go through this slower block every time. Oh well. for (var i=0,L=cells.length; i L; i++) { if (tr.cells[i]==td) { return i; } } } return 0; }; /** * A map of node names and how to convert them into their "value" for sorting, filtering, etc. * These are put here so it is extensible. */ table.nodeValue = { INPUT function(node) { if (def(node.value) node.type ((node.type!="checkbox" node.type!="radio") || node.checked)) { return node.value; } return ""; }, SELECT function(node) { if (node.selectedIndex =0 node.options) { // Sort select elements by the visible text return node.options[node.selectedIndex].text; } return ""; }, IMG function(node) { return node.name || ""; } }; /** * Get the text value of a cell. Only use innerText if explicitly told to, because * otherwise we want to be able to handle sorting on inputs and other types */ table.getCellValue = function(td,useInnerText) { if (useInnerText def(td.innerText)) { return td.innerText; } if (!td.childNodes) { return ""; } var childNodes=td.childNodes; var ret = ""; for (var i=0,L=childNodes.length; i L; i++) { var node = childNodes[i]; var type = node.nodeType; // In order to get realistic sort results, we need to treat some elements in a special way. // These behaviors are defined in the nodeValue() object, keyed by node name if (type==1) { var nname = node.nodeName; if (this.nodeValue[nname]) { ret += this.nodeValue[nname](node); } else { ret += this.getCellValue(node); } } else if (type==3) { if (def(node.innerText)) { ret += node.innerText; } else if (def(node.nodeValue)) { ret += node.nodeValue; } } } return ret; }; /** * Consider colspan and rowspan values in table header cells to calculate the actual cellIndex * of a given cell. This is necessary because if the first cell in row 0 has a rowspan of 2, * then the first cell in row 1 will have a cellIndex of 0 rather than 1, even though it really * starts in the second column rather than the first. * See http //www.javascripttoolbox.com/temp/table_cellindex.html */ table.tableHeaderIndexes = {}; table.getActualCellIndex = function(tableCellObj) { if (!def(tableCellObj.cellIndex)) { return null; } var tableObj = getParent(tableCellObj,"TABLE"); var cellCoordinates = tableCellObj.parentNode.rowIndex+"-"+this.getCellIndex(tableCellObj); // If it has already been computed, return the answer from the lookup table if (def(this.tableHeaderIndexes[tableObj.id])) { return this.tableHeaderIndexes[tableObj.id][cellCoordinates]; } var matrix = []; this.tableHeaderIndexes[tableObj.id] = {}; var thead = getParent(tableCellObj,"THEAD"); var trs = thead.getElementsByTagName( TR ); // Loop thru every tr and every cell in the tr, building up a 2-d array "grid" that gets // populated with an "x" for each space that a cell takes up. If the first cell is colspan // 2, it will fill in values [0] and [1] in the first array, so that the second cell will // find the first empty cell in the first row (which will be [2]) and know that this is // where it sits, rather than its internal .cellIndex value of [1]. for (var i=0; i trs.length; i++) { var cells = trs[i].cells; for (var j=0; j cells.length; j++) { var c = cells[j]; var rowIndex = c.parentNode.rowIndex; var cellId = rowIndex+"-"+this.getCellIndex(c); var rowSpan = c.rowSpan || 1; var colSpan = c.colSpan || 1; var firstAvailCol; if(!def(matrix[rowIndex])) { matrix[rowIndex] = []; } var m = matrix[rowIndex]; // Find first available column in the first row for (var k=0; k m.length+1; k++) { if (!def(m[k])) { firstAvailCol = k; break; } } this.tableHeaderIndexes[tableObj.id][cellId] = firstAvailCol; for (var k=rowIndex; k rowIndex+rowSpan; k++) { if(!def(matrix[k])) { matrix[k] = []; } var matrixrow = matrix[k]; for (var l=firstAvailCol; l firstAvailCol+colSpan; l++) { matrixrow[l] = "x"; } } } } // Store the map so future lookups are fast. return this.tableHeaderIndexes[tableObj.id][cellCoordinates]; }; /** * Sort all rows in each TBODY (tbodies are sorted independent of each other) */ table.sort = function(o,args) { var t, tdata, sortconvert=null; // Allow for a simple passing of sort type as second parameter if (typeof(args)=="function") { args={sorttype args}; } args = args || {}; // If no col is specified, deduce it from the object sent in if (!def(args.col)) { args.col = this.getActualCellIndex(o) || 0; } // If no sort type is specified, default to the default sort args.sorttype = args.sorttype || Sort[ default ]; // Resolve the table t = this.resolve(o,args); tdata = this.tabledata[t.id]; // If we are sorting on the same column as last time, flip the sort direction if (def(tdata.lastcol) tdata.lastcol==tdata.col def(tdata.lastdesc)) { tdata.desc = !tdata.lastdesc; } else { tdata.desc = !!args.desc; } // Store the last sorted column so clicking again will reverse the sort order tdata.lastcol=tdata.col; tdata.lastdesc=!!tdata.desc; // If a sort conversion function exists, pre-convert cell values and then use a plain alphanumeric sort var sorttype = tdata.sorttype; if (typeof(sorttype.convert)=="function") { sortconvert=tdata.sorttype.convert; sorttype=Sort.alphanumeric; } // Loop through all THEADs and remove sorted class names, then re-add them for the col // that is being sorted this.processTableCells(t,"THEAD", function(cell) { if (hasClass(cell,this.SortableClassName)) { removeClass(cell,this.SortedAscendingClassName); removeClass(cell,this.SortedDescendingClassName); // If the computed colIndex of the cell equals the sorted colIndex, flag it as sorted if (tdata.col==table.getActualCellIndex(cell) (classValue(cell,table.SortableClassName))) { addClass(cell,tdata.desc?this.SortedAscendingClassName this.SortedDescendingClassName); } } } ); // Sort each tbody independently var bodies = t.tBodies; if (bodies==null || bodies.length==0) { return; } // Define a new sort function to be called to consider descending or not var newSortFunc = (tdata.desc)? function(a,b){return sorttype(b[0],a[0]);} function(a,b){return sorttype(a[0],b[0]);}; var useinnertext=!!tdata.useinnertext; var col = tdata.col; for (var i=0,L=bodies.length; i L; i++) { var tb = bodies[i], tbrows = tb.rows, rows = []; // Allow tbodies to request that they not be sorted if(!hasClass(tb,table.NoSortClassName)) { // Create a separate array which will store the converted values and refs to the // actual rows. This is the array that will be sorted. var cRow, cRowIndex=0; if (cRow=tbrows[cRowIndex]){ // Funky loop style because it s considerably faster in IE do { if (rowCells = cRow.cells) { var cellValue = (col rowCells.length)?this.getCellValue(rowCells[col],useinnertext) null; if (sortconvert) cellValue = sortconvert(cellValue); rows[cRowIndex] = [cellValue,tbrows[cRowIndex]]; } } while (cRow=tbrows[++cRowIndex]) } // Do the actual sorting rows.sort(newSortFunc); // Move the rows to the correctly sorted order. Appending an existing DOM object just moves it! cRowIndex=0; var displayedCount=0; var f=[removeClass,addClass]; if (cRow=rows[cRowIndex]){ do { tb.appendChild(cRow[1]); } while (cRow=rows[++cRowIndex]) } } } // If paging is enabled on the table, then we need to re-page because the order of rows has changed! if (tdata.pagesize) { this.page(t); // This will internally do the striping } else { // Re-stripe if a class name was supplied if (tdata.stripeclass) { this.stripe(t,tdata.stripeclass,!!tdata.ignorehiddenrows); } } }; /** * Apply a filter to rows in a table and hide those that do not match. */ table.filter = function(o,filters,args) { var cell; args = args || {}; var t = this.resolve(o,args); var tdata = this.tabledata[t.id]; // If new filters were passed in, apply them to the table s list of filters if (!filters) { // If a null or blank value was sent in for filters then that means reset the table to no filters tdata.filters = null; } else { // Allow for passing a select list in as the filter, since this is common design if (filters.nodeName=="SELECT" filters.type=="select-one" filters.selectedIndex -1) { filters={ filter filters.options[filters.selectedIndex].value }; } // Also allow for a regular input if (filters.nodeName=="INPUT" filters.type=="text") { filters={ filter "/^"+filters.value+"/" }; } // Force filters to be an array if (typeof(filters)=="object" !filters.length) { filters = [filters]; } // Convert regular expression strings to RegExp objects and function strings to function objects for (var i=0,L=filters.length; i L; i++) { var filter = filters[i]; if (typeof(filter.filter)=="string") { // If a filter string is like "/expr/" then turn it into a Regex if (filter.filter.match(/^\/(.*)\/$/)) { filter.filter = new RegExp(RegExp.$1); filter.filter.regex=true; } // If filter string is like "function (x) { ... }" then turn it into a function else if (filter.filter.match(/^function\s*\(([^\)]*)\)\s*\{(.*)}\s*$/)) { filter.filter = Function(RegExp.$1,RegExp.$2); } } // If some non-table object was passed in rather than a col value, resolve it // and assign it s column index to the filter if it doesn t have one. This way, // passing in a cell reference or a select object etc instead of a table object // will automatically set the correct column to filter. if (filter !def(filter.col) (cell=getParent(o,"TD","TH"))) { filter.col = this.getCellIndex(cell); } // Apply the passed-in filters to the existing list of filters for the table, removing those that have a filter of null or "" if ((!filter || !filter.filter) tdata.filters) { delete tdata.filters[filter.col]; } else { tdata.filters = tdata.filters || {}; tdata.filters[filter.col] = filter.filter; } } // If no more filters are left, then make sure to empty out the filters object for (var j in tdata.filters) { var keep = true; } if (!keep) { tdata.filters = null; } } // Everything s been setup, so now scrape the table rows return table.scrape(o); }; /** * "Page" a table by showing only a subset of the rows */ table.page = function(t,page,args) { args = args || {}; if (def(page)) { args.page = page; } return table.scrape(t,args); }; /** * Jump forward or back any number of pages */ table.pageJump = function(t,count,args) { t = this.resolve(t,args); return this.page(t,(table.tabledata[t.id].page||0)+count,args); }; /** * Go to the next page of a paged table */ table.pageNext = function(t,args) { return this.pageJump(t,1,args); }; /** * Go to the previous page of a paged table */ table.pagePrevious = function(t,args) { return this.pageJump(t,-1,args); }; /** * Scrape a table to either hide or show each row based on filters and paging */ table.scrape = function(o,args) { var col,cell,filterList,filterReset=false,filter; var page,pagesize,pagestart,pageend; var unfilteredrows=[],unfilteredrowcount=0,totalrows=0; var t,tdata,row,hideRow; args = args || {}; // Resolve the table object t = this.resolve(o,args); tdata = this.tabledata[t.id]; // Setup for Paging var page = tdata.page; if (def(page)) { // Don t let the page go before the beginning if (page 0) { tdata.page=page=0; } pagesize = tdata.pagesize || 25; // 25=arbitrary default pagestart = page*pagesize+1; pageend = pagestart + pagesize - 1; } // Scrape each row of each tbody var bodies = t.tBodies; if (bodies==null || bodies.length==0) { return; } for (var i=0,L=bodies.length; i L; i++) { var tb = bodies[i]; for (var j=0,L2=tb.rows.length; j L2; j++) { row = tb.rows[j]; hideRow = false; // Test if filters will hide the row if (tdata.filters row.cells) { var cells = row.cells; var cellsLength = cells.length; // Test each filter for (col in tdata.filters) { if (!hideRow) { filter = tdata.filters[col]; if (filter col cellsLength) { var val = this.getCellValue(cells[col]); if (filter.regex val.search) { hideRow=(val.search(filter) 0); } else if (typeof(filter)=="function") { hideRow=!filter(val,cells[col]); } else { hideRow = (val!=filter); } } } } } // Keep track of the total rows scanned and the total runs _not_ filtered out totalrows++; if (!hideRow) { unfilteredrowcount++; if (def(page)) { // Temporarily keep an array of unfiltered rows in case the page we re on goes past // the last page and we need to back up. Don t want to filter again! unfilteredrows.push(row); if (unfilteredrowcount pagestart || unfilteredrowcount pageend) { hideRow = true; } } } row.style.display = hideRow?"none" ""; } } if (def(page)) { // Check to see if filtering has put us past the requested page index. If it has, // then go back to the last page and show it. if (pagestart =unfilteredrowcount) { pagestart = unfilteredrowcount-(unfilteredrowcount%pagesize); tdata.page = page = pagestart/pagesize; for (var i=pagestart,L=unfilteredrows.length; i L; i++) { unfilteredrows[i].style.display=""; } } } // Loop through all THEADs and add/remove filtered class names this.processTableCells(t,"THEAD", function(c) { ((tdata.filters def(tdata.filters[table.getCellIndex(c)]) hasClass(c,table.FilterableClassName))?addClass removeClass)(c,table.FilteredClassName); } ); // Stripe the table if necessary if (tdata.stripeclass) { this.stripe(t); } // Calculate some values to be returned for info and updating purposes var pagecount = Math.floor(unfilteredrowcount/pagesize)+1; if (def(page)) { // Update the page number/total containers if they exist if (tdata.container_number) { tdata.container_number.innerHTML = page+1; } if (tdata.container_count) { tdata.container_count.innerHTML = pagecount; } } // Update the row count containers if they exist if (tdata.container_filtered_count) { tdata.container_filtered_count.innerHTML = unfilteredrowcount; } if (tdata.container_all_count) { tdata.container_all_count.innerHTML = totalrows; } return { data tdata, unfilteredcount unfilteredrowcount, total totalrows, pagecount pagecount, page page, pagesize pagesize }; }; /** * Shade alternate rows, aka Stripe the table. */ table.stripe = function(t,className,args) { args = args || {}; args.stripeclass = className; t = this.resolve(t,args); var tdata = this.tabledata[t.id]; var bodies = t.tBodies; if (bodies==null || bodies.length==0) { return; } className = tdata.stripeclass; // Cache a shorter, quicker reference to either the remove or add class methods var f=[removeClass,addClass]; for (var i=0,L=bodies.length; i L; i++) { var tb = bodies[i], tbrows = tb.rows, cRowIndex=0, cRow, displayedCount=0; if (cRow=tbrows[cRowIndex]){ // The ignorehiddenrows test is pulled out of the loop for a slight speed increase. // Makes a bigger difference in FF than in IE. // In this case, speed always wins over brevity! if (tdata.ignoreHiddenRows) { do { f[displayedCount++%2](cRow,className); } while (cRow=tbrows[++cRowIndex]) } else { do { if (!isHidden(cRow)) { f[displayedCount++%2](cRow,className); } } while (cRow=tbrows[++cRowIndex]) } } } }; /** * Build up a list of unique values in a table column */ table.getUniqueColValues = function(t,col) { var values={}, bodies = this.resolve(t).tBodies; for (var i=0,L=bodies.length; i L; i++) { var tbody = bodies[i]; for (var r=0,L2=tbody.rows.length; r L2; r++) { values[this.getCellValue(tbody.rows[r].cells[col])] = true; } } var valArray = []; for (var val in values) { valArray.push(val); } return valArray.sort(); }; /** * Scan the document on load and add sorting, filtering, paging etc ability automatically * based on existence of class names on the table and cells. */ table.auto = function(args) { var cells = [], tables = document.getElementsByTagName("TABLE"); var val,tdata; if (tables!=null) { for (var i=0,L=tables.length; i L; i++) { var t = table.resolve(tables[i]); tdata = table.tabledata[t.id]; if (val=classValue(t,table.StripeClassNamePrefix)) { tdata.stripeclass=val; } // Do auto-filter if necessary if (hasClass(t,table.AutoFilterClassName)) { table.autofilter(t); } // Do auto-page if necessary if (val = classValue(t,table.AutoPageSizePrefix)) { table.autopage(t,{ pagesize +val}); } // Do auto-sort if necessary if ((val = classValue(t,table.AutoSortColumnPrefix)) || (hasClass(t,table.AutoSortClassName))) { table.autosort(t,{ col (val==null)?null +val}); } // Do auto-stripe if necessary if (tdata.stripeclass hasClass(t,table.AutoStripeClassName)) { table.stripe(t); } } } }; /** * Add sorting functionality to a table header cell */ table.autosort = function(t,args) { t = this.resolve(t,args); var tdata = this.tabledata[t.id]; this.processTableCells(t, "THEAD", function(c) { var type = classValue(c,table.SortableColumnPrefix); if (type!=null) { type = type || "default"; c.title =c.title || table.AutoSortTitle; addClass(c,table.SortableClassName); c.onclick = Function("","Table.sort(this,{ sorttype Sort[ "+type+" ]})"); // If we are going to auto sort on a column, we need to keep track of what kind of sort it will be if (args.col!=null) { if (args.col==table.getActualCellIndex(c)) { tdata.sorttype=Sort[ "+type+" ]; } } } } ); if (args.col!=null) { table.sort(t,args); } }; /** * Add paging functionality to a table */ table.autopage = function(t,args) { t = this.resolve(t,args); var tdata = this.tabledata[t.id]; if (tdata.pagesize) { this.processTableCells(t, "THEAD,TFOOT", function(c) { var type = classValue(c,table.AutoPageJumpPrefix); if (type=="next") { type = 1; } else if (type=="previous") { type = -1; } if (type!=null) { c.onclick = Function("","Table.pageJump(this,"+type+")"); } } ); if (val = classValue(t,table.PageNumberPrefix)) { tdata.container_number = document.getElementById(val); } if (val = classValue(t,table.PageCountPrefix)) { tdata.container_count = document.getElementById(val); } return table.page(t,0,args); } }; /** * A util function to cancel bubbling of clicks on filter dropdowns */ table.cancelBubble = function(e) { e = e || window.event; if (typeof(e.stopPropagation)=="function") { e.stopPropagation(); } if (def(e.cancelBubble)) { e.cancelBubble = true; } }; /** * Auto-filter a table */ table.autofilter = function(t,args) { args = args || {}; t = this.resolve(t,args); var tdata = this.tabledata[t.id],val; table.processTableCells(t, "THEAD", function(cell) { if (hasClass(cell,table.FilterableClassName)) { var cellIndex = table.getCellIndex(cell); var colValues = table.getUniqueColValues(t,cellIndex); if (colValues.length 0) { if (typeof(args.insert)=="function") { func.insert(cell,colValues); } else { var sel = select onchange="Table.filter(this,this)" onclick="Table.cancelBubble(event)" class=" +table.AutoFilterClassName+ " option value="" +table.FilterAllLabel+ /option ; for (var i=0; i colValues.length; i++) { sel += option value=" +colValues[i]+ " +colValues[i]+ /option ; } sel += /select ; cell.innerHTML += " br "+sel; } } } }); if (val = classValue(t,table.FilteredRowcountPrefix)) { tdata.container_filtered_count = document.getElementById(val); } if (val = classValue(t,table.RowcountPrefix)) { tdata.container_all_count = document.getElementById(val); } }; /** * Attach the auto event so it happens on load. * use jQuery s ready() function if available */ if (typeof(jQuery)!="undefined") { jQuery(table.auto); } else if (window.addEventListener) { window.addEventListener( "load", table.auto, false ); } else if (window.attachEvent) { window.attachEvent( "onload", table.auto ); } return table; })(); }
https://w.atwiki.jp/yoshinabu/pages/18.html
Xenに付属のdebuggerであるXen debuggerを使う ReadMeに書いてあるので、英語が胆嚢な人はそちらをどうぞ。 英語が読めなくてもgdb得意な人もそちらをどうぞ。 Xen起動まで 省略 gdbserverのビルド % cd /xen-3.1.0-src/tools/debugger/gdb % ./gdbbuild これでgdb-serverが以下のディレクトリに出来上がる % /xen-3.1.0-src/tools/debugger/gdb/gdb-6.2.1-linux-i386-xen/gdb/gdbserver gdb-serverが出来上がったら、それをPATHが通っているディレクトリにコピーする。 もちろんしなくてもいい。起動するときに絶対パスで指定してもいい。 xenのコマンドであるxmがある場所にコピーしておくほうがいいのかもしれない。xmは管理者権限でないと実行できないコマンドになっているので、suで管理者になってから % su % which xm で場所を調べる。僕の環境では/usr/sbin/だった。 % cp /xen-3.1.0-src/tools/debugger/gdb/gdb-6.2.1-linux-i386-xen/gdb/gdbserver/gdbserver-xen /usr/sbin/ でおk。管理者になっていたことを忘れてファイルなんかを作ると、後で面倒なので上のことが終わったら管理者から抜けておく。 % exit デバッグ可能なDomain U用カーネルイメージの作成 普通にmakeするとデバッグ出来ないので、configで以下をenableにする。 Kernel hacking - Compile the kernel with debug info [*] - Compile the kernel with frame pointers コンフィグしたらもう一度ビルド、インストール。 起動中のゲストをデバッグする まず起動中のゲスト(Dom U)のIDを確認する。 xm list で、デバッグしたいゲストのIDを見つける。見つけたら以下のコマンドを実行する。 $domidの部分はさっき調べた、デバッグしたいゲストのID。 %gdbserver-xen 127.0.0.1 9999 --attach $domid %gdb /path/to/vmlinux-syms-2.6.xx-xenU 以降はgdb clientでの操作。 %directory "linux-2.6.1*-xenUというソースへのパスす" %target remote 127.0.0.1 9999 %bt %disass クラッシュしたdomUゲストのデバッグ debug可能にするには、ダンプが行われなければいけない。 xendを起動する前に、/etc/xen/xend-config.sxpにenable-dump yesを加えておく。 ドメインが壊れたら、コアファイルが /var/xen/dump domain-name . domain-id .core に出力されるので、 gdbserver-xen 127.0.0.1 9999 --file core-file あとはクライアントとして接続するだけらしい。
https://w.atwiki.jp/yasukoba/pages/82.html
モジュール名 en_gen_up パラメータ WIDTH=8; 入力 clock clear start 出力 en_out 動作 ビットシリアル用のプロセッサや制御部を製作する際に必要とされるのが特定のクロック数分enable信号を生成させるような機能である. start=HIとするとその次のクロックから指定クロック数分en_out=HIとする. 使用モジュール その他 カウンタの実現方法として以下の2つの方法がある. シフトレジスタ 加算レジスタ 1のほうが使用レジスタ数は多くなってしまうが,動作周波数は高いようである. 評価したVerilogファイルはenable_gen1, enable_gen2である.
https://w.atwiki.jp/ce00582/pages/5477.html
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; class table { Connection dbx; Statement stx; String sqx; ResultSet rsx; String namex; String host,port; String url; String usr; String pwd ; void makedata(String db,String tab,String message){ try { Class.forName("com.mysql.jdbc.Driver").newInstance(); url="jdbc mysql //"+host+" "+port+"/"+db; dbx = DriverManager.getConnection(url, usr,pwd); } catch (Exception ex) { ex.printStackTrace();} try { sqx="create table "+tab+message; stx = dbx.createStatement(); stx.executeUpdate(sqx); stx.close(); } catch (Exception ex) { ex.printStackTrace();} } }