Chủ Nhật, 9 tháng 10, 2016

Phần quan yếu cho truyền thông không dây mang tần số terahertz

một tốc độ siêu cao, màng lưới thông tin liên lạc không dây tiêu dùng THz thay vì tần số GHz hiện tại một bước gần hơn là. những nhà nghiên cứu tại Phòng thí nghiệm Felix của Đại học Radboud đã chỉ ra rằng nó với thể truyền tải 1 phương pháp hiệu quả sóng tín hiệu với tần số THz thông qua màng lưới cáp quang đãng hiện mang.

truyền hình HD, dữ liệu to, internet của sự vật và phương tiện truyền thông phố hội đã tăng lên đáng nói tốc độ dữ liệu của màng lưới thông báo liên lạc ko dây của chúng tôi, và tiếp tục làm cho như vậy. 1 cách rõ ràng để tạo điều kiện lớn mạnh màng lưới này là sử dụng tần số terahertz (THz, 1012 Hertz) có tốc độ dữ liệu tốc độ cao lên tới 100 Gbit / s. Hiện hệ thống thông tin dữ liệu không dây hoạt động ở tốc độ nhàng nhàng của 100Mbi / s dùng tần số vi sóng khoảng 1 gigahertz (GHz, 109 Hertz). Ví dụ: Hệ thống GPS khiến việc có 1,3 GHz tần số, wifi sở hữu 2,4 và 5 GHz, và lò vi sóng của bạn sở hữu 2,45 GHz. Trong việc kiếm tìm những tần số miễn phí, các khu vực chưa được khám phá THz là để ý lớn.

Biến dạng của tín hiệu terahertz

Đối với môn lướt sóng THz không dây trên Internet, nó là cần thiết để kết nối trạm ko dây THz sở hữu mạng cáp quang quẻ trên toàn thế giới. không những thế, khoa học vi sóng bây giờ không hoạt động ở tần số THz. "THz là một vùng tần số cạnh tranh, bởi vì nó là cả điện tử và quang cộng 1 khi," nhà nghiên cứu Felix Giel Berden giảng giải. "Đó là quá phải chăng cho quang đãng học thường ngày, và quá cao đối sở hữu đồ vật điện tử tiêu chuẩn." Hơn nữa, sóng dấu hiệu THz trong mạng cáp quang đãng được giành giật, vì điều chế tiêu chuẩn của ánh sáng laser tạo ra 2 dải biên (màu sắc) mà can thiệp với nhau. quang đãng Single Side Band (OSSB) là 1 cách thức để ngăn chặn điều này đảo lộn của thông tin bằng bí quyết chọn lọc dập 1 dải biên.

đặc biệt tách tia

những nhà kỹ thuật tại Phòng thử nghiệm Felix của Đại học Radboud phát triển một bộ điều biến OSSB cho phép sóng THz không dây được truyền đi không đảo lộn duyệt mạng cáp quang đãng. Tác kém chất lượng trước nhất Afric Meijer giải thích: "Với 1 bộ tách chùm được bề ngoài đặc thù để tách cả những sóng THz và ánh sáng laser hồng ngoại trong 1 nửa, 1 trong hai dải được giảm một yếu tố của hơn sáu mươi, trong khi biên khác của cường độ nâng cao lên đáng nói." Bộ điều biến đặc thù không đựng bất kỳ bộ phận đi lại hoặc các bộ lọc màu sắc, và hoạt động trên 1 băng thông siêu rộng 0,3-1 THz.

những THz OSSB điều biến là 1 sản phẩm phụ của những nghiên cứu của TeraOptronics trên FLARE THz laser (Free-electron laser để tăng quang phổ và phân giải cao thí nghiệm) tại Đại học Radboud. "Các thiết bị để xác định màu sắc của ánh sáng laser FLARE là chính xác các gì là cần yếu để Nhìn vào THz OSSB," Meijer giảng giải. "Cả FLARE THz laser đặc biệt quan tâm và Afric để mở mang giao thiệp sở hữu tần số THz là bắt buộc để làm 1 ảnh hưởng trong ngành này ngừng thi côngĐây là mới đối mang chúng ta," đồng tác kém chất lượng Wim van de Zande, hiện là Giám đốc nghiên cứu tại ASML kể.

cơ hội cho siêu HD, thực tại ảo và dữ liệu lớn

khi dấu hiệu THz trong không khí được hấp thụ mạnh bởi khá nước, thông tin liên lạc ko dây THz sẽ chủ yếu được dùng cho những khoảng bí quyết hơi ngắn. Meijer: "THz OSSB điều biến của chúng tôi cho phép chúng ta sử dụng mạng cáp quang cöïc hình ảnh thực tế ảo HD và sở hữu thể được nhận hoặc truyền ko dây thông qua một kết liên THz, giống như petabyte dữ liệu trong những viện nghiên cứu và bệnh viện.." Berden: "Cuốn sách này là một bằng chứng về nguyên tắc để đích thực sử dụng công nghệ này đòi hỏi một vài bước bổ sung, tỉ dụ rộng xuống những bề ngoài cho vi chế và cải tiến trong hiệu quả Chúng tôi hy vọng rằng ý tưởng này sẽ được tiếp diễn phát triển ngành nghề công nghiệp này... "

Thứ Bảy, 8 tháng 10, 2016

2D boron mang thể là rẻ nhất cho vật dụng điện tử linh hoạt

dù rằng họ đang chào mời như là xuất sắc cho những trang bị điện tử, nguyên liệu 2 chiều như graphene có thể là quá phẳng và khó căng ra để đáp ứng trong, vật dụng đeo linh hoạt. "Lượn Sóng" borophene mang thể rẻ hơn, theo các nhà kỹ thuật trường Đại học Rice.

những phòng thí điểm gạo của vật lý lý thuyết của Boris Ỵakobson và hợp tác viên thực nghiệm Quan sát ví dụ về nhấp nhô tự dưng, borophene kim loại, một lớp dày một nguyên tử boron, và yêu cầu chuyển nó vào 1 bề mặt đàn hồi sẽ bảo tồn stretchability của nguyên liệu cùng sở hữu tính chất điện tử hữu ích của nó.

graphene sở hữu tính dẫn cao mang lời hứa hẹn cho thiết bị điện tử linh hoạt, Ỵakobson nói, nhưng nó là quá cứng cho những thiết bị cũng cần phải căng, nén hoặc thậm chí xoay. Nhưng borophene lắng trên một chất nền bạc phát triển gấp nếp nano. Yếu ớt ràng buộc có bạc, nó mang thể được chuyển tới 1 bề mặt linh động để tiêu dùng.

Nghiên cứu xuất hiện trong tháng này trên tạp chí American Chemical Society Nano Letters.

Rice đã hợp tác mang các nhà thực nghiệm tại Phòng thử nghiệm quốc gia Argonne và Đại học Northwestern học borophene, mà đã được thực hiện có số lượng nhỏ. Dưới kính hiển vi, borophene hiển thị gấp nếp chứng minh thuộc tính lượn sóng của nó, có tức là nó sở hữu thể được thẩm định cao kéo dài 1 khi chiếc bỏ khỏi bề mặt, hoặc gắn lại vào 1 mềm mại, Ỵakobson nhắc.

những đội ngũ Rice xây dựng mô hình máy tính để Đánh giá những tính chất của nguyên liệu từ các nguyên tử lên. mô phỏng theo tác nhái trước tiên Zhuhua Zhang, một nhà nghiên cứu sau tiến sĩ trong nhóm Ỵakobson của, cho thấy chỗ trống lục giác trong borophene giúp làm mềm những vật liệu để tạo điều kiện dạng sóng của nó.

"Borophene là kim loại ở tình trạng điển hình của nó, mang mạnh ghép electron-phonon để tương trợ khả năng siêu dẫn, và 1 cấu trúc vùng sung túc chứa tế bào hình nón Dirac, như trong graphene" Ỵakobson nhắc.

mang một xô: Borophene cần cấu trúc cơ bản để khiến cho nó lượn sóng. lúc trồng trên 1 bề mặt với gì đặc thù, hình thức trùng hợp của nó giống như graphene, căn hộ, mảng gà dây của các nguyên tử carbon. Zhang cho biết borophene được thấp hơn xem như là một mạng tam giác sở hữu mảng định kỳ của vị trí tuyển lục giác.

Borophene thích được bằng phẳng bởi vì Đó là nơi mà năng lượng của nó là phải chăng nhất, Ỵakobson nói. Nhưng đáng ngạc nhiên, khi trồng trên bạc, borophene chuẩn y hình thức giống như accordion của nó khi mà bạc dựng lại bản thân để phù hợp. các tông sóng có thể được giữ lại bởi bo "tái dán" lên bề mặt khác.

"Dáng lượn sóng này cho đến nay hình như độc đáo do sự linh động cấu trúc đặc thù và tương tác đặc thù của borophene mang bạc, và ban sơ mang thể được kích hoạt bởi một nén nhẹ trong lớp khi một tí quá nhiều nguyên tử boron có được lên bề mặt", Zhang kể.

Thứ Sáu, 7 tháng 10, 2016

'Vật lý trị liệu ảo' giúp bệnh nhân bị liệt tập thể dục sử dụng trò chơi máy tính

1 thiết bị đơn thuần mang thể cải thiện khả năng của bệnh nhân bị khuyết tật tay để chơi vật lý trị liệu giống như trò chơi máy tính, theo một nghiên cứu mới.

những tầm giá tốt sáng chế, được gọi là gripAble ™, bao gồm một báng cầm tay điện tử trọng lượng nhẹ, tương tác không dây có một máy tính bảng tiêu chuẩn để cho phép người mua chơi trò chơi tay-đào tạo. Để dùng nó, bệnh nhân bóp, bật hoặc nhấc nắm tay, và nó rung để đáp ứng với hiệu suất của họ khi mà chơi. vật dụng tiêu dùng một cơ chế mới, với thể phát hiện những vận động rung nhỏ của bệnh nhân bị liệt nặng và lùa chúng vào việc kiểm soát 1 trò chơi máy tính.

đặc thù tập huấn trò chơi máy tính, điều khiển bởi điện thoại, đã được kiểu dáng cho những người ko có thương hiệu trước đây của việc sử dụng máy tính. ví dụ một máy tính trò chơi đòi hỏi các bạn phải bóp liên tục để trong khoảng từ bật mí một bức ảnh.

Trong 1 nghiên cứu mới được công bố trên báo chí PLoS ONE, các nhà nghiên cứu trong khoảng trường Imperial College London đã chỉ ra rằng việc dùng các đồ vật làm nâng cao tỷ lệ bệnh nhân đột quỵ bị tê liệt sở hữu thể cử động trực tiếp trên màn hình máy tính bảng bằng 50 phần trăm so có các bí quyết tiêu chuẩn. không những thế, các vật dụng kích hoạt hơn 1 nửa số bệnh nhân tàn tật nghiêm trọng trong nghiên cứu để tham gia mang những phần mềm cánh tay-đào tạo, trong khi ko sở hữu bệnh nhân đã với thể dùng cách thức điều khiển thông thường như trượt và chạm vào máy tính bảng và điện thoại sáng tạo.

Hơn năm triệu người ở Anh sống mang cánh tay yếu - khoảng 1 triệu người sau 1 cơn đột quỵ, cộng mang những người với điều kiện thần kinh và cơ xương. Arm yếu góp phần vào trạng thái khuyết tật về thể chất đòi hỏi phải chăm sóc lâu dài đắt. ví dụ, điều trị đột quỵ tốn của NHS 9 tỷ £ 1 năm, ngừng thi côngĐây là năm % của tổng số ngân sách NHS. Sự can thiệp chỉ được hiển thị để cải thiện chức năng cánh tay là lặp đi lặp lại, nhiệm vụ cụ thể tập thể dục nhưng điều này được giới hạn bởi tầm giá và sẵn với của vật lý trị liệu.

những thiết bị gripAble ™ được ngoài mặt cho những bệnh nhân sử dụng ko với giám sát trong bệnh viện và tại nhà. Nghiên cứu thể nghiệm những đồ vật với bệnh nhân đột quỵ, người đã bị đột quỵ liên tục bị liệt cánh tay tại trường Imperial College Y tế NHS Trust hơn sáu tháng gripAble ™. các nhà nghiên cứu đánh giá khả năng dùng gripAble ™ để điều khiển những trang bị chơi game di động như máy tính bảng mang thể được dùng để phục hồi chức năng và so sánh này để sử dụng những bí quyết thường nhật như trượt và chạm.

Họ phát hiện ra rằng 93 phần trăm bệnh nhân đã với thể làm cho phong trào sở hữu ý nghĩa chỉ đạo trỏ như là 1 kết quả của việc dùng gripAble ™. trái lại, 67 phần trăm bệnh nhân đã mang thể tiêu dùng những trang bị chơi game di động bằng cách thức trượt trên 1 máy tính bảng. Đối mang những loại quyền kiểm soát những máy tính bảng, chả hạn như khai thác hoặc sử dụng cần điều khiển, số lượng bệnh nhân với thể khiến phong trào với ý tức là phải chăng hơn.

Sự thành công của vật dụng là rõ ràng nhất cho những bệnh nhân có yếu cánh tay nặng: không mang bệnh nhân trong lực lượng này đã sở hữu thể sử dụng điều khiển thông thường để chơi trò chơi huấn luyện, trong khi Đó 58% có thể sử dụng gripAble ™.

Trong một phân lực lượng nhỏ thể nghiệm cũng đã chứng minh rằng các bệnh nhân bị tật nguyền mang thể chơi trò chơi máy tính can hệ đến việc theo dõi 1 tiêu chí có độ chính xác đa số rẻ như các người khỏe mạnh.

những thể nghiệm lâm sàng được thực hiện tại Bệnh viện Chữ thập Charing, một phần của Imperial College Y tế Trust, giữa năm 2014 và năm 2015. hàng ngũ nghiên cứu hiện đang thực hành 1 nghiên cứu khả thi ở Bắc Tây London để rà soát việc dùng các đồ vật trong nhà của bệnh nhân.

Tiềm năng của gripAble ™ là 1 phương tiện sản xuất vật lý trị liệu hiệu quả đã được công nhận bởi 1 giải thưởng Thách thức đổi mới NHS Anh vào đầu năm 2016.

Trưởng nhóm nghiên cứu, tiến sĩ Paul Bentley, người là 1 giảng viên lâm sàng tại Đại học tôn thất London và chuyên gia bản vấn danh dự nhà thần kinh học tại trường Imperial College Y tế NHS Trust, cho biết: "Ở Anh 100.000 trường hợp mới của những điểm yếu cánh tay được chẩn đoán mỗi năm sau 1 cơn đột quỵ thường khiến suy yếu này. khả năng của người dân để thực hành các hoạt động hàng ngày, đòi hỏi lâu dài săn sóc. việc sử dụng điện thoại di động chơi game có thể cung ứng 1 chi phí-hiệu quả và thuận tiện có sẵn công cụ để cải thiện các đi lại cánh tay của bệnh nhân đột quỵ nhưng để sở hữu những bệnh nhân mang hiệu quả của rất nhiều các mức độ khuyết tật sẽ mang thể truy hỏi cập nó.

"Chúng tôi đã tăng trưởng thiết bị gripAble ™ tới nâng cao cánh tay và chức năng nhận thức của bệnh nhân với chừng độ nhẹ đến điểm yếu cánh tay nặng. ko giống như các bí quyết điều trị khác bây giờ trên NHS, gripAble ™ là một trang bị giá tiền tốt mà sở hữu thể được dùng trong những bệnh viện và độc lập bởi những bệnh nhân tại nhà. tương tự nó có khả năng giúp tiết kiệm hàng triệu dịch vụ y tế của bảng. hiện tại chúng ta sở hữu ý định tiếp tục tăng trưởng những đồ vật vì thế chúng tôi mang thể giúp nhiều bệnh nhân hiện đang phải chịu các ảnh hưởng của cánh tay người nghèo và chuyển di cơ thể phía trên ".

những nhà nghiên cứu cộng tác có con người Robotics Group tại trường Imperial College London lớn mạnh những vật dụng. Nghiên cứu được tài trợ bởi niềm tin Imperial trong khái niệm, giải thưởng, giải Challenge NHS Anh đổi mới, và Chương trình sườn EU lần thứ 7 cho những khoản tài trợ nghiên cứu và lớn mạnh kỹ thuật.

những đồ vật gripAble ™ là một thí dụ về công việc của trung tâm Imperial học Y tế công nghệ (AHSC). Đây là sự hợp tác giữa Đại học hoàng phái London và ba NHS Trusts, nhằm cải thiện kết cục bệnh nhân bằng cách khai thác các khám phá khoa học và dịch chúng càng nhanh càng phải chăng vào chẩn đoán mới, thiết bị và phương pháp điều trị, trong NHS và xa hơn nữa. những nhà nghiên cứu đang khiến việc có đổi mới Imperial, đối tác chuyển giao kỹ thuật của nhà trường, để spinout gripAble ™ là 1 y tế kỹ thuật số khởi động để thương nghiệp hóa vật dụng.

Công nghệ ASP.NET Core là gì ?

Asp.net core là công nghệ hiện tại đang rất nóng trên Internet của Microsoft bởi trong năm nay Microsoft đã có một quyết định rất quan trọng khi bắt đầu phát hành chính thức công nghệ.NET Core 1.0 trên toàn cầu và còn đặc biệt hơn khi mà mở mã nguồn cho tất cả mọi người. Việc này khiến nhà phát triển rất hào hứng khi mà họ có thể được sử dụng nó hoàn toàn miễn phí trong việc xây dựng các ứng dụng web và còn được cải thiện và chỉnh sửa nữa. Đặc biệt phải không nào ?. Hãy cùng mình tìm hiểu về nó nhé.

Giới thiệu về ASP.NET Core là gì?
ASP.NET core là một nền tảng mã nguồn mở hiện đại và là một nền tảng công nghệ mới cho việc xây dựng các ứng dụng cloud trên internet nhằm kết nối tất cả các ứng dụng web, các ứng dụng loT và cả trên trên mobile backends. ASP.NET Core vừa có thể chạy được trên .NET Core và có thể chạy cả trên .NET Framework. ASP.NET Core được Mirosoft cấu trúc để cung cấp cho bạn một nền tảng nhằm phát triển tối ưu cho phép các ứng dụng của bạn được triển khai tới cloud hoặc chạy on-premises. ASP.NET Core chứa đựng các thành phần và các mô-đun cần thiết tối thiểu giúp xây dựng các giải pháp của bạn. Bạn có thể hoàn toàn phát triển và chạy ASP.NET Core từ Windows, MAC và cả LINUX. ASP.NET Core là mã nguồn mở và hoàn toàn miễn phí trên GitHub

Vì sao nào khiến bạn quyết định xây dựng ASP.NET Core thay cho ASP.NET?

ASP.NET đã được ra đời hơn 15 năm qua và là một phần không thể thiếu của .NET Framework. được hàng triệu nhà phát triển tin tưởng và sử dụng ASP.NET để xây dựng ứng dụng và chạy các ứng dụng web của họ và được liên tục cập nhật phát triển bởi Microsoft..
ASP.NET Core là một tiến bộ vượt bật khi đã thay đổi về cấu trúc làm cho nó gọn nhẹ hơn rất nhiều so với dung lượng nặng nề của nó khi trước. So với trước đó ASP.NET Core không dựa trên System.Web.dll mà nó dựa vào tập hợp các granular và gói NuGet. Nhờ thế giới lập trình có thể dễ dàng thực hiện các công việc tối ưu hóa, và chỉ cần đơn giản là bạn sử dụng các gói NuGet mà bạn cần là đủ. Ngoài ra nó được cải tiến để có thể bảo mật hơn, được cải thiện các hiệu suất và nhờ đọ bạn được giảm chi phí và chỉ cần chi trả cho những gì bạn cần. Đơn giản quá phải không ?

So sánh với .NET Framework thì sao

Nếu bạn so sánh với .NET Framwork bạn sẽ thấy rất nhiều điểm khác mà chỉ .NET Core có thể có, việc này khiến bạn có thể yên tâm sử dụng ASP.NET Core, có thể kể đến như:

Khác biệt về nền tảng hệ thống: .NET Framework chỉ hỗ trợ Windows và Windows Server trong khi .NET Core còn hỗ trợ hầu hết các nền tảng khác như macOS và Linux.

Là phần mềm mã nguồn mở : .NET Core là mã nguồn mở hoàn toàn, khác với .NET Framwork khi chỉ mở một phần

Nếu bạn cứ phân vân không biết nên chọn ASP.NET hay là ASP.NET Core thì cứ nghiên cứu ASP.NET Core đi, trong quá trình đó mình tin chắc bạn sẽ rõ lý do nào cần sử dụng ASP.NET Core

Sóng não với thể được sử dụng để phát hiện các thông báo cá nhân sở hữu khả năng gây h���i

an ninh ko gian mạng và xác thực đã bị tấn công trong những tháng vừa qua khi, hình như mọi ngày khác, 1 Thống kê mới của tin tặc giành được quyền truy hỏi cập vào thông báo tư nhân mẫn cảm hoặc đưa ra ánh sáng. Chỉ mới đây, hơn 500 triệu mật khẩu bị ăn trộm lúc Yahoo tiết lộ an ninh của mình bị xâm phạm.

hệ thống đảm bảo đã đi xa hơn chỉ thuần tuý là tới mang 1 mật khẩu sáng tạo với thể ngăn chặn những chuyên gia máy tính bất chính từ thâm nhập vào tài khoản Facebook của bạn. Sự phức tạp hơn hệ thống, hoặc, thông báo tư nhân quan yếu hơn hệ thống cất, càng có phổ quát tiến bộ hệ thống nhận dạng bảo kê nó sẽ trở thành.

quét vân tay và nhận dạng mống mắt chỉ là 2 cái cách chuẩn xác, từng được coi là công nghệ viễn tưởng, Đó là sử dụng rộng rãi bởi những hệ thống an toàn nhất. Nhưng dấu vân tay có thể bị đánh cắp và iris quét sở hữu thể được nhân rộng. không mang gì đã được chứng minh cực kỳ rõ ràng việc bị tin tặc máy tính.

"Lập luận chính cho hành vi, chính xác sinh trắc học là chế độ tiêu chính xác thực, giống như 1 mật khẩu, chuẩn xác bạn một lần trước lúc bạn truy nã cập vào dịch vụ", Abdul Serwadda 1 chuyên gia an ninh mạng và trợ lý giáo sư tại Khoa công nghệ máy tính tại Đại học Texas Tech cho biết.

"Bây giờ, khi bạn đã truy cập những nhà cung cấp, ko sở hữu bí quyết nào khác để hệ thống vẫn biết nó là bạn. Hệ thống này là mù như là người tiêu dùng nhà sản xuất. bởi thế, các diện tích chuẩn xác về hành vi nhìn khác nhận dạng người mua loại sở hữu thể giữ cho hệ thống nhận thức của người sử dụng nó. phê duyệt mô phỏng này, hệ thống mang thể theo dõi một số niềm tin số liệu về các người mang thể dùng nó và tức khắc nói cho reentry của mật khẩu mỗi khi thác số liệu niềm tin dưới đây 1 số ngưỡng ".

một trong các mô hình này ngày một rộng rãi trong cộng đồng nghiên cứu là tiêu dùng sóng não thu được từ một điện não, hoặc điện não đồ. phổ thông lực lượng nghiên cứu trên khắp quốc gia gần đây đã giới thiệu hệ thống mà tiêu dùng điện não đồ để chính xác người mua mang độ xác thực rất cao.

ngoài ra, các sóng não có thể nhắc rõ hơn về 1 người hơn chỉ bản sắc của mình. Nó mang thể bật mí góc cạnh y tế, hành vi hoặc xúc cảm của một người chậm triển khai, giả dụ đưa ra ánh sáng, với thể lúng túng hoặc gây tổn hại cho người ngừng thi côngĐây. Và có những vật dụng điện não đồ trở nên đa dạng hơn nữa giá cả tốt, chuẩn xác và di động và những áp dụng được bề ngoài cho phép mọi người tiện lợi hơn đọc 1 EEG quét, khả năng xảy ra chậm triển khai là rất hiểm nguy.

"EEG đã trở nên một vận dụng hàng hóa. Đối với $ 100 bạn với thể tìm một trang bị EEG phù hợp trên đầu của bạn giống như 1 cặp tai nghe," Serwadda nói. "Bây giờ mang những ứng dụng trên các ứng dụng thị trường, não bộ cảm biến mà bạn có thể tậu những nhân thể ích, tải về các áp dụng trên điện thoại của bạn và bắt đầu để tương tác sở hữu các ứng dụng dùng tín hiệu não của bạn Điều chậm tiến độ khiến chúng tôi phải suy nghĩ;. hiện giờ chúng tôi mang các tín hiệu não đã được truyền thống chỉ được truy tìm cập bởi các bác sĩ được xử lý bởi các người bình thường. bây giờ bất cứ người nào với thể viết 1 ứng dụng với thể nhận được quyền truy hỏi cập vào những tín hiệu não của người sử dụng và cố gắng vận dụng chúng để khám phá những gì đang xảy ra. "

chậm triển khai là nơi mà Serwadda và sinh viên thấp nghiệp Richard Matovu quy tụ sự chú ý của họ: phấn đấu để xem các đặc điểm nhất mực có thể được thu gom trong khoảng các sóng não của một người. Họ đã miêu tả những phát hiện của họ vừa mới đây cho IEEE (IEEE) Hội nghị quốc tế về sinh trắc học.

sóng não và an ninh mạng

Serwadda cho biết kỹ thuật này vẫn đang lớn mạnh trong điều kiện của việc với thể dùng sóng não của 1 người cho những mục đích chuẩn xác. Nhưng nó là 1 ngành đầu cơ nghiên cứu đã lôi kéo được sự chú ý của một số doanh nghiệp liên bang. Quỹ kỹ thuật đất nước (NSF), tài trợ cho 1 Công trình ba năm mà Serwadda và các người khác trong khoảng Đại học Syracuse và Đại học Alabama-Birmingham đang khám phá phương pháp một vài phương thức hành vi, bao gồm mô hình não EEG, có thể được tận dụng để khiến cho nâng cao thêm những cơ chế chuẩn xác người mua truyền thống .

"Không sở hữu cài đặt nào, nhưng toàn bộ nghiên cứu được tiến hành để xem chiếc EEG mang thể được tích hợp vào các hồ sơ chuẩn xác về hành vi tiêu chuẩn," Serwadda nói

giả như một hệ thống tiêu dùng EEG như các phương thức để chính xác khách hàng, thường cho một hệ thống như vậy, đầy đủ những biến đã được tối ưu để tối đa hóa độ xác thực chính xác. một chọn lọc những biến nhắc trên bao gồm:

• những tính năng được dùng để tạo nên các cái người dùng.

• những dải tần số dấu hiệu từ chậm tiến độ tính năng được chiết xuất.

• các khu vực của não bộ mà trên Đó các điện cực được đặt, các thông số khác.

Theo giả thiết này của một hệ thống xác thực tinh chỉnh, Serwadda và những đồng nghiệp của mình giải quyết những thắc mắc sau: • ví như một thực thể độc hại là bằng bí quyết nào chậm triển khai để truy hỏi cập mẫu trong khoảng hệ thống chính xác được tối ưu hóa này, người đấy sẽ mang thể khai thác những dòng này để suy ra ko thông báo chứng thực tụ họp về những người tiêu dùng sở hữu độ xác thực cao? • Trong trường hợp suy luận như vậy là với thể, mà những thuộc tính của những loại bề ngoài với thể làm cho giảm hoặc nâng cao mối doạ dọa?

Hóa ra, họ thực thụ mua thấy hệ thống chính xác EEG cho đi những thông báo ko chuẩn xác trọng điểm. sử dụng một hệ thống xác thực trong khoảng UC-Berkeley và một biến thể của 1 trong khoảng một hàng ngũ nghiên cứu tại Đại học Binghamton và Đại học Buffalo, Serwadda và Matovu thể nghiệm kém chất lượng thuyết của họ, tiêu dùng rượu như những thông báo cá nhân nhạy cảm mà 1 kẻ thù sở hữu thể muốn suy ra từ EEG loại chuẩn xác .

Trong 1 nghiên cứu gồm 25 người nghiện rượu chính thức chẩn đoán và 25 đối tượng ko cồn, tỷ lệ lỗi thấp nhất thu được khi xác định người nghiện rượu là 25 phần trăm, với tức thị độ chính xác phân cái khoảng 75 phần trăm.

lúc họ tinh chỉnh hệ thống và đổi thay 1 số biến, họ thấy rằng khả năng để phát hiện hành vi sở hữu cồn có thể giảm tất cả tại những giá thành của khá khiến giảm hiệu suất của hệ thống chứng thực điện não đồ.

Động lực để khám phá

động lực Serwadda cho minh sóng não sở hữu thể được dùng để mách nhỏ thông tin tư nhân sở hữu khả năng gây hại ko được để cải thiện các bí quyết để với được thông tin Đó. ngừng thi côngĐây là để ngăn chặn nó.

Để minh họa, ông cho 1 như vậy dùng nhận dạng vân tay tại sân bay. quét vân tay đọc rặng núi và thung lũng trên ngón tay để xác định bản sắc độc đáo của một người, và ngừng thi côngĐây là nó.

Trong 1 kịch bản giả định mà hệ thống tương tự chỉ mang thể hoạt động chuẩn xác nếu như ngón tay của người dùng đã bị đâm và 1 số máu rút ra từ chậm triển khai, đây sẽ là vấn đề bởi vì máu rút ra bằng châm mang thể được dùng để suy ra điều khác hơn là bản sắc của người dùng, chả hạn như việc 1 người bị bệnh khăng khăng, chẳng hạn như bệnh tiểu tuyến phố.

mang lượng thông tin thêm rằng hệ thống chuẩn xác EEG với thể thu lượm về người sử dụng, hệ thống EEG hiện nay mang thể được so sánh sở hữu đầu đọc dấu vân tay nhái mà đầu ngón tay của khách hàng. Serwadda muốn lái nghiên cứu vững mạnh các hệ thống chính xác EEG mà thực hiện những mục đích khi mách nhỏ những thông tin tối thiểu về những đặc điểm khác so sở hữu danh tính của người sử dụng trong điều kiện chính xác.

ngày nay, trong số đông những nghiên cứu về vấn đề chuẩn xác EEG, các nhà nghiên cứu chủ yếu là mua bí quyết vượt lên nhau về tỷ lệ lỗi hệ thống. Họ làm cho việc mang các chỉ tiêu trung tâm của việc ngoài mặt 1 hệ thống sở hữu tỷ lệ lỗi tốt hơn rộng rãi so mang nhà nước-of-the-nghệ thuật. Bất cứ lúc nào một đội ngũ nghiên cứu lớn mạnh hoặc xuất bản một hệ thống xác thực EEG mà đạt tỷ lệ lỗi phải chăng nhất, 1 hệ thống như vậy là tức thì cài đặt như các điểm tham chiếu.

1 thắc mắc quan trọng mà đã ko được thấy nhiều sự chú ý đến thời khắc này là phương pháp các tính chất ngoại hình nhất quyết của các hệ thống này, nói bí quyết khác những cái tính năng tiêu dùng để xây dựng các loại tiêu dùng, với thể liên quan đến khả năng của họ để rò rỉ thông báo tư nhân nhạy cảm. nếu, thí dụ, một hệ thống sở hữu tỷ lệ lỗi chính xác rẻ nhất đi kèm sở hữu các hành lý thêm rò rỉ một số tiền cao hơn đáng đề cập những thông tin tư nhân, sau chậm tiến độ là 1 hệ thống tương tự có thể, trong thực tại, không phải là hữu dụng như tỷ lệ lỗi thấp của nó bắt buộc. quý khách sẽ chỉ hài lòng, và sở hữu được các tiện thể ích đông đảo của hệ thống, nếu như vi phạm quyền riêng tư tiềm năng liên kết có hệ thống là được hiểu rõ và giải pháp tránh phù hợp thực hành.

Nhưng, Serwadda cho biết, khi mà những điện não đồ vẫn còn đang được nghiên cứu, làn sóng tiếp theo của phát minh đã được khởi đầu.

"Trong ánh sáng của các thách thức tây riêng nhận ra được bằng điện não đồ, điều đáng nhắc là làn sóng tiếp theo của khoa học sau khi EEG đã được vững mạnh," Serwadda nói. "Một trong những kỹ thuật này là chức năng hồng ngoại sắp quang phổ (fNIRS), trong chậm triển khai có một tỷ lệ tín hiệu-to-noise cao hơn đa dạng so sở hữu một điện não đồ. Nó cung ứng một bức tranh chuẩn xác hơn về hoạt động của não được khả năng của mình để tập trung vào 1 khu vực cụ thể của óc."

các tin phải chăng, ngày nay, là công nghệ fNIRS vẫn còn khá đắt; tuy nhiên với mọi khả năng giá sẽ giảm theo thời kì, có khả năng dẫn tới 1 vận dụng dân sự vào khoa học này. Nhờ những quyết tâm của các nhà nghiên cứu như Serwadda, hạn chế sự rò rỉ thông tin tư nhân nhạy cảm thông qua những kỹ thuật này đang bắt đầu được chú ý trong cùng đồng nghiên cứu.

"Ý tưởng cơ bản đằng sau nghiên cứu này là để thúc đẩy 1 hướng nghiên cứu mà chọn lựa những thông số thiết kế theo cách thức tương tự mà chúng ta không chỉ để ý đến nhận khách hàng rất chuẩn xác nhưng cũng để ý tới việc giảm thiểu số lượng thông báo tư nhân mẫn cảm nó có thể đọc," Serwadda đề cập .

Thứ Tư, 5 tháng 10, 2016

'Bánh mì nguyên tử "có thể làm cho máy tính 100X xanh

những nhà nghiên cứu đã kiểu dáng một chiếc vật liệu mang thể dẫn đến 1 thế hệ mới của những vật dụng máy tính, đóng gói trong khả năng tính toán hơn trong khi tiêu thụ 1 phần của năng lượng mà vật dụng điện tử hiện tại đòi hỏi.

Được biết tới như 1 loại nguyên liệu multiferroic magnetoelectric, nó kết hợp các thuộc tính điện và từ tính ở nhiệt độ phòng và dựa trên một hiện tượng gọi là "phẳng rumpling."

những bánh sandwich nguyên liệu mới cộng lớp tư nhân của các nguyên tử, sản xuất 1 bộ phim mỏng với cực từ sở hữu thể được lộn trong khoảng hăng hái tới thụ động hoặc trái lại mang những xung điện nhỏ. lâu dài, trang bị các nhà hoạch định với thể sử dụng tài sản này để lưu trữ khoa học số 0 và 1 của, là xương sống nhị phân là nền tảng của các trang bị máy tính.

"Trước lúc khiến việc này, chỉ sở hữu 1 khác multiferroic ở nhiệt độ phòng sở hữu thuộc tính trong khoảng ​​có thể được điều khiển bằng điện," John Heron, trợ lý giáo sư tại Khoa công nghệ và công nghệ vật liệu tại Đại học Michigan, người đã khiến cho việc trên những tài liệu có đề cập các nhà nghiên cứu tại Đại học Cornell. "Đó là điều khiển điện là những gì kích thích những dịch vụ đồ vật điện tử, vì vậy đây là một bước tiến to về phía trước."

multiferroics ở nhiệt độ phòng là một chỉ tiêu hot bỏng theo đuổi trong các ngành điện tử, vì họ đòi hỏi ít điện năng để đọc và ghi dữ liệu trên những trang bị bán dẫn dựa trên ngày nay. không những thế, dữ liệu của họ không biến mất lúc nguồn được tắt. những đặc tính có thể cho phép những thiết bị có đề nghị chỉ xung ngắn gọn về điện thay vì luồng ko đổi Đó là cấp thiết cho trang bị điện tử ngày nay, tiêu dùng năng lượng ước tính khoảng 100 lần ít hơn.

"Điện tử là những người tiêu dùng tăng trưởng nhanh nhất của năng lượng trên toàn toàn cầu," Ramamoorthy Ramesh, phó giám đốc phòng thí nghiệm cho những công nghệ năng lượng tại Phòng thí nghiệm quốc gia Lawrence Berkeley cho biết. "Hôm nay, khoảng 5 % của tổng mức tiêu thụ năng lượng toàn cầu của chúng tôi là dành cho vật dụng điện tử, và chậm tiến độ là dự kiến ​​sẽ tăng đến 40-50 phần trăm vào năm 2030 nếu chúng ta tiếp diễn với tốc độ hiện nay và nếu như ko mang các tiến bộ lớn trong lĩnh vực này dẫn tới giảm tiêu thụ năng lượng."

để đáp ứng những vật liệu mới, những nhà nghiên cứu bắt đầu sở hữu mỏng, bộ phim nguyên tử chính xác của hình lục giác oxit Lutetium sắt (LuFeO3), một mẫu nguyên liệu được biết đến là một chất sắt điện mạnh mẽ, nhưng không mạnh mẽ trong khoảng. oxit Lutetium sắt bao gồm những đơn lớp oxit Lutetium và oxit sắt xen kẽ. Sau chậm tiến độ, họ tiêu dùng một kỹ thuật gọi là phân tử-beam epitaxy để thêm một đơn lớp oxit sắt tới mỗi 10 lặp đi lặp lại nguyên tử của các cái đơn lớp đơn độc nhất.

"Về căn bản chúng tôi đã được phun sơn nguyên tử riêng của sắt, Lutetium và oxy để đạt được 1 cấu trúc nguyên tử mới mang đặc tính trong khoảng tính mạnh hơn," Darrell Schlom, một giáo sư công nghệ vật liệu và khoa học tại Cornell và là tác giả chính của nghiên cứu về việc công bố vừa mới đây cho biết trong thực chất.

Kết quả là một mẫu vật liệu mới kết hợp một hiện tượng trong oxit Lutetium gọi là "phẳng rumpling" với những thuộc tính trong khoảng ​​của sắt oxit để đạt được tính multiferroic ở nhiệt độ phòng.

Heron giải thích rằng Lutetium mô tả chuyển vị cấp nguyên tử được gọi là rumples. Thể trông thấy dưới kính hiển vi điện tử, các rumples tăng cường trong khoảng tính trong nguyên liệu, cho phép nó tồn tại ở nhiệt độ phòng. các rumples mang thể được vận động bằng cách thức ứng dụng một điện trường, và đủ để vận động trong khoảng trường trong lớp láng giềng của oxit sắt từ dương sang âm, hoặc trái lại, tạo ra 1 cái nguyên liệu với thuộc tính từ ​​có thể được kiểm soát bằng điện - 1 "magnetoelectric multiferroic. "

khi mà Heron tin rằng một thiết bị multiferroic khả thi là khả năng một vài năm nữa, công tác đưa ngành nghề này sắp hơn đến chỉ tiêu của đồ vật tiếp tục cải thiện tốc độ của lĩnh vực công nghiệp máy tính khi mà tiêu thụ ít điện năng hơn. Đây là điều cấp thiết giả dụ ngành công nghiệp điện tử là để tiếp diễn tạm bợ ứng theo định luật Moore, dự đoán rằng sức mạnh của mạch tích hợp sẽ nâng cao gấp đôi mỗi năm. Điều này đã được chứng minh đúng từ khi các năm 1960, nhưng những chuyên gia dự báo rằng công nghệ silicon hiện tại có thể được đạt đến dừng của nó.

Thứ Ba, 4 tháng 10, 2016

cách thức cài đặt project visual studio và sql sever

Đây là một bài cũng rất lâu rồi, nhưng nay mình sẽ san sớt lại cho Anh chị

Project QLSVApplication: là vận dụng tiêu dùng để hiển thị thông tin sinh viên, chỉ là 1 Datagridview để hiển thị lên.

Project SetupEngine : là Project loại Libraries, project này chúng ta sẽ thêm mẫu Installer đặt tên là InstallerEngine (Class này có nhiệm vụ cài đặt cơ sở dữ liệu vào máy tính, với các tham số được truyền vào từ công đoạn cài đặt do ta quy định). Ta sẽ nhúng các SQL Script mà SQLServer sản xuất cho ta vào đây mang tên sqldata.txt và sqldropcreate.txt (nhớ đặt tên viết thường, ta sẽ đi vào chi tiết ở phần sau)

Ta sẽ biên dịch project này thành dll để tiêu dùng trong Project QLSVSetup.

Project QLSVSetup : dùng để cài đặt áp dụng QLSVApplication vào máy tính, và ra lệnh cho SetupEngine cài đặt cơ sở dữ liệu

Bước 1: Tạo áp dụng tiêu dùng

Project QLSVApplication:

Trong project này thuần tuý chỉ là hiển thị thông báo, chuỗi kết nối sẽ được đọc từ app.config. Chuỗi này sẽ được cấp nhập trong công đoạn cài đặt vào máy tính.

Bước 2: Tạo Project để cài đặt CSDL

Project SetupEngine: Project sử dụng để tạo CSDL, Project này chúng ta nhớ chọn loại Libraries

– Để tạo class Installer như trong project: Bấm chuột phải vào Project/ chọn Add / New Item . Trong của sổ mới hiện lên chúng ta tìm tới loại Installer Class, đặt tên class là InstallerEngine

– Đặt tên class InstallerEngine rồi nhấn Add

– tiếp diễn tạo hai Text File để lưu SQL Script (các Script này được lấy bằng dụng cụ SQL Server cho lẹ). Ở đây ta chia làm hai tập tin SQL Script bởi vì lý do sau: Thao tác tạo CSDL thiết yếu thời kì chờ để nó kịp update vào SQL Server. Ta cho chờ 1 thời kì sau Đó mới tiếp tục chạy những SQL Script về tạo bảng, insert dữ liệu…

– Để tạo Text File: Bấm chuột phải vào Project / Add/ New Item / chọn Text File và nhập tên

– Trên đây là tạo Text File tên sqldropcreate.txt , chú ý nhớ đặt tên viết thường đông đảo.

– Sau khi tạo xong tập tin sqldropcreate.txt, chép đoạn Script tạo CSDL vào đây (xem hình ):

–>Các script này sở hữu sẵn do SQL Server tự tạo nên ta chỉ cần copy từ ngừng thi côngĐây vào đây (nhớ bỏ hết các mẫu sở hữu chữ Go)

– Tiếp theo ta phải cấu hình để hai Text File này được nhúng vào Resource sau lúc biên dịch.

– Trong Properties: tuần tự chọn 2 Text File trên và chọn Embedded Resource trong Build Action

– hiện nay chúng ta tiến hành chỉnh sủa class InstallerEngine:

using System;using System.Collections;using System.Collections.Generic;using System.ComponentModel;using System.Configuration.Install;

using System.Linq;

using System.IO;

using System.Reflection;

using System.Data.SqlClient;

using System.Xml;

using System.Collections.Specialized;

namespace SetupEngine

[RunInstaller(true)]

public partial class InstallerEngine : System.Configuration.Install.Installer

private string logFilePath ="";

private string pathApp = "";

public InstallerEngine()

InitializeComponent();

private string GetSql(string Name)

try

// Gets the current assembly.

Assembly Asm = Assembly.GetExecutingAssembly();

// Resources are named using a fully qualified name.

Stream strm = Asm.GetManifestResourceStream(Asm.GetName().Name + "." + Name);

// Reads the contents of the embedded file.

StreamReader reader = new StreamReader(strm);

string sInfor = reader.ReadToEnd();

Log(sInfor);

reader.Close();

return sInfor;

catch (Exception ex)

Log(ex.ToString());

throw ex;

private void ExecuteSql(string serverName, string dbName, string userid, string password, string Sql)

string connStr = "server =" + serverName + ";database =" + dbName + ";uid=" + userid + ";pwd=" + password;

using (SqlConnection conn = new SqlConnection(connStr))

try

SqlCommand cmd = new SqlCommand(Sql);

conn.Open();

cmd.Connection = conn;

int n = cmd.ExecuteNonQuery();

Log(" n= " + n);

conn.Close();

catch (Exception ex)

Log(ex.ToString());

protected void AddDBTable(string serverName, string userid, string password)

try

// Creates the database and installs the tables.

string strScript = GetSql("sqldropcreate.txt");

ExecuteSql(serverName, "master", userid, password, strScript);

System.Threading.Thread.Sleep(60 * 1000);

strScript = GetSql("sqldata.txt");

ExecuteSql(serverName, "dbqlsv", userid, password, strScript);

System.Threading.Thread.Sleep(60 * 1000);

string connStr = "server =" + serverName + ";database =dbqlsv;uid=" + userid + ";pwd=" + password;

Log("AppPath=" + pathApp);

XmlDocument xmlDom = new XmlDocument();

xmlDom.Load(pathApp);

// Get XML node

XmlNode xmlNode = xmlDom.SelectSingleNode(

"configuration/appSettings/add[@key='MYCONN']");

xmlNode.Attributes["value"].Value = connStr;

// Updating connection string in file

Log("Followind node of config file will be updated: " + xmlNode.InnerXml);

// Save to disk

xmlDom.Save(pathApp);

catch (Exception ex)

//Reports any errors and abort.

Log(ex.ToString());

throw ex;

protected override void OnAfterInstall(IDictionary savedState)

base.OnAfterInstall(savedState);

public override void Install(System.Collections.IDictionary stateSaver)

base.Install(stateSaver);

string assemPath = this.Context.Parameters["assemblypath"];

int pos = assemPath.LastIndexOf("\");

logFilePath = assemPath .Substring(0,pos+1)+ "\SetupLog117.txt";

pathApp = assemPath.Substring(0, pos + 1) + "\QLSVApplication.exe.config";

Log("—-Setup started—-");

Log("Server=" + this.Context.Parameters["servername"] + " ; User Id=" + this.Context.Parameters["userid"] + " ; pwd=" + this.Context.Parameters["password"]);

foreach (DictionaryEntry s in this.Context.Parameters)

Log("Parameter : "+s.Key +" ; value ="+s.Value);

AddDBTable(this.Context.Parameters["servername"], this.Context.Parameters["userid"], this.Context.Parameters["password"]);

public void Log(string str)

StreamWriter Tex;

try

Tex = File.AppendText(this.logFilePath);

Tex.WriteLine(DateTime.Now.ToString() + " " + str);

Tex.Close();

catch

giảng giải một số loại lệnh bên trên:

Hàm GetSql(string Name) : sử dụng để đọc 2 Text File Sql Script. Vì hai tập tin này chúng ta nhúng vào Assembly nên cơ chế đọc tập tin sẽ là tương tự (xem code).

Lệnh : this.Context.Parameters["assemblypath"]; lấy đúng các con phố dẫn mà khi cài đặt chương trình người sử dụng chọn.

Key assemblypath là với sẵn, phải viết y chang.

this.Context.Parameters["servername"], this.Context.Parameters["userid"], this.Context.Parameters["password"]

còn servernam, userid, password là do chúng ta quy định, do chúng ta đặt bên Project Setup, 3 biến này phải đặt giống hệt như 3 biến mà bên Project Setup ta đã đặt.

void AddDBTable(string serverName, string userid, string password) sở hữu nhiệm vụ xóa và tạo mới CSDL sau ngừng thi côngĐây tạo các bảng, dữ liệu. sau lúc tạo xong thì tự động cập nhập file App.config cho chương trình (dùng xml).

Bước 3: Tạo Project Setup

Chọn Setup project: đặt tên QLSVSetup rồi bấm OK.

Bấm chuột phải vào QLSVSetup/ chọn File System:

Tại cửa sổ này ta bấm chuột vào thư mục Application Folder, để sở hữu được thông tin như bên phải của hình ta làm như sau:

Bấm chuột phải vào Application Folder / Add/ Project Output…

tiếp tục thêm những tập tin ứng dụng và app.config bên Project QLSVApplication vào đây:

Bấm chuột phải vào Application Folder / Add/ File:

Kết quả:

Để tạo Shortcut cho ứng dụng sau lúc cài đặt thì ta bấm chuột phải vào QLSVApplication.exe

Sau chậm tiến độ cắt vào User's Desktop hay User's programs menu, ta mang thể tạo bất kỳ thư mục nào bên nhánh trái, rồi chép Shortcut vào chậm triển khai, với thể tạo phổ thông shortcut.

Tiếp theo ta cấu hình giao diện cài đặt, bấm chuột vào QLSVSetup, bên trên ta chọn Icon User Interface Editor:

Màn hình User interface sẽ xuất hiện:

Cửa sổ Add Dialog hiển thị lên:

Cấu hình TextBoxes (A) như hình chụp bên dưới:

những tên : CUSTOMTEXTA1, CUSTOMTEXTA2, CUSTOMTEXTA3 là do ta đặt để bên Custom Action sở hữu thể tham chiếu lấy giá trị trong khoảng màn hình cài đặt. ko tiêu dùng Edit4Property nên lớn cho Edit4Visible =false

– Tiếp theo, cấu hình Custom Action: Bấm chuột phải vào QLSVSetup/ chọn View/ chọn Custom Actions

Tại cửa sổ Custom Actions, Bấm chuột phải vào Install / chọn Add Custom Action…

Chọn Primary ouput from SetupEngine (active) rồi bấm OK.

Sau chậm tiến độ click chuột vào Primary output, Quan sát Properties, Ta cấu hình CustomActionData như hình:

/servername=[CUSTOMTEXTA1] /userid=[CUSTOMTEXTA2] /password=[CUSTOMTEXTA3]

Ta viết y chang như trên, chú ý là 3 biến servername, userid, password ta đặt bên này được dùng cho bên SetupEngine :

this.Context.Parameters["servername"], this.Context.Parameters["userid"], this.Context.Parameters["password"]

tức thị ở đây ta đặt tên gì thì bên SetupEngine phải lấy đúng tên ta đặt bên này

CUSTOMTEXTA1 , CUSTOMTEXTA2, CUSTOMTEXTA3 là do ta đặt cho những EditPropertie của Textboxes (A)

Bước 4: biên dịch và cài đặt

– Cấu hình QLSVSetup như bên dưới

Chọn Rebuild để biên dịch Setup.

Sau chậm tiến độ chọn Install để cài đặt:

các bước cài đặt:

  1. BẤM next, tự động xuất hiện màn hình cấu hình CSDL (chính là Textboxes (A))

2. Nhập thông báo và bấm Next:

3. Chọn trục đường dẫn cài đặt và bấm Next … cứ vậy là xong. Chương trình sẽ cài đặt vận dụng song song cài đặt SQL luôn (có cập nhật kết nối cho ta luôn)

Kết quả Nhìn vào màn hình Desktop và phát động chương trình:

chuyên chở tập tin hướng dẫn chi tiết tại đây : http://www.mediafire.com/?16y4jy4pwpq1mpj

tải source code tại đây: http://www.mediafire.com/?35rflfc15bdav5v

Chúc Anh chị thành công

bí quyết tạo setup project visual studio mang Sql server

2 Votes

Tạo Solution mang chứa 3 Project bên như dưới:

Project QLSVApplication: là ứng dụng tiêu dùng để hiển thị thông báo sinh viên, chỉ là 1 Datagridview để hiển thị lên.

Project SetupEngine : là Project chiếc Libraries, project này chúng ta sẽ thêm dòng Installer đặt tên là InstallerEngine (Class này mang nhiệm vụ cài đặt cơ sở dữ liệu vào máy tính, sở hữu các tham số được truyền vào từ thời kỳ cài đặt do ta quy định). Ta sẽ nhúng các SQL Script mà SQLServer sản xuất cho ta vào đây có tên sqldata.txt và sqldropcreate.txt (nhớ đặt tên viết thường, ta sẽ đi vào chi tiết ở phần sau)

Ta sẽ biên dịch project này thành dll để sử dụng trong Project QLSVSetup.

Project QLSVSetup : dùng để cài đặt áp dụng QLSVApplication vào máy tính, và ra lệnh cho SetupEngine cài đặt cơ sở dữ liệu

Bước 1: Tạo vận dụng dùng

Project QLSVApplication:

Trong project này đơn thuần chỉ là hiển thị thông báo, chuỗi kết nối sẽ được đọc trong khoảng app.config. Chuỗi này sẽ được cấp nhập trong thời kỳ cài đặt vào máy tính.

Bước 2: Tạo Project để cài đặt CSDL

Project SetupEngine: Project dùng để tạo CSDL, Project này chúng ta nhớ chọn cái Libraries

– Để tạo class Installer như trong project: Bấm chuột phải vào Project/ chọn Add / New Item . Trong của sổ mới hiện lên chúng ta sắm tới dòng Installer Class, đặt tên class làInstallerEngine

– Đặt tên class InstallerEngine rồi nhấn Add

– tiếp tục tạo 2 Text File để lưu SQL Script (các Script này được lấy bằng phương tiện SQL Server cho lẹ). Ở đây ta chia làm cho 2 tập tin SQL Script bởi vì lý do sau: Thao tác tạo CSDL cần thiết thời gian chờ để nó kịp update vào SQL Server. Ta cho chờ một thời gian sau Đó mới tiếp diễn chạy những SQL Script về tạo bảng, insert dữ liệu…

– Để tạo Text File: Bấm chuột phải vào Project / Add/ New Item / chọn Text File và nhập tên

– Trên đây là tạo Text File tên sqldropcreate.txt , chú ý nhớ đặt tên viết thường hầu hết.

– Sau lúc tạo xong tập tin sqldropcreate.txt, chép đoạn Script tạo CSDL vào đây (xem hình ):

–>Các script này có sẵn do SQL Server tự tạo nên ta chỉ cần copy từ chậm tiến độ vào đây (nhớ bỏ hết những chiếc sở hữu chữ Go)

– Tiếp theo ta phải cấu hình để hai Text File này được nhúng vào Resource sau khi biên dịch.

– Trong Properties: tuần tự chọn hai Text File trên và chọn Embedded Resource trongBuild Action

– hiện giờ chúng ta tiến hành chỉnh sủa class InstallerEngine:

using System;using System.Collections;using System.Collections.Generic;

using System.ComponentModel;

using System.Configuration.Install;

using System.Linq;

using System.IO;

using System.Reflection;

using System.Data.SqlClient;

using System.Xml;

using System.Collections.Specialized;

namespace SetupEngine

[RunInstaller(true)]

public partial class InstallerEngine : System.Configuration.Install.Installer

private string logFilePath ="";

private string pathApp = "";

public InstallerEngine()

InitializeComponent();

private string GetSql(string Name)

try

// Gets the current assembly.

Assembly Asm = Assembly.GetExecutingAssembly();

// Resources are named using a fully qualified name.

Stream strm = Asm.GetManifestResourceStream(Asm.GetName().Name + "." + Name);

// Reads the contents of the embedded file.

StreamReader reader = new StreamReader(strm);

string sInfor = reader.ReadToEnd();

Log(sInfor);

reader.Close();

return sInfor;

catch (Exception ex)

Log(ex.ToString());

throw ex;

private void ExecuteSql(string serverName, string dbName, string userid, string password, string Sql)

string connStr = "server =" + serverName + ";database =" + dbName + ";uid=" + userid + ";pwd=" + password;

using (SqlConnection conn = new SqlConnection(connStr))

try

SqlCommand cmd = new SqlCommand(Sql);

conn.Open();

cmd.Connection = conn;

int n = cmd.ExecuteNonQuery();

Log(" n= " + n);

conn.Close();

catch (Exception ex)

Log(ex.ToString());

protected void AddDBTable(string serverName, string userid, string password)

try

// Creates the database and installs the tables.

string strScript = GetSql("sqldropcreate.txt");

ExecuteSql(serverName, "master", userid, password, strScript);

System.Threading.Thread.Sleep(60 * 1000);

strScript = GetSql("sqldata.txt");

ExecuteSql(serverName, "dbqlsv", userid, password, strScript);

System.Threading.Thread.Sleep(60 * 1000);

string connStr = "server =" + serverName + ";database =dbqlsv;uid=" + userid + ";pwd=" + password;

Log("AppPath=" + pathApp);

XmlDocument xmlDom = new XmlDocument();

xmlDom.Load(pathApp);

// Get XML node

XmlNode xmlNode = xmlDom.SelectSingleNode(

"configuration/appSettings/add[@key='MYCONN']");

xmlNode.Attributes["value"].Value = connStr;

// Updating connection string in file

Log("Followind node of config file will be updated: " + xmlNode.InnerXml);

// Save lớn disk

xmlDom.Save(pathApp);

catch (Exception ex)

//Reports any errors and abort.

Log(ex.ToString());

throw ex;

protected override void OnAfterInstall(IDictionary savedState)

base.OnAfterInstall(savedState);

public override void Install(System.Collections.IDictionary stateSaver)

base.Install(stateSaver);

string assemPath = this.Context.Parameters["assemblypath"];

int pos = assemPath.LastIndexOf("\\");

logFilePath = assemPath .Substring(0,pos+1)+ "\\SetupLog117.txt";

pathApp = assemPath.Substring(0, pos + 1) + "\\QLSVApplication.exe.config";

Log("—-Setup started—-");

Log("Server=" + this.Context.Parameters["servername"] + " ; User Id=" + this.Context.Parameters["userid"] + " ; pwd=" + this.Context.Parameters["password"]);

foreach (DictionaryEntry s in this.Context.Parameters)

Log("Parameter : "+s.Key +" ; value ="+s.Value);

AddDBTable(this.Context.Parameters["servername"], this.Context.Parameters["userid"], this.Context.Parameters["password"]);

public void Log(string str)

StreamWriter Tex;

try

Tex = File.AppendText(this.logFilePath);

Tex.WriteLine(DateTime.Now.ToString() + " " + str);

Tex.Close();

catch

giảng giải một số dòng lệnh bên trên:

Hàm GetSql(string Name) : dùng để đọc 2 Text File Sql Script. Vì 2 tập tin này chúng ta nhúng vào Assembly nên cơ chế đọc tập tin sẽ là như vậy (xem code).

Lệnh : this.Context.Parameters["assemblypath"]; lấy đúng con đường dẫn mà khi cài đặt chương trình người dùng chọn.

Key assemblypath là mang sẵn, phải viết y chang.

this.Context.Parameters["servername"], this.Context.Parameters["userid"], this.Context.Parameters["password"]

còn servernam, userid, password là do chúng ta quy định, do chúng ta đặt bên Project Setup, 3 biến này phải đặt y chang như 3 biến mà bên Project Setup ta đã đặt.

void AddDBTable(string serverName, string userid, string password) mang nhiệm vụ xóa và tạo mới CSDL sau chậm triển khai tạo các bảng, dữ liệu. sau lúc tạo xong thì tự động cập nhập file App.config cho chương trình (dùng xml).

Bước 3: Tạo Project Setup

Chọn Setup project: đặt tên QLSVSetup rồi bấm OK.

Bấm chuột phải vào QLSVSetup/ chọn File System:

Tại cửa sổ này ta bấm chuột vào thư mục Application Folder, để mang được thông báo như bên phải của hình ta khiến cho như sau:

Bấm chuột phải vào Application Folder / Add/ Project Output…

tiếp diễn thêm những tập tin vận dụng và app.config bên Project QLSVApplication vào đây:

Bấm chuột phải vào Application Folder / Add/ File:

Kết quả:

Để tạo Shortcut cho áp dụng sau khi cài đặt thì ta bấm chuột phải vào QLSVApplication.exe

Sau chậm tiến độ cắt vào User's Desktop hay User's programs thực đơn, ta sở hữu thể tạo bất kỳ thư mục nào bên nhánh trái, rồi chép Shortcut vào chậm tiến độ, với thể tạo phổ quát shortcut.

Tiếp theo ta cấu hình giao diện cài đặt, bấm chuột vào QLSVSetup, bên trên ta chọn Icon User Interface Editor:

Màn hình User interface sẽ xuất hiện:

Cửa sổ Add Dialog hiển thị lên:

Cấu hình TextBoxes (A) như hình chụp bên dưới:

các tên : CUSTOMTEXTA1, CUSTOMTEXTA2, CUSTOMTEXTA3 là do ta đặt để bên Custom Action sở hữu thể tham chiếu lấy giá trị từ màn hình cài đặt. ko tiêu dùng Edit4Property nên lớn cho Edit4Visible =false

– Tiếp theo, cấu hình Custom Action: Bấm chuột phải vào QLSVSetup/ chọn View/ chọn Custom Actions

Tại cửa sổ Custom Actions, Bấm chuột phải vào Install / chọn Add Custom Action…

Chọn Primary ouput from SetupEngine (active) rồi bấm OK.

Sau ngừng thi côngĐây click chuột vào Primary output, Nhìn vào Properties, Ta cấu hình CustomActionData như hình:

/servername=[CUSTOMTEXTA1] /userid=[CUSTOMTEXTA2] /password=[CUSTOMTEXTA3]

Ta viết y chang như trên, chú ý là 3 biến servername, userid, password ta đặt bên này được tiêu dùng cho bên SetupEngine :

this.Context.Parameters["servername"], this.Context.Parameters["userid"], this.Context.Parameters["password"]

nghĩa là ở đây ta đặt tên gì thì bên SetupEngine phải lấy đúng tên ta đặt bên này

CUSTOMTEXTA1 , CUSTOMTEXTA2, CUSTOMTEXTA3 là do ta đặt cho những EditPropertie của Textboxes (A)

Bước 4: biên dịch và cài đặt

– Cấu hình QLSVSetup như bên dưới

Chọn Rebuild để biên dịch Setup.

Sau chậm triển khai chọn Install để cài đặt:

các bước cài đặt:

  1. BẤM next, tự động xuất hiện màn hình cấu hình CSDL (chính là Textboxes (A))

2. Nhập thông báo và bấm Next:

3. Chọn trục đường dẫn cài đặt và bấm Next … cứ vậy là xong. Chương trình sẽ cài đặt áp dụng đồng thời cài đặt SQL luôn (có cập nhật kết nối cho ta luôn)

Kết quả Quan sát màn hình Desktop và khởi động chương trình:

chuyên chở tập tin chỉ dẫn chi tiết tại đây : http://www.mediafire.com/view/?n3qjzbvthnt9q3n

tải source code tại đây: http://www.mediafire.com/download.php?vzqfjsaiqk5n8sg

Chúc Cả nhà thành công

Chụp màn hình Desktop – Capture Desktop Screen – C#

1 Vote

Topic này Tôi muốn chỉ dẫn Anh chị cách thức chụp hồ hết màn hình Desktop bằng C# và chụp màn hình theo vị trí con trỏ chuột mà bạn Drag (Capture Area).

– Mỗi lần click vào chụp màn hình Desktop, chương trình sẽ tự động chụp và lưu hình vào thư mục picture cộng tập tin chạy. giả dụ chưa sở hữu thư mục thì nó sẽ tự động tạo. cùng lúc nó tự động cập nhật lên giao diện (phía bên trái màn hình). Ở đây Tôi viết code động để load vào PictureBox, sau chậm tiến độ đưa PictureBox vào FlowPanel.

– đặc thù chương lớp lang động lấy Thumbnail cho từng hình ảnh. tức thị ứng mang mỗi một hình bất kỳ thì nó tự động lấy thumbnail cho mỗi hình là width=100, height=100. lúc click vào từng hình thumbnail trong picturebox thì hình gốc của nó sẽ được hiển thị bên phải màn hình. Chú ý là hình thumbnail được tạo trong bộ nhớ.

– lúc bấm vào chụp màn hình theo chuột thì bạn click chuột vào vị trí bất kỳ trên màn hình rồi giữ chuột + rê đi chỗ khác. khi bạn dừng rê và nhả chuột ra thì nó sẽ chụp mẫu khung hình mà bạn chọn.

Giao diện chính như sau:

Thủ thuật để chụp màn hình theo tọa độ chuột là bạn tạo 1 Form cho hiển thị chế độ maximize. Opacity =30% hoặc 20% gì chậm triển khai. Bạn mở code bên trong để xem sẽ hiểu rõ hơn.

Source Code:

http://www.mediafire.com/?fchjjkwu33yhy1o

Have Fun!

ví dụ về Download Manager

2 Votes

mang rất nhiều tiết mục minh họa download. Ở đây Tôi chọn 1 ví dụ nhỏ và dễ hiểu từ trên internet để phân phối lại cho Anh chị em. Cả nhà mang thể thấy nó bất cứ đâu trên internet. http://www.mediafire.com/?cb9l6imuuh8e0i9

Ở đây Tôi sửa lại chương trình gốc một chút đỉnh, chậm tiến độ là Tôi tạo 1 User Control và đưa sắp xếp lại giống như hình bên trên mà Các bạn Thấy.

Mỗi lần bấm Add URL lớn download thì user control sẽ được add vào FlowPanel như trên. Bạn xem mấy Properties Tôi thêm vào:

public Panel MyPanel get; set;
public string MyFileFromServer get; set;
public string MyFileToClient get; set;

Mục đích Tôi tách ra tương tự để minh họa multi download.

sở hữu rất nhiều nội dung rất hay cơ mà coding phức tạp nên Tôi chưa cung ứng, Anh chị em cũng sở hữu thể tìm thấy nó trên internet.

Have fun!

tỉ dụ chương trình download tập tin bằng C#

2 Votes

Trong Topic này Tôi muốn hướng dẫn Anh chị em bí quyết viết chương trình download tập tin từ internet

Ở đây Tôi tạo 3 Project (ứng sở hữu 3 kiểu viết, Tôi tạm thời gọi vậy)

Ta sẽ hài hòa Progressbar để hiển thị giai đoạn download tập tin:

A) tiêu dùng Window Form

B) tiêu dùng WPF

=========================================================

giả dụ như thường biết cách thức cập nhập progressbar thì chương trình của bạn mang thể bị treo, nó sẽ không cho phép bạn tương tác đến những control khác cho tới khi download xong.

Chúng ta phải viết code để khắc phục vấn đề này. tức là chương trình load thì cứ load, ta tương tác sở hữu những control khác thì cứ tương tác:

Tôi có giảng giải trong coding nên trong topic Tôi không giải thích thêm nữa

A) dùng Window Form:

Form 1: sử dụng component BackgroundWorker

Ta sẽ tiêu dùng component BackgroundWorker, trường hợp này khá "lằng nhằng" tí đỉnh, ví như bạn cảm thấy "khó chịu" thì hãy qua Form2 để xem Tôi ko sử dụng component BackgroundWorker.

Sau khi bề ngoài xong giao diện như trên, bạn kéo thả component BackgroundWorker vào winform như hình bên dưới:

Cấu hình BackgroundWorker như trên, sau chậm triển khai bạn mở qua tab Event của BackgroundWorker:

Để mang được các sự kiện như trên thì bạn chỉ cần double click vào tên từng sự kiện là tự động nó phát sinh ra cho bạn.

hiện tại bạn xem coding behind:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.IO;

using System.Net;

namespace ExampleBackgroundWorker

public partial class frmExample1 : Form

public frmExample1()

InitializeComponent();

private void btnTestDownload_Click(object sender, EventArgs e)

backgroundWorker1.RunWorkerAsync();

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)

//Lấy trục đường dẫn muốn download

string sUrl =txtURL.Text.Trim();

//Đường dẫn lưu xuống ổ cứng

string sSave= txtSave.Text.Trim();

// Xác định dung lượng tập tin

Uri url = new Uri(sUrl);

System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);

System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();

response.Close();

// Lấy dung lượng tập tin

Int64 iSize = response.ContentLength;

// Khởi tạo dung lượng download được từ URL

Int64 iRunningByteTotal = 0;

// dùng Webclient để download

WebClient client = new WebClient();

// Mở URL để download

Stream streamRemote = client.OpenRead(new Uri(sUrl));

// Vừa đọc vừa lưu

Stream streamLocal = new FileStream(sSave, FileMode.Create, FileAccess.Write,FileShare.None);

// Tiến hành loop công đoạn download, vừa load vừa lưu

int iByteSize = 0;

byte[] byteBuffer = new byte[iSize];

while ((iByteSize = streamRemote.Read(byteBuffer, 0, byteBuffer.Length)) > 0)

// Lưu byte xuống đường dẫn chỉ định

streamLocal.Write(byteBuffer, 0, iByteSize);

iRunningByteTotal += iByteSize;//cập nhập số byte đã load được

// Chuyển đổi ra tỉ lệ 100%

double dIndex = (double)(iRunningByteTotal);

double dTotal = (double)byteBuffer.Length;

double dProgressPercentage = (dIndex / dTotal);

int iProgressPercentage = (int)(dProgressPercentage * 100);

// Cập nhập progressbar

backgroundWorker1.ReportProgress(iProgressPercentage);

streamLocal.Close();

streamRemote.Close();

private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)

progressBar1.Value = e.ProgressPercentage;

lblPercentage.Text = e.ProgressPercentage + "%";

private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)

MessageBox.Show("Đã download xong!");

Form 2: ko sử dụng component BackgroundWorker

kiểu dáng giao diện như vậy như Form 1, nhưng ko kéo thả component BackgroundWorker

Các bạn xem coding bên dưới:

using System;using

System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.IO;

using System.Net;

namespace ExampleBackgroundWorker

public partial class frmExample2 : Form

public frmExample2()

InitializeComponent();

private void btnDownload_Click(object sender, EventArgs e)

WebClient wc = new WebClient();

wc.DownloadProgressChanged += new DownloadProgressChangedEventHandler(wc_DownloadProgressChanged);

wc.DownloadFileAsync(new Uri(txtURL.Text.Trim()), txtSave.Text);

wc.DownloadFileCompleted+=new AsyncCompletedEventHandler(wc_DownloadFileCompleted);

public void wc_DownloadProgressChanged(Object sender, DownloadProgressChangedEventArgs e)

progressBar1.Value = e.ProgressPercentage;

lblPercentage.Text = e.ProgressPercentage + "%";

public void wc_DownloadFileCompleted(Object sender, AsyncCompletedEventArgs e)

MessageBox.Show("Download is completed");

Trường hợp này với vẻ thuần tuý hơn 1 xíu:

B) sử dụng WPF:

mẫu mã giao diện như vậy, Anh chị tùy thích kiểu dáng, nhưng nhớ đặt tên control cho đúng mang tên mà trong code Tôi lấy ra dùng

Bạn xem code, Tôi vẫn sử dụng WebClient.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Data;

using System.Windows.Documents;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Imaging;

using System.Windows.Navigation;

using System.Windows.Shapes;

using System.IO;

using System.Net;

namespace BackgroundWorker_WPF

/// <summary>

/// Interaction logic for MainWindow.xaml

/// </summary>

public partial class MainWindow : Window

public MainWindow()

InitializeComponent();

private void btnDownload_Click(object sender, RoutedEventArgs e)

WebClient wc = new WebClient();

wc.DownloadProgressChanged += new DownloadProgressChangedEventHandler(wc_DownloadProgressChanged);

wc.DownloadFileAsync(new Uri(txtURL.Text.Trim()), txtSave.Text);

wc.DownloadFileCompleted +=new System.ComponentModel.AsyncCompletedEventHandler(wc_DownloadFileCompleted);

public void wc_DownloadProgressChanged(Object sender, DownloadProgressChangedEventArgs e)

progressBar1.Value = e.ProgressPercentage;

lblPercentage.Content = e.ProgressPercentage + "%";

public void wc_DownloadFileCompleted(Object sender, System.ComponentModel.AsyncCompletedEventArgs e)

MessageBox.Show("Download is completed");

Link code đầy đủ:http://www.mediafire.com/?202z1o7v8r3badi

Chúc Cả nhà thành công.