Hôm nay mình cùng học cách đọc tên các ngôn ngữ lập trình bằng tiếng Nhật. Đọc đúng cách phát âm cũng giúp mình có được ấn tượng tốt khi làm việc với khách hàng Nhật nhé.
Có lẽ rất ít người thực sự hiểu Network là gì mặc dù họ biết khi smartphone không hoạt động như mong đợi là do chưa kết nối internet. Bài viết hôm nay mình xin chia sẻ những điều cơ bản về Network, mọi người cùng theo dõi nhé!
Khái niệm thuật ngữ Network
Network chỉ trạng thái kết nối vật này với vật kia như một mạng lưới. Nếu nói trong ngành kho vận hay ngành phân phối hàng hoá thì có một Network lưu chuyển hàng hoá từ nơi này tới nơi khác. Trong cơ thể người thì Network là mạch máu giúp mang oxy và chất dinh dưỡng đến các cơ quan. Trong thế giới Internet thì cái để kết nối thông tin đến các máy tính chính là Network.
Vậy khi nghe “Network kết nối các máy tính với nhau” chắc sẽ có người thắc mắc rằng “laptop của chúng ta chẳng phải là đang kết nối với server hay sao?”. Tuy nhiên, những thứ mà chúng ta đang sử dụng bao gồm laptop, smartphone và cả server… đều là máy tính. Chỉ khác nhau ở hình thức của thiết bị đầu vào/ đầu ra, nhưng nó là CPU và được xử lý giống nhau ở chỗ nó hoạt động tuỳ thuộc vào đơn vị số học, đơn vị điều khiển.
Phương thức kết nối Network
Đầu tiên là kết nối internet qua mạng LAN. Laptop hay smartphone mà mọi người đang dùng kết nối với LAN thông qua wi-fi router. Cự ly có thể kết nối bằng LAN là ở cùng một toà nhà hay cùng một lầu, khi không có vật cản nào thì trong phạm vi từ 25~50m có thể kết nối được. Ngoài ra, vì LAN kết nối các device bằng Network nên nó không chỉ kết nối internet đến laptop, smartphone mà còn dùng để gửi thông tin từ laptop đến máy in.
WAN là network kết nối các mạng LAN với nhau trên diện rộng. Khi kết nối laptop tại nhà từ router bằng mạng LAN thì đầu router được kết nối bằng WAN. Các thuật ngữ như LTE, 4G, 5G mà chúng ta thường nghe thấy khi dùng smartphone cũng được kết nối trực tiếp từ device thông qua mạng WAN không dây. Khác với LAN, WAN truyền thông tin trên diện rộng nên chúng ta không thể tự connect với network của mình. Thông thường chúng ta sẽ thuê network của một công ty viễn thông để truyền dữ liệu cho mình.
Như vậy thì Network có thể được truyền tải bằng LAN và WAN.
Cáckeyword mà bạn nên biết khi học về computer network.
Thuật ngữ “peer to peer“
Thông thường khi chúng ta truy cập vào một website, chúng ta sẽ access vào server side từ client side và trao đổi thông tin, nhưng peer to peer (P2P) là phương thức Network thực hiện trao đổi thông tin giữa các máy tính. Một ví dụ dễ hình dung là bộ đàm mà có thể bạn đã từng xem trong phim Sentai Mono, các thiết bị có thể trao đổi thông tin trực tiếp với nhau mà không cần thông qua server. Cơ chế peer to peer này không lấy dạng thức của “server” và “client” như khi “xem trang web bằng internet”.
Thuật ngữ peer to peer
Kỹ thuật peer to peer này được dùng trong blockchain ví dụ như tiền ảo (crypto currencies). Thông tin về tiền ảo không được lưu trữ trên server cụ thể, nhưng dữ liệu cần thiết được chia sẻ giữa các máy tính tham gia vào peer to peer network gọi là node. Trên thực tế, một loại giao dịch rất phổ biến như tôi cho ông A vay 3,000 yên “có thể bằng tiền mặt” hàng ngày thì chẳng có lý do gì tôi phải báo cáo cho quốc gia hay ngân hàng nhỉ. Những thông tin này sẽ không phải lưu trữ trong ngân hàng hay quốc gia mà giao dịch tiền bạc này được xây dựng dựa trên sự tin tưởng giữa các cá nhân với nhau. Nơi mọi người gửi tiền vào ngân hàng và giao dịch số tiền mà ngân hàng nắm giữ được gọi là “sàn giao dịch” trong ngành công nghiệp tiền ảo.
Thuật ngữ “stand alone“, cái tương phản với các device kết nối Network!
Stand alone là một máy tính có chức năng độc lập mà không cần liên kết Network. Một ví dụ gần gũi là các thiết bị gia dụng chủ yếu là máy tính dạng stand alone. Có thể khó hình dung nó là một máy tính nhưng thực tế thì lò vi sóng, máy giặt hay các thiết bị chiếu sáng trong căn phòng đều được sử dụng như máy tính ở chỗ chúng được vận hành bằng điều khiển điện tử.
Bài hôm nay chúng ta đã tìm hiểu sơ lược về Network, phương thức kết nối Network và các keyword dùng trong computer network. Hy vọng kiến thức mà nghecomtor mang đến lần này hữu ích cho mọi người.
LAN (Local Area Network) là mạng thực hiện thông tin tốc độ cao giữa các máy tính trong phạm vi hẹp.
WAN (Wide Area Network) là mạng kết nối các máy tính và mạng LAN trong một phạm vi rộng.
Cả hai đều đề cập đến mạng lưới truyền thông thông tin, nhưng rất khó để hình dung vai trò của 2 mạng này nếu chỉ theo phạm vi hẹp hay rộng, vì vậy chúng ta hãy cùng tìm hiểu sâu hơn qua các ví dụ cụ thể sau đây.
Ví dụ về mạng LAN
Mạng LAN dùng để truyền thông tin qua lại trong một khu vực nhỏ như công ty, trường học hay một tầng trong tòa nhà. Như việc kết nối truyền thông tin giữa máy tính cá nhân với các máy in trong văn phòng, kết nối trao đổi thông tin giữa các máy tính trong công ty,…
Ví dụ về kết nối mạng LAN tại một trường học
Mạng LAN được kết nối bằng 2 cách là có dây và không dây, và bạn có thể tự do kết nối hoặc ngắt kết nối trong khu vực chịu ảnh hưởng của mạng LAN
Ví dụ về mạng WAN
Mạng WAN được sử dụng cho truyền thông tin diện rộng hơn so với quy mô mạng LAN
Mô hình mạng WAN
Về cơ bản mạng WAN thì các cá nhân không thể tự kết nối với internet được mà phải trả tiền cho một công ty viễn thông để sử dụng internet. Chúng ta hãy xem kỹ hơn ví dụ cụ thể về mạng WAN như sau:
Bạn đăng ký sử dụng internet wifi của nhà mạng FPT cũng là bạn đang đăng ký sử dụng mạng WAN thông qua nhà mạng FPT,
Bạn sử dụng gói dịch vụ 4G của Viettel, cũng là một loại mạng WAN
Thêm nữa là để sử dụng mạng WAN, bạn cần phải có bằng cấp thuộc quyền quản lý của Bộ Nội vụ và Truyền thông với tư cách là nhà cung cấp dịch vụ viễn thông chứ bạn không thể tự thiết lập kết nối như mạng LAN. Do đó, kết nối WAN cũng cần có hợp đồng với nhà mạng hoặc nhà cung cấp.
Sử dụng, thuê mạng WAN tại Nhật (MNO – MVNO)
Một số thông tin thêm về mạng WAN như tại nước Nhật có 3 mạng di động lớn là Au, SoftBank, Docomo là các nhà khai thác đường dây và các công ty ấy được gọi chung là MNO – Mobile Network Operator – nhà khai thác truyền thông di động. Trường hợp kết nối mạng giá rẻ hay dịch vụ SIM mạng giá rẻ thường thấy trong các quảng cáo gần như Rakuten Mobile và Y!mobile được gọi là MVNO – Mobile Virtual Network Operator – nhà khai thác mạng ảo di động, chuyên cung cấp dịch vụ bằng cách thuê cơ sở hạ tầng truyền thông bao gồm mạng WAN của các MNO.
Sơ đồ về việc sử dụng mạng truyền thông không dây
Các MVNO xác định lượng dữ liệu có thể được sử dụng tại một thời điểm khi thuê đường truyền từ ba nhà cung cấp dịch vụ chính và phí liên lạc được giới hạn. Do đó, MVNO có thể giảm chi phí liên lạc bằng cách loại bỏ các chi phí khác nhau như phí nhân công.
Các bạn đã hiểu được sự khác nhau giữa mạng LAN và mạng WAN chưa?
Cảm ơn các bạn đã theo dõi bài học hôm nay. Hẹn gặp lại các bạn ở các bài học sau nhé.
Những ngày đầu bước vào nghề thông dịch IT này, mình đã lúng túng không biết dịch từ vựng “môi trường thực = môi trường production” sang tiếng Nhật thì sẽ dùng từ nào? Và ngược lại khi nghe từ “開発環境” thì dịch sang tiếng Việt như thế nào là hợp lý?
Qua bài viết này mình hy vọng các bạn sẽ hiểu hơn về vai trò của mỗi môi trường mà các bạn kỹ sư dùng để làm việc. Các môi trường cần thiết cho quá trình kỹ sư implement các chức năng hoặc website cho đến khi release.
Định nghĩa các vai trò
Các vai trò trong quá trình phát triển phần mềm
Tester : tuỳ quy mô và cách thức hoạt động của công ty mà sẽ có team tester hay không có. Thông thường sẽ có 3 hình thức sau:
Công ty sẽ có team tester riêng
Công ty developer kiêm luôn vai trò tester
Công ty IT Comtor kiêm luôn vai trò tester
Vì thế nếu IT Comtor hiểu rõ nghiệp vụ, nắm được kiến thức IT để kiêm luôn vai trò tester thì sẽ có đất dụng võ nhiều hơn nè!
Giải thích các môi trường phát triển
Sơ đồ các môi trường Develop, Test, Staging, Production trong quá trình phát triển phần mềm
Môi trường develop (= môi trường local)
Môi trường để kỹ sư lập trình hay còn gọi là developer, dùng để kiểm tra hoạt động các chức năng do mình hoặc team đã thực thi tại local.
Test tại môi trường develop ổn, sẽ bước vào giai đoạn test tại môi trường test.
Lưu ý về dữ liệu:
Dữ liệu dùng tại môi trường develop này chúng ta có thể thoải mái chỉnh sửa, không ảnh hưởng đến người dùng cuối.
Môi trường test (= môi trường kiểm thử)
Môi trường để kiểm thử, kiểm tra xem có vấn đề gì ở nội dung thực thi hay không.
Tại môi trường test, trước tiên phía công ty gia công sẽ tự kiểm tra nội dung khách hàng yêu cầu. Nếu có lỗi (= bug) hoặc nội dung thực thi chưa đúng yêu cầu, công ty gia công sẽ tự chỉnh sửa trước khi giao qua công ty khách hàng. Sau khi giao cho công ty khách hàng kiểm tra, nếu có yêu cầu sửa chữa, thực thi chưa đúng nội dung khách hàng yêu cầu, sẽ cần phải sửa chữa lại nội dung theo phản hồi của khách hàng.
Lưu ý về dữ liệu:
Dữ liệu dùng tại môi trường test này chúng ta có thể thoải mái chỉnh sửa, không ảnh hưởng đến người dùng cuối. Trong quá trình test cũng gặp nhiều trường hợp chưa xóa cache trình duyệt để test dẫn đến chất lượng test không đạt yêu cầu, bạn có thể tham khảo bài viết về cache để khắc phục điều đó nhé.
Môi trường staging
Môi trường gần giống như môi trường thực (= môi trường production), cùng cấu hình với môi trường sản xuất. File dùng để upload lên môi trường staging chỉ là những file giống với môi trường thực.
Upload những file đã OK ở môi trường test, trước khi đưa lên môi trường thực, cần kiểm tra lần cuối tại staging để xem còn bug hoặc error hay không. Do cấu trúc server khác với môi trường test, vì thế dù test ở môi trường test không xảy ra bug nhưng cũng có khả năng ở môi trường staging sẽ xảy ra bug hoặc error. Nếu ở staging xảy ra bug hoặc error thì khả năng cao là ở môi trường production cũng sẽ bị bug hoặc error.
Lưu ý về dữ liệu:
Dữ liệu dùng tại môi trường staging này chúng ta có thể thoải mái chỉnh sửa, không ảnh hưởng đến người dùng cuối.
Môi trường thực (= môi trường production)
Môi trường mà User (người dùng) sẽ dùng hệ thống trên thực tế. Do đó, phải đảm bảo test qua ở các môi trường kể trên, mọi thứ ổn rồi mới đưa lên môi trường thực này nhé.
Thao tác đưa software (website) lên môi trường thực gọi là deploy.
Lưu ý về dữ liệu:
Dữ liệu dùng tại môi trường thực này sẽ là dữ liệu của User thực tế cho nên không được phép tự ý chỉnh sửa thay đổi dữ liệu tại môi trường thực.
Chia sẻ kinh nghiệm khi giữ vai trò tester
Chỉ test với quan điểm của người develop thôi thì chưa đủ. Điều quan trọng khi test là cần test với quan điểm của 1 User sử dụng. Khi đó mình mới đánh giá được chức năng team develop đã thực hiện có thoả mãn cho User hay chưa?
Cảm ơn các bạn đã đọc bài viết của team chúng mình. Nếu các bạn có những trải nghiệm khi bước đầu làm nghề phiên dịch IT thì kể cho chúng mình nghe nhé!
AI là một thuật ngữ chung cho các công nghệ trong đó máy tính thực hiện các hành động trí tuệ thay mặt cho con người.
AI đã nhanh chóng thu hút sự chú ý của mọi người khi chương trình AlphaGo do Google phát triển năm 2015 đánh bại một kỳ thủ cờ vây chuyên nghiệp trong trò chơi cờ vây đã trở nên nổi tiếng trên thế giới.
AlphaGo do Google phát triển đánh bại một kỳ thủ cờ vây chuyên nghiệp
Ngành AI là gì?
Là ngành kỹ thuật hóa các quy tắc thực nghiệm từ xu hướng dữ liệu, sau đó dự đoán và phân loại với độ chính xác cao. Trước hết, chúng ta hãy hiểu từ AI bao gồm các từ machine learning và deep learning, vì vậy (AI) là một thuật ngữ chung cho các từ ngữ này.
Trong số này, chúng ta hãy bắt đầu với từ machine learning.
Machine learning
Machine learning là một công nghệ cung cấp learning data để máy tính có thể tự dự đoán tương lai.
Learning data được phân làm 2 loại là có teacher data và không có teacher data.
Đầu tiên là trường hợp có teacher data: Bằng cách nhập một lượng lớn input data vào máy tính thì máy tính có thể đọc các đặc điểm của input data và lấy ra câu trả lời chính xác. Ví dụ, khi nhập data chó – mèo vào máy tính, nghĩa là có teacher data, thì máy tính sẽ trả về kết quả là chó hoặc mèo. Nếu một data khác như data thỏ xuất hiện thì máy tính sẽ không đọc được dữ liệu.
Ngược lại, trường hợp không có teacher data, việc đọc một lượng lớn learning data cũng diễn ra như trên nhưng nó sẽ không đưa ra câu trả lời chính xác. Vì bản thân máy móc có thể hiểu và phân loại dữ liệu, nên sau khi phân tích một lượng lớn learning data là chó mèo rồi bất ngờ xuất hiện data thỏ thì máy tính sẽ tự hiểu đây là một kiểu phân loại khác.
Đây chính là sự khác nhau giữa learning có teacher data và không có teacher data, được gọi là machine learning.
Ngoài ra, trong machine learning còn có một mô hình gần giống với unsupervised learning (học không có giám sát), đó là reinforcement learning (học tăng cường).
Reinforcement learning (học tăng cường) là việc học để tối ưu hóa phần thưởng được trao thay cho learning data, trong môi trường trao thưởng ấy các agent sẽ xem xét ứng với những hành động nào nhận được phần thưởng bao nhiêu.
Ví dụ:
Trường hợp cờ vây, có rất nhiều sự kết hợp các mẫu giá trị đến mức trong tất cả các tìm kiếm, ngay cả một máy tính mạnh cũng cần một lượng lớn data không thể theo kịp quá trình xử lý. Trong cờ vây, bằng reinforcement learning (học tăng cường) chúng sẽ hướng dẫn bạn với các nước đi sẽ mang lại phần thưởng cao nhất trong tương lai ứng với môi trường của bàn cờ ấy. Điều này sẽ mang lại cho bạn phần thưởng tối đa khi cuối cùng sẽ chiến thắng đối thủ của mình.
Một ví dụ khác, trường hợp mua bán cổ phiếu, biến động giá cổ phiếu và số lượng cổ phiếu nắm giữ tương ứng với môi trường. Ở đây, số tiền nhận được tương ứng với cách hành động trong việc mua bán, nắm giữ số lượng cổ phiếu là lợi nhuận của kết quả giao dịch.
※ Không phải lúc nào cũng thắng!!!
Tóm lại, về machine learning hãy hiểu nó là mối quan hệ cộng sinh gồm learning data: không có teacher data và có teacher data, ngoài ra còn có reinforcement learning (học tăng cường) mang lại phần thưởng thay cho learning data.
Những điểm chung của machine learning
Deep learning
Deep learning là công nghệ phân loại dữ liệu chính xác hơn, có thể xử lý các data phức tạp mà machine learning không thể làm được. Nó yêu cầu một lượng lớn dữ liệu và logic phức tạp hơn machine learning. Có các công nghệ tiêu biểu như nhận diện khuôn mặt, nhận diện giọng nói, xử lý ngôn ngữ tự nhiên. Ví dụ: Rina, một nữ sinh cấp 3 AI do Microsoft đang cung cấp trên ứng dụng LINE, cũng giao tiếp rất tự nhiên với chúng ta thông qua deep learning!
Song song với sự phát triển của AI, chúng ta phải luôn tuân thủ những vấn đề về mặt đạo đức. Trong lĩnh vực AI, trolley problem (tạm dịch là vấn đề xe lửa trên đường ray) là một ví dụ cho thấy người tạo ra AI rất khó quyết định cho AI hành động thế nào khi họ đứng trước tình huống buộc phải đưa ra lựa chọn.
Ví dụ:
Có một chiếc xe ô tô do AI hoạt động bị đứt phanh, nếu xe ô tô tiếp tục chạy sẽ tông vào 2 trẻ em đang băng qua đường. Trên xe ô tô chỉ có 1 người tài xế. Nếu chiếc xe tông vào chướng ngại vật phía trước và dừng lại thì chỉ có người tài xế tử vong. Thời điểm này, người tạo ra AI sẽ quyết định và thực hiện logic về việc chọn hi sinh tính mạng của 2 người đi bộ hay 1 người tài xế.
Bản hướng dẫn đạo đức của EU về sự phát triển AI đáng tin cậy đã công bố 7 hướng dẫn phác thảo các mục quan trọng mà các nhà phát triển nên đảm bảo trong việc sử dụng AI. Bản chất của trolley problem (vấn đề xe lửa trên đường ray) là chiếc xe lửa bị mất phanh và lao đi điên cuồng về phía trước. Nếu cứ tiếp tục phóng thẳng về phía trước sẽ tông chết 5 người trên đường ray. Nếu chuyển hướng của xe lửa sang đường ray khác, 5 người này sẽ được cứu sống nhưng ở đường ray kia có 1 người, và người ấy sẽ tử vong. Đây là chủ đề bàn luận sôi nổi về chủ nghĩa thực dụng “có được phép hi sinh một người để cứu một người khác không?”. Không đơn giản là chọn theo số đông, quyết định giúp số đông là được! Nếu 1 người này là người thân của mình thì chắc chắn chúng ta không thể đưa ra quyết định nhanh chóng theo đa số.
Trolley problem (vấn đề xe lửa trên đường ray)
Đến đây, các bạn đã hiểu được sự khác nhau giữa AI – machine learning – deep learning trong chủ đề của chúng ta chưa?
Cache và Cookie đều là chức năng lưu giữ thông tin khi chúng ta xem website, tuy nhiên nội dung lưu sẽ khác nhau.
Cache là gì?
Cache được xem như là kho lưu trữ. Đây là một chức năng của Web browser (trình duyệt web), có chức năng lưu giữ thông tin cơ bản HTML và thông tin CSS của website mà bạn đã vào xem 1 lần.
Chức năng lưu giữ này giúp:
Tăng tốc độ hiển thị trang web
Giảm tải cho server, vì khi lưu cache, browser sẽ lấy từ cache ra nên hạn chế việc gửi request lên server và đợi server trả về.
Tuy nhiên, nếu các bạn đang là IT Comtor kiêm nhiệm vị trí Tester, trước khi test chức năng nào đó, mình nên clear cache (xóa cache), để đảm bảo các chức năng mình muốn test không bị ảnh hưởng bởi cache
Có 2 cách để clear cache:
Trên chrome, dùng tổ hợp phím : Ctrl + Shift + R
Cách clear cache trên DevTools:
Click chuột phải trên trình duyệt, chọn “Inspect”
Mở tab “Network”
Chọn vào “Disable cache” để browser không lưu cache nữa
Cách đơn giản để xóa cache ở browser
Cookie là gì?
Cookie là một chức năng lưu ID và password của các trang web SNS và EC site v.v… dưới dạng thông tin người dùng.
Ví dụ: Chỉ cần bạn login vào facebook 1 lần, ID và password của bạn đã được lưu trữ lại, lần đăng nhập thứ 2 bạn không cần phải điền thông tin ID và password nữa. Đó chính là chức năng Cookie.
Chức năng lưu giữ thông tin login vào cookie này, nếu bạn sử dụng trên 1 máy tính dùng chung với nhiều người thì không tốt cho bạn. Vì có thể người dùng máy tính đó sau khi bạn dùng, sẽ lấy thông tin cookie đã từng đăng nhập của bạn, giả mạo bạn để đăng nhập vào các trang bạn đã từng login. Vì thế, trong trường hợp dùng chung máy tính, bạn đừng quên xóa cookie ngay sau khi bạn dùng xong nhé. Hoặc là ngay sau khi đăng nhập, xuất hiện bảng thông báo hỏi bạn có muốn lưu thông tin đăng nhập này không? Thì bạn hãy chọn là “Không bao giờ” nhé.
(Nếu dùng trình duyệt tiếng việt)
(Nếu dùng trình duyệt tiếng nhật)
Cookie và session thì khác nhau như thế nào?
Cookie là một chức năng lưu lại thông tin đăng nhập trong trình duyệt.
Session là nói đến một loạt các hành động của User sau khi login.
Ví dụ về 1 vai trò của session : (session còn nhiều vai trò khác nữa, sẽ giải thích sâu hơn ở những bài viết khác nhé)
Ví dụ về vai trò của session trong việc lưu thông tin mua hàng
Ở những trang web E-commerce như là amazon, ví dụ chỉ còn tồn kho 1 quyển sách, nếu người phụ nữ đã bấm nút “cho vào giỏ hàng” trước, vẫn đang trong quá trình xác nhận thông tin mua hàng – địa chỉ giao hàng mà vẫn chưa hoàn tất việc đăng ký mua hàng, thì người nam thứ 2 vẫn không thể tiến hành đặt hàng quyển sách đó.
Tuy nhiên, nếu người phụ nữ tắt browser trong trạng thái chưa hoàn tất việc mua hàng mà chỉ mới bấm nút “cho vào giỏ hàng”, trường hợp trong 1 khoảng thời gian nhất định mà vẫn không có tiến triển gì, nếu vẫn giữ phiên đăng nhập đó thì sẽ xảy ra hiện trạng sách chưa được bán mà người muốn mua quyến sách đó lại không thể mua được. Để tránh việc này xảy ra, vào 1 khoảng thời gian nhất định, nếu không có thao tác gì, hoặc đóng browser website đang mua hàng, session sẽ bị ngắt, sẽ trả lại quyển sách đó ở tình trạng tồn kho. Như thế, thì người đàn ông có thể “cho vào giỏ hàng” quyển sách đó và tiến hành đặt hàng.