markdown:
Ngày bố tôi sắp về hưu, lúc ấy ông gần 65 tuổi, tôi thấy ông có thái độ lạ lùng, không là con người ông vẫn là lúc trước. Ông đã thay đổi không những về tính nết mà cả về cách cư xử và hành động. Nói cách khác, ông đã trở thành một con người khác lạ trong gia đình. Ông càng ngày càng ít nói và cuối cùng gần như không còn nói một câu nào suốt ngày, chỉ trả lời vắn tắt “có” hay “ không” khi chúng tôi hỏi, và nhiều khi im lặng không trả lời khi câu hỏi bắt ông phải nói ra một câu dài. Đối với mẹ tôi, ông càng không nói, chỉ lầm lầm lì lì.
Ông vốn là một người nóng tính, hay cau có gắt gỏng, hơi một tí là la hét um sùm. Bây giờ ông chỉ suốt ngày yên lặng, không để ý tới ai, như thể ông chỉ còn sống cho mình ông. Có lẽ vì ông không còn giao tiếp với mẹ tôi nhiều nữa nên ít còn cọ sát, ít đụng chạm. Những vụ to tiếng thường xuyên đối với mẹ tôi đã mất hẳn, vì ông không còn nói gì với bà nữa, ông chỉ còn là một sự hiện diện trong nhà, có cũng như không.
Ông cũng đã cả đời tỏ ra là một người khó tính, luôn luôn đòi hỏi sự tuyệt mỹ, đòi hỏi cái tối đa, cái nhất, không hẳn là chỉ đối với mẹ tôi và chúng tôi mà ngay cả đối với chính ông nữa. Ông ít khi bằng lòng liền với những công việc chúng tôi làm, ông thường hay phê bình chỉ trích, đôi khi bắt chúng tôi sửa hay làm lại. Chúng tôi thấy ở nơi ông một con người khó hợp với, khó sống cùng vì thế!
Nhưng ông lại là một con ngưòi nhiều tình cảm, ông sống cả đời vì chúng tôi, ông thương chúng tôi hơn cả chính ông, ông làm cái gì cũng vì người khác, kể cả những người không ruột thịt máu mủ.
Ông lo lắng từng tí cho chúng tôi, ngay cả khi chúng tôi đã trường thành và đã có gia đình riêng. Ngày ông có các cháu nội, ông dành bao nhiêu thì giờ rảnh chơi với chúng, đùa nghịch với chúng như một đứa bé con, ông cũng giỡn, cũng cười, cũng chơi như chúng, coi chúng như những đứa bạn nhỏ của mình.
Ấy thế mà bỗng nhiên ông đã thay đổi hoàn toàn, ông không còn thân thiết với ai trong nhà nữa. Dường như ông chỉ còn sống cho bản thân ông, ông chỉ còn nghĩ đến ông, không còn ai xung quanh ông là quan trọng nữa. Ngay cả các cháu nội, ông cũng không còn bồng bế, nô đùa với chúng, ông đã quên chúng, ông không xa lánh nhưng không còn gần gũi như xưa.
Nhưng cái khác lạ rõ ràng nhất là sự đối xử của ông đối với mẹ tôi. Ngày xưa ông thương yêu mẹ tôi biết là chừng nào. Ông sống vì bà, ông cố gắng, hy sinh vì bà.
Ông đã từng chăm sóc cho bà như chăm sóc cho một người tình, lúc nào cũng muốn có bà bên cạnh. Nhưng mối tình nóng hổi ấy đã phai nhạt với năm tháng, một phần bởi vì mẹ tôi không hiểu rằng có ông là một cái gì quí mà trời cho, bà luôn luôn coi việc có ông như là một sự đương nhiên, bà không gây dựng hay tìm cách nuôi dưỡng cho mối tình tiếp tục nẩy nở hay ít ra là không suy tàn.
Vì thế mà dần dần giữa hai người không còn sự thắm thiết của thuở xưa nữa, không còn sự cảm thông, sự hiểu biết nhau, không còn mối tương quan thắm thiết giữa hai người bạn đời, trái lại chỉ còn sự cay đắng, sự chống đối, sự bất đồng, và có thể nói gần như là sự hận thù. Vì vậy mà mẹ tôi coi sự thể ông đã thôi không giao tiếp với bà nữa như là một điều may mắn, bà khỏi bận tâm, khỏi suy nghĩ, và nhất là khỏi phải đối phó với những khó khăn mà, bà nói do ông gây ra.
Sau ngày ông về hưu, ông lại còn lạ lùng hơn nữa. Ông cứ suốt ngày ngồi trong phòng đọc sách, viết văn, hay suy tư. Ông hay ngồi hàng giờ với một ly rượu và bao thuốc nghĩ ngợi, tôi không hiểu ông nghĩ gì, cái gì làm cho ông bận tâm khi mà ông đã về hưởng tuổi già, khi đáng lý ra ông phải được hưởng sự thanh thản của tâm hồn?
Tôi không dám hỏi ông, mặc dầu những lần tôi về thăm nhà cùng đứa con ba tuổi, tôi không thấy ông vui, ông chỉ ra ôm đứa cháu, hôn nó một cái rồi lại đi vào trong phòng riêng của ông.
Tôi có cảm tưởng ông sống trong một thế giới cô lập của riêng ông, ông không còn màng tới những gì xẩy ra bên ngoài căn phòng đó, ông đã bị lôi cuốn vào một thế giới của ảo tưởng, của tiềm năng, ông sống với những mơ ước mà ông đã không thực hiện được trong cuộc đời mình.
Thế rồi một hôm, khi không ai để ý đến ông,
**ông đã ra đi,**ông đã biến mất để cho đến khi đứa cháu nội vào gọi ông ra ăn cơm chiều thì cả nhà mới hay ông không còn ở đó nữa, ông đã đi rồi.
Tôi vào trong phòng ông lục lọi xem ông có mang thứ gì theo hay không, thì thấy ông chỉ đi người không, ông đã mặc bộ đồ khi ông còn đi làm. Trên bàn có tờ giấy nhỏ xíu, trên đó ông viết: "Tôi đi rồi tôi sẽ về, không có gì phải lo lắng cả. Đừng đi tìm tôi vô ích."
Và đúng như lời ông dặn dò, chúng tôi không đi tìm ông. Mẹ tôi chẳng tỏ vẻ lo lắng gì cả. Bà nói:
-Để cho bố chúng mày đi chơi cho sướng cái thân. Ở với tao ông thấy khổ, tao cho ông ấy đi ở với gái trẻ, đi chán ông ấy sẽ về!
Cái sai lầm ở mẹ tôi là ở chỗ ấy. Bà nói cứ để cho bố tôi đi, nhưng rồi ở nhà ai lo công việc trong nhà? Mặc dù bố tôi có vẻ bất thường nhưng ông vẫn là người quyết định mọi việc, ông vẫn lo giải quyết những vấn đề khó khăn như vấn đề tiền bạc, vấn đề sửa sang nhà cửa, và nhất là khi phải đối phó với người ngoài.
Nay ông đi rồi thì mẹ tôi đâu có biết phải làm những công việc ấy? Tôi sẽ phải đứng ra thế ông, nhưng nay tôi đã có gia đình riêng, tôi lo thân tôi chưa xong, nhiều khi còn phải hỏi ý kiến bố tôi thì làm sao bây giờ?
Vả lại có ông ở nhà thì mẹ tôi còn lo dọn dẹp nhà cửa, đi chợ đi búa về làm cơm cho ông ăn. Nay ông đi vắng mẹ tôi, vốn dĩ lười, cứ để nhà bừa bộn, không lau chùi nên nhà bếp nhà tắm bẩn như hủi.
Trong phòng ngủ quần áo mặc rồi mẹ tôi chất đống, chẳng buồn treo lên mà cũng chẳng đem đi giặt. Phòng khách phòng ăn ôi đủ thứ la liệt, sách báo, kẹo bánh, đồ dùng xài xong vẫn vứt đó, chén trà, cốc nước uống xong không buồn dọn, có khi để đó vài ba ngày, một tuần.
Đồ mua về vứt ngay cửa ra vào có khi cả mấy tuần không đem cất. Mỗi khi về nhà thăm mẹ tôi, hai vợ chồng tôi phải dọn dẹp cho bớt ghê mắt, riêng tôi chỉ sợ bố tôi về bất tử thì lại có chuyện.
Mẹ tôi hay cãi lại ông làm ông nổi giận đập phá đùng đùng. Bà có tật hay dựng đứng câu chuyện lên rồi đổ lên đầu bố tôi, làm cho bố tôi phát điên lên thì mới thôi. Hơn nữa, mẹ tôi là dân Hà Đông, bà có cách nói xéo, làm người nghe rất khó chịu.
Bố tôi ghét cái tính xấu đó của bà nhưng chẳng làm được gì. Bố tôi nói càng về già, mẹ tôi càng có nhiều hành động làm cho bố tôi bực bội.
Tối đến bà thức có khi đến hai giờ sáng, chỉ để ngồi xem báo hay xem truyền hình. Bố tôi dục đi ngủ bà cứ lờ đi. Sáng ra bà không dậy nổi, bố tôi chuẩn bị bữa ăn sáng xong, bà cũng chưa chịu dậy, đến khi bố tôi ăn xong bà mới ra ngồi ăn.
Cơm tối cũng vậy, mẹ tôi đi làm tan sở không về liền, bố tôi chờ không được dành dọn cơm lên ngồi ăn, ăn nửa chừng thì bà về. Bố tôi ăn xong đi nơi khác, mẹ tôi ngồi ăn, cả tiếng đồng hồ sau vẫn chưa xong, bà cứ ngồi một mình chậm rãi ăn, lúc nào muốn thôi thì thôi.
Nay bố tôi đi rồi thì mẹ tôi chẳng còn đối tượng để mà chống đối nữa, bà dành toàn thì giờ đọc báo hay coi truyền hình. Bà có thể ngồi đọc báo hoặc coi truyền hình hai ba tiếng đồng hồ, quên ăn quên ngủ.
Tin tức gì bà cũng thuộc nằm lòng. Bà cứ kể đi kể lại những gì bà học được, nhiều khi người nghe phải nhắc là bà đã nói hai ba lần rồi thì bà mới thôi kể.
Bà cũng có thể ôm điện thoại nói chuyện với bạn bè hết giờ này sang giờ khác. Còn nói đến việc đi mua bán thì có khi mẹ tôi đi không còn biết giờ về. Bà đi đến đâu cũng xem hết thứ này đến thứ kia nhưng không mua, bà chỉ thích xem để mà xem, để mà biết. Cái gì bán ở đâu bà đều biết, nói đến cái gì bà cũng hay.
Có một điều là mẹ tôi hay nói nhưng không bao giờ làm. Bà muốn cái gì thì cứ nói lên cho bố tôi nghe, rồi nếu ông không làm thì bà than, bà trách. Bà nói bảo làm không làm để bây giờ như thế này, như thế kia. Mà khi bà không bằng lòng một chuyện gì thì bà cứ nói tới nói lui, có khi cả hai ba năm sau bà vẫn còn lôi chuyện cũ ra mà nói. Bố tôi đến khổ vì bà, nhưng ông cho đó là vì bà già, bà thay đổi tính nết, bà khó chịu cũng như tất cả những người đàn bà khác khi về già. Khi bố tôi góp ý với bà thì bà nói với bố tôi:
-Không vừa ý thì đi tìm gái mười tám cho nó hầu hạ, để cho tôi yên thân.
Tôi không hiểu trong đầu bà nghĩ gì mà lại nói thế, nhưng tôi biết bà cũng không sung sướng gì. Câu nói đó thể hiện một sự bất mản cùng cực.
Có một điều tôi thấy lạ là thay vì đạp đổ, tại sao bà không chịu có một thái độ xây dựng? Tâm lý người đàn bà vào cái tuổi trên năm mươi hẳn là rất phức tạp, tôi không hiểu được những biến chuyển tâm sinh lý xẩy ra nơi họ. Tôi nghe nói là chính những người đàn bà đó cũng không hay biết rằng họ đã thay đổi, họ đã khác xưa, và vì thế họ khăng khăng cho rằng họ vẫn thế, lỗi là do những người khác chứ không phải tại họ.
Tôi nghĩ bố tôi đã chán cái cảnh cơm không ngọt canh không bùi, ông đã không chịu nổi cái uơng ngạnh của mẹ tôi, ông muốn sống những ngày còn lại trong yên bình, và vì thế ông đã rút lui vào cái thế giới của riêng ông, vào giữa bốn bức tường của căn phòng làm việc mà xưa kia ông không thích vào.
Nhưng như thế cũng không mang lại cho ông niềm sung sướng, vì ai sướng khi chỉ sống trong môi trường chết, môi trường im lìm, không tiếng nói, tiếng cười? Ai có thể ngày đêm chìm đắm trong sự u mê, sự day dứt của nội tâm? Tôi biết ông đang bị giằng co giữa bổn phận và hạnh phúc cá nhân. Ông đã không chịu ly dị vì còn con cái, còn các cháu của ông mà ông thương yêu vô ngần. Mẹ tôi đã bao lần nói thẳng vào mặt ông:
-Sao ông không ly dị tôi cái quách đi cho rồi? Để mà còn đi tìm gái tơ mà hưởng đời chứ? Ông còn tiếc cái gì nữa?
Tôi không biết bà có thực sự muốn thế không, nhưng tôi thấy bố tôi chỉ cắn răng lại để khỏi nói câu gì, vì tôi biết nếu đổ thêm dầu vào lửa tất nó sẽ bùng lên và không còn cứu chữa được nữa.
Ngày bố tôi ra đi, chúng tôi tưởng ông đi đâu chơi một hai ngày. Nhưng cả tháng trôi qua chúng tôi không thấy về, tôi cũng hơi lo lắng. Tôi gọi điện thoại đến các bác, các chú, bạn bè của ông thì không ai biết ông đi đâu, ông không hề thổ lộ kế hoạch của ông cho ai hết.
Họ cũng ngạc nhiên về hành động này và không ngờ bố tôi lại có thể làm cái chuyện bất thường như thế. Nhưng tôi thì không ngạc nhiên chút nào.
Ngày ông còn trẻ ông đã làm nhiều chuyện ngông cuồng. Đang đi làm yên bình ở sở này, ông vì bất bình một chuyện gì, ông xin nghỉ và sang làm một sở khác.
Trong cuộc đời ông, ông đã thay đổi việc làm như chong chóng, ông đã không làm một công việc gì quá năm năm. Ông tuyên bố làm lâu một nơi chán, ông thấy cần thiết phải thay đổi.
May mà ông là người có chí, ông luôn luôn trau dồi kiến thức, và ông có khả năng trí tuệ phi thường, không có một công việc gì mà ông không làm cho bằng được.
Cuộc đời ông đã có những lúc khổ cùng cực, ông đã phải làm những công việc nặng nhọc hay thật tầm thường để tạm sống. Ông có tinh thần đấu tranh phi thường, dù ở bất cứ hoàn cảnh nào ông cũng cố vươn lên để thoát khỏi sự cơ cực.
Ông rất tự hào về những thành quả ông gặt hái được trong cuộc đời. Tất nhiên tôi rất hãnh diện về con người phấn đấu của ông, tôi rất muốn giống ông và ông đã là gương sáng dẫn đường cho tôi đi. Chính vì tôi nhìn vào ông, noi gương ông, mà cũng đã thành công nhanh chóng và tiến lên trong sự nghiệp của mình.
Và như thế bố tôi đi đâu, không ai biết, cho đến một hôm chúng tôi nhận được một tấm thiệp ông gởi về đề tên Bé Mai, đứa con gái đầu lòng của em tôi, sanh ra khi ông không có nhà. Tấm thiệp mang những giòng chữ nắn nót của ông như sau:
Cháu Mai thương yêu của Ông Nội,
Ông rất tiếc khi cháu ra đời ông không có mặt để bồng cháu ngay từ khi mới lọt lòng mẹ. Vì hoàn cảnh đặc biệt ông không thể về ngay thăm cháu, nhưng khi nào ông về thì ông hứa sẽ không quên có quà cho Bé Mai của ông.
Ông hôn cháu và yêu cháu vô cùng.
Nhìn con dấu bưu điện chúng tôi ngạc nhiên thấy rằng ông đã gởi nó từ một tiểu bang xa xôi cách chúng tôi cả mấy ngàn dặm.
Thì ra ông đã quyết định ra đi thật xa, đi như thể đi trốn cái nơi đã làm cho ông buồn khổ, đi để mà quên lãng, đi để không còn gì gắn bó với một dĩ vãng đau thương.
Thành phố ông đang ở cũng là một thành phố lớn, nơi đó cũng có nhiều người Việt sinh sống. Tôi chưa bao giờ đặt chân đến nơi đấy nhưng tôi nghe nói nơi đó sinh hoạt của cộng đồng cũng cao, cũng có nhiều người làm ăn buôn bán nhộn nhịp, và nhiều khu cũng sầm uất không khác gì nơi tôi đang ở.
Trong khi chúng tôi rất xúc động khi nhận thiệp ông gởi về thì mẹ tôi vẫn dửng dưng như không. Bà cũng chẳng buồn cầm đến lá thơ, mà cũng chẳng hỏi xem bố tôi đã viết những gì trong ấy.
Tôi lấy làm lạ sao mà mẹ tôi lại có thể dứt tình với bố tôi như vậy. Tôi muốn tìm hiểu xem bố tôi đi xa như thế để sống với ai, không phải vì tôi tò mò hay muốn tìm cách kết tội ông, mà là vì tôi thương ông. Tôi thương bố tôi vì tôi biết chẳng đặng đừng bố tôi mới phải ra đi như thế, tôi biết rằng xa các con cháu ông nhớ lắm và cũng khổ sở không ít. Và tôi định tâm một ngày nào gần đây tôi sẽ xin nghỉ một tuần lễ để đi tìm ông.
Tôi chưa kịp đi thì bố tôi về. Ông về vào lúc đêm tối khi mẹ tôi đã đi ngủ, ông lẳng lặng mở cửa vào nhà, rồi vào phòng ông nghỉ.
Sáng hôm sau khi mà mẹ tôi còn ngủ thì ông đã thức dậy pha trà uống và ngồi đọc báo ở ngoài phòng khách. Nghe tiếng động mẹ tôi tỉnh dậy và thấy ông, bà rất ngạc nhiên. Ông đi như vậy là gần ba tháng trời, ra đi ông không nói cho ai hay mà về cũng chẳng báo trước. Mẹ tôi nói:
-Tôi tưởng ông đi luôn rồi chứ! Sao lại còn về? Tôi tưởng ông đi cho sướng cái thân thì còn về nhà làm gì cho khổ thêm cả tôi nữa?
Bố tôi cứ im lặng chẳng nói câu gì. Mẹ tôi nói thêm:
-Nó bòn hết của rồi nó đuổi ông đi chứ gì. Bây giờ lại về lấy thêm tiền mang đi nuôi nó chứ gì?
Cáu quá bố tôi nói lại:
-Bà xem tôi có lấy đồng xu nào mang đi không nào? Bà đừng có ăn nói hồ đồ. Đừng có làm cho tôi điên tiết lên. Khôn hồn thì để cho tôi yên!
Mẹ tôi vừa đi xuống bếp vừa nói:
-Ông không có tiền thì nó ăn cái gì mà nó nuôi ông?
Thế là bố tôi đập bàn một cái rầm, rồi nói:
-Đã bảo câm cha nó cái miệng lại mà không chịu câm.
Bố tôi đi vào phòng của ông đóng xầm cửa lại. Thế là ông lại trở về với cái thế giới của ông, trong cái thế giới đó không có người vợ oái oăm, khó chịu mà ông nay ghét thậm tệ.
Chiều thứ bẩy nghe tin bố tôi về, hai anh em tôi mừng rỡ, định tổ chức đi ăn cơm chiều cho cả gia đình. Em tôi bế bé Mai về ra mắt ông nội, ông mừng hết sức, ông ẵm bé, ông hôn, ông không chịu rời đứa cháu cưng của ông.
Ông về ông đã mua cho cháu ông một tấm lắc đeo tay bằng vàng tây, ông lấy ra đeo cho cháu rồi bắt chụp cho ông cả chục tấm ảnh ông bồng bé Mai của ông. Thấy ông vui sướng, chúng tôi mừng quá chừng, mẹ tôi tức tối nói:
-Sao ông không đẻ một bé Mai của ông mà ôm mà thương yêu? Lấy một con vợ mười tám tuổi thì nó đẻ cho chứ có khó gì?
Thế là bố tôi giận, không đi ăn cơm chiều nữa, ông nói ông “không đi ăn với con mẹ khó chịu đó”.
Ông bảo mẹ tôi chuyên môn phá hoại, cứ đến lúc cả gia đình vui vẻ thì bà phải làm một cái gì để phá, để chọc giận bố tôi, làm cả nhà hết vui vẻ. Mẹ tôi chẳng cần có bố tôi đi, bà nói tỉnh bơ:
-Bố mày dỗi, để cho ông ấy ở nhà. Mình đi mình cứ đi!
Chúng tôi đành đi mua đồ ăn về nhà, bố tôi không còn hứng, ông ăn hai ba miếng rồi bồng bé Mai vào trong phòng ngồi ôm cháu. Mẹ tôi ngồi ăn vui vẻ như không có chuyện gì, trong khi chúng tôi thì rầu thối ruột.
Những ngày ông ở nhà, chiều nào ông cũng đến thăm các cháu nội, nhất là cháu bé gái bé bỏng của ông. Nhưng vì ở nhà không được vui, hai tuần sau ông lại ra đi, ông đi mà không nói trước với ai, tự dưng ông biến mất, không để lại một vết tích gì.
Thế rồi mỗi tháng ông biên thơ về cho các cháu, ông hỏi thăm, nói chuyện này nọ, và thơ nào ông cũng nói ông nhớ chúng nó, nhất là bé Mai của ông. Ông muốn chúng tôi gởi hình các cháu cho ông, và ông cho một hộp thơ để chúng tôi gởi tới đó.
Sáu tháng trôi qua, không thấy ông về thăm nhà, chúng tôi sốt ruột, tôi bèn xin nghỉ một tuần đi tìm ông. Tôi nghĩ tôi biết thành phố nơi ông ở, tôi chỉ cần đi hỏi thăm thì sẽ tìm được ra ông, nhưng tôi đã lầm. Năm ngày trời tôi đi khắp các khu phố có người Việt làm ăn buôn bán hỏi thăm, không ai biết và không ai nhận ra người trong tấm hình của bố tôi mà tôi đưa cho xem.
Ban ngày tôi đi mỏi cả chân, chiều tối về khách sạn, tôi điện thoại cho những người quen biết ông, hiện đang ở vùng này để xem bố tôi có liên lạc với ai không, thì cũng không ai biết tin gì vì ông không hề tiếp xúc với họ. Thật là một chuyện lạ lùng, như thể ông muốn giấu hết tất cả mọi người về sự hiện diện của ông ở nơi đây.
Đến tối hôm thứ sáu, khi tôi đã thất vọng tưởng phải bay về tay không, thì bố tôi gọi điện thoại đến khách sạn hỏi tôi. Ông nói ông được biết tôi đi tìm ông nên ông muốn gặp tôi nói chuyện.
Ông hẹn sáng thứ bẩy hai bố con đi ăn sáng gặp nhau, vì chiều tôi đã lên máy bay trở về. Ông cho nơi hẹn và giờ hẹn rồi thôi không nói gì hơn nữa.
Đêm hôm ấy tôi trằn trọc không ngủ được. Tôi không hiểu tại sao ông biết tôi đến đây đi tìm ông mà ông gọi? Tại sao ông lại chọn nơi này mà đến ở? Ông sống với ai nơi đây? Thật là những điều bí hiểm.
Sáng hôm sau tôi đến nơi hẹn sớm cả nửa tiếng đồng hồ, vì tôi muốn xem ông tới bằng cách nào
**và với ai**. Đúng giờ hẹn tôi thấy một chiếc xe hơi loại sang đậu lại cách nơi đây vài trăm thước, và tôi thấy ông bước xuống.
Ông mặc một bộ đồ mà tôi chưa thấy bao giờ, trông rất lịch sự, ông bước rất khoan thai, vẻ mặt tươi tỉnh, không ủ rũ như khi ở nhà.
Cái gì làm ông thay đổi như vậy, tôi tự hỏi. Tôi thấy ông đẩy cánh cửa tiệm ăn, nhìn một vòng, thấy tôi, ông cười và tiến tới. Ông nói:
-Làm gì mà con phải đi tìm bố vậy? Thư thả rồi bố về chứ gì?
-Con muốn sang đây thăm bố và xem bố sống làm sao. Ở nhà chúng con hơi lo…
-Sao phải lo? Bố sống ở đâu chẳng được? Thôi con đã đến đây thì để bố kể hết chuyện cho con nghe. Con lớn rồi chẳng có gì mà phải giấu con nữa.
Người hầu bàn đến, chúng tôi gọi phở và cà phê đen. Bố tôi hỏi chuyện ở nhà ra sao, tôi nói mọi chuyện vẫn bình thường, các cháu nhớ ông lắm, chúng cứ hỏi ông đâu. Nghe nói vậy vẻ mặt bố tôi hơi thay đổi, phảng phất một nỗi buồn, tôi biết ông cũng nhớ các cháu ông lắm.
Phở mang ra, chúng tôi vừa ăn vừa nói chuyện. Tôi hỏi:
-Bố ở đây với ai? Ăn uống làm sao?
Ông ngừng ăn, tay vẫn còn cầm hai chiếc đũa, nhìn tôi như muốn xem tôi có ẩn ý gì không. Ông ăn thêm vài ba gắp rồi đẩy bát phở sang một bên, cho đường vào cà phê uống. Ông nói:
-Bố ở với một người bạn quen từ lâu lắm rồi, con không biết bà ấy. Bố quen từ trước khi lấy mẹ con.
-Bố tìm bà ấy hả bố?
-Không, tình cờ bố gặp lại. Đã gần 40 năm trôi qua. Bố không nhận ra bà ta nhưng bà ta nhận ra bố. Thật là một chuyện lạ lùng!
-Bố gặp hồi nào?
-Cách đây 5 năm, ở Paris, tại nhà một người bạn chung của hai người.
-Sau đó bố vẫn tiếp tục liên lạc?
-Thỉnh thoảng, bố nói chuyện điện thoại thôi. Lúc sau này bố buồn thì tâm sự nhiều hơn. Bà ấy góa chồng đã hơn mười năm nay rồi, có một đứa con gái nay cũng bằng tuổi con. Bà làm ăn buôn bán nên khá giả, nhà cửa rộng mà không có ai ở, chỉ có hai mẹ con nên mời bố sang chơi.
-Thế rồi bố ở luôn ?
-Không bố đâu có tính ở luôn? Ở nhà lúc nào tinh thần cũng căng thẳng, làm sao bố chịu mãi cho được. Bố bị suy nhược thần kinh vì thế. Ở đây thoải mái, bố thấy dễ thở, bố bớt u sầu, không còn buồn bực. Bố ở tạm một thời gian cho khỏe lại…
-Con thấy bố có khá hơn ở nhà, bố bình thường hơn trước, con mừng lắm. Nhưng ở như thế mãi sao tiện?
-Người ta mời bố, chứ bố có xin đâu? Nhà cửa rộng thênh thang để không, không ai chăm nom, bố làm quản gia,người ta còn mừng. Nói thế chứ bà ta thương bố, thấy bố buồn khổ, muốn giúp. Bố không thấy có gì phiền hà…
-Cơm nước thì sao hả bố?
-Ở chung nhà thì ăn chung chứ có gì đâu? Bố ăn đâu có bao nhiêu?
-Bố có góp tiền hàng tháng không?
-Bà ấy đâu chịu lấy? Bà nói, bố đến ở là vui cửa vui nhà, bố không phải lo lắng gì cả. Tiền mà làm gì hả con?
-Thế còn tiền máy bay đi về?
-Con Thủy nó mua cho bố. Quần áo bố mặc cũng vậy, nó thương bố lắm! Mỗi lần bố về nhà, cả hai mẹ con cứ thấp thỏm, chỉ sợ bố không qua nữa!
-Vì vậy mà lâu quá bố không về nhà?
-Có lẽ vậy. Không có vé máy bay thì làm sao về? Mà về đến nhà là lại có chuyện, bố không muốn về nữa! Mẹ con đâu còn thương bố nữa?
-Bà ấy thương bố nhiều lắm phải không?
-Không biết, nhưng ở đây không bao giờ có một vấn đề gì để buồn phiền!
-Bố thích ở đây hơn?
-Không hẳn là thế! Hoàn cảnh bó buộc. Bố đâu còn cách lựa chọn nào khác? Xa con và các cháu, bố nhớ lắm chứ!
-Con biết! Thôi con nghĩ thế này cũng được. Bố cần có cuộc sống riêng của bố, con không dám nói gì.
-Con về cứ coi như không tìm ra bố. Chớ có nói gì với ai. Cái này là bí mật giữa hai bố con mình.
-Thưa bố vâng!
Chưa bao giờ bố tôi lại tâm sự với tôi như thế! Tôi nghĩ ông cảm thấy thoải mái hơn, sau khi cho tôi biết những gì ẩn náu trong lòng ông từ nhiều năm nay. Sau khi ông đã chia sẻ nỗi lòng của ông với tôi, ông không còn phải chịu cái gánh nặng ấy một mình.
Tôi thấy hình như ông thở ra khoan khoái, và ông ra về vui vẻ. Ông ôm vai tôi, chúng tôi ra cửa, ông leo lên chiếc xe vẫn chờ từ nãy giờ nơi đó, tôi về khách sạn để chuẩn bị ra phi trường.
Những lần sau ông về, ông ở nhà hai vợ chồng tôi, ông vui chơi với các cháu nội, nhưng về được một tuần, ông lại sốt ruột đòi ra đi. Tôi hiểu ông nên không dám nói gì. Chỉ có các cháu nhỏ, chúng cứ nhao nhao “Ông nội đừng đi! Ông nội đừng đi!” làm ông chảy nước mắt mỗi khi ra đi.
Tôi cũng một năm hai lần lấy cớ đi họp, sang thăm ông vài ba ngày. Chúng tôi chỉ gặp nhau ở nơi công cộng, ông không bao giờ cho tôi biết nơi ông ở, càng không cho tôi biết ngươì đàn bà bí mật mà ông ở nhờ.
Cứ như thế được 10 năm trời. Rồi một hôm ông về, ông ốm nặng đòi tôi đưa vào nhà thương. Mới vào hôm trước hôm sau thì ông qua đời. Những lần tôi vào với ông vào những giờ chót ông sắp ra đi, tôi thấy hai người đàn bà, một người lớn tuổi như mẹ tôi, ăn mặc sang trọng, ngồi nơi chiếc cửa sổ cách phòng bố tôi nằm chừng mươi thước. Trông họ nghiêm trang và có vẻ buồn rầu lắm. Tôi biết ngay đó là Thủy và mẹ chị, người đã nuôi dưỡng chăm sóc bố tôi hơn mười năm qua.
Những ngày xác bố tôi quàn ở chùa, tôi thấy suốt ngày bóng dáng hai người đàn bà ấy lảng vảng ở sân chùa, người mẹ cầm chiếc khăn tay lau mắt. Tôi lấy làm xót xa cho bà, vì bố tôi chết, mẹ tôi không buồn, không khóc mà bà thì đau đớn sụt sùi.
Và bà lại không được khóc công khai! Thật là một sự bất công, nhưng làm sao được? Định mệnh đã an bài như thế! Ngày xưa bố tôi đã bỏ người con gái ấy để lấy mẹ tôi. Thế mà một đời, người ấy vẫn thương vẫn muốn làm sao cho bố tôi bớt khổ. Công lao ấy tôi ghi trong lòng mãi mãi.
*Hướng Dương.*
Bạn đang bị cao huyết áp, thiếu máu cơ tim, VIÊM XOANG MÃN TÍNH, viêm mũi dị ứng, U XƠ TỬ CUNG, đau thắt lưng, ĐIẾC NGƯỜI GIÀ, nhức mỏi bắp thịt, thoái hóa khớp gối, ngất xỉu đột ngột, viêm dạ dày có vi khuẩn HP… ? Mời các bạn vào trang chuabenhdongian.com để biết cách điều trị đơn giản và hiệu quả những bệnh thường gặpReplyDelete
Bạn đang bị cao huyết áp, thiếu máu cơ tim, VIÊM XOANG MÃN TÍNH, viêm mũi dị ứng, U XƠ TỬ CUNG, đau thắt lưng, ĐIẾC NGƯỜI GIÀ, nhức mỏi bắp thịt, thoái hóa khớp gối, ngất xỉu đột ngột, viêm dạ dày có vi khuẩn HP… ? Mời các bạn vào trang chuabenhdongian.com để biết cách điều trị đơn giản và hiệu quả những bệnh thường gặpReplyDelete


markdown:
[và](http://diendantayninh.com/) **Diễn đàn tây ninh** [,Bạn đang có nhu cần](http://raovatnhadat24h.net/) **rao vặt nhà đất** [?](http://www.thietbiphongtap.com.vn/tin-tuc-2/tu-van-mo-phong-tap-gym-876.html) **tư vấn mở phòng tập gym**
-
**Liên hệ quảng cáo**» *Text link chỉ 45k/ tháng từ khóa lên top, giảm giá liên hệ ngay, denguyen.raochung@gmail.com - 0938.630.616*
-
Ban quản trị sẽ tiến hành rà soát Spamer, các bài viết không đúng chủ đề sẽ bị xóa sạch, Các spamer cố tình sẽ bị Block IP vĩnh viễn.
-
Hệ thống diễn đàn chúng tôi đã tôi ưu chuẩn SEO, bạn muốn web top google hãy tham gia cùng chúng tôi, việc đăng ký thật đơn giản, hoàn toàn miễn phí, post bài viết của bạn nhanh nào, lên top google thật đơn dễ....!!!. Hãy mua Text link giảm giá sóc....!!!
-
Rao vặt http://sodomach.com/ diễn đàn SEO hiệu quả nhất, đặt link lên top ngay.?? Tại sao các bạn không thử? Giảm thời gian đi link, giảm chi phí quảng cáo..hay liên hệ ngay.
![ kikyou145](styles/vietwriter/xenforo/avatars/avatar_l.png)
- Hoạt động cuối:
- 14 Tháng hai 2016
- Tham gia ngày:
- 30 Tháng mười 2015
- Bài viết:
- 1
- Đã được thích:
- 0
- Điểm thành tích:
[0](members/kikyou145.14317/trophies)
- Sinh nhật:
- 2 Tháng tư 1992 (Age: 24)
### Chia sẻ trang này
# kikyou145
New Member, 24
- kikyou145 được nhìn thấy lần cuối:
- 14 Tháng hai 2016
-
- Đang tải...
- Đang tải...
-
### Giới thiệu
- Sinh nhật:
- 2 Tháng tư 1992 (Age: 24)
### Tương tác

WARC-Type: response

Content-Type: application/http; msgtype=response

Cache-control: private, max-age=0

Connection: close

Server: Apache/2.2.31 (CentOS)

X-Frame-Options: SAMEORIGIN

Vary: Accept-Encoding

Content-Type: text/html; charset=UTF-8


markdown:
Mua bán ván ghép, gỗ ghép
Xuất khẩu gỗ
Công ty xuất khẩu gỗ
Hotline: (+84) 97 773 0929
All
All
Biomass & Paper Pulp
Wood Panels
Wood furniture
Wooden stairs
Home
About us
Message from the President
Corporate message
Corporate philosophy
Corporate Governance /Compliance
SSR History
Corporate Profile
Advertisement
Subsidiaries & Associates
SSR Mission
Corporate Organization
Global Network
Japan
CIS
China
Asia
Oceania
Middle East
Africa
North America
Latin America
Europe
Message from the President
Corporate message
Our business
Biomass & Paper Pulp
Wood Panels
Wood furniture
Wooden stairs
Paper Pulp
Papers
Wood briquettes/Sawdust block
Wood pellets
Wood finger joint board
Solid wood board
Wood Finger Joint block
MDF Board/Plywood
Interior Furniture
Outdoor Furniture
Furniture for children
Office Furniture
Acacia wood staircase
Rubber wood staircase
Oak wood staircase
Ash wood staircase
Rubber wood FJ board
Acacia wood FJ board
R&D
Radiata pine panel
Radiata pine panel
News
2017
2016
2015
2014
Factory
Contact us
Home
>
Factory
>
Import wood
Import wood
Acacia wood finger joint board
Rubber wood finger joint board
FSC Certificate
Follow us:
About us
SSR History
Message from the President
Corporate message
Corporate Profile
Corporate philosophy
Corporate Governance /Compliance
Advertisement
Subsidiaries & Associates
SSR Mission
Corporate Organization
Our business
Wood Panels
Wooden stairs
Wood furniture
Biomass & Paper Pulp
R&D
Radiata pine panel
News
2015
2014
2016
2017
2015 SSR Việt Nam © SS RESOURCES . All rights reserved. Web Design by Nina.vn
Total:
73109
-
Online:
22

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

Pragma: no-cache

Vary: Accept-Encoding,User-Agent

Content-Type: text/html


markdown:
BẢN QUYỀN THUỘC VỀ TRƯỜNG ĐẠI HỌC CÔNG NGHỆ SÀI GÒN Liên hệ chúng tôi
180 Cao Lỗ, Phường 4, Quận 8, Tp. Hồ Chí Minh
Phòng Quản Lý Khoa Học & Đối Ngoại thiết kế & thực hiện

WARC-Truncated: length

Server: Apache


markdown:
![ mal](http://svnhforum.com/forum/data/avatars/l/111/111138.jpg?1432198516)
- Hoạt động cuối:
- 21/5/15
- Tham gia ngày:
- 21/5/15
- Bài viết:
- 0
- Đã được thích:
- 0
- Điểm thành tích:
[0](members/mal.111138/trophies)
- Giới tính:
- Nữ
- Sinh nhật:
- 1/1/94 (Tuổi: 23)
# mal
New Member, Nữ, 23
- mal được nhìn thấy lần cuối:
- 21/5/15
-
- Đang tải...
-
### Giới thiệu
- Giới tính:
- Nữ
- Sinh nhật:
- 1/1/94 (Tuổi: 23)
### Tương tác

Server: nginx

Vietnix-Cache: HIT from backend


markdown:
Diễn đàn chính thức sinh viên Học viện Ngân Hàng
Trang chủ
Thành viên
>
snoopyart
>
Hoạt động cuối:
3/5/13
Tham gia ngày:
3/5/13
Bài viết:
0
Đã được thích:
0
Điểm thành tích:
0
snoopyart
New Member
snoopyart được nhìn thấy lần cuối:
3/5/13
Tin nhắn hồ sơ
Các bài đăng
Thông tin
Hiện tại không có tin nhắn trong hồ sơ của snoopyart.
Show Ignored Content
Đang tải...
Xem
Tương tác
Nội dung:
Tìm tất cả nội dung bởi snoopyart
Tìm tất cả chủ đề bởi snoopyart
Đăng nhập bằng Facebook
Đăng nhập bằng Google
Tên tài khoản hoặc địa chỉ Email:
Bạn đã có tài khoản rồi?
Tích vào đây để đăng ký
Vâng, Mật khẩu của tôi là:
Bạn đã quên mật khẩu?
Duy trì đăng nhập
Diễn đàn chính thức sinh viên Học viện Ngân Hàng
Trang chủ
Thành viên
>
snoopyart
>
Trang chủ
Diễn đàn
Video
Video
Liên kết nhanh
Video ngẫu nhiên
Video
Playlists
Diễn đàn học tập
ĐĂNG NHẬP | ĐĂNG KÝ
Diễn đàn
Liên kết nhanh
Tìm kiếm diễn đàn
Watched Tags
Bài viết gần đây
Menu


markdown: lần đầu tham gia diễn đàn, mong mọi người trả lời giúp mình Bài ập tình huống của môn nghiệp vụ ngân hàng thương mại? 05/02/2011, doanh nghiệp sản xuất bánh kẹo phương nam có phương án kinh doanh là nhập khẩu bột mì, với tổng mức đề nghị vay là 2.1 tỷ VND. cán bộ quan hệ khách hàng xét đây là doanh nghiệp có uy tín và khách hàng lâ năm nên đã duyệt cho vay các khoản như sau: -06/02/2011 cho vay để thanh toán đợt 1 là 1 tỷ cho nhà xuất khẩu bột mì -26/02/2011 cho vay để thanh toán tiền lương công nhân là 340 triệu -01/03/2011 cho vay để trả nợ cũ chuyển trả cho doanh nghiệp xây dựng 260 triệu -05/03/2011 cho vay để mở 1 cửa hàng kinh doanh mơi 450 triệu -07/03/2011 cho vay để trả lãi nợ vay cũ 176 triệu 08/03/2011 cho vay để thanh toán khoản thuế thu nhập của năm trước mà doanh nghiệp chưa nộp 134 triệu Hãy nhận xét các nghiệp vụ cho vay của cán bộ quan hệ khách hàng


markdown: Mình post lên đây thông tin thêm về trung tâm IELTS CNR để các bạn tham khảo thêm nhé Hiện tại trung tâm đào tạo cả tiếng anh tổng quát và IELTS: 1. General English: Là các khóa tiếng anh tổng quát- giúp nâng cao trình độ tiếng anh ở cả 4 kỹ năng: Nghe- Nói- Đọc- Viết, và làm giàu thêm vốn từ vựng, ngữ pháp, khả năng phát âm cũng như các kiến thức xã hội. Nói chung là nâng tầm tiếng anh của bạn lên, để chuẩn bị cho các khóa luyện thi IELTS sau này. Khóa học cũng giúp các bạn nâng cao khả năng giao tiếp bằng tiếng anh (rất đáng kể đấy). Có tất cả 5 trình độ như sau: + Beginner: Khóa cơ bản, gồm 45 giờ học (15 buổi), đây là khóa cho người gần như chưa biết gì về tiếng anh là khóa chuẩn bị một cách cơ bản cho bạn các kiến thức tiếng anh, giúp bạn tự tin hơn, để chuẩn bị cho khóa học sau sẽ khó hơn và giáo viên nói cũng nhanh hơn. Học phí 230$ + Elementary: Khóa Sơ Cấp, gồm 90 giờ học (30 buổi). Học phí là 450$ + Pre- Intermediate: Khóa tiền trung cấp, gồm 90 giờ (30 buổi). Học phí 450 $ + Intermediate: Khóa Trung cấp, gồm 90 giờ (30 buổi). Học phí 450 $ + Upper- Intermediate: khóa Cao cấp, gồm 90 giờ (30 buổi). Học phí là 450$. Đây là khóa khó nhất và cao nhất của trình độ tiếng anh tổng quát. 2. IELTS CNR rất nổi tiếng về các khóa luyện thi IELTS, đặc biệt là hai lớp luyện chuyên về Nói và Viết do thầy Dave giảng dạy Các bạn học viên sau khi hoàn thành khóa học đều đạt số điểm IELTS rất cao, cao nhất là 8.0 và trung bình là đạt 6.5 + Pre- IELTS: Dành cho các bạn mong muốn đạt 5.0- 5.5, các bạn có thể học khóa này sau khi hoàn thành xong khóa Intermediate. Học phí là 515$ cho 90 giờ (30 buổi) + IELTS Intermediate: IELTS Tổng quát, dành cho các bạn mong muốn đạt được 6.0- 6.5. Học phí là 515 $ cho 90 giờ (30 buổi). + IELTS Advanced: IELTS Nâng cao, dành cho các bạn mong muốn đạt được trên 7.5 trở lên, có rất nhiều bạn đã đạt được 8.0 sau khi hoàn thành xong khóa này. Học phí là 515$ cho 90 giờ (30 buổi). + IELTS Speaking: Luyện chuyên về kỹ năng Nói trong kỳ thi IELTS, học phí 185 $ cho 30 giờ (10 buổi) + IELTS Writing: Luyện chuyên về kỹ năng Viết trong kỳ thi IELTS- vốn là một kỹ năng hóc búa nhất. Học phí là 320 $ cho 45 giờ (15 buổi) Và đầu tiên, các bạn cần phải làm một bài kiểm tra trình độ để biết xem trình độ tiếng anh của mình đang ở đâu, sau đó bạn sẽ được tư vấn khóa học phù hợp với trình độ của mình. Liên hệ 04.3156.0900 hoặc 04.3748.0433 ngay để được tư vấn bạn nhé Hoặc tham khảo trên website: www.ieltscnr.com Thân ái, --- Tự động gộp bài --- http://svnhforum.com/diendan/showthr...9004#post49004


markdown:
# Apache Perl Modules
Chia sẻ: Thanh Cong | Ngày: | Loại File: PDF | Số trang:36
lượt xem 5
download
![](http://image.tlvnimg.com/document/thumbnail/2010/20100728/kaka/80x100/appb_6762.jpg)
##
Apache Perl Modules
[Vui lòng tải xuống để xem tài liệu đầy đủ](javascript:void(0);)
Download
![](http://static.tlvnimg.com/b2013az/templates/version1/default/images/down16x21.png)
Nhiều bên thứ ba mô-đun đã được viết để mở rộng chức năng cốt lõi của mod_perl. Họ có thể được phân phối với mã nguồn mod_perl, hoặc họ có thể sẵn có từ CPAN. Trong chương này, chúng tôi sẽ cố gắng nhóm dựa trên các phân hệ chức năng của họ. Một số mô-đun sẽ được thảo luận trong chiều sâu, nhưng những người khác sẽ được xúc động về một thời gian ngắn mà thôi. Vì hầu hết các mô-đun liên tục phát triển, thời điểm cuốn sách này được công bố nhiều thông tin trong nó...
Bình luận(0)
[Đăng nhập để gửi bình luận!](javascript:void(0);)
##
Nội dung Text: Apache Perl Modules
- ,appb.27123 Page 764 Thursday, November 18, 2004 12:49 PM Appendix B B APPENDIX Apache Perl Modules Many third-party modules have been written to extend mod_perl’s core functional- ity. They may be distributed with the mod_perl source code, or they may be avail- able from CPAN. In this chapter we will attempt to group these modules based on their functionality. Some modules will be discussed in depth, but others will be touched on only briefly. Since most of these modules are continually evolving, the moment this book is pub- lished much of the information in it will be out of date. For this reason, you should refer to the modules’ manpages when you start using them; that’s where you will find the most up-to-date documentation. We will consider modules in the following groups: Development Modules used mainly during the development process Debugging Modules that assist in code debugging Control and monitoring Modules to help you monitor the production server and take care of any prob- lems as soon as they appear Server configuration Modules used in server configuration Authentication Modules used to facilitate authentication Authorization Modules used to facilitate authorization Access Modules used during the access-verification phase Type handlers Modules used as PerlTypeHandlers 764 This is the Title of the Book, eMatter Edition Copyright © 2004 O’Reilly & Associates, Inc. All rights reserved.
- ,appb.27123 Page 765 Thursday, November 18, 2004 12:49 PM Trans handlers Modules used as PerlTransHandlers Fixup Handlers Modules used as PerlFixupHandlers Generic content-generation phase Generic modules that assist during the content-generation phase Application-specific content generation phase Non–general-purpose content generators Database Database-specific modules Toolkits and framework for content generation and other phases Mostly large toolkits and frameworks built on top of mod_perl Output filters and layering Modules that filter output from the content generation stage Logging-phase handlers Modules that assist during the logging stage Core Apache Modules that interface with core mod_perl Miscellaneous Modules that don’t fit into any of the above categories Development-Stage Modules The following modules are mainly useful during the code-development cycle. Some of them can also be useful in the production environment. Apache::Reload—Automatically Reload Changed Modules Apache::Reload is used to make specific modules reload themselves when they have changed. It’s also very useful for mod_perl module development. Covered in Chapter 6. Available from CPAN. See the module manpage for more information. Apache::PerlVINC—Allow Module Versioning in and blocks This module makes it possible to have different @INC values for different s, s, and equivalent configuration blocks. Development-Stage Modules | 765 This is the Title of the Book, eMatter Edition Copyright © 2004 O’Reilly & Associates, Inc. All rights reserved.
- ,appb.27123 Page 766 Thursday, November 18, 2004 12:49 PM Suppose two versions of Apache::Status are being hacked on the same server. In this configuration: PerlModule Apache::PerlVINC SetHandler perl-script PerlHandler Apache::Status PerlINC /home/httpd/dev/lib PerlFixupHandler Apache::PerlVINC PerlVersion Apache/Status.pm SetHandler perl-script PerlHandler Apache::Status PerlINC /home/httpd/prod/lib PerlFixupHandler Apache::PerlVINC PerlVersion Apache/Status.pm Apache::PerlVINC is loaded and then two different locations are specified for the same handler Apache::Status, whose development version resides in /home/httpd/ dev/lib and production version in /home/httpd/prod/lib. If a request for /status/perl is issued (the latter configuration section), the fixup han- dler will internally do: delete $INC{"Apache/Status.pm"}; unshift @INC, "/home/httpd/prod/lib"; require Apache::Status; which will load the production version of the module, which will in turn be used to process the request. If on the other hand the request is for /status-dev/perl (the former configuration sec- tion), a different path (/home/httpd/dev/lib) will be prepended to @INC: delete $INC{"Apache/Status.pm"}; unshift @INC, "/home/httpd/dev/lib"; require Apache::Status; It’s important to be aware that a changed @INC is effective only inside the block or a similar configuration directive. Apache::PerlVINC subclasses the PerlRequire directive, marking the file to be reloaded by the fixup handler, using the value of PerlINC for @INC. That’s local to the fixup handler, so you won’t actually see @INC changed in your script. Additionally, modules with different versions can be unloaded at the end of the request, using the PerlCleanupHandler: 766 | Appendix B: Apache Perl Modules This is the Title of the Book, eMatter Edition Copyright © 2004 O’Reilly & Associates, Inc. All rights reserved.
- ,appb.27123 Page 767 Thursday, November 18, 2004 12:49 PM SetHandler perl-script PerlHandler Apache::Status PerlINC /home/httpd/prod/lib PerlFixupHandler Apache::PerlVINC PerlCleanupHandler Apache::PerlVINC PerlVersion Apache/Status.pm Also note that PerlVersion affects things differently depending on where it is placed. If it is placed inside a or a similar block section, the files will be reloaded only on requests to that location. If it is placed in a server section, all requests to the server or virtual hosts will have these files reloaded. As you can guess, this module slows down the response time because it reloads some modules on a per-request basis. Hence, this module should be used only in a devel- opment environment, not in production. If you need to do the same in production, a few techniques are suggested in Chapter 4. Available from CPAN. See the module manpage for more information. Apache::DProf—Hook Devel::DProf into mod_perl Covered in Chapter 9. Available from CPAN. See the module manpage for more information. Apache::SmallProf—Hook Devel::SmallProf into mod_perl Covered in Chapter 9. Available from CPAN. See the module manpage for more information. Apache::FakeRequest—Fake Request Object for Debugging Covered in Chapter 21. Available from CPAN. See the module manpage for more information. Apache::test—Facilitate Testing of Apache::* Modules This module helps authors of Apache::* modules write test suites that can query a running Apache server with mod_perl and their modules loaded into it. Its function- ality is generally separated into: (a) methods that go in a Makefile.PL file to config- ure, start, and stop the server; and (b) methods that go into one of the test scripts to make HTTP queries and manage the results. Development-Stage Modules | 767 This is the Title of the Book, eMatter Edition Copyright © 2004 O’Reilly & Associates, Inc. All rights reserved.
- ,appb.27123 Page 768 Thursday, November 18, 2004 12:49 PM Supplied with the mod_perl distribution. See the module manpage for more information. Modules to Aid Debugging The following modules are used mainly when something is not working properly and needs to be debugged. Unless your bug is very hard to reproduce and the production environment is required to reproduce the conditions that will trigger the bug, these modules should not be used in production. Apache::DB—Hooks for the Interactive Perl Debugger Allows developers to interactively debug mod_perl. Covered in Chapter 9. Available from CPAN. See the module manpage for more information. Apache::Debug—Utilities for Debugging Embedded Perl Code Covered in Chapter 21. Supplied with the mod_perl distribution. See the module manpage for more informa- tion. Apache::DebugInfo—Send Debug Information to Client Available from CPAN. See the module manpage for more information. Apache::Leak—Module for Tracking Memory Leaks in mod_perl Code Covered in Chapter 14. Supplied with the mod_perl distribution. See the module manpage for more information. Apache::Peek—A Data Debugging Tool for the XS Programmer Covered in Chapter 10. Available from CPAN. See the module manpage for more information. 768 | Appendix B: Apache Perl Modules This is the Title of the Book, eMatter Edition Copyright © 2004 O’Reilly & Associates, Inc. All rights reserved.
- ,appb.27123 Page 769 Thursday, November 18, 2004 12:49 PM Apache::Symbol—Avoid the Mandatory ‘Subroutine Redeﬁned’ Warning Supplied with the mod_perl distribution. See the module manpage for more information. Apache::Symdump—Symbol Table Snapshots Covered in Chapter 21. Supplied with the mod_perl distribution. See the module manpage for more information. Control and Monitoring Modules Apache::Watchdog::RunAway—Hanging Processes Monitor and Terminator Covered in Chapter 5. Available from CPAN. See the module manpage for more information. Apache::VMonitor—Visual System and Apache Server Monitor Covered in Chapter 5. Available from CPAN. See the module manpage for more information. Apache::SizeLimit—Limit Apache httpd Processes This module allows you to kill off Apache processes if they grow too large or if they share too little of their memory. It’s similar to Apache::GTopLimit. Covered in Chapter 14. Supplied with the mod_perl distribution. See the module manpage for more information. Apache::GTopLimit—Limit Apache httpd Processes This module allows you to kill off Apache processes if they grow too large or if they share too little of their memory. It’s similar to Apache::SizeLimit. Control and Monitoring Modules | 769 This is the Title of the Book, eMatter Edition Copyright © 2004 O’Reilly & Associates, Inc. All rights reserved.
- ,appb.27123 Page 770 Thursday, November 18, 2004 12:49 PM Covered in Chapter 14. Available from CPAN. See the module manpage for more information. Apache::TimedRedirect—Redirect URLs for a Given Time Period Apache::TimedRedirect is a mod_perl TransHandler module that allows the configura- tion of a timed redirect. In other words, if a user enters a web site and the URI matches a regex and it is within a certain time period she will be redirected some- where else. This was first created to politely redirect visitors away from database-driven sections of a web site while the databases were being refreshed. Available from CPAN. See the module manpage for more information. Apache::Resource—Limit Resources Used by httpd Children Apache::Resource uses the BSD::Resource module, which uses the C function setrlimit( ) to set limits on system resources such as memory and CPU usage. Covered in Chapter 5. Supplied with the mod_perl distribution. See the module manpage for more information. Apache::Status—Embedded Interpreter Status Information The Apache::Status module provides various information about the status of the Perl interpreter embedded in the server. Covered in Chapter 21. Available from CPAN. See the module manpage for more information. Server Conﬁguration Modules Apache::ModuleConﬁg—Interface to Conﬁguration API Supplied with the mod_perl distribution. See the module manpage for more information. 770 | Appendix B: Apache Perl Modules This is the Title of the Book, eMatter Edition Copyright © 2004 O’Reilly & Associates, Inc. All rights reserved.
- ,appb.27123 Page 771 Thursday, November 18, 2004 12:49 PM Apache::PerlSections—Utilities for Working with Sections Apache::PerlSections configures Apache entirely in Perl. Covered in Chapter 4. Supplied with the mod_perl distribution. See the module manpage for more information. Apache::httpd_conf—Generate an httpd.conf File The Apache::httpd_conf module will generate a tiny httpd.conf file, which pulls itself back in via a section. Any additional arguments passed to the write() method will be added to the generated httpd.conf file and will override those defaults set in the section. This module is handy mostly for starting httpd servers to test mod_perl scripts and modules. Supplied with the mod_perl distribution. See the module manpage for more information. Apache::src—Methods for Locating and Parsing Bits of Apache Source Code This module provides methods for locating and parsing bits of Apache source code. For example: my $src = Apache::src->new; my $v = $src->httpd_version; returns the server version. And: my $dir = $src->dir; -d $dir or die "can't stat $dir $!\n"; returns the top level directory where source files are located and then tests whether it can read it. The main( ) method will return the location of httpd.h: -e join "/", $src->main, "httpd.h" or die "can't stat httpd.h\n"; Other methods are available from this module. Supplied with the mod_perl distribution. See the module manpage for more information. Server Configuration Modules | 771 This is the Title of the Book, eMatter Edition Copyright © 2004 O’Reilly & Associates, Inc. All rights reserved.
- ,appb.27123 Page 772 Thursday, November 18, 2004 12:49 PM Apache::ConﬁgFile—Parse an Apache-Style httpd.conf Conﬁguration File This module parses httpd.conf, or any compatible configuration file, and provides methods for accessing the values from the parsed file. Available from CPAN. See the module manpage for more information. Authentication-Phase Modules The following modules make it easier to handle the authentication phase: AuthenCache Cache authentication credentials AuthCookie Authentication and authorization via cookies AuthDigest Authentication and authorization via digest scheme AuthenDBI Authenticate via Perl's DBI AuthenIMAP Authentication via an IMAP server AuthenPasswdSrv External authentication server AuthenPasswd Authenticate against /etc/passwd AuthLDAP LDAP authentication module AuthPerLDAP LDAP authentication module (PerLDAP) AuthenNIS NIS authentication AuthNISPlus NIS Plus authentication/authorization AuthenSmb Authenticate against an NT server AuthenURL Authenticate via another URL DBILogin Authenticate to backend database PHLogin Authenticate via a PH database All available from CPAN. See the module manpages for more information. Authorization-Phase Modules The following modules make it easier to handle the authorization phase: AuthCookie Authentication and authorization via cookies AuthzDBI Group authorization via Perl's DBI AuthzNIS NIS authorization AuthzPasswd Authorize against /etc/passwd All available from CPAN. See the module manpages for more information. Access-Phase Modules The following modules are used during the access request phase: AccessLimitNum Limit user access by the number of requests RobotLimit Limit the access of robots Available from CPAN. See the module manpages for more information. 772 | Appendix B: Apache Perl Modules This is the Title of the Book, eMatter Edition Copyright © 2004 O’Reilly & Associates, Inc. All rights reserved.
- ,appb.27123 Page 773 Thursday, November 18, 2004 12:49 PM Stonehenge::Throttle—Limit Bandwith Consumption by IP Address http://www.stonehenge.com/merlyn/LinuxMag/col17.html The source code to Stonehenge::Throttle is available from http://www.stonehenge. com/merlyn/LinuxMag/col17.listing.txt. Type Handlers Apache::MimeXML—mod_perl Mime Encoding Sniffer for XML Files This module is an XML content-type sniffer. It reads the encoding attribute in the XML declaration and returns an appropriate content-type heading. If no encoding declaration is found it returns utf-8 or utf-16, depending on the specific encoding. Available from CPAN. See the module manpage for more information. Apache::MIMEMapper—Associates File Extensions with PerlHandlers Apache::MIMEMapper extends the core AddHandler directive to allow you to dispatch different PerlHandlers based on the file extension of the requested resource. Available from CPAN. See the module manpage for more information. Trans Handlers Apache::AddHostPath—Adds Some or All of the Hostname and Port to the URI This module transforms the requested URI based on the hostname and port number from the HTTP request header. It allows you to manage an arbitrary number of domains and subdomains all pointing to the same document root but for which you want a combination of shared and distinct files. Essentially the module implements Apache’s URI-translation phase by attempting to use some or all of the URL hostname and port number as the base of the URI. It sim- ply does file and directory existence tests on a series of URIs (from most-specific to least-specific) and sets the URI to the most specific match. Trans Handlers | 773 This is the Title of the Book, eMatter Edition Copyright © 2004 O’Reilly & Associates, Inc. All rights reserved.
- ,appb.27123 Page 774 Thursday, November 18, 2004 12:49 PM For example, if the request is: URL: http://www.example.org:8080/index.html URI: /index.html Apache::AddHostPath would go through the following list of possible paths and set the new URI based on the first match that passes a -f or -d existence test: $docRoot/org/example/www/8080/index.html $docRoot/org/example/www/index.html $docRoot/org/example/index.html $docRoot/org/index.html $docRoot/index.html Available from CPAN. See the module manpage for more information. Apache::ProxyPass—implement ProxyPass in Perl This module implements the Apache mod_proxy module in Perl. Based on Apache:: ProxyPassThru. Available from CPAN. See the module manpage for more information. Apache::ProxyPassThru—Skeleton for Vanilla Proxy This module uses libwww-perl as its web client, feeding the response back into the Apache API request_rec structure. PerlHandler will be invoked only if the request is a proxy request; otherwise, your normal server configuration will handle the request. If used with the Apache::DumpHeaders module it lets you view the headers from another site you are accessing. Available from CPAN. See the module manpage for more information. Apache::Throttle—Speed-Based Content Negotiation Apache::Throttle is a package designed to allow Apache web servers to negotiate content based on the speed of the connection. Its primary purpose is to transpar- ently send smaller (lower resolution/quality) images to users with slow Internet con- nections, but it can also be used for many other purposes. Available from CPAN. See the module manpage for more information. Apache::TransLDAP—Trans Handler Example This module is an example of how you can create a trans handler. This particular example translates from a user’s virtual directory on the server to the labeledURI attribute for the given user. Available from CPAN. See the module manpage for more information. 774 | Appendix B: Apache Perl Modules This is the Title of the Book, eMatter Edition Copyright © 2004 O’Reilly & Associates, Inc. All rights reserved.
- ,appb.27123 Page 775 Thursday, November 18, 2004 12:49 PM Fixup Handlers Apache::RefererBlock—Block Request Based Upon “Referer” Header Apache::RefererBlock will examine each request. If the MIME type of the requested file is one of those listed in RefBlockMimeTypes, it will check the request’s Referer header. If the referrer starts with one of the strings listed in RefBlockAllowed, access is granted. Otherwise, if there’s a RefBlockRedirect directive for the referrer, a redirect is issued. If not, a “Forbidden” (403) error is returned. Available from CPAN. See the module manpage for more information. Apache::Usertrack—Emulate the mod_usertrack Apache Module As of this writing no documentation is available. Available from CPAN. Generic Content-Generation Modules These modules extend mod_perl functionality during the content-generation phase. Some of them can also be used during earlier phases. Apache::Registry and Apache::PerlRun These two modules allow mod_cgi Perl scripts to run unaltered under mod_perl. They are covered throughout the book, mainly in Chapters 6 and 13. See also the related Apache::RegistryNG and Apache::RegistryBB modules. Supplied with the mod_perl distribution. See the module manpage for more information. Apache::RegistryNG—Apache::Registry New Generation Apache::RegistryNG is almost the same as Apache::Registry, except that it uses file- names instead of URIs for namespaces. It also uses an object-oriented interface. PerlModule Apache::RegistryNG SetHandler perl-script PerlHandler Apache::RegistryNG->handler The usage is just the same as Apache::Registry. Generic Content-Generation Modules | 775 This is the Title of the Book, eMatter Edition Copyright © 2004 O’Reilly & Associates, Inc. All rights reserved.
- ,appb.27123 Page 776 Thursday, November 18, 2004 12:49 PM Apache::RegistryNG inherits from Apache::PerlRun, but the handler( ) is overriden. Apart from the handler( ), the rest of Apache::PerlRun contains all the functionality of Apache::Registry, broken down into several subclassable methods. These meth- ods are used by Apache::RegistryNG to implement the exact same functionality as Apache::Registry, using the Apache::PerlRun methods. There is no compelling reason to use Apache::RegistryNG over Apache::Registry, unless you want to add to or change the functionality of the existing Registry.pm. For example, Apache::RegistryBB is another subclass that skips the stat( ) call, Option +ExecCGI, and other checks performed by Apache::Registry on each request. Supplied with the mod_perl distribution. See the module manpage for more information. Apache::RegistryBB—Apache::Registry Bare Bones This works just like Apache::Registry, but it does not test the x bit (-x file test for executable mode), compiles the file only once (no stat( ) call is made for each request), skips the OPT_EXECCGI checks, and does not chdir( ) into the script’s parent directory. It uses the object-oriented interface. Configuration: PerlModule Apache::RegistryBB SetHandler perl-script PerlHandler Apache::RegistryBB->handler The usage is just the same as Apache::Registry. Supplied with the mod_perl distribution. See the module manpage for more information. Apache::Request (libapreq)—Generic Apache Request Library This package contains modules for manipulating client request data via the Apache API with Perl and C. Functionality includes: • Parsing application/x-www-form-urlencoded data • Parsing multipart/form data • Parsing HTTP cookies The Perl modules are simply a thin XS layer on top of libapreq, making them a lighter and faster alternative to CGI.pm and CGI::Cookie. See the Apache::Request and Apache::Cookie documentation for more details and eg/perl/ for examples. 776 | Appendix B: Apache Perl Modules This is the Title of the Book, eMatter Edition Copyright © 2004 O’Reilly & Associates, Inc. All rights reserved.
- ,appb.27123 Page 777 Thursday, November 18, 2004 12:49 PM Apache::Request and libapreq are tied tightly to the Apache API, to which there is no access in a process running under mod_cgi. This module is mentioned in Chapters 6 and 13. Available from CPAN. See the module manpage for more information. Apache::Dispatch—Call PerlHandlers with the Ease of Registry Scripts Apache::Dispatch translates $r->uri into a class and method and runs it as a PerlHandler. Basically, this allows you to call PerlHandlers as you would Registry scripts, without having to load your httpd.conf file with a lot of tags. Available from CPAN. See the module manpage for more information. Application-Speciﬁc Content-Generation Modules Apache::AutoIndex—Perl Replacement for the mod_autoindex and mod_dir Apache Modules This module can completely replace the mod_dir and mod_autoindex standard directory-handling modules shipped with Apache. Available from CPAN. See the module manpage for more information. Apache::WAP::AutoIndex—WAP Demonstration Module This is a simple module to demonstrate the use of CGI::WML to create a WML (wire- less) file browser using mod_perl. It was written to accompany an article in the Perl Journal (Issue 20). Available from CPAN. See the module manpage for more information. Apache::WAP::MailPeek—Demonstrate Use of WML Delivery This is a simple module to demonstrate the use of delivery of WML with mod_perl. It was written to accompany an article in the Perl Journal (Issue number 20). Available from CPAN. See the module manpage for more information. Application-Specific Content-Generation Modules | 777 This is the Title of the Book, eMatter Edition Copyright © 2004 O’Reilly & Associates, Inc. All rights reserved.
- ,appb.27123 Page 778 Thursday, November 18, 2004 12:49 PM Apache::Archive—Expose Archive Files Through the Apache Web Server Apache::Archive is a mod_perl extension that allows the Apache HTTP server to expose .tar and .tar.gz archives on the fly. When a client requests such an archive file, the server will return a page displaying information about the file that allows the user to view or download individual files from within the archive. Available from CPAN. See the module manpage for more information. Apache::Gateway—Implement a Gateway The Apache::Gateway module implements a gateway using LWP with assorted optional features. From the HTTP/1.1 draft, a gateway is: [a] server which acts as an intermediary for some other server. Unlike a proxy, a gateway receives requests as if it were the origin server for the requested resource; the requesting client may not be aware that it is communicating with a gateway. Features: • Standard gateway features implemented using LWP • Automatic failover with mirrored instances • Multiplexing • Pattern-dependent gatewaying • FTP directory gatewaying • Timestamp correction Available from CPAN. See the module manpage for more information. Apache::NNTPGateway—NNTP Interface for a mod_perl- Enabled Apache Web Server. Available from CPAN. See the module manpage for more information. Apache::PrettyPerl—Syntax Highlighting for Perl Files An Apache mod_perl PerlHandler that outputs color syntax-highlighted Perl files in the client’s browser. Available from CPAN. See the module manpage for more information. Apache::PrettyText—Reformat .txt Files for Client Display Dynamically formats .txt files so they look nicer in the client’s browser. Available from CPAN. See the module manpage for more information. 778 | Appendix B: Apache Perl Modules This is the Title of the Book, eMatter Edition Copyright © 2004 O’Reilly & Associates, Inc. All rights reserved.
- ,appb.27123 Page 779 Thursday, November 18, 2004 12:49 PM Apache::RandomLocation—Random File Display Given a list of locations in ConfigFile, this module will instruct the browser to redi- rect to one of them. The locations in ConfigFile are listed one per line, with lines beginning with # being ignored. How the redirection is handled depends on the vari- able Type. Available from CPAN. See the module manpage for more information. Apache::Stage—Manage a Staging Directory A staging directory is a place where the author of an HTML document checks the look and feel of the document before it’s uploaded to the final location. A staging place doesn’t need to be a separate server or a mirror of the “real” tree, or even a tree of symbolic links. A sparse directory tree that holds nothing but the staged files will do. Apache::Stage implements a staging directory that needs a minimum of space. By default, the path for the per-user staging directory is hardcoded as: /STAGE/any-user-name The code respects proper internal and external redirects for any documents that are not in the staging directory tree. This means that all graphics are displayed as they will be when the staged files have been published. The following table provides an example structure: Location Redirect-to Comment ------------------ ----------- --------------------------- /STAGE/u1/ / Homepage. Internal Redirect. /STAGE/u2/dir1 /dir1/ Really /dir1/index.html /STAGE/u3/dir2 /dir2/ Directory has no index.html Options Indexes is off, thus "Forbidden" /STAGE/u4/dir2/foo /dir2/foo Internal redirect. /STAGE/u5/bar - Exists really, no redirect necessary /STAGE/u6 - Fails unless location exists The entries described in SYNOPSIS in access.conf or an equivalent place define the name of the staging directory, the name of an internal location that catches the exception when a document is not in the staging directory, and the regular expres- sion that transforms the staging URI into the corresponding public URI. With this setup only ErrorDocuments 403 and 404 will be served by Apache::Stage. If you need coexistence with different ErrorDocument handlers, you will either have to disable them for /STAGE or integrate the code of Apache::Stage into an if/else branch based on the path. Available from CPAN. See the module manpage for more information. Application-Specific Content-Generation Modules | 779 This is the Title of the Book, eMatter Edition Copyright © 2004 O’Reilly & Associates, Inc. All rights reserved.
- ,appb.27123 Page 780 Thursday, November 18, 2004 12:49 PM Apache::Roaming—A mod_perl Handler for Roaming Proﬁles With Apache::Roaming you can use your Apache web server as a Netscape Roaming Access server. This allows users to store Netscape Communicator 4.5+ preferences, bookmarks, address books, cookies, etc., on the server so that they can use (and update) the same settings from any Netscape Communicator 4.5+ browser that can access the server. Available from CPAN. See the module manpage for more information. Apache::Backhand—Write mod_backhand Functions in Perl Apache::Backhand ties mod_perl together with mod_backhand, in two major ways. First, the Apache::Backhand module itself provides access to the global and shared state information provided by mod_backhand (most notably server stats). Second, the byPerl C function (which is not part of the Apache::Backhand module but is dis- tributed with it) allows you to write candidacy functions in Perl. Available from CPAN. See the module manpage for more information. Database Modules Apache::DBI—Initiate a Persistent Database Connection Covered in Chapter 20. Available from CPAN. See the module manpage for more information. Apache::OWA—Oracle’s PL/SQL Web Toolkit for Apache This module makes it possible to run scripts written using Oracle’s PL/SQL Web Toolkit under Apache. Available from CPAN. See the module manpage for more information. Apache::Sybase::CTlib—Persistent CTlib Connection Management for Apache Available from CPAN. See the module manpage for more information. 780 | Appendix B: Apache Perl Modules This is the Title of the Book, eMatter Edition Copyright © 2004 O’Reilly & Associates, Inc. All rights reserved.
- ,appb.27123 Page 781 Thursday, November 18, 2004 12:49 PM Toolkits and Frameworks for Content- Generation and Other Phases Apache::ASP—Active Server Pages for Apache with mod_perl Apache::ASP provides an Active Server Pages port to the Apache web server with Perl scripting only and enables developing of dynamic web applications with session management and embedded Perl code. There are also many powerful extensions, including XML taglibs, XSLT rendering, and new events not originally part of the ASP API. Available from CPAN. See the module manpage for more information. Apache::AxKit—XML Toolkit for mod_perl AxKit is a suite of tools for the Apache httpd server running mod_perl. It provides developers with extremely flexible options for delivering XML to all kinds of brows- ers, from hand-held systems to Braille readers to ordinary browsers. All this can be achieved using nothing but W3C standards, although the plug-in architecture pro- vides the hooks for developers to write their own stylesheet systems, should they so desire. Two non-W3C stylesheet systems are included as examples. The toolkit provides intelligent caching, which ensures that if any parameters in the display of the XML file change, the cache is overwritten. The toolkit also provides hooks for DOM-based stylesheets to cascade. This allows (for example) the initial stylesheet to provide menu items and a table of contents, while the final stylesheet formats the finished file to the desired look. It’s also possible to provide multiple lan- guage support this way. AxKit and its documentation are available from http://www.axkit.org/. HTML::Embperl—Embed Perl into HTML Embperl gives you the power to embed Perl code in your HTML documents and the ability to build your web site out of small, reusable objects in an object-oriented style. You can also take advantage of all the standard Perl modules (including DBI for database access) and use their functionality to easily include their output in your web pages. Embperl has several features that are especially useful for creating HTML, including dynamic tables, form-field processing, URL escaping/unescaping, session handling, and more. Toolkits and Frameworks for Content-Generation and Other Phases | 781 This is the Title of the Book, eMatter Edition Copyright © 2004 O’Reilly & Associates, Inc. All rights reserved.
- ,appb.27123 Page 782 Thursday, November 18, 2004 12:49 PM Embperl is a server-side tool, which means that it’s browser-independent. It can run in various ways: under mod_perl, as a CGI script, or offline. For database access, there is a module called DBIx::Recordset that works well with Embperl and simplifies creating web pages with database content. Available from CPAN. See the module manpage for more information. Apache::EmbperlChain—Process Embedded Perl in HTML in the OutputChain Uses Apache::OutputChain to filter the output of content generators through Apache:: Embperl. Available from CPAN. See the module manpage for more information. Apache::ePerl—Embedded Perl 5 Language ePerl interprets an ASCII file that contains Perl program statements by replacing any Perl code it finds with the result of evaluating that code (which may be chunks of HTML, or could be nothing) and passing through the plain ASCII text untouched. It can be used in various ways: as a standalone Unix filter or as an integrated Perl mod- ule for general file-generation tasks and as a powerful web-server scripting language for dynamic HTML page programming. Available from CPAN. See the module manpage for more information. Apache::iNcom—E-Commerce Framework Apache::iNcom is an e-commerce framework. It is not a ready-to-run merchant sys- tem. It integrates the different components needed for e-commerce into a coherent whole. The primary design goals of the framework are flexibility and security. Most mer- chant systems will make assumptions about the structure of your catalog data and your customer data, or about how your order process works. Most also impose severe restrictions on how the programmer will interface with your electronic cata- log. These are precisely the kinds of constraints that Apache::iNcom is designed to avoid. Apache::iNcom provides the following infrastructure: • Session management • Cart management • Input validation • Order management 782 | Appendix B: Apache Perl Modules This is the Title of the Book, eMatter Edition Copyright © 2004 O’Reilly & Associates, Inc. All rights reserved.
- ,appb.27123 Page 783 Thursday, November 18, 2004 12:49 PM • User management • Easy database access • Internationalization • Error handling Most of the base functionality of Apache::iNcom is realized by using standard well- known modules such as DBI for generic SQL database access, HTML::Embperl for dynamic page generation, Apache::Session for session management, mod_perl for Apache integration, and Locale::Maketext for localization. Here are its assumptions: • Data is held in a SQL database that supports transactions. • The user interface is presented using HTML. • Sessions are managed through cookies. Available from CPAN. See the module manpage for more information. Apache::Mason—Perl-Based Web Site Development and Delivery System Apache::Mason allows web pages and sites to be constructed from shared, reusable building blocks called components. Components contain a mixture of Perl and HTML and can call each other and pass values back and forth like subroutines. Components increase modularity and eliminate repetitive work: common design ele- ments (headers, footers, menus, logos) can be extracted into their own components, so that they need be changed only once to affect the whole site. Other Mason features include powerful filtering and templating facilities, an HTML/ data-caching model, and a web-based site-previewing utility. Available from CPAN and http://www.masonhq.com/. See the module manpage for more information. Apache::PageKit—Web Applications Framework Apache::PageKit is a web applications framework that is based on mod_perl. This framework is distinguished from others (such as Embperl and Mason) by providing a clear separation of programming, content, and presentation. It does this by imple- menting a Model/View/Content/Controller (MVCC) design paradigm: • Model is implemented by user-supplied Perl classes • View is a set of HTML templates • Content is a set of XML files • Controller is PageKit Toolkits and Frameworks for Content-Generation and Other Phases | 783 This is the Title of the Book, eMatter Edition Copyright © 2004 O’Reilly & Associates, Inc. All rights reserved.
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Ngôn ngữ Perl-Chương 01-Giới thiệu
21 p |
303 |
102
-
Teach Yourself Perl 5 in 21 days
1124 p |
169 |
93
-
Ngôn ngữ Perl-Chương 07-Biểu thức chính quy
12 p |
316 |
92
-
Ngôn ngữ Perl-Chương 04-Cấu trúc điều khiển
7 p |
142 |
86
-
Ngôn ngữ Perl-Chương 03-Dữ liệu mảng và danh sách
8 p |
196 |
85
-
CHƯƠNG 1 : GIỚI THIỆU, CÀI ĐẶT VÀ CẤU HÌNH APACHE, PHP VÀ MYSQL
55 p |
153 |
83
-
Ngôn ngữ Perl-Chương 02-Dữ liệu vô hướng
12 p |
268 |
76
-
Ngôn ngữ Perl-Chương 10-Tước hiệu tệp
7 p |
179 |
72
-
Ngôn ngữ Perl-Chương 08-Hàm
6 p |
141 |
72
-
Ngôn ngữ Perl-Chương 06-Nhập xuất căn bản
4 p |
222 |
68
-
Ngôn ngữ Perl-Chương 05-Mảng_Băm
5 p |
121 |
56
-
Ngôn ngữ Perl-Chương 09-Cấu trúc điều khiển khác
6 p |
131 |
53
-
Writing Apache Modules with Perl and C
741 p |
105 |
28
-
Modules and Ports part 1
5 p |
50 |
9
-
Intermediate Perl
396 p |
27 |
8
-
Apache Cookbook
308 p |
29 |
7
-
Ebook C Programming in Linux
84 p |
17 |
0

Set-Cookie: TLDEVNamespace=j2gal0rojler5gi4unhndaud47; path=/; domain=.tailieu.vn; HttpOnly


markdown:
# Cây gõ đỏ - Afzelia xylocarpa
Chia sẻ: Than Kha Tu | Ngày: | Loại File: PDF | Số trang:2
399
lượt xem 59
download
lượt xem 59
download
![](http://image.tlvnimg.com/document/thumbnail/2009/20091028/womanhood911_05/80x100/cay_go_do_0031.jpg)
##
Cây gõ đỏ - Afzelia xylocarpa
Mô tả tài liệu
[Vui lòng tải xuống để xem tài liệu đầy đủ](javascript:void(0);)
Download
![](http://static.tlvnimg.com/b2013az/templates/version1/default/images/down16x21.png)
Tên Latin: Afzelia xylocarpa - Họ: Đậu Fabaceae ; - Bộ: Đậu Fabales Cây gỗ to rụng lá, cao tới 30m, đường kính thân 0,8 - 1m. Vỏ màu xám, sần sùi, trên mặt có nhiều lỗ màu nâu.
Chủ đề:
Bình luận(0)
[Đăng nhập để gửi bình luận!](javascript:void(0);)
CÓ THỂ BẠN MUỐN DOWNLOAD

Set-Cookie: TLDEVNamespace=pjqerre8m4u8agdcaji103ou12; path=/; domain=.tailieu.vn; HttpOnly


markdown:
# Giáo trình lò luyện kim - chương 3
Chia sẻ: Vu Manh Cuong | Ngày: | Loại File: PDF | Số trang:14
lượt xem 62
download
![](http://image.tlvnimg.com/document/thumbnail/2010/20100704/manhcuongdbh/80x100/ch3a_2274.jpg)
##
Giáo trình lò luyện kim - chương 3
[Vui lòng tải xuống để xem tài liệu đầy đủ](javascript:void(0);)
Download
![](http://static.tlvnimg.com/b2013az/templates/version1/default/images/down16x21.png)
Tham khảo tài liệu 'giáo trình lò luyện kim - chương 3', kỹ thuật - công nghệ, cơ khí - chế tạo máy phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Bình luận(0)
[Đăng nhập để gửi bình luận!](javascript:void(0);)
##
Nội dung Text: Giáo trình lò luyện kim - chương 3
- Ch−¬ng 3 Nung kim lo¹i 3.1. Kh¸i niÖm chung 3.1.1. Môc ®Ých cña qu¸ tr×nh nung Nung kim lo¹i lµ mét kh©u quan träng trong nhiÒu qu¸ tr×nh s¶n xuÊt luyÖn kim. Trong gia c«ng kim lo¹i b»ng ¸p lùc, nung nãng nh»m môc ®Ých t¨ng ®é dÎo, gi¶m trë lùc biÕn d¹ng, lµm t¨ng kh¶ n¨ng biÕn d¹ng cña kim lo¹i, ®iÒu ®ã cho phÐp t¨ng n¨ng suÊt gia c«ng, gi¶m ®−îc yªu cÇu vÒ c«ng suÊt thiÕt bÞ vµ gi¶m hao mßn dông cô. Trong gia c«ng nhiÖt luyÖn, kim lo¹i ®−îc nung nãng ®Õn nhiÖt ®é thÝch hîp tr−íc khi lµm nguéi ®Ó ®¹t ®−îc sù thay ®æi tæ chøc theo yªu cÇu. Qu¸ tr×nh nung kim lo¹i ®−îc thùc hiÖn trong c¸c lß nung, c−êng ®é nung kim lo¹i kh«ng nh÷ng phô thuéc c«ng t¸c nhiÖt cña lß mµ cßn phô thuéc nhiÒu yÕu tè kh¸c nh−: tÝnh chÊt nhiÖt, vËt lý cña kim lo¹i, kÝch th−íc h×nh d¹ng cña vËt nung ... ViÖc x¸c ®Þnh hîp lý c−êng ®é nung vµ thêi gian nung cã ¶nh h−ëng rÊt lín ®Õn chÊt l−îng s¶n phÈm còng nh− c¸c chØ tiªu kinh tÕ, kü thuËt cña lß. 3.1.2. C¸c hiÖn t−îng xÈy ra khi nung Trong qu¸ tr×nh nung, tuú theo kim lo¹i còng nh− ®iÒu kiÖn nung cã thÓ xÈy ra nhiÒu hiÖn t−îng kh«ng mong muèn nh−: hiÖn t−îng oxy hãa kim lo¹i, hiÖn t−îng thÊm hoÆc tho¸t c¸cbon (®èi víi c¸c lo¹i thÐp), hiÖn t−îng qu¸ nhiÖt hoÆc ch¸y, hiÖn t−îng nøt. - HiÖn t−îng oxy hãa: trong m«i tr−êng nhiÖt ®é cao vµ t¸c ®éng cña m«i tr−êng khÝ lß, kim lo¹i ë líp bÒ mÆt bÞ oxy hãa, g©y ra sù ch¸y hao kim lo¹i. L−îng kim lo¹i bÞ ch¸y hao trong mét lÇn nung ®Ó c¸n vµ rÌn tõ 1- 2 %, nung ®Ó nhiÖt luyÖn kho¶ng 0,5 - 1,0 %. Tèc ®é oxy hãa kim lo¹i xÈy ra m¹nh khi ë nhiÖt ®é cao, vÝ dô ®èi víi chi tiÕt b»ng thÐp khi nhiÖt ®é trªn 800oC xÈy ra víi tèc ®é rÊt lín. - HiÖn t−îng tho¸t c¸c bon: §èi víi chi tiÕt b»ng thÐp, song song víi qu¸ tr×nh oxy hãa cßn xÈy ra qu¸ tr×nh khö c¸c bon, c¸c ph¶n øng khö cacbon xÈy ra nh− sau: 2H2 + Fe3C → 3Fe + CH4 CO2 + Fe3C → 3Fe + 2CO H2O + Fe3C → 3Fe + H2 + CO - 43 -
- - HiÖn t−îng nøt: Khi nung, nÕu tèc ®é nung lín, trong kim lo¹i ph¸t sinh øng suÊt nhiÖt do c¸c líp kim lo¹i cã nhiÖt ®é kh¸c nhau, nÕu øng suÊt sinh ra qu¸ lín, kim lo¹i cã thÓ bÞ nøt. Do vËy, khi nung c¸c lo¹i thÐp cã hµm l−îng cacbon cao, thÐp hîp kim lóc ®Çu ph¶i nung víi tèc ®é chËm ®Ó tr¸nh nøt (trong kho¶ng nhiÖt ®é d−íi 500oC), cßn khi ë nhiÖt ®é cao cÇn nung víi tèc ®é lín ®Ó gi¶m ch¸y hao vµ t¨ng n¨ng suÊt. Cßn khi nhiÖt ®é nung chän kh«ng hîp lý cã thÓ dÉn ®Õn kim lo¹i bÞ qu¸ nhiÖt hoÆc ch¸y lµm gi¶m chÊt l−îng s¶n phÈm hoÆc g©y ra phÕ phÈm. 3.1.3. ChÕ ®é nung khi nung kim lo¹i ChÕ ®é nung quyÕt ®Þnh c−êng ®é nung kim lo¹i, th−êng ®−îc thÓ hiÖn qua c¸c gi¶n ®å nung, biÓu hiÖn sù thay ®æi nhiÖt ®é cña lß, nhiÖt ®é kim lo¹i theo thêi gian. Chän chÕ ®é nung hîp lý kh«ng nh÷ng n©ng cao chØ tiªu kü thuËt, chÊt l−îng s¶n phÈm mµ cßn lµm t¨ng ®¸ng kÓ hiÖu qu¶ kinh tÕ. Tuú thuéc tÝnh chÊt kim lo¹i, h×nh d¸ng, kÝch th−íc còng nh− nhiÖt ®é yªu cÇu sau khi nung, ng−êi ta cã thÓ øng dông nhiÒu chÕ ®é nung kh¸c nhau. Trªn h×nh 3.1 tr×nh bµy mét sè gi¶n ®å nung víi c¸c chÕ ®é nung ®iÓn h×nh. toC toC toC tk tk tk tm tm tm tt tt tt I τ I II τ I II III a) b) c) H×nh 3.1 Gi¶n ®å nung a) Nung 1 giai ®o¹n b) Nung 2 giai ®o¹n c) Nung 3 giai ®o¹n - Gi¶n ®å h×nh 3.1a: gi¶n ®å nung mét giai ®o¹n th−êng ¸p dông cho c¸c vËt nung máng hoÆc c¸c vËt nung trung b×nh cã hÖ sè dÉn nhiÖt lín (trë nhiÖt bÐ). - Gi¶n ®å h×nh 3.1b: gi¶n ®å nung hai giai ®o¹n th−êng ¸p dông cho c¸c vËt nung trung b×nh cã hÖ sè dÉn nhiÖt kh¸ lín (trë nhiÖt trung b×nh) vµ ®é chªnh lÖch nhiÖt ®é mÆt vµ t©m cho phÐp sau khi nung kh¸ lín. - 44 -
- - Gi¶n ®å h×nh 3.1c: gi¶n ®å nung ba giai ®o¹n cã giai ®o¹n gi÷ nhiÖt, ¸p dông cho c¸c vËt nung dµy, cã hÖ sè dÉn nhiÖt thÊp (trë nhiÖt cao) vµ ®é chªnh lÖch nhiÖt ®é mÆt vµ t©m cho phÐp sau khi nung bÐ. Khi x©y dùng c¸c gi¶n ®å nung, nÕu chóng ta chän nhiÖt ®é lß cao, c−êng ®é nung lín, gi¶m ®−îc thêi gian nung, gi¶m ®−îc ch¸y hao kim lo¹i nh−ng dÔ g©y ra nøt (nhÊt lµ giai ®o¹n khi nhiÖt ®é vËt nung cßn thÊp) vµ qu¸ nhiÖt kim lo¹i. Ng−îc l¹i, chän nhiÖt ®é lß thÊp, c−êng ®é nung bÐ, thêi gian nung kÐo dµi, t¨ng oxy ho¸ (nhÊt lµ khi ë nhiÖt ®é cao) vµ gi¶m n¨ng suÊt. 3.2. TÝnh to¸n thêi gian nung 3.2.1. C¸c ®iÒu kiÖn giíi h¹n khi nung TÝnh to¸n qu¸ tr×nh nung kim lo¹i liªn quan tíi viÖc gi¶i ph−¬ng tr×nh vi ph©n truyÒn nhiÖt dÉn nhiÖt (ph−¬ng tr×nh Phu-ri-ª) cã d¹ng: ∂t ⎛ ∂2t ∂2t ∂2t ⎞ = a⎜ 2 + 2 + 2 ⎟ ⎜ ∂x (3.1) ∂τ ⎝ ∂y ∂z ⎟⎠ Trong ®ã a lµ hÖ sè truyÒn nhiÖt ®é: λ a= [m2/s] (3.2) cρ NghiÖm cña ph−¬ng tr×nh (3.1) x¸c lËp mèi quan hÖ gi÷a sù thay ®æi cña nhiÖt ®é cña vËt thÓ theo thêi gian vµ kh«ng gian: t = f (x, y, z, τ) (3.3) NghiÖm cô thÓ cña ph−¬ng tr×nh phô thuéc vµo c¸c ®iÒu kiÖn giíi h¹n: tr¹ng th¸i nhiÖt ®é ban ®Çu cña vËt thÓ (gäi lµ ®iÒu kiÖn ban ®Çu), kÝch th−íc h×nh häc cña vËt thÓ vµ quy luËt trao ®æi nhiÖt gi÷a bÒ mÆt vËt thÓ víi m«i tr−êng chung quanh (gäi lµ ®iÒu kiÖn biªn). a) §iÒu kiÖn ban ®Çu : lµ ®iÒu kiÖn giíi h¹n vÒ thêi gian, x¸c ®Þnh sù ph©n bè nhiÖt ®é vËt thÓ t¹i thêi ®iÓm ban ®Çu τ = 0, biÓu thÞ bëi hµm sè cã d¹ng: t® = f(x, y, z, 0) (3.4) Tr−êng hîp ®¬n gi¶n nhÊt lµ tr−êng hîp nhiÖt ®é ban ®Çu cña vËt thÓ ë mäi ®iÓm lµ nh− nhau: t® = t0 = const. §èi víi tr¹ng th¸i nhiÖt æn ®Þnh, nhiÖt ®é ban ®Çu cña vËt thÓ kh«ng ¶nh h−ëng ®Õn sù ph©n bè nhiÖt ®é cña vËt thÓ nªn ®iÒu kiÖn giíi h¹n vÒ thêi gian kh«ng cÇn chó ý ®Õn. - 45 -
- b) §iÒu kiÖn biªn: lµ ®iÒu kiÖn giíi h¹n vÒ kh«ng gian, ®−îc chia ra ba tr−êng hîp: - §iÒu kiÖn biªn lo¹i 1: cho chÕ ®é nhiÖt ®é cña bÒ mÆt vËt thÓ, nghÜa lµ cho biÕt nhiÖt ®é bÒ mÆt cña vËt thÓ thay ®æi nh− thÕ nµo theo thêi gian: tm = f(τ). (3.5) VÝ dô nhiÖt ®é bÒ mÆt vËt thÓ t¨ng theo hµm sè bËc nhÊt: tm = Cnτ hay tm = t® + Cnτ (3.6) Trong ®ã Cn lµ tèc ®é nung [oC/s]. - §iÒu kiÖn biªn lo¹i 2: cho tr−íc dßng nhiÖt ®i qua mÆt vËt thÓ. q = f(τ) hay q = const. (3.7) - §iÒu kiÖn biªn lo¹i 3: Cho chÕ ®é nhiÖt ®é cña nguån nhiÖt vµ quy luËt truyÒn nhiÖt tõ nguån nhiÖt ®Õn bÒ mÆt vËt thÓ. tlß = f(τ) hay tlß = const (3.8) Vµ q = α(t lß − t m ) hay q = C 0 (Tlß − Tm ) 4 4 3.2.2. Ph−¬ng ph¸p tÝnh Trong tr−êng hîp tæng qu¸t, viÖc x¸c ®Þnh thêi gian nung b»ng ph−¬ng ph¸p gi¶i gi¶i tÝch ph−¬ng tr×nh vi ph©n truyÒn nhiÖt kÕt hîp víi c¸c ®iÒu kiÖn giíi h¹n th−êng rÊt phøc t¹p vµ gÆp nhiÒu khã kh¨n. Tuy nhiªn, trong nh÷ng tr−êng hîp ®¬n gi¶n nh− vËt nung cã d¹ng h×nh häc ®¬n gi¶n (h×nh tÊm, h×nh trô, h×nh cÇu) vµ víi nh÷ng gi¶ thiÕt gÇn ®óng, cho phÐp ta gi¶i bµi to¸n víi ®é chÝnh x¸c chÊp nhËn ®−îc. D−íi ®©y kh¶o s¸t mét sè tr−êng hîp ®iÓn h×nh khi tÝnh to¸n thêi gian nung kim lo¹i trong lß. a) Ph©n lo¹i vËt nung §Ó tÝnh to¸n ng−êi ta ph©n vËt nung thµnh hai lo¹i: vËt máng vµ vËt dµy. C¸c vËt nung ®−îc coi lµ vËt máng lµ nh÷ng vËt cã trë nhiÖt bÐ (tØ sè gi÷a chiÒu x dµy vµ hÖ sè dÉn nhiÖt → 0) , ®ã lµ c¸c vËt mµ vËt liÖu cã hÖ sè dÉn nhiÖt rÊt lín λ ( λ → ∞ ) hoÆc chiÒu dµy cña vËt bÐ ( x → 0 ). Khi ®ã nhiÖt ®é vËt gÇn nh− ®ång nhÊt trong toµn bé vËt thÓ vµ chØ phô thuéc thêi gian: t = f ( τ) x C¸c vËt dµy lµ nh÷ng vËt cã trë nhiÖt lín ( → cã gi¸ trÞ ®¸ng kÓ), nhiÖt ®é vËt λ nung phô thuéc to¹ ®é ®iÓm kh¶o s¸t vµ thêi gian: - 46 -
- t = f (x, y, z, τ) Khi ®ã kh«ng thÓ bá qua chªnh lÖch nhiÖt ®é gi÷a mÆt vµ t©m trong qu¸ tr×nh nung. Trong tÝnh to¸n, ng−êi ta th−êng dïng tiªu chuÈn Bi (tiªu chuÈn Bi-«) ®Ó x¸c ®Þnh giíi h¹n gi÷a vËt máng vµ vËt dµy: αx Bi = (3.9) λ Trong ®ã: α - hÖ sè trao ®æi nhiÖt [W/m2.®é]. λ - hÖ sè dÉn nhiÖt [W/m.®é]. x - täa ®é ®iÓm kh¶o s¸t [m]. Khi gi¸ trÞ Bi < 0,25 vËt nung ®−îc gäi lµ vËt máng vµ Bi > 0,5 gäi lµ vËt dµy, cßn víi gi¸ trÞ Bi = 0,25 - 0,5 ®−îc coi lµ vËt trung b×nh nh−ng trong tÝnh to¸n th−êng tÝnh to¸n theo vËt dµy. b) TÝnh thêi gian nung c¸c vËt máng §Ó tÝnh to¸n thêi gian nung ®èi víi c¸c vËt máng víi ®iÒu kiÖn biªn lo¹i 3, ng−êi ta chia thêi gian nung thµnh nhiÒu giai ®o¹n, øng víi mçi giai ®o¹n coi nhiÖt ®é lß vµ nhiÖt ®é vËt kh«ng ®æi vµ lÊy b»ng gi¸ trÞ trung b×nh. Tæng thêi gian nung x¸c ®Þnh theo c«ng thøc: n τ = ∑ τ ni [h] (3.10) i =1 Khi ®ã thêi gian nung víi mçi giai ®o¹n tÝnh theo c«ng thøc: xρc τi = (Ftc − Ftd ) [h] (3.11) kα Trong ®ã: x - chiÒu dµy quy dÉn [m]. ρ - khèi l−îng riªng cña vËt liÖu, [kg/m3]. c- nhiÖt dung cña vËt liÖu [Kcal/kg.oC]. k - hÖ sè h×nh d¹ng, vÝ dô ®èi víi d¹ng tÊm k = 1, d¹ng trô k = 2. α - hÖ sè trao ®æi nhiÖt bÒ mÆt [Kcal/m2.h.oK4]. Ft®, Ftc - th«ng sè nhiÖt ®é, tra theo biÓu ®å (h×nh 3.2 vµ 3.3) øng víi nhiÖt ®é ®Çu vµ cuèi giai ®o¹n. C¸c th«ng sè vËt lý trong biÓu thøc chän theo nhiÖt ®é trung b×nh. - 47 -
- Ft tkoC H×nh 3.2 BiÓu ®å x¸c ®Þnh th«ng sè nhiÖt ®é khi tÝnh thêi gian nung ®èi víi vËt máng khi tk 1000oC c) TÝnh thêi gian nung c¸c vËt dµy §Ó tÝnh to¸n víi vËt nung ®−îc coi lµ vËt dµy, ng−êi ta øng dông réng r·i c¸c ph−¬ng tr×nh tiªu chuÈn ®−îc thiÕt lËp trªn c¬ së cña lý thuyÕt ®ång d¹ng. Khi ®ã ph−¬ng tr×nh vi ph©n truyÒn nhiÖt ®−îc viÕt l¹i d−íi d¹ng ph−¬ng tr×nh cña c¸c tiªu chuÈn ®ång d¹ng lµ nh÷ng ®¹i l−îng kh«ng thø nguyªn. §èi víi vËt nung ®¬n gi¶n vµ ®iÒu kiÖn biªn lo¹i ba, ph−¬ng tr×nh cã d¹ng: - 48 -
- ϑτ ⎛ x ⎞ φ= = F⎜ Bi, Fo, ⎟ ⎜ (3.12) ϑ0 ⎝ x0 ⎟ ⎠ ϑτ Trong ®ã φ = th«ng sè nhiÖt ®é t−¬ng ®èi, x¸c ®Þnh theo c«ng thøc (3.13): ϑ0 ϑ τ t k − t vτ φ= = (3.13) ϑ0 t k − t vτo t k - nhiÖt ®é trung b×nh cña khÝ lß [oC]. t vτ - nhiÖt ®é cña ®iÓm kh¶o s¸t trªn vËt nung t¹i thêi ®iÓm τ [oC]. t vτo - nhiÖt ®é ban ®Çu cña ®iÓm kh¶o s¸t trªn vËt nung [oC]. aτ Fo- tiªu chuÈn Fu-ri-ª: Fo = (3.14) x2 x x - täa ®é t−¬ng ®èi cña ®iÓm kh¶o s¸t, khi = 0 th× ®iÓm kh¶o s¸t ë t©m vËt x0 x0 x thÓ, = 1 th× ®iÓm kh¶o s¸t ë trªn bÒ mÆt vËt thÓ. x0 B»ng tÝnh to¸n lý thuyÕt vµ thùc nghiÖm, ng−êi ta x©y dùng c¸c biÓu ®å biÓu thÞ quan hÖ gi÷a c¸c tiªu chuÈn (ph−¬ng tr×nh 3.12) øng víi c¸c tr−êng hîp kh¸c nhau. Trªn c¸c h×nh (3.4 - 3.7) giíi thiÖu biÓu ®å tÝnh to¸n øng víi vËt nung d¹ng tÊm vµ d¹ng trô. H×nh 3.4 NhiÖt ®é t−¬ng ®èi cña bÒ mÆt vËt khi vËt nung d¹ng tÊm - 49 -
- H×nh 3.5 NhiÖt ®é t−¬ng ®èi cña t©m vËt khi vËt nung d¹ng tÊm H×nh 3.6 NhiÖt ®é t−¬ng ®èi cña mÆt vËt khi vËt nung d¹ng trô Thêi gian nung vËt dµy gåm thêi gian nung c¬ b¶n vµ thêi gian gi÷ nhiÖt, ®Ó tÝnh to¸n ng−êi ta còng chia thêi gian nung thµnh nhiÒu giai ®o¹n, trong mçi giai ®o¹n nhiÖt ®é khÝ lß vµ nhiÖt ®é kim lo¹i ®−îc coi nh− kh«ng ®æi vµ lÊy b»ng nhiÖt ®é trung b×nh. Khi ®ã tæng thêi gian nung x¸c ®Þnh bëi c«ng thøc: n −1 τ = ∑ τ ni + τ gn (3.15) i =1 Trong ®ã: n - sè giai ®o¹n nung vµ gi÷ nhiÖt. - 50 -
- τni - thêi gian nung c¬ b¶n øng víi giai ®o¹n thø i. τgn - thêi gian gi÷ nhiÖt víi môc ®Ých lµm ®ång ®Òu nhiÖt ®é gi÷a t©m vµ mÆt H×nh 3.7 NhiÖt ®é t−¬ng ®èi cña t©m vËt khi vËt nung d¹ng trô §Ó tÝnh thêi gian nung c¬ b¶n, ta tiÕn hµnh tÝnh to¸n cho tõng giai ®o¹n. Trong mçi giai ®o¹n, dùa vµo nhiÖt ®é trung b×nh cña kim lo¹i, lÊy gÇn ®óng theo nhiÖt ®é td + tc trung b×nh cña mÆt vËt t i = m m , x¸c ®Þnh c¸c th«ng sè vËt lý cña vËt liÖu, tÝnh tiªu 2 chuÈn Bii, nhiÖt ®é t−¬ng ®èi bÒ mÆt φm,i vµ tra biÓu ®å Fo m = F (Bi, φ m ) ®Ó x¸c ®Þnh tiªu chuÈn Foi. BiÕt gi¸ trÞ cña Foi, tÝnh ®−îc thêi gian nung: 2 Fo i .x 0 τ n ,i = (3.16) ai Sau ®ã dïng gi¶n ®å φ t = F (Bi i , Fo i ) , x¸c ®Þnh ®−îc φ t ,i vµ tÝnh nhiÖt ®é t©m cuèi giai ®o¹n theo c«ng thøc: t c,i = t k ,i − (t k ,i − t d,i )φ t ,i t t (3.17) §Ó tÝnh thêi gian gi÷ nhiÖt, tr−íc hÕt cÇn x¸c ®Þnh ®é chªnh nhiÖt ®é cho phÐp gi÷a mÆt vµ t©m cuèi giai ®o¹n gi÷ nhiÖt: [∆t c ] = t cm − t ct = δt.x 0 (3.18) - 51 -
- Trong ®ã δt lµ ®é chªnh nhiÖt ®é cho phÐp trªn mét ®¬n vÞ chiÒu dµy [oC/cm], x0 chiÒu dµy truyÒn nhiÖt [cm]. NÕu ®Çu giai ®o¹n gi÷ nhiÖt (cuèi giai ®o¹n nung cuèi cïng) ®é chªnh nhiÖt ®é mÆt vµ t©m ∆t d > [∆t c ] ta ph¶i tÝnh thêi gian gi÷ nhiÖt. Gi¶ thiÕt nhiÖt ®é t©m khi kÕt thóc gi÷ nhiÖt yªu cÇu b»ng t c , x¸c ®Þnh nhiÖt ®é t mÆt tÊm: t c = t c + ∆t c m t (3.19) BiÕt t d , t d vµ t c , tÝnh ®−îc Bi vµ φm, tra biÓu ®å Fo m = (Bi, φ m ) ®Ó x¸c ®Þnh gi¸ trÞ m t m cña Fo vµ tÝnh τgn. aτ Fo = 2 x0 0,12 3 0,8 2 1 1 6 0,4 2 5 4 0,6 ∆t c 0 0,2 0,4 ∆t c H×nh 3.8 BiÓu ®å tra Fo khi gi÷ nhiÖt 1) D¹ng tÊm. 2-5) D¹ng thái (khi B/S=2;1,5;1,2;1) 6) D¹ng trô §Ó tÝnh thêi gian gi÷ nhiÖt τgn khi tm= const, còng cã thÓ sö dông ph−¬ng tr×nh thùc nghiÖm ®èi víi mçi d¹ng vËt nung: - §èi víi d¹ng tÊm: aτgn −2 , 47 2 ∆t c = 1,03.e x0 (3.20) ∆t d - §èi víi d¹ng trô: aτgn −5, 76 ∆t c 2 = 1,142.e r0 (3.21) ∆t d aτgn aτgn −2 , 47 2 −8, 25 2 ∆t c HoÆc = 1,142.e h r0 khi r0
- HoÆc sö dông biÓu ®å h×nh 3.8, khi ®ã: 2 Fo.x 0 τ= (3.22) a §èi víi vËt nung d¹ng thái, Fo phô thuéc vµo tØ lÖ gi÷a bÒ réng thái (B) vµ chiÒu dµy truyÒn nhiÖt (S). 3.3. VÝ dô tÝnh thêi gian nung Ta xÐt tr−êng hîp vËt nung b»ng thÐp C20 d¹ng tÊm, chiÒu dµy 2x0 =200 mm, t® = 20oC, nhiÖt ®é nung yªu cÇu tt,c = 1200oC, nung ®èi xøng 2 mÆt. Gi¶n ®å nung biÓu thÞ trªn h×nh 3.9 gåm 2 giai ®o¹n nung vµ mét giai ®o¹n gi÷ nhiÖt. - Giai ®o¹n 1: nung tõ 20 - 1000oC, cã hÖ sè bøc x¹ quy dÉn C1 = 2,92 Kcal/m2.h.oK4. - Giai ®o¹n 2: nung tõ 1000 - 1200oC, cã hÖ sè bøc x¹ quy dÉn C2 = 2,57 Kcal/m2.h.oK4. - Giai ®o¹n 3: gi÷ nhiÖt, cã hÖ sè bøc x¹ quy dÉn C3 = 2,34 Kcal/m2.h.oK4. toC tk1 =1350 tk3 =1250 tm2=1200 ∆t 3 = 30 tm1=1000 tt2 tk0 =1000 tm tt1 tt tm0=tto=20 τn 1 τn 2 τgn τ H×nh 3. 9 Gi¶n ®å nung a) Giai ®o¹n nung 1: - NhiÖt ®é trung b×nh cña khÝ lß: t k 0 + t k1 1000 + 1350 t k1 = = = 1175 [oC] 2 2 - NhiÖt ®é trung b×nh cña kim lo¹i: t m 0 + t m1 20 + 1000 t1 = = = 510 [oC] 2 2 - 53 -
- Tra b¶ng ta cã: ρ1 = 7695 [kg/m3], λ 1 = 33,8 [Kcal/m.h.oC], c1 = 0,134 [Kcal/kg.oC] vµ tÝnh ®−îc a1 = 0,033 [m2/h]. - HÖ sè truyÒn nhiÖt bøc x¹: ⎡⎛ ⎞ ⎛ T1 ⎞ ⎤ 4 4 C 1 ⎢⎜ T k1 ⎟ ⎜ − ⎟ ⎥ ⎡⎛ 1448 ⎞ 4 ⎛ 783 ⎞ 4 ⎤ ⎢⎜ 100 ⎟ ⎜ 100 ⎟ ⎥ 2,92.⎢⎜ ⎟ −⎜ ⎟ ⎥ ⎢⎝ ⎣ ⎠ ⎝ ⎠ ⎥⎦ ⎢⎝ 100 ⎠ ⎝ 100 ⎠ ⎥ ⎣ ⎦ α 1,bx = = = 176 [Kcal/m2.h.oK4] T k1 − T 1 1448 − 783 LÊy α 1,dl = 0,1.α 1,bx , ta tÝnh ®−îc hÖ sè truyÒn nhiÖt tæng céng: α1 = α 1,bx + α1,dl = 1,10.α1,bx = 1,10.176 = 194 [Kcal/m2.h.oK4] - TÝnh tiªu chuÈn Bi: α1 .x 0 194.0,1 Bi1 = = = 0,57 λ1 33,8 Bi1 = 0,57 >Bith, vËt nung coi lµ vËt dµy. - TÝnh nhiÖt ®é t−¬ng ®èi cña mÆt tÊm: T k1 − Tm1 1448 − 1000 φ m1 = = = 0,15 T k1 − Tm 0 1448 − 293 - TÝnh thêi gian nung giai ®o¹n 1: BiÕt Bi1 = 0,57, φm1 = 0,15 tra biÓu ®å Fo m = (Bi 1 , φ m1 ) x¸c ®Þnh ®−îc Fo 1 = 3,4 vµ tÝnh ®−îc thêi gian nung: 2 Fo 1 .x 0 3,4.0,12 τ n1 = = = 1,04 [h] a1 0,33 - X¸c ®Þnh nhiÖt ®é t©m cuèi giai ®o¹n: ⎛ x ⎞ BiÕt Bi, Fo tra biÓu ®å φ t = ⎜ Bi, F0 , ⎟ x¸c ®Þnh ®−îc φ t1 = 0,2 vµ tÝnh nhiÖt ®é t©m ⎜ ⎝ x0 ⎟ ⎠ cuèi giai ®o¹n: t t1 = t k1 − (t k1 − t t 0 ).φ t1 = 1175 − (1175 − 20).0,2 = 944 [oC] b) Giai ®o¹n nung 2: - NhiÖt ®é trung b×nh cña khÝ lß: t k 2 = 1350 [oC] - NhiÖt ®é trung b×nh cña kim lo¹i: - 54 -
- t m1 + t m 2 1000 + 1200 t2 = = = 1100 [oC] 2 2 Tra b¶ng ta cã: ρ 2 = 7696 [kg/m3], λ 2 = 24,5 [Kcal/m.h.oC], c 2 = 0,165 [Kcal/kg.oC] vµ tÝnh ®−îc a2 = 0,02 [m2/h]. - HÖ sè truyÒn nhiÖt bøc x¹: ⎡⎛ 4 4 ⎤ ⎢⎜ T k2 ⎞ ⎛ T 2 ⎞ ⎥ ⎟ −⎜ ⎟ ⎡⎛ 1623 ⎞ 4 ⎛ 1373 ⎞ 4 ⎤ C2 ⎟ −⎜ ⎢⎜ 100 ⎟ ⎜ 100 ⎟ ⎥ 2,57.⎢⎜ ⎟ ⎥ ⎢ ⎣⎝ ⎠ ⎝ ⎠ ⎥ ⎦= ⎢ ⎣⎝ 100 ⎠ ⎝ 100 ⎠ ⎥ ⎦ = 348 [Kcal/m2.h.oK4] α 2,bx = T k2 − T 2 1623 − 1373 LÊy α 2,dl = 0,05.α1,bx , ta tÝnh ®−îc hÖ sè truyÒn nhiÖt tæng céng: α1 = α 1,bx + α1,dl = 1,05.α1,bx = 1,05.348 = 365 [Kcal/m2.h.oK4] - TÝnh tiªu chuÈn Bi: α 2 .x 0 365.0,1 Bi 2 = = = 1,49 λ2 24,5 - TÝnh nhiÖt ®é t−¬ng ®èi cña mÆt tÊm: T k 2 − Tm 2 1623 − 1473 φm2 = = = 0,43 T k 2 − Tm1 1623 − 1273 - TÝnh thêi gian nung giai ®o¹n: BiÕt Bi2 = 1,49, φm2 = 0,43 tra biÓu ®å Fo m = (Bi 2 , φ m 2 ) x¸c ®Þnh ®−îc Fo 2 = 0,5 vµ tÝnh ®−îc thêi gian nung: 2 Fo 2 .x 0 0,5.0,12 τ2 = = = 0,25 [h] a2 0,02 - X¸c ®Þnh nhiÖt ®é t©m cuèi giai ®o¹n: BiÕt Bi2, Fo2 tra biÓu ®å φ t = (Bi 2 , Fo 2 ) x¸c ®Þnh ®−îc φ t 2 = 0,6 vµ tÝnh nhiÖt ®é t©m cuèi giai ®o¹n: t t 2 = t k 2 − (t k 2 − t t1 ).φ t 2 = 1350 − (1350 − 944).0,6 = 1106 [oC] c) TÝnh thêi gian gi÷ nhiÖt - NhiÖt ®é trung b×nh cña khÝ lß: t k 3 = 1250 [oC] §é chªnh nhiÖt ®é gi÷a mÆt vµ t©m cho phÐp 3oC/cm: - 55 -
- ∆t 3 = δt.x 0 = 30 [oC] ∆t c 30 TØ sè = = 0,32 , tra biÓu ®å (3.8) nhËn ®−îc Fo = 0,5, tÝnh ®−îc: ∆t d 94 2 Fo 3 .x 0 0,5.0,12 τ gn = = = 0,23 [h]. a3 0,022 VËy thêi gian nung tæng céng: τ = τ1 + τ 2 + τ gn = 1,04 + 0,25 + 0,23 = 1,52 [h] - 56 -
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình Lò luyện kim
142 p |
309 |
162
-
Giáo trình lò luyện kim - chương 1
7 p |
196 |
93
-
Giáo trình ô tô 1 - Chương 3
20 p |
168 |
90
-
Giáo trình lò luyện kim - chương 4
22 p |
146 |
67
-
Giáo trình lò luyện kim - chương 2
31 p |
147 |
63
-
Giáo trình lò luyện kim - chương 6
24 p |
126 |
62
-
Giáo trình lò luyện kim - chương 7
15 p |
127 |
61
-
Giáo trình lò luyện kim - chương 5
28 p |
127 |
57
-
Giáo trình - Lò công nghiệp - chương 3
16 p |
84 |
30
-
Giáo trình - Lò công nghiệp - chương 2
18 p |
60 |
26
-
Giáo trình - Lò công nghiệp - chương 7
15 p |
109 |
25
-
Giáo trình - Lò công nghiệp - chương 1
7 p |
75 |
24
-
Giáo trình - Lò công nghiệp - chương 6
6 p |
55 |
21
-
Giáo trình - Lò công nghiệp - chương 4
11 p |
53 |
19
-
Giáo trình Lò luyện kim - Hoàng Minh Công
146 p |
35 |
19
-
Giáo trình - Lò công nghiệp - chương 5
8 p |
53 |
15
-
Giáo trình Công nghệ kim loại (Tập 3: Hàn và cắt kim loại) - Đinh Minh Diệm
118 p |
23 |
8

Set-Cookie: TLDEVNamespace=mgktde5ahgkbescjb1vjlp2041; path=/; domain=.tailieu.vn; HttpOnly


markdown:
# Hướng dẫn sử dụng Ethereal
Chia sẻ: Phạm Sơn | Ngày: | Loại File: PDF | Số trang:6
288
lượt xem 104
download
lượt xem 104
download
![](http://image.tlvnimg.com/document/thumbnail/2009/20091215/sonpham/80x100/ethereal_9795.jpg)
##
Hướng dẫn sử dụng Ethereal
Mô tả tài liệu
[Vui lòng tải xuống để xem tài liệu đầy đủ](javascript:void(0);)
Download
![](http://static.tlvnimg.com/b2013az/templates/version1/default/images/down16x21.png)
Đầu tiên ta chọn card mạng (Interface) để quan sát các gói tin. Interface là card mạng vật lý, nơi các gói tin sẽ đi qua (in/out), chọn card mạng muốn bắt các gói tin đi qua đó. (Lưu ý: Card mạng ảo được sử dụng bởi phần mềm máy ảo VMWare bắt đầu bằng chữ Vmware-).
Chủ đề:
Bình luận(0)
[Đăng nhập để gửi bình luận!](javascript:void(0);)
CÓ THỂ BẠN MUỐN DOWNLOAD

Set-Cookie: TLDEVNamespace=iidqnca0rikp7oqprkcms16v13; path=/; domain=.tailieu.vn; HttpOnly


markdown:
# Quyết định 10/2001/QĐ-BXD của Bộ Xây dựng
Chia sẻ: Nguyen Thi Quynh Trang | Ngày: | Loại File: DOC | Số trang:2
lượt xem 1
download
![](http://image.tlvnimg.com/document/thumbnail/2009/20090819/quynhtrang/80x100/01000813.jpg)
##
Quyết định 10/2001/QĐ-BXD của Bộ Xây dựng
[Vui lòng tải xuống để xem tài liệu đầy đủ](javascript:void(0);)
Download
![](http://static.tlvnimg.com/b2013az/templates/version1/default/images/down16x21.png)
Quyết định 10/2001/QĐ-BXD của Bộ Xây dựng về việc ban hành giá dự toán ca máy và thiết bị xây dựng
Bình luận(0)
[Đăng nhập để gửi bình luận!](javascript:void(0);)
##
Nội dung Text: Quyết định 10/2001/QĐ-BXD của Bộ Xây dựng
- phßng èc éi ¬ ë ÷ iÖu luËtviÖtnam qu h c s d l v¨n LAWDATA Q uy Õ t Þ nh ® C ñ a B é tr n g B é X © y d ù n g s è 10/2001/Q§B X D ë n g µ y 11 th¸ng 6 n¨ m 2001 v Ò Ö c ba n µ n h vi h gi¸ ù d to¸n ca ¸ y v µ m thi Õt b Þ x © y d ù n g B é ë ng B é © y d ù ng tr X C¨n NghÞ nh è cø ®Þ s 15/CP µy ng 2/5/1993 ña Ýnh ñ c Ch ph quy ®Þnh Öm ô, quyÒn ¹n µ nhi v h v tr¸chnhiÖm qu¶n ýNhµ íc cña é, ¬ l n c¸c B c quan ngang é. B C¨n NghÞ nh è cø ®Þ s 15/CP µy ng 4/3/1994 ña Ýnh ñ c Ch ph quy ®Þnh chøc n¨ng,nhiÖ m ô,quyÒn ¹n vµ ¬ Êu chøc ña é ©y ùng. v h c c tæ c BX d C¨n Quy Õt nh è cø ®Þ s 166/1999/Q§BTC µy ng 30/1/1999 ña é c B tr ëng é µi chÝnh Ò BT v ban µnh Õ h ch ®é qu¶n ý,sö ông µ Ých khÊu l d v tr hao tµis¶n è nh. c ®Þ Theo Þ ña ®Ò ngh c «ng Ön ëng Ön Vi tr Vi kinh tÕ ©y ùng. x d Q uy Õ t Þ nh ® §i Ò u 1: Ban µnh Ìm h k theo Quy Õt nh µy ù m¸y ña ®Þ n gi¸d to¸nca c 12 ¹ m¸y µ ÕtbÞ ©y ùng a lo i v thi x d ch quy nh ®Þ trong B¶ng ù m¸y gi¸d to¸nca vµ Õt bÞ ©y ùng thi x d ban µnh h theo Quy Õt nh è ®Þ s 1260/1998/Q§BXD ngµy th¸ng11 28 n¨m 1998 ña é ëng é ©y ùng. c B tr BX d §i Ò u 2: ù m¸y µ ÕtbÞ ©y ùng µy µ c¨n ®Ó Gi¸ d to¸n ca v thi x d n l cø lËp n ©y ùng ¬ ®¬ gi¸x d c b¶n, lËp ù ©y ¾p d to¸n x l c«ng ×nh cña ù tr c¸c d ¸n ®Ç u µ ©y ùng. tv x d §i Ò u 3: ù m¸y µ ÕtbÞ ©y ùng µy îc ¸p ông Gi¸ d to¸n ca v thi x d n ® d theo ÷ng nh quy nh ®Þ chung µ íng dÉn ông ¹ vh ¸p d tiB¶ng ù m¸y gi¸d to¸nca vµ ÕtbÞ ©y ùng thi x d ban µnh h theo Quy Õt nh è ®Þ s 1260/1998/Q§BXD. §i Ò u ù m¸y µ ÕtbÞ ©y ùng µy ông èng 4: Gi¸d to¸nca v thi x d n ¸p d th nhÊt trongc¶ íckÓ õngµy th¸ng1 n t 1 n¨m 2001.
- 2 G i¸ d ù to¸n c a m ¸ y v µ thi Õt b Þ x © y d ù n g (Ban µnh Ìm h k theo Quy Õt nh è ®Þ s 10/2001/Q§BXD ngµy th¸ng6 11 n¨m 2001 ña é ëng é ©y ùng) c B tr BX d ST Lo¹im¸y µ ÕtbÞ v thi §Þnh møc Thµnh Gi¸ca m¸y ®ång) ( T nhiªnliÖu phÇn î th n¨ng îng ®iÒu Ón l khi Trong Tæng è ®ã s tiÒn l ng ¬ 1 2 3 4 5 6 1 M¸y µn h 27,5Kw 68,62kwh 1x4/7 15.408 92.046 2 Bóa ©n m3/ph c 3 1x4/7 15.002 26.044 3 M¸y µi Kw m 1 7,8 kwh 1x3/7 13.519 26.825 4 M¸y khoan 1500 BT w 2,94 kwh 1x3/7 13.946 42.964 5 M¸y ¾t t«ng MCD c bª 218 13,87 kg 1x4/7 16.193 151.138 x¨ng 6 M¸y ¾t 1500 c BT w 2,94 kwh 1x3/7 13.946 42.964 7 M¸y p Ý Ð kh 420 m3/h 52,6 kg 1x4/7 22.032 339.107 diezen 8 M¸y µo ãc êng cb® Writgen 90,72 kg 1x4/7 163.079 3.613.351 1000C diezen +1x5/7 9 ThiÕt bÞ s¬n kÎ v¹ch YHK 1x4/7 16.198 73.882 10A 10 Lß Êu ¬n n s YHK 3A 8,8 kg 1x4/7 26.782 410.544 diezen 11 Nåi nÊu ùa nh 1x4/7 15.069 26.549 12 Phao Ðp th 200 T 13.699 256.148 Ghi ó: ViÖc iÒu chØnh Ý ch ® chiph m¸y cho c¸c m¸y µ ÕtbÞ v thi trong Quy Õt nh µy îc¸p dông ®Þ n ® theo c¸cquy nh Ön µnh. ®Þ hi h
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Quyết định 277/QĐ-BXD của Bộ Xây dựng
3 p |
84 |
16
-
Quyết định 142/QĐ-BXD của Bộ Xây dựng
4 p |
73 |
10
-
Quyết định 331/QĐ-BXD của Bộ Xây dựng
3 p |
86 |
10
-
Quyết định 662/QĐ-BXD của Bộ Xây dựng
1 p |
82 |
9
-
Quyết định 328/QĐ-BXD của Bộ Xây dựng
4 p |
75 |
9
-
Quyết định 173/QĐ-BXD của Bộ Xây dựng
4 p |
64 |
8
-
Quyết định 773/QĐ-BXD của Bộ Xây dựng
3 p |
77 |
7
-
Quyết định 596/QĐ-BXD của Bộ Xây dựng
10 p |
56 |
6
-
Quyết định 801/QĐ-BXD của Bộ Xây dựng
3 p |
90 |
6
-
Quyết định 495/QĐ-BXD của Bộ Xây dựng
7 p |
67 |
5
-
Quyết định 661/QĐ-BXD của Bộ Xây dựng
1 p |
78 |
4
-
Quyết định 777/QĐ-BXD của Bộ Xây dựng
3 p |
99 |
4
-
Quyết định 765/QĐ-BXD của Bộ Xây dựng
3 p |
129 |
3
-
Quyết định 774/QĐ-BXD của Bộ Xây dựng
2 p |
98 |
3
-
Quyết định 132/QĐ-BXD của Bộ Xây dựng
1 p |
56 |
3
-
Quyết định 342/QĐ-BXD của Bộ Xây dựng
10 p |
43 |
2
-
Quyết định 298/QĐ-BXD của Bộ Xây dựng
2 p |
72 |
1
-
Quyết định 587/QĐ-BXD của Bộ Xây dựng
1 p |
50 |
1

Set-Cookie: TLDEVNamespace=6htpa71uc8lg0hpjk5agjo0t57; path=/; domain=.tailieu.vn; HttpOnly