Time of Update: 2018-12-07
唯一矩形排除法的幾種情況詳細解說參見:http://www.sudopedia.org/wiki/Uniqueness_Test (英文) 在進行遊戲的時候,在矩形排除觀察之前,應該先使用數對法進行一次排除。 以下7種類型的唯一矩形,對第六種和第七種都還不是很明白是怎麼推的,等弄明白後再說明是如何得出論斷的 第一種情況Type 1 Unique Rectangle 組成矩形的四個方塊內,都由候選數xy組成,但是其中一個多了一個一個候選數z,則該數格就必然是z。
Time of Update: 2018-12-07
讀書破萬卷,不如實際動手實踐一次。本著這樣的想法,我在學習C#的過程中,用C#實現了一個我平時喜歡玩的小遊戲——數獨遊戲KLSudoku項目託管在 Google Code : http://code.google.com/p/klsudoku/ 有興趣的同學可以去看看。全部源碼都可以下載。 實現了下面的這些功能: 隨機產生唯一解題目 候選數顯示輔助解題 實現以下邏輯解法 顯式唯一數法,隱式唯一數法 區塊排除法 顯示數對法,隱式數對法 顯式三數集,四數集法 隱式三數集,四數集法 X-Wing
Time of Update: 2018-12-07
這部分代碼是從另外一個C++的程式裡移植過來的,一時找不到原C++代碼的串連了,但是從C#的代碼反推C++的代碼並不是什麼問題,當時移植這段代碼也沒廢什麼功夫。使用DLX(Dancing Link X)解決數獨這個Exact
Time of Update: 2018-12-07
QT visual stuido 整合外掛程式不能開啟ui檔案的原因我平時用vs2008 + qt4.5.0(commercial) + qt intergation1.4.3寫QT程式,突然有一天,發現自己第一個ui檔案怎麼也打不開了,說需要使用uic將這個ui檔案轉換為可以被qt4 formeditor支援的格式。。。百思不得其解,難道QT4.5就不是QT4了???後來突然想起來,自己曾經用另外一個QT環境
Time of Update: 2018-12-07
QT庫在國際化和本地化方面做的很不錯,使用其開發的軟體在做軟體的多語言版本的時候都非常的方便。通常都是在編程中使用QObject::tr函數將所有的字串都括起來,這樣就很容易使用linguist來匯出英文文本,並且製作翻譯檔案,然後只要在程式裡合適的地方使用QTranslator將需要的翻譯檔案load進去,然後調用qApp->installTranslator(),程式就自然的更換了另外一種語言介面了。 然而,很多新手都會發現另外一個問題,那就是在文字框裡按下右鍵,出現的不是期望的中文菜
Time of Update: 2018-12-07
前註:本文中針對的我們公司研發的一些問題的思考,以及我給出的一些解決方案。如果你有更好的方案,希望能夠介紹給我。 1、 現狀:在新產品開發和維護過程中,經常會遇到產品品質的問題。一種情況是在新產品開發時遺留的bug,還有一種情況是維護過程中引入的新的bug。2、 原因:這個現狀的原因有兩個方面。一是資深研發人員的流失,這是客觀方面的原因,這裡不再多說(留住人才有很多的影響因素,很多不是我能夠掌控的);二是我們再管理和流程上的問題,這是主觀的問題,也是我們能夠努力解決的地方。3、 危害:給客
Time of Update: 2018-12-07
iPad上沒有滑鼠,所以手指在觸發觸摸事件(TouchEvent)的時候,系統也會產生出類比的滑鼠事件(MouseEvent)。 這對於普通網頁的瀏覽需求而言,基本可以做到與PC端瀏覽器無明顯差異。但是如果你正在做一款與使用者有著強互動的WebAPP程式,比如一個html5小遊戲或者圖片處理工具什麼的,那麼依賴預設類比恐怕不能滿足產品的需求。
Time of Update: 2018-12-07
一對一交流的想法來源兩篇文章:《與員工一對一交流:企業經營必行之道》,《你知道我今天為什麼來公司上班嗎?》。重要性這裡不再贅述。認為不重要的可以使用這樣的邏輯思考:1、 你是否想讓你的直接領導找你溝通,並且說出你的真實想法?2、
Time of Update: 2018-12-07
通常我們認為一旦記憶體寫溢出,程式就很容易崩潰。所以伺服器上通常會對一些重要進程做指令碼保護,一旦崩潰立即重新拉起。 最近發現我們一個公用服務記憶體寫溢出時程式沒有崩潰,而是卡死了。 為了深入分析原因,我們仔細review了glibc的代碼,並發現一個較為隱形bug。 先來看這個卡死的程式堆棧(64位環境,下同):#0 0x00002b059302ac38 in __lll_mutex_lock_wait () from /lib64/libc.so.6#1 0x00002
Time of Update: 2018-12-07
為了避免同一個檔案被include多次,C/C++中有兩種方式,一種是#ifndef方式,一種是#pragma once方式。在能夠支援這兩種方式的編譯器上,二者並沒有太大的區別,但是兩者仍然還是有一些細微的區別。 方式一: #ifndef __SOMEFILE_H__ #define __SOMEFILE_H__ ... ... // 聲明、定義語句 #endif 方式二: #pragma once ... ... // 聲明、定義語句
Time of Update: 2018-12-07
文章目錄 一、多對一和一對多關聯映射(多個使用者有相同的組)二、一對一關聯映射(每個使用者專屬一個組)三、多對多關聯映射(每個使用者擁有多個組,每個組也有多個使用者) 以簡單的兩個類為例: User(int id, String name) Group(int id, String name)沒有關聯關係時的關聯式模式: t_user(id int pk, name varchar) t_group(id int pk, name
Time of Update: 2018-12-07
閱讀本文需要有反射基礎。 09/12/16 23:17 修正幾處bug,補充Proxy部分內容。jdk的動態代理是基於介面的,必須實現了某一個或多個任意介面才可以被代理,並且只有這些介面中的方法會被代理。看了一下jdk帶的動態代理api,發現沒有例子實在是很容易走彎路,所以這裡寫一個加法器的簡單樣本。// Adder.javapackage test;public interface Adder { int add(int a, int b);}//
Time of Update: 2018-12-07
以前開發的一個頁面功能是由flash實現的,考慮到使用者體驗的連續性,flash與背景互動不能通過普通的getURL的方式實現(否則每次互動都會導致頁面重新整理,使用者體驗很差),而必須用AS裡面的LoadVars類來實現動態載入。
Time of Update: 2018-12-07
Developers are from Mars, programmers are from Venus, so where are coders from? 不管是CPPer,Javaer,還是PHPer等等,不少開發人員經曆過這樣的困惑:我到底是工程師(SDE,or
Time of Update: 2018-12-07
第一、
Time of Update: 2018-12-07
我看書有個特點,不寫筆記,就感覺好像沒有看過書,印象不深刻(雖然寫了也未必深刻),所以我看書會比較慢,筆記會很多。這裡總結一下並發。最近學習《深入理解電腦系統》,最後一章中講到了並發。之前一直以為並發是為了提高效能,書中將並發理解為邏輯控制流程在時間上的重疊。簡單的說,就是讓機器能夠同時處理多個事情,充分利用機器的能力。特別是現在多核機器的普遍,並發可能越來越重要。現代作業系統提供了三種基本的方法用於構造並發:進程,I/O多工,線程。我們公司在工作中用的最多的其實是第二種。你也許知道,他是無法利
Time of Update: 2018-12-07
使用xwiki時發現velocity很強大,能自動協助我們做很多事情。但有的時候自動化並不是我們真正需要的。 比如有如下這段代碼Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-07
不要把大腦當做磁碟 上學的時候我們會傾向於(被迫)背很多東西,畢業後發現大部分都又還給了老師。但是受過教育和沒有受過教育的人還是有區別的,差別可能就在於剩下的那一小部分。工作後,在工作中可能還會傾向於去記憶很多東西,但是我發現很多時候是沒有必要的,而且有時候甚至會成為一種負擔。第一個原因是之前被我們說了很多的知識爆炸。只看看在軟體開發領域,這十幾年出現了多少新的語言,介面,架構,思想,方法,模式,還有作業系統。而且,知識增長的速度只會越來越快,分工也會越來越細,一個人要想記住所以的東西基本是不可
Time of Update: 2018-12-07
項目組做Code review, 幾位兄弟就函數長短的問題進行論戰,難以定論。 200行的函數到底算不算太長?是不是“完全沒有可讀性”? 一個函數多長算“太長”呢?
Time of Update: 2018-12-07
在開放源碼的KLSudoku標準數獨遊戲裡,實現了X-Chain和Forcing-Chain的邏輯解法,有朋友詢問是如何?的,特在這裡說明一下我的思路。 源碼可以從solver.cs裡看到。 關於X-Chain和Forcing-Chain解法的說明,可以從數獨百科網站查閱: http://www.sudopedia.org/wiki/X-Chain A X-Chain is a single-digit solving technique which uses a chain