17 thg 11, 2017

Lưu ý khi debug hydrid application ở iOS


Sáng nay mất cả mấy tiếng đồng hồ tại sao cái iPad của mình không xuất hiện trong Developer menu của thằng Safari trên Mac OS PC. Kiểm tra tất cả cấu hình đều OK hết.
Cuối cùng mới phát hiện ra là cái iPad mình sử dụng iOS 11 tức là nó dùng Safari 11. Còn cái Mac OS PC thì đang dùng Safari 10.

10 thg 11, 2017

Phân biệt iPhone hay iPad trong Qt

Trong một số chương trình nhất là layout màn hình mình cần phân biệt iPhone hay iPad. Hàm sau đây sẽ giúp bạn thực hiện điều đó:

#if defined Q_OS_IOS
#include <sys/utsname.h>
QString deviceName()
{
    struct utsname systemInfo;
    uname(&systemInfo);
    QString machineName(systemInfo.machine);
    return machineName;
}
#endif

6 thg 11, 2017

Some Ruby free courses


5 thg 11, 2017

Từ một bài ca cổ

Xem chương trình "Hát mãi ước mơ" trên HTV7, được nghe một bạn thí sinh hát bài "Xuân đời con có mẹ" (Soạn giả Ngọc Chi). Nghe rất cảm động nên đã nghe đi, nghe lại không biết bao nhiêu lần. Trong đó có bản vắn "Nặng tình xưa":
Và con chim Từ Ô giữa mùa đông mổ ... thịt
Của mình nuôi con.
Đớn đau thân Mẹ để no lòng chim non.
Loài vật kia còn sâu nặng thâm tình,
Nghĩ chuyện chim mà nhớ Mẹ thương mình.
Nước mắt con rơi để vành môi thấm mặn,
Ân nghĩa nào làm đau xé lòng con.
Hình ảnh từ u khác chi đời của Mẹ,
Vắt máu tim mình cho con được lớn khôn.

Tuy nhiên hổm rày cứ thắc mắc mãi chim "Từ Ô" trong đoạn này là chim gì?
Mình nhớ không lầm trong "Phong kiều dạ bạc" của Trương Kế có hai câu:
月落烏啼霜滿天,
Nguyệt lạc Ô đề sương mãn thiên
江楓漁火對愁眠。
Giang phong ngư hoả đối sầu miên
(Trăng tà chiếc quạ kêu sương
Lửa chài, cây bến, sầu vương giấc hồ
Tản Đà dịch)
Bạch Cư Dị có bài: Từ Ô dạ đề có đoạn viết:
慈烏失其母
Từ Ô thất từ mẫu
啞啞吐哀音
Á á thổ ai âm
Trong đêm trước trận Xích Bích, Tào Mạnh Đức còn cảm khái:
月明星稀,
Nguyệt minh tinh hy,
烏鵲南飛 
Ô thước nam phi
Quách Tấn một lần bốc thuốc cho mẹ vào ban đêm, vô tình chân giẫm lên chiếc mo cau khô làm bầy quạ đang ngủ trên cây giật mình bay tan tác, kêu vang trong đêm nên ông viết ra bài: Đêm thu nghe quạ kêu, trong đó mở đầu bằng hai câu thơ rất đắt:
Từ Ô Y hạng rủ rê sang, 
Bóng lẫn đêm thâu tiếng rộn ràng... 
Đến đây chắc hẳn Từ Ô là con quạ đen rồi. Con quạ đen theo tín ngưỡng phương đông là loài chim ăn tạp, hung dữ và mang điềm gỡ.
Tuy nhiên Việt Nam có một bài Vè về các loài chim trong đó có đoạn:
"Mẹ già tuổi tác
Lòng con thương lo
Nuôi mẹ ấm no
Là con chim quạ."
Con chim quạ được mệnh danh là con chim có hiếu nhất trong các loài chim. Là loài chim duy nhất biết tha mồi về nuôi mẹ khi mẹ nó già yếu. Hình ảnh chim quạ được Phật giáo sử dụng để giáo dục về chữ hiếu cho Phật tử.
Quay lại hai chữ "Từ Ô" trong bài ca cổ mà soạn giả Ngọc Chi thì không phải là con chim quạ rồi. Vậy loài chim nào mổ thịt của mình nuôi con?
Câu hỏi này thì các bạn Công giáo sẽ dễ dàng trả lời vì trên nóc nhà chầu có tượng một con chim và giáo lý có hai câu:
Lềnh đềnh mổ nát thịt mình
Nuôi con thơ dại tận tình vì con.
Trong game show "Ai là triệu phú" có lần hỏi "Chim lềnh đềnh là tên gọi khác của loài chim nào?". Câu trả lời là chim Bồ nông đó các bạn ạ.
Thật ra chim Bồ nông không mổ thịt mình để nuôi con. Khi bắt cá, chim Bồ nông giữ bên hàm của nó. Khi cho con ăn, chim mẹ đập nát cá ra, máu cả chảy ra, chim mẹ mớm cho chim con. Người xưa tưởng rằng chim mẹ lấy máu mình nuôi con. Dù sao đây cũng là một hình ảnh đẹp về tình mẹ con.

2 thg 10, 2017

Tản mạn Tháng Mười

Cứ mỗi lần tháng 10 đến thì lòng cứ nao nao làm sao ấy. Cứ nhớ mãi cái thời trong tim một bầu nhiệt huyết muốn làm nổ tung mọi thứ. Tuy không đến nổi như anh chàng Danko bứt xé tim mình để làm ngọn đuốc rọi sáng con đường khổ ải và dẫn dắt mọi người (Bà lão Izecghin-Maksim Gorky), cũng không có cơ hội như anh chàng Andrei gởi vợ cho cha và em chăm sóc sau đó gia nhập quân đội với niềm hy vọng là có thể tìm thấy ý nghĩa cuộc sống cũng như công danh trên chiến trường (Chiến tranh và hoà bình-Leo Tolstoy). Và rất nhiều thanh niên ra đi không biết ngày quay lại nhưng vẫn vững tin rằng mình sẽ trở về trong giai đoạn bi tráng của dân tộc:
Chẳng mong chi ngày về
Thì em ơi cứ đợi!
(Đợi anh về-Konstantin Simonov)
Rất rất nhiều lần mình thèm được thốt lên như anh chàng Pavel ngồi xe lăn và cố gắng thốt lên rằng: Mình không được quyền lùi bước trước khó khăn, tin tưởng vào tình yêu mới và chuyển sang viết sách vẫn với ngọn lửa và chất thép đã được tôi luyện ngày nào (Thép đã tôi thế đấy-Nikolai Ostrovsky)
Mãi chạy theo tiếng gọi của tháng 10 mà rất nhiều lần thầm nói "Xin cô tha lỗi cho chúng em" như anh chàng Safonov (Yuri Bondarev) vì bận rộn mà không thể về thăm Thầy (cô) được.

Hơn nửa đời người nhìn lại, học được chữ buông  và tháng 10 năm nay chỉ còn thế này thôi:
Người vá trời lấp bể 
Kẻ đắp luỹ xây thành 
Ta chỉ là chiếc lá 
Việc của mình là xanh
(Lá xanh-Nguyễn Sĩ Đại)




9 thg 9, 2017

My first PyQt5 application

Traditionally, when we start to learning new programming language or framework, the first application is hello world application.
I start to learn PyQt5. The first application below:


import sys
from PyQt5.QtWidgets import QApplication, QWidget,QLabel
 
class App(QWidget):
 
    def __init__(self):
        super().__init__()
        self.title = 'PyQt5'
        self.left = 10
        self.top = 10
        self.width = 640
        self.height = 480
        self.initUI()
 
    def initUI(self):
        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height) 

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = App()
    b = QLabel(ex)
    b.setText("Welcome to PyQt5!")
    b.move(50,20)
    ex.show()
    sys.exit(app.exec_())


8 thg 9, 2017

Qt/QML: Four-finger swipe gesture bug

Problem:
I am developing an application for Android/iOS.
I am using MouseArea to make my button.
I am stuck in the following case:
Touch on screen with 4 fingers, 1 finger among them touch on the button.
Swipe the screen.
The application become inactive state. I display a item as a popup (the button will go into disabled state) when the application become active state again. Then the popup will be hidden, the button is enabled state.
Now the button doesn't receive mouse event again.
Solution:
I override notify method of QGuiApplication:

bool MyApplication::notify(QObject *receiver, QEvent *event){
    QEvent::Type t = event->type();
    switch(t){
    case QEvent::MouseButtonPress:{
        QString classname(receiver ->metaObject()->className());
        lastReceiver = receiver;
    }
        break;
    case QEvent::MouseButtonRelease:
        lastReceiver = NULL;
        break;
    case QEvent::ApplicationStateChange:
        //To background
        if (lastReceiver != NULL){
            QQuickItem*item = qobject_cast< QQuickItem*>(lastReceiver);
            if (item != NULL){
                if(QGuiApplication::applicationState() == Qt::ApplicationInactive){
                    item ->ungrabMouse();
                }
                if(QGuiApplication::applicationState() == Qt::ApplicationActive ){
                    item ->grabMouse();
                    lastReceiver = NULL;
                }
            }
        }

        break;
    default:
        break;
    }
    return QGuiApplication::notify(receiver,event);
}

6 thg 8, 2017

Qt/QML: Scale Text

Lập trình Qt/QML cho di động (mobile) nhất là Android, không ít lần mình phải đối mặt với bài toán làm sao đoạn text có thể lớn nhỏ đủ trong khung đất dành cho nó dù cho font chữ có thay đổi tuỳ theo thiết bị. 
Sau đây là cách làm của mình:
NLCScalableText.qml:
import QtQuick 2.7
Text {
    /**
      * This is scale rate we want the text must follow.
      * incase that we want share the scale rate to other text.
      */
    property real niceScale:1.0;
    /**
      * This is the scale rate we want the text to scale.
      */
    property real wantScale:idNLCTextPrivate.getWantScale();
    id:idNLCText
    QtObject{
        id:idNLCTextPrivate
        function getWantScale(){
            if (idNLCText.width > 0){
                return (idNLCText.paintedWidth/idNLCText.lineCount) > idNLCText.width ? ((idNLCText.width*idNLCText.lineCount) / idNLCText.paintedWidth): 1;
            }else{
                return 1.0;
            }
        }
        function getScale(){
            return Math.min(idNLCText.niceScale, getWantScale());
        }
    }
    scale:idNLCTextPrivate.getScale();
    horizontalAlignment: Text.AlignHCenter
}

10 thg 6, 2017

Câu 5, Lớp 10, ĐHSP Hà Nội 2017


Đề:
Cho đường tròn (O) bán kính R ngoại tiếp tam giác ABC có 3 góc nhọn. Các tiếp tuyến của đường tròn (O) tại các điểm B, C cắt nhau tại P. Gọi D,E là chân các đường vuông góc hạ từ P xuống AB, AC và M là trung điểm BC.
1) Chứng minh $\widehat{MEP} = \widehat{MDP}$
2) Giả sử B,C cố định và A chạy trên đường tròn (O) sao cho tam giác ABC luôn là tam giác có 3 góc nhọn.Chứng minh đường thẳng DE luôn đi qua một điểm cố định.
3) Khi tam giác ABC đều, hãy tính diện tích tam giác ADE theo R.
Bài giải:

1) Tam giác cân OBC có OM vừa là trung tuyến, vừa là đường cao. $OM \perp BC$
◿OBP = ◿ OCP bởi vì OB=OC=R, OP chung
$\Rightarrow PB = PC $
$ \Rightarrow \triangle PBC $ là tam giác cân tại P
$ \Rightarrow PM \perp BC$ và $\widehat{BPM} = \widehat{CPM}$ (1)
Tứ giác PMBD là tứ giác nội tiếp vì có hai góc đối là hai góc vuông.
$ \Rightarrow \widehat{BDM} = \widehat{BPM} $ (Góc nội tiếp cùng chắn cung BM) (2)
Tương tự tứ giác PMCE cũng là tứ giác nội tiếp vì có hai góc đối là hai góc vuông.
$ \Rightarrow \widehat{CEM} = \widehat{CPM} $ (Góc nội tiếp cùng chắn cung CM) (3)
Từ (1),(2), (3) ta suy ra:
$\widehat{BDM} = \widehat{CEM} $
$\Rightarrow \widehat{MEP} = \widehat{MDP}$
2) Gọi F là giao điểm của OP và DE. Vì B,C, (O) cố định nên P là cố định.
Do đó OP là cố định. Ta chứng minh F là cố định.
$\widehat{CAB} = \widehat{PBM} $ (Góc nội tiếp cùng chắn cung BC) (4)
Từ (2) và (4) ta suy ra:
$\widehat{CAB} + \widehat{BDM} = 90^o$
$\Rightarrow DM \perp AC $
$\Rightarrow DM // PE $
Chứng minh tương tự ta có EM // PD
Vậy tứ giác MDPE là hình bình hành hay F là trung điểm của MP. Hay F là cố định.
3) Khi tam giác ABC đều. $S_{\triangle ABC} =\frac{3\sqrt{3}R^2}{4}$
 $S_{\triangle ADE} = \frac{1}{2}*AF*DE= \frac{1}{2}*\frac{3}{2}AM*\frac{3}{2}BC=\frac{9}{4}*S_{\triangle ABC}=\frac{27\sqrt{3}R^2}{16}$

3 thg 6, 2017

Câu 1, Lớp 10, ĐHSP Hà Nội 2017


Đề:
Cho biểu thức:
$P = \frac{a^3-a-2b-\frac{b^2}{a}}{(1-\sqrt{\frac{1}{a}+\frac{b}{a^2}})(a+\sqrt{a+b})}:(\frac{a^3+a^2+ab+a^2b}{a^2-b^2}+\frac{b}{a-b}) $
với a>b, b>0, $a \neq b$, $a+b \neq a^2$

1. CMR: P=a-b
2. Tìm a,b biết rằng P=1 và $a^3-b^3=7$

Bài làm:
1. $M = \frac{a^3+a^2+ab+a^2b}{a^2-b^2}+\frac{b}{a-b}$
 $= \frac{a^3+a^2+ab+a^2b+b(a+b)}{a^2-b^2}$
$= \frac{a^3+a^2+2ab+a^2b+b^2}{a^2-b^2}$
$= \frac{a^3+a^2b+a^2+2ab+b^2}{a^2-b^2}$
$= \frac{a^2(a+b)+(a+b)^2}{a^2-b^2}$
$= \frac{(a+b)(a^2+a+b)}{a^2-b^2}$
Do a> 0, b> 0, nên $a+b \neq 0 $ 
$M = \frac{a^2+a+b}{a-b}$ 
$T = \frac{a^3-a-2b-\frac{b^2}{a}}{(1-\sqrt{\frac{1}{a}+\frac{b}{a^2}})(a+\sqrt{a+b})}$
$=\frac{a^4-a^2-2ab-b2}{(a-\sqrt{a+b})(a+\sqrt{a+b})}$
$=\frac{a^4-a^2-2ab-b2}{a^2-(a+b)}$
$=\frac{(a^2)^2-(a+b)^2}{a^2-(a+b)}$
$=a^2+a+b$
Do đó:
$P = \frac{T}{M} = a -b$
2. $P = 1 \iff a-b = 1 \iff a = b+ 1$
$a^3-b^3 = 7$ 
$\iff (b+1)^3-b^3 = 7$ 
$\iff  3b^2+3b+1 = 7$ 
$\iff  b^2+b-2 = 0$ 
$\iff  b = 1 \vee b = -2$
Tuy nhiên b > 0 do đó $b = 1 \Rightarrow a= 2$
Đáp số: a=2, b=1

1 thg 6, 2017

Câu 6, Lớp 10, ĐHSP Hà Nội 2017

Đề:
Có các số thực không âm $x_1,x_2,...,x_9$ thoả mãn:

$\begin{cases} x_1+x_2+...+x_9 = 10 \\ x_1+2x_2+...+9x_9 = 18 \end{cases}$

CMR: $1.19x_1+2.18x_2+...+9.11x_9 \geq 270$, đẳng thức xảy ra khi nào?

Lời giải:
$S=1.19x_1+2.18x_2+...+9.11x_9$
$=(x_1+2x_2+...+9x9)+\frac{19x_1+18x_2+..+11x_9}{100}$
$=18+\frac{(19x_1+18x_2+..+11x9)-20(x_1+x_2+...+x_9)+20(x_1+x_2+...+x_9)}{100}$
$=18+\frac{20*10-(x_1+2x_2+...+9x_9)}{100}$
$=18+\frac{200-18}{100}$
$=19.82$
S=19.82. Tại sao đề lại yêu cầu chứng minh $S \geq 270$ rồi còn hỏi đẳng thức xảy ra khi nào nữa !!!

Câu 2, Lớp 10, ĐHSP Hà Nội 2017

Đề: 
Giả sử x, y là hai số thực phân biệt thoả mãn: $\frac{1}{x^2+1}+\frac{1}{y^2+1}=\frac{2}{xy+1}$
Hãy tính $S=\frac{1}{x^2+1}+\frac{1}{y^2+1}+\frac{2}{xy+1}$
Lời giải:
Từ $\frac{1}{x^2+1}+\frac{1}{y^2+1}=\frac{2}{xy+1}$
$\Rightarrow \frac{(x^2+1)+(y^2+1)}{(x^2+1)(y^2+1)}=\frac{2}{xy+1}$
$\Rightarrow (x^2+y^2+2)(xy+1) = 2(x^2+1)(y^2+1)$
$\Rightarrow x^3y+x^2+xy^3+y^2+2xy+2 = 2x^2y^2+2x^2+2y^2+2$
$\Rightarrow x^3y+x^2+xy^3+y^2+2xy+2 = 2x^2y^2+2x^2+2y^2+2$
$\Rightarrow x^3y+xy^3+2xy = 2x^2y^2+x^2+y^2$
$\Rightarrow x^3y+xy^3-2x^2y^2 = x^2+y^2-2xy$
$\Rightarrow xy(x^2-2xy+y^2) = x^2+y^2-2xy$
$\Rightarrow xy(x-y)^2 = (x-y)^2 (1)$
Do $x \ne y$ 
Nên $(1) => xy = 1 $
$S=\frac{1}{x^2+1}+\frac{1}{y^2+1}+\frac{2}{xy+1} = \frac{4}{xy+1} = \frac{4}{1+1} = 2 $

18 thg 2, 2017

Thỏ và đại bàng


Một con đại bàng đang đậu trên cây nghỉ ngơi, chẳng làm gì cả. 
Con thỏ nhìn thấy thế hỏi: Tôi có thể ngồi không và chẳng làm gì như anh được không? 
Ðại bàng trả lời: Được chứ, sao không. 
Thế là con thỏ ngồi xuống gốc cây nghỉ ngơi. Bỗng dưng một con cáo xuất hiện, vồ lấy con thỏ mà ăn thịt.
Bài học xương máu: để được ngồi không mà chẳng cần làm gì, anh phải ngồi ở vị trí rất cao.
Related Posts Plugin for WordPress, Blogger...