{"version":3,"sources":["app/common/utilities.ts","_metronic/layout/core/LayoutProvider.tsx","_metronic/layout/core/PageData.tsx","assets/ProjectsData.ts","_metronic/partials/content/dropdown/Dropdown2.tsx","assets/InsightData.ts","_metronic/assets/ts/_utils/_ElementStyleUtil.ts","_metronic/assets/ts/_utils/_DataUtil.ts","_metronic/assets/ts/_utils/_TypesHelpers.ts","_metronic/assets/ts/_utils/_DOMEventHandlerUtil.ts","_metronic/assets/ts/_utils/ElementAnimateUtil.ts","_metronic/assets/ts/_utils/DomHelpers.ts","_metronic/assets/ts/_utils/EventHandlerUtil.ts","app/pages/projects/ProjectContent.tsx","app/pages/services/Services.tsx","_metronic/helpers/AssetHelpers.ts","_metronic/helpers/RouterHelpers.ts","_metronic/helpers/components/KTSVG.tsx","_metronic/helpers/dataExamples.ts","_metronic/assets/ts/components/_CookieComponent.ts","_metronic/assets/ts/components/_DrawerComponent.ts","_metronic/assets/ts/components/_FeedbackComponent.ts","_metronic/assets/ts/components/_ImageInputComponent.ts","_metronic/assets/ts/components/_ScrollComponent.ts","_metronic/assets/ts/components/_ScrollTopComponent.ts","_metronic/assets/ts/components/_StepperComponent.ts","_metronic/assets/ts/components/_StickyComponent.ts","_metronic/assets/ts/components/_ToggleComponent.ts","_metronic/assets/ts/components/_PasswordMeterComponent.ts","_metronic/assets/ts/components/_SwapperComponent.ts","_metronic/assets/ts/components/MenuComponent.ts","_metronic/assets/ts/components/SearchComponent.ts","app/modules/auth/components/Registration.tsx","app/modules/auth/components/ForgotPassword.tsx","app/modules/auth/components/Login.tsx","app/modules/auth/__mocks__/usersTableMock.ts","app/modules/auth/Logout.tsx","app/modules/auth/redux/AuthInit.tsx","setup/redux/RootReducer.ts","setup/redux/Store.ts","_metronic/i18n/i18nProvider.tsx","_metronic/layout/components/Content.tsx","_metronic/layout/components/Footer.tsx","_metronic/layout/components/header/MenuItem.tsx","_metronic/layout/components/header/MenuInner.tsx","_metronic/layout/components/header/Header.tsx","_metronic/layout/components/header/page-title/DefaultTitle.tsx","_metronic/layout/components/header/Topbar.tsx","_metronic/layout/components/header/HeaderWrapper.tsx","_metronic/layout/components/ScrollTop.tsx","_metronic/layout/MasterInit.tsx","_metronic/layout/MasterLayout.tsx","app/modules/errors/components/Error500.tsx","app/modules/errors/components/Error404.tsx","app/modules/errors/ErrorsPage.tsx","app/pages/dashboard/components/Banner/Banner.tsx","app/pages/dashboard/components/Projects/Project.tsx","app/pages/dashboard/components/AboutUs/AboutUs.tsx","app/pages/dashboard/components/Clients/Clients.tsx","app/pages/dashboard/components/Insights/items/index.tsx","app/pages/dashboard/components/Insights/Insights.tsx","app/pages/dashboard/DashboardWrapper.tsx","app/pages/MenuTestPage.tsx","app/routing/PrivateRoutes.tsx","app/routing/Routes.tsx","app/App.tsx","setup/axios/MockAxios.ts","app/modules/auth/__mocks__/mockAuth.ts","index.tsx","setup/axios/SetupAxios.ts","_metronic/partials/content/dropdown/Dropdown1.tsx","app/modules/auth/redux/AuthCRUD.ts","_metronic/layout/core/LayoutSetup.ts","_metronic/layout/core/MetronicSplashScreen.tsx","app/modules/auth/redux/AuthRedux.ts","_metronic/i18n/Metronici18n.tsx","_metronic/partials/layout/header-menus/Languages.tsx","_metronic/partials/layout/explore/ExploreMain.tsx","_metronic/partials/layout/drawer-messenger/DrawerMessenger.tsx","_metronic/partials/layout/activity-drawer/ActivityDrawer.tsx","_metronic/partials/content/fallback-view/FallbackView.tsx","_metronic/partials/modals/create-app/Main.tsx","_metronic/partials/modals/invite-users/InviteUsers.tsx","_metronic/partials/modals/upgrade-plan/UpgradePlan.tsx","_metronic/partials/chat/ChatInner.tsx","app/common/components/arrow-navigation/index.tsx","_metronic/layout/core/DefaultLayoutConfig.ts"],"names":["getIdFromPath","path","pos","lastIndexOf","posDot","substring","getUniquePostKeyFromPath","transferTitleToAlias","title","trim","replace","replaceAll","LayoutContext","createContext","config","DefaultLayoutConfig","classes","getEmptyCssClasses","attributes","getEmptyHTMLAttributes","cssVariables","getEmptyCSSVariables","setLayout","disableSplashScreen","splashScreen","document","getElementById","style","setProperty","LayoutProvider","children","useState","LayoutSetup","setConfig","setClasses","setAttributes","setCSSVariables","value","_themeConfig","enableSplashScreen","Array","from","body","classList","forEach","cl","remove","updatePartialConfig","Object","assign","setTimeout","useEffect","Provider","useLayout","useContext","PageDataContext","setPageTitle","_title","setPageBreadcrumbs","_breadcrumbs","setPageDescription","_description","PageDataProvider","pageTitle","pageDescription","pageBreadcrumbs","usePageData","PageTitle","description","breadcrumbs","toString","projects","id","name","alias","keyword","shortDescription","type","logo","thumbnail","background","images","originId","languageCode","Dropdown2","className","href","Insights","uniquePostKey","date","content","refUniquePostKeys","ElementStyleUtil","element","property","important","attributeName","getPropertyValue","attibuteName","removeProperty","DataUtil","instance","key","data","instanceData","store","get","set","newMap","Map","delete","has","result","val","v","k","push","getObjectPropertyValueByKey","obj","map","entries","hasOwnProperty","getUniqueIdWithPrefix","prefix","Math","floor","random","Date","getTime","stringSnakeToCamel","str","m","toUpperCase","DOMEventHandlerUtil","selector","eventName","callBack","eventId","e","targets","querySelectorAll","target","i","length","call","parentElement","addEventListener","funcFromStore","removeEventListener","calee","currentTarget","ElementAnimateUtil","to","duration","update","complete","easings","t","b","c","d","change","start","window","performance","now","requestAnimationFrame","loop","timestamp","time","animationName","animateClasses","split","cssClass","add","one","offset","targetPos","getElementOffset","top","scrollPos","pageYOffset","documentElement","scrollTop","animate","scrollTo","getCSS","el","styleProp","defaultView","ownerDocument","toLowerCase","getComputedStyle","getCSSVariableValue","variableName","hex","getElementActualCss","prop","cache","css","getAttribute","cssText","offsetWidth","offsetHeight","undefined","setAttribute","parseFloat","attributeValue","getElementIndex","parentNode","getElementMatches","p","Element","prototype","f","matches","webkitMatchesSelector","tagName","getClientRects","left","rect","getBoundingClientRect","win","pageXOffset","getElementParents","s","this","item","parents","getHighestZindex","bufferNode","buffer","position","parseInt","isNaN","getScrollTop","scrollingElement","getViewPort","width","innerWidth","height","innerHeight","insertAfterElement","referenceNode","insertBefore","nextSibling","isVisibleElement","throttle","timer","func","delay","getElementChild","childNodes","child","nodeType","getElementChildren","slide","dir","speed","callback","calcHeight","getElementActualHeight","calcPaddingTop","calcPaddingBottom","paddingTop","paddingBottom","display","overflow","slideUp","slideDown","getBreakpoint","breakpoint","getAttributeValueByBreakpoint","incomingAttr","jsonStr","join","matched","JSON","parse","toJSON","resultKey","resultBreakpoint","EventHandlerUtil","metas","handlerId","meta","getEventMetasByName","setEventMetasByName","handerId","fired","getEventsMetaByHandlerId","setEventMetaByNameAndHandlerId","handler","setFiredByNameAndHandlerId","addEvent","removeEvent","on","ProjectContent","intl","useIntl","recordsProject","filter","x","locale","formatMessage","idx","src","alt","ServicesWrapper","isHome","sm","isRight","isCircle","color","xs","md","Title","Text","toAbsoluteUrl","pathname","process","checkIsActive","url","current","getCurrentUrl","indexOf","KTSVG","svgClassName","defaultAlerts","icon","state","defaultLogs","code","message","CookieComponent","cookie","match","RegExp","decodeURIComponent","cookieOptions","options","expires","toUTCString","updatedCookie","encodeURIComponent","optionKey","optionValue","DrawerStore","instanceId","drawerComponentObj","defaultDrawerOptions","overlay","baseClass","overlayClass","direction","DrawerComponent","_element","overlayElement","toggleElement","instanceUid","shown","lastWidth","closeElement","_handlers","togglers","_getOption","closers","preventDefault","_toggle","_hide","_update","String","hasBaseClass","contains","bodyCanvasAttr","attr","optionName","option","trigger","_show","_deleteOverlay","removeAttribute","_createOverlay","createElement","elementZIndex","overlayZindex","append","overlayClassOption","removeChild","_getDirection","_getWidth","toggle","show","hide","isShown","goElement","off","event","drawer","getInstance","hasInstace","elementId","hideAll","getAllInstances","dr","updateAll","handleDismiss","closest","bootstrap","createInstances","initGlobalHandlers","reinitialization","defaultImageInputOptions","defaultImageInputQueires","componentName","instanseQuery","inputQuery","wrapperQuery","cancelQuery","removeQuery","hiddenQuery","ImageInputComponent","_options","_queries","inputElement","wrapperElement","cancelElement","removeElement","hiddenElement","queries","uid","_change","files","reader","FileReader","onload","readAsDataURL","_cancel","_remove","querySelector","handlers","ImageInput","elements","createInsance","defaultScrollOptions","saveState","ScrollComponent","getOption","hasAttribute","getHeightType","getAutoHeight","dependencies","wrappers","len","borderTop","borderBottom","setupHeight","getHeight","heightType","setupState","setupScrollHandler","scrollHandler","cookieId","destroyScrollHandler","resetHeight","heghtType","Function","getElement","scroll","resize","createInstance","defaultScrollTopOptions","ScrollTopComponent","_scroll","_go","go","goTop","defaultStepperOptions","startIndex","animation","animationSpeed","animationNextClass","animationPreviousClass","StepperComponent","steps","btnNext","btnPrev","btnSubmit","totatStepsNumber","passedStepIndex","currentStepIndex","_goTo","index","refreshUI","initHandlers","stepDirection","_getStepDirection","getStepContent","getLastStepIndex","getTotalStepsNumber","isLastStep","isFirstStep","animateClass","isBetweenStep","goto","goNext","getNextStepIndex","goPrev","getPrevStepIndex","goFirst","goLast","getCurrentStepIndex","getPassedStepIndex","destroy","console","log","stepper","defaultStickyOptions","reverse","animationClass","StickyComponent","instanceName","eventTriggerState","lastScrollTop","offsetNum","st","enable","disable","dataStickyAttr","attrValueInStr","attrValue","zindex","widthTarget","targetElement","offsetLeft","sticky","defaultToggleOptions","ToggleComponent","attribute","_isEnabled","_disable","_enable","isEnabled","elementTargetAttr","elementToggleAttr","defaultPasswordMeterOptions","minLength","checkUppercase","checkLowercase","checkDigit","checkChar","scoreHighlightClass","defaultPasswordMeterQueires","visibilityQuery","highlightQuery","PasswordMeterComponent","visibilityElement","highlightElement","score","checkSteps","reset","highlight","check","visitbility","visibleIcon","hiddenIcon","focus","test","count","items","slice","total","checkScore","getCheckScore","getScore","checkLength","checkLowerCase","passwordMeter","SwapperStore","defaultSwapperOptions","mode","defaultSwapperQueires","attrQuery","SwapperComponent","parentSelector","prepend","place","defaultMenuOptions","dropdown","hoverTimeout","accordion","slideSpeed","expand","MenuComponent","triggerElement","_setTriggerElement","_isTriggerElement","_getItemOption","_getItemElement","itemElement","sub","subItem","_getItemParentElement","parentItem","_getItemParentElements","parent","unshift","_getDropdownPopperConfig","placementOption","placement","offsetValue","strategy","modifiers","flipVariations","_getItemChildElement","_getItemChildElements","_getItemSubElement","_getCss","_getItemSubType","_isItemSubShown","_isItemDropdownPermanent","_isItemParentShown","_isItemSubElement","_hasItemSub","_getItemLinkElement","_getItemToggleElement","_showDropdown","hideDropdowns","parentZindex","initDropdownPopper","appendChild","reference","attach","popper","createPopper","_hideDropdown","destroyDropdownPopper","_showAccordion","_hideAccordions","subElement","_hideAccordion","itemsToHide","itemToHide","_reset","removeClass","_destroy","_mouseout","timeout","_mouseover","clearTimeout","_dismiss","itemSubType","_link","_click","click","link","dismiss","mouseover","mouseout","getItemTriggerType","getItemSubType","getItemLinkElement","getItemToggleElement","getItemSubElement","getItemParentElements","isItemSubShown","isItemParentShown","getTriggerElement","isItemDropdownPermanent","hideAccordions","elementMenu","menu","menuData","subMenu","skip","updateDropdowns","forceUpdate","menuItem","menuInstance","menuItems","menuObj","stopPropagation","defaultSearchOptions","keypress","enter","layout","showOnFocus","defaultSearchQueires","SearchComponent","contentElement","formElement","spinnerElement","clearElement","submitElement","toolbarElement","resultsElement","suggestionElement","emptyElement","processing","menuObject","_getElement","getResponsiveFormMode","responsive","blur","charCode","keyCode","search","input","clear","responsiveFormMode","isProcessing","getQuery","getMenu","getFormElement","context","Search","Yup","shape","firstname","min","max","required","email","lastname","password","changepassword","when","is","then","oneOf","acceptTerms","UsersTableMock","Logout","dispatch","useDispatch","auth","logout","location","reload","table","username","accessToken","refreshToken","roles","pic","fullname","occupation","companyName","phone","language","timeZone","website","emailSettings","emailNotification","sendCopyToPersonalEmail","activityRelatesEmail","youHaveNewNotifications","youAreSentADirectMessage","someoneAddsYouAsAsAConnection","uponNewOrder","newMembershipApproval","memberRegistration","updatesFromKeenthemes","newsAboutKeenthemesProductsAndFeatureUpdates","tipsOnGettingMoreOutOfKeen","thingsYouMissedSindeYouLastLoggedIntoKeen","newsAboutStartOnPartnerProductsAndOtherServices","tipsOnStartBusinessProducts","communication","sms","address","addressLine","city","postCode","socialNetworks","linkedIn","facebook","twitter","instagram","connector","connect","props","didRequest","useRef","showSplashScreen","setShowSplashScreen","useSelector","shallowEqual","requestUser","getUserByToken","user","fulfillUser","error","rootSaga","rootReducer","combineReducers","all","sagaMiddleware","createSagaMiddleware","middleware","getDefaultMiddleware","immutableCheck","serializableCheck","thunk","configureStore","reducer","devTools","enhancers","reduxBatch","persistor","persistStore","run","allMessages","de","deMessages","es","vi","viMessages","en","enMessages","fr","ja","zh","I18nProvider","useLang","messages","Content","useLocation","clsx","iconName","linkIcon","linkAboutUs","inforCompany","contactCompany","Footer","padding","marginTop","cate","getFullYear","MenuItem","fontIcon","hasArrow","hasBullet","active","MenuInner","Header","DefaultTitle","breadCrumbs","isSeparator","languages","lang","flag","Topbar","currentLanguage","find","onChange","setLanguage","defaultValue","HeaderWrapper","header","aside","headerMenu","ScrollTop","isFirstRun","reInitialization","stickyHeader","updateHeaderSticky","MasterInit","MasterLayout","Error500","Error404","ErrorsPage","history","useHistory","backgroundImage","exact","onClick","servicesData","serviceId","serviceName","BannerWrapper","autoPlay","muted","preload","gradient","ProjectsWrapper","controls","AboutUsWrapper","ClientsWrapper","dots","infinite","rows","slidesToShow","slidesToScroll","arrows","settings","slidesToclick","initialSlide","Swipe","Item","img","InsightsWrapper","currentLang","sizeLeft","setSizeLeft","sizeRight","setSizeRight","insightData","setInsightData","highlightInsight","setHighlightInsight","normalInsight","setNormalInsight","dashboardInsigt","sort","a","ins","shift","handleResize","Row","Col","lg","DashboardPage","Services","DashboardWrapper","MenuTestPage","PrivateRoutes","BuilderPageWrapper","lazy","AboutWrapper","ProjectsPageWrapper","ProjectDetailPage","ProductDesignServiceWrapper","SoftwareDevelopmentService","ERPService","CareersPageWrapper","ProfilePage","WizardsPage","AccountPage","WidgetsPage","ChatPage","Contact","fallback","component","Routes","App","basename","Helmet","rel","axios","mock","MockAdapter","delayResponse","generateUserId","ids","onPost","LOGIN_URL","reply","REGISTER_URL","REQUEST_PASSWORD_URL","onGet","GET_USER_BY_ACCESSTOKEN_URL","Authorization","headers","startsWith","mockAuth","_redux","interceptors","request","use","getState","err","Promise","reject","Chart","register","registerables","ReactDOM","render","loading","Dropdown1","defaultChecked","API_URL","login","post","requestPassword","LAYOUT_CONFIG_KEY","getLayout","ls","localStorage","getItem","er","headerContainer","headerMobile","asideMenu","asideToggle","toolbar","toolbarContainer","contentContainer","footerContainer","sidebar","main","class","fixed","desktop","tabletAndMobile","tabletAndMobileMode","typeOptions","layouts","bodyStyles","heightAndTabletMobileMode","responsiveBreakpoint","responsiveTarget","theme","minimized","hoverable","darkSkinEnabled","initLayout","initHeader","initPageTitle","initToolbar","initContent","initAside","initFooter","footer","initAsideMenu","fieldsToUpdate","updatedConfig","initCSSClasses","initCSSVariables","initHTMLAttributes","isLoaded","initConfig","setItem","stringify","MetronicSplashScreenContext","LayoutSplashScreen","visible","setCount","prev","saga","actionTypes","initialAuthState","persistReducer","storage","whitelist","action","payload","actions","setUser","takeLatest","loginSaga","put","registerSaga","userRequested","I18N_CONFIG_KEY","REACT_APP_I18N_CONFIG_KEY","initialState","selectedLang","I18nContext","MetronicI18nProvider","getConfig","ExploreMain","DrawerMessenger","ActivityDrawer","FallbackView","inits","appName","category","framework","dbName","dbType","nameOnCard","cardNumber","cardExpiryMonth","cardExpiryYear","cardCvv","saveCard","createAppSchema","label","Main","stepperRef","currentSchema","setCurrentSchema","initValues","prevStep","ref","validationSchema","initialValues","onSubmit","values","resetForm","noValidate","placeholder","as","InviteUsers","avatar","access","charAt","plans","subTitle","priceMonth","priceAnnual","default","custom","features","supported","UpgradePlan","currentState","setCurrentState","selected","setSelected","plan","checked","feature","ChatInner","isDrawer","ArrowNavigation","primaryColor","loader","scrolltop","menuIcon","megaMenu","minimize","toolbar1","toolbar2","toolbar3","toolbar4","toolbar5"],"mappings":"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","file":"static/js/main.7700bd73.chunk.js","sourcesContent":["export function getIdFromPath(path: string) {\r\n if (path !== null && path !== '') {\r\n const pos = path.lastIndexOf('-')\r\n const posDot = path.lastIndexOf('.html')\r\n const id = path.substring(pos + 1, posDot)\r\n return id\r\n }\r\n}\r\n\r\nexport function getUniquePostKeyFromPath(path: string) {\r\n if (path !== null && path !== '') {\r\n const pos = path.lastIndexOf('_')\r\n const posDot = path.lastIndexOf('.html')\r\n const id = path.substring(pos + 1, posDot)\r\n return id\r\n }\r\n}\r\n\r\nexport function transferTitleToAlias(title?: string) {\r\n if (!title) return ''\r\n const newTitle = removeVietnameseTones(title.trim())\r\n\r\n return newTitle.trim().replaceAll(' ', '-')\r\n}\r\n\r\nfunction removeVietnameseTones(str: string) {\r\n str = str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g, 'a')\r\n str = str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g, 'e')\r\n str = str.replace(/ì|í|ị|ỉ|ĩ/g, 'i')\r\n str = str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g, 'o')\r\n str = str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g, 'u')\r\n str = str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g, 'y')\r\n str = str.replace(/đ/g, 'd')\r\n str = str.replace(/À|Á|Ạ|Ả|Ã|Â|Ầ|Ấ|Ậ|Ẩ|Ẫ|Ă|Ằ|Ắ|Ặ|Ẳ|Ẵ/g, 'A')\r\n str = str.replace(/È|É|Ẹ|Ẻ|Ẽ|Ê|Ề|Ế|Ệ|Ể|Ễ/g, 'E')\r\n str = str.replace(/Ì|Í|Ị|Ỉ|Ĩ/g, 'I')\r\n str = str.replace(/Ò|Ó|Ọ|Ỏ|Õ|Ô|Ồ|Ố|Ộ|Ổ|Ỗ|Ơ|Ờ|Ớ|Ợ|Ở|Ỡ/g, 'O')\r\n str = str.replace(/Ù|Ú|Ụ|Ủ|Ũ|Ư|Ừ|Ứ|Ự|Ử|Ữ/g, 'U')\r\n str = str.replace(/Ỳ|Ý|Ỵ|Ỷ|Ỹ/g, 'Y')\r\n str = str.replace(/Đ/g, 'D')\r\n // Some system encode vietnamese combining accent as individual utf-8 characters\r\n // Một vài bộ encode coi các dấu mũ, dấu chữ như một kí tự riêng biệt nên thêm hai dòng này\r\n str = str.replace(/\\u0300|\\u0301|\\u0303|\\u0309|\\u0323/g, '') // ̀ ́ ̃ ̉ ̣ huyền, sắc, ngã, hỏi, nặng\r\n str = str.replace(/\\u02C6|\\u0306|\\u031B/g, '') // ˆ ̆ ̛ Â, Ê, Ă, Ơ, Ư\r\n // Remove extra spaces\r\n // Bỏ các khoảng trắng liền nhau\r\n str = str.replace(/ + /g, ' ')\r\n str = str.trim()\r\n // Remove punctuations\r\n // Bỏ dấu câu, kí tự đặc biệt\r\n str = str.replace(\r\n /!|@|%|\\^|\\*|\\(|\\)|\\+|=|<|>|\\?|\\/|,|\\.|:|;|'|\"|&|#|\\[|\\]|~|\\$|_|`|-|{|}|\\||\\\\/g,\r\n ' '\r\n )\r\n return str\r\n}\r\n","import React, {createContext, useContext, useState, useEffect} from 'react'\r\nimport {DefaultLayoutConfig} from './DefaultLayoutConfig'\r\nimport {\r\n getEmptyCssClasses,\r\n getEmptyCSSVariables,\r\n getEmptyHTMLAttributes,\r\n LayoutSetup,\r\n} from './LayoutSetup'\r\nimport {\r\n ILayout,\r\n ILayoutCSSVariables,\r\n ILayoutCSSClasses,\r\n ILayoutHTMLAttributes,\r\n} from './LayoutModels'\r\n\r\nexport interface LayoutContextModel {\r\n config: ILayout\r\n classes: ILayoutCSSClasses\r\n attributes: ILayoutHTMLAttributes\r\n cssVariables: ILayoutCSSVariables\r\n setLayout: (config: LayoutSetup) => void\r\n}\r\n\r\nconst LayoutContext = createContext Mặc dù không có nhiều thay đổi đáng chú ý trước đó nhưng trong suốt năm 2020, công nghệ đã phát triển, đột biến và thích nghi nhanh đến mức ai trong chúng ta cũng đều bị cuốn theo làn sóng tiến bộ ấy dù đã sẵn sàng hay chưa. Bởi vậy, công nghệ cũng đã thay đổi hoạt động kinh doanh và cách vận hành của nhiều doanh nghiệp, tác động trực tiếp đến: Cách giao tiếp và chia sẻ thông tin; Môi trường kinh doanh trên thiết bị di động; Remote Working; AI; Chuyển đổi số;... Giao tiếp và chia sẻ thông tin rất quan trọng đối với doanh nghiệp. Với các ứng dụng: Slack, Zoom, Microsoft Teams hay các nền tảng truyền thông xã hội, chatbots,... công việc sẽ được thực hiện nhanh, dễ dàng và hiệu quả hơn. Ngoài ra, nhờ khả năng theo dõi các cuộc trò chuyện giữa người mua - người bán cùng khả năng “đào sâu” thông tin khách hàng, công nghệ không chỉ giúp doanh nghiệp phân tích hành vi để từ đó thấu hiểu và nâng cao trải nghiệm cho khách hàng mà còn hỗ trợ doanh nghiệp tạo ra những thông điệp được “cá nhân hóa” dành riêng cho các chiến dịch truyền thông của mình. Với sự nổi lên của Thế hệ Millennials, ngày càng có nhiều người sử dụng điện thoại để mua, bán, tìm kiếm các doanh nghiệp địa phương và chia sẻ kinh nghiệm bán lẻ của họ với bạn bè, người quen, khách hàng tiềm năng hay thậm chí là với những người lạ trên Instagram mỗi ngày.Những thay đổi về công nghệ trong cách vận hành doanh nghiệp
(1) Cách giao tiếp và chia sẻ thông tin
(2) Ưu tiên môi trường kinh doanh trên thiết bị di động
Covid-19 đã thúc đẩy mô hình “work from home”, vì vậy các doanh nghiệp phải nhanh chóng đảm bảo nhân viên có quyền truy cập vào công nghệ và cơ sở hạ tầng phù hợp để thuận lợi xử lý công việc từ xa cùng nhau.
Chia sẻ về vấn đề này, Sara Sutton - Người sáng lập và CEO của FlexJobs, cho biết: “Các công ty thuộc mọi loại hình (tư nhân, công cộng, phi lợi nhuận) hoặc công ty khởi nghiệp đã nhận ra những lợi ích mấu chốt của việc tích hợp làm việc từ xa vào chiến lược kinh doanh của họ nhờ sự hỗ trợ của công nghệ. Đặc biệt, đối với vấn đề nhân sự, từ những nhân viên trong một thị trường lao động eo hẹp, công nghệ đã giúp chúng ta hoàn toàn có thể kỳ vọng về nguồn nhân lực chất lượng hơn nữa trong tương lai”.
Ứng dụng AI đã thay đổi quy trình kinh doanh trong hầu hết mọi ngành, trở thành một chiến lược cấp thiết đối với những doanh nghiệp muốn duy trì lợi thế cạnh tranh. Có rất nhiều thứ mà AI có thể làm từ việc xử lý nhanh chóng một lượng lớn dữ liệu đến bảo mật, CRM và thậm chí cả lĩnh vực tài chính và bất động sản, vì vậy AI sẽ giúp giảm bớt khối lượng công việc của con người, đưa hiệu suất làm việc tăng cao, duy trì điều kiện thuận lợi cho quá trình chuyển đổi số.
Chuyển đổi số đang diễn ra với tốc độ nhanh chóng và góp phần lớn vào quá trình thúc đẩy sự thay đổi cơ bản về cách tổ chức hoạt động, tối ưu hóa nguồn lực nội bộ và mang lại giá trị cho khách hàng trong các doanh nghiệp.
Phân tích sự thay đổi trong cách vận hành doanh nghiệp nhờ hỗ trợ của công nghệ, chúng ta có một số những giải pháp công nghệ đã được tung ra trên thị trường tiêu biểu như: Ứng dụng văn phòng ảo Gather Town; Game dành riêng cho các lập trình viên do Microsoft và Marvel hợp tác triển khai;... Với Gather Town, đây là ứng dụng cho phép người dùng thiết lập không gian làm việc trực tuyến phù hợp với nhu cầu và sở thích cá nhân, chúng ta có thể chọn tạo hình đại diện cho nhân vật của mình, tự do di chuyển, đến thăm các văn phòng ảo khác và tương tác với các vật dụng như tivi, loa phát thanh tương tự ngoài đời thực. Đồng thời, Gather Town cũng là một ứng dụng họp trực tuyến không chỉ đảm bảo các tính năng cơ bản (gọi video, chia sẻ màn hình, bảng ghi chú,...) mà còn có nhiều tính năng đặc biệt khác như: Người dùng có thể vào không gian riêng và chọn chế độ không gián đoạn (Quiet Mode) khi muốn tập trung làm việc; Có nhiều tính năng giải trí vui nhộn và các tựa boardgame đình đám để các nhóm chơi cùng nhau sau thời gian làm việc mệt mỏi; Trưởng nhóm có thể yêu cầu thành viên hiển thị “online” và bật mic để luôn sẵn sàng trao đổi công việc;... Vì vậy, chỉ sau hơn một năm ra mắt, Gather Town đã thu hút được hơn 4 triệu người dùng, trở thành một lựa chọn mới cho các sự kiện trực tuyến thay vì Zoom hay Google Meet như hiện nay.
Với trò chơi được Microsoft và Marvel hợp tác triển khai để “đào tạo” các lập trình viên tài năng, các bạn có thể tìm hiểu thêm tại: “Microsoft and Marvel play on Shang-Chi hype to train fans coding - Ong Li Ping”.
Các tác động của công nghệ không chỉ giúp doanh nghiệp cải thiện hiệu quả trong quy trình làm việc mà còn mở ra cơ hội tuyển dụng được nguồn nhân sự chất lượng hơn nhờ tính linh hoạt trong cách thức chia sẻ, xử lý công việc cùng nhau. Và trong tương lai, công nghệ chắc chắn vẫn sẽ tiếp tục là yếu tố có ảnh hưởng lớn đến cách vận hành doanh nghiệp, vì vậy, hãy luôn cập nhật kịp thời để chủ động thích nghi, tránh trường hợp bị dồn vào chân tường, buộc phải thay đổi.
Technological changes in the way businesses are run
Communication and sharing information is important for businesses. With applications: Slack, Zoom, Microsoft Teams or social media platforms, chatbots,... The work will be done faster, easier and more efficiently.
In addition, thanks to the ability to track conversations between buyers and sellers and the ability to \"deepen\" customer information, technology not only helps businesses analyze behavior to understand and enhance the customer experience, but also supports businesses to create \"personalized\" messages dedicated to their communication campaigns.
With the rise of Millennials, more and more people are using their phones to buy, sell, search for local businesses, and share their retail experiences with friends, acquaintances, prospects, or even strangers on Instagram every day.
Understanding this, the technology that has been applied increases the ease of keeping a human connection. We can communicate the news to colleagues, employees via text/video or immediately send promotional emails to the right customers when they are shopping at nearby stores thanks to the development of technology that has been combined almost seamlessly with communication software to help us gather information right here. Real time through a \"hyper-real\" website.
Covid-19 has promoted a \"work from home\" model, so businesses must quickly ensure employees have access to the right technology and infrastructure to facilitate remote work handling together.
Sara Sutton, founder and CEO of FlexJobs, said: \"Companies of all types (private, public, non-profit) or startups have realized the key benefits of integrating remote work into their business strategy thanks to the support of technology. In particular, when it comes to human resources, from employees in a tight labor market, technology has made it possible to fully expect more quality human resources in the future.\"
AI application has changed business processes in almost every industry, becoming an urgent strategy for businesses that want to maintain a competitive advantage. There are many things that AI can do from rapidly processing large amounts of data to security, CRM and even the financial and real estate sectors, so AI will help reduce human workloads, bringing productivity to soaring, maintain favorable conditions for digital transformation.
Digital transformation is happening at a rapid pace and contributes greatly to the process of driving fundamental change in the way organizations operate, optimizing internal resources, and delivering value to customers in businesses.
Analyzing the change in the way businesses operate thanks to the support of technology, we have a number of technology solutions that have been launched in the typical market such as: Gather Town virtual office application; The game is exclusively for developers developed by Microsoft and Marvel; With Gather Town, this is an application that allows users to set up online workspaces to suit their needs and personal preferences, we can choose to create avatars for our characters, freely move, visit other virtual offices and interact with items such as televisions, The loudspeaker is similar in real life. At the same time, Gather Town is also an online meeting application that not only ensures the basic features (video calling, screen sharing, note board,...) but also many other special features such as: Users can enter their own space and choose a quiet mode when they want to focus on work; There are many fun entertainment features and popular boardgame titles for teams to play together after a tiring working time; Team leader can ask members to display \"online\" and turn on the mic to always be ready to exchange jobs; So, after just over a year of launch, Gather Town has attracted more than 4 million users, becoming a new choice for online events instead of Zoom or Google Meet as it is today.
Conclude: “Microsoft and Marvel play on Shang-Chi hype to train fans coding - Ong Li Ping”.
The impact of technology not only helps businesses improve efficiency in the workflow but also opens up opportunities to recruit more quality human resources thanks to the flexibility in the way they share and handle work together. And in the future, technology will definitely continue to be a factor that has a great influence on how businesses operate, so always update in time to proactively adapt, avoid the case of being cornered, forced to change.
Bài viết này dành cho các bạn đang tìm hiểu về ngành IT, có ý muốn theo đuổi sự nghiệp trong tương lai. Cung cấp cho bạn cái nhìn tổng quan nhất về ngành IT tại Việt Nam cũng như các vị trí công việc, xu hướng chung, mức lương và con đường sự nghiệp tương lai.
Theo báo cáo thị trường năm 2020, IT vẫn đang là một trong những ngành nghề đang phát triển mạnh. Mọi người thường biết tới IT là ngành nghề “hái ra tiền” hay công việc nhẹ nhàng nhưng lương lại cao ngất. Liệu điều đấy có thật sự đúng? Hãy cùng tìm hiểu ngay sau đây.
Information Technology – Công nghệ thông tin. Hiểu một cách đơn giản, IT là ngành sử dụng máy tính và phần mềm máy tính để chuyển đổi, lưu trữ, bảo vệ, xử lý, truyền và thu thập thông tin. Mục đích của ngành IT là phát triển khả năng sửa chữa, tạo mới và sử dụng hệ thống các thiết bị và máy tính bao gồm phần cứng, phần mềm để cung cấp các giải pháp công nghệ xử lý thông tin, xử lý yêu cầu của một cá nhân hay tổ chức.
Ngành IT là một nhóm những ngành nghề, vị trí công việc đa dạng. Còn tùy thuộc vào mô hình công ty mà những vị trí trong thực tế cũng có sự chồng chéo lẫn nhau. Tuy nhiên cũng có thể nói tới những vị trí và công việc điển hình sau:
1.1 Web Developer: Frontend, Backend, Fullstack Developer
1.2 Mobile Developer: Android, IOS, React Native, Flutter Developer
1.3 Software Business Analyst (BA)
1.4 Software Architect
1.5 AI Engineer
1.6 Embedded Software Engineer
1.7 Game Developer
2.1 QA Engineer
2.2 QC Engineer
2.3 Software Tester
3.1 Bridge Software Engineer (BrSE)
3.2 IT Comtor
4.1 Project Manager (PM)
4.2 Product OwnerScrum Master
4.3 Chief Technology Officer (CTO)
4.4 Team LeaderTechnical Leader
5.1 System Administrator
5.2 DevOpsNetwork Engineer
6.1 Security Analyst
6.2 Security Engineer
6.3 Security Architect
6.4 Penetration Tester (Ethical Hacker)
7.1 UI Designer
7.2 UX Designer
7.3 Game Artist
7.4 Game Designer
7.5 Graphic Designer
8.1 IT Helpdesk
8.2 Hardware Engineer
Công việc trong ngành IT đa dạng là thế nhưng vẫn không ít người suy nghĩ nó thật khô khan, tẻ nhạt. Ngành IT vẫn có những công việc đòi hỏi tính sáng tạo, tỉ mỉ cao như desgin hay yêu cầu cao về kỹ năng lãnh đạo và giao tiếp con người và vân vân... Mình sẽ phân tích sâu hơn về những vị trí công việc này vào những bài viết sau.
Dịch vụ có ứng dụng CNTT ở Việt Nam vẫn đang phát triển không ngừng, chưa có dấu hiệu dừng lại. Hàng năm vẫn có hàng trăm dự án thuộc ngành ảnh hưởng trực tiếp tới cuộc sống con người, thay đổi cách mọi người sống và làm việc. Dự đoán những năm tiếp theo, IT vẫn là một ngành dẫn đầu mọi xu thế xã hội. Các dịch vụ vẫn đang phát triển tại Việt Nam có thể kể đến như:
Thương mại điện tử (E-Commerce) : Sendo, Lazada, Shopee, Tiki,...
Công nghệ tài chính: Momo, Moca, ViettelPay, AirPay,...
Dịch vụ vận chuyển: Grab, Go-Viet, Be, Now,...
Business Process Outsourcing (BPO): FPT, Expertrans, Mắt Bão, ...
Vận chuyển hàng hoá: Giaohangnhanh, Giaohangtietkiem, Grab, ...
Xuất bản phần mềm: Fsoft, Tinh Vân, KMS, ...
Những năm gần đây, nhân lực ngành IT đang thu hút rất nhiều bạn trẻ quan tâm bởi ngành có cơ hội việc làm tốt và mức lương thu nhập nhìn chung có nhỉnh hơn so với phần còn lại của thị trường.
Nhu cầu tuyển dụng trong ngành CNTT năm 2019 tăng gần 2,5 lần so với năm 2018, dự báo năm 2020 sẽ tiếp tục tăng (số lượng nhân sự tuyển dụng cao gấp 1,6 lần năm 2019). Theo các số liệu về thị trường CNTT, năm 2020, Việt Nam cần hơn 400.000 nhân lực và dự kiến năm 2021 là 500.000. Hiện tại, mỗi năm các cơ sở đào tạo ra khoảng 50.000 nhân sự cho ngành, nhưng chỉ 30% số đó đáp ứng đủ kỳ vọng của doanh nghiệp. Bởi lẽ các bạn trẻ tốt nghiệp đại học vẫn chưa có đủ cho mình các kỹ năng mềm: teamwork, giao tiếp, quản lý thời gian,... Kỹ năng chuyên môn vẫn đang ở mức nền tảng, chưa phải là thứ mà doanh nghiệp đang cần. Do đó thị trường nhân lực ngành IT đang rơi vào tình trạng “cung không đủ cầu”. Điều đó cũng có nghĩa sân chơi chỉ dành cho người có trí hướng học hỏi, không ngừng cải thiện kỹ năng từ mềm cho tới chuyên môn.
Mức lương được trả theo năng lực và số năm kinh nghiệm mà bạn có đồng thời phản ánh giá trị mà bạn mang lại cho công ty. Sân chơi này công bằng cho những người có năng lực thật sự. Phía dưới là mức lương trung bình các công ty trả cho các vị trí bạn đảm nhiệm, mang tính chất tham khảo.
Bạn sẽ làm việc toàn thời gian tại một công ty và nhận mức lương với vị trí của bạn. Hầu hết con đường là chọn một công ty để gắn bó lâu dài và thăng tiến. Đôi khi cũng có thể nhảy việc, đổi công ty để được mức lương, vị trí cao hơn và khi đến tuổi bạn sẽ nghỉ hưu. Khi theo con đường này, bạn sẽ được nhận một công việc ổn định, sáng đi chiều về cuối tháng lấy lương. Ngoài ra bạn còn được hưởng nhiều ưu đãi từ công ty, bạn cũng có thể chọn công ty ở Việt Nam hoặc tìm việc ở những công ty nước ngoài, làm việc tại nước ngoài cũng hết sức đơn giản. Con đường này khá phổ biến và gần như là mặc định cho mọi lập trình viên.
Nếu ưa phần mạo hiểm và hơn, bạn có thể vào làm việc tại những công ty startup. Ở đó bạn sẽ không học được những quy trình làm việc chặt chẽ như ở những công ty lớn nhưng bạn sẽ được tiếp xúc với mọi phần của công đoạn tạo ra một sản phẩm, từ lên ý tưởng cho tới quảng cáo, tiếp thị đến tay người dùng. Bạn sẽ học được nhiều hơn nhưng áp lực cũng cũng thế mà nhiều thêm.
Nếu bạn ưa thích sự tự do, không gò bó thời gian làm việc thì lựa chọn này cũng rất đáng cân nhắc. Freelancer – lính đánh thuê, thuê đâu đánh đó. Công việc của bạn là tự tìm kiếm khách hàng cho mình, giúp họ làm ra sản phẩm mong muốn. Khách hàng cũng có thể là những công ty phần mềm cần thuê thêm nhân lực. Đánh đổi cho sự tự do về thời gian đó là cả một quá trình xây dựng uy tín bản thân, kĩ năng chuyên môn thuộc hàng “biết tuốt” thì mới có cơ hội phát triển. Từ con đường làm freelancer cho tới con đường startup dưới đây cũng thật gần.
Startup các công ty công nghệ ở Việt Nam cũng đang là xu hướng của các bạn trẻ hiện nay. Tự tạo một công ty mang sắc màu, sứ mạng của bản thân, mang lại giá trị cho cộng đồng. Tuy nhiên startup có cả trăm câu chuyện thành công nhưng cũng có hàng ngàn câu chuyện thất bại của rất rất nhiều người. Khởi nghiệp thành công cần nhiều kĩ năng giỏi từ chuyên môn cho tới quản lý, giao tiếp,...Không nhiều người có thể chuẩn bị tốt được những kĩ năng đấy và cho dù có vậy, họ cũng sẽ phải đối mặt với những áp lực từ công việc, tài chính, quản lý nhân sự,... và vô vàn những điều cần phải xử lý, làm việc không quản ngày đêm là hiển nhiên. Vì thế các bạn trẻ không chuẩn bị tốt mà lao vào khởi nghiệp thì chỉ có nước đi tong.
Để có thể theo ngành IT, đam mê là điều kiện tiên quyết bạn cần phải có. Niềm đam mê, thích thú với những công nghệ mới, tò mò về thế giới số sẽ giúp bạn học những kiến thức mới với sự say mê thật sự, kiến thức vì thế cũng dễ tiếp thu, nó còn giúp bạn kiên trì học hỏi từng ngày, không bỏ cuộc giữa chừng bởi khi bạn dừng học, kiến thức sẽ nhanh bị lỗi thời, tương lai không xa bạn sẽ bị đào thải khỏi thị trường. Xin đừng nhầm lẫn giữa “Ấn tượng” và “Đam mê”. Nhiều bạn trẻ có những câu hỏi dạng như “Em có đam mê nhưng không biết gì về IT thì có theo được không?” Lúc này bạn chỉ bị ấn tượng và thích thú về những gì IT đem lại, không phải đam mê. Tai hại biết bao với những bạn theo IT chỉ vì thấy nó hot, mọi người ồ ạt học theo nhưng rồi chỉ còn phân nửa có thể trụ lại. Vậy nên, hãy học thử những kiến thức về ngành trong vòng 3 tháng, nếu sau 3 tháng này bạn vẫn giữ cho mình sự say mê thích thú thì mạnh dạn dấn thân vào ngành nhé.
Bằng đại học nói chung chỉ có giá trị chứng minh với nhà tuyển dụng bạn đã có học, có nỗ lực kiên trì để hoàn thành chương trình đại học và sẵn sàng kiếm một công việc fulltime. Vậy thôi, điều quyết định bạn có được tuyển dụng hay không phụ thuộc vào năng lực của bản thân.
IT nói riêng và cũng như các ngành khoa học khác nói chung, tất cả đều dùng đến toán. Tuy nhiên mức độ sử dụng cũng mỗi khác. Làm việc trong ngành phần mềm, toán đa phần là cộng trừ nhân chia nhưng khi tới các ngành nặng về học thuật như AI, Machine Learning ,... thì lại cần rất rất nhiều kiến thức về toán
Lựa chọn đầu tiên bạn nên nghĩ tới là trường đại học. Kiến thức tại trường sẽ giúp bạn có nền tảng vững chắc sau này để tự học những công nghệ mới. Tiếp theo là các trung tâm dạy nghề và các khóa học online. Kiến thức được giảng dạy ở đây chủ yếu phục vụ nhu cầu TRƯỚC MẮT của doanh nghiệp, học xong có thể đi làm ngay
Khi học IT, kĩ năng quan trọng nhất chính là giải quyết vấn đề - Problem Solving. Suy cho cùng, ngôn ngữ lập trình chỉ là công cụ, kĩ năng làm chủ công cụ mới quan trọng hơn cả.
Có, bạn hoàn toàn có thể. Những kiến thức về ngành đều có sẵn ở trên mạng. Các khóa học online, các trung tâm giảng dạy chỉ cần bạn kiên trì học tập, khi học xong bạn hoàn toàn đủ sức để đi làm.
Ngành IT vẫn đang là một ngành mới tại Việt Nam, có nhiều sự thay đổi qua các năm và dĩ nhiên thay đổi để phát triển hơn. Qua bài viết, hi vọng bạn sẽ có cho mình những hiểu biết sơ bộ về ngành IT cũng như lựa chọn cho mình con đường phù hợp với năng lực, sở thích của bản thân trong tương lai. Chúc các bạn thành công.
Các số liệu được tổng hợp từ: Báo cáo thị trường IT 2020
This article is for those who are learning about IT, intending to pursue a career in the future. Give you the best overview of the IT industry in Vietnam as well as job positions, general trends, salaries and future career paths.
According to the 2020 market report, IT is still one of the thriving industries. People often know it as a 'money-making' profession or light work but high salaries. Is that really true? Let's find out later.
Information Technology - Information Technology. Simply put, IT is the industry that uses computers and computer software to convert, store, protect, process, transmit and collect information. The purpose of the IT industry is to develop the ability to repair, create and use systems of devices and computers including hardware and software to provide information processing technology solutions, processing requests of an individual or organization.
It industry is a diverse group of professions and job positions. Depending on the company model, the positions in practice also overlap. However, it can also be said that the following typical positions and jobs:
1.1 Web Developer: Frontend, Backend, Fullstack Developer
1.2 Mobile Developer: Android, IOS, React Native, Flutter Developer
1.3 Software Business Analyst (BA)
1.4 Software Architect
1.5 AI Engineer
1.6 Embedded Software Engineer
1.7 Game Developer
2.1 QA Engineer
2.2 QC Engineer
2.3 Software Tester
3.1 Bridge Software Engineer (BrSE)
3.2 IT Comtor
4.1 Project Manager (PM)
4.2 Product OwnerScrum Master
4.3 Chief Technology Officer (CTO)
4.4 Team LeaderTechnical Leader
5.1 System Administrator
5.2 DevOpsNetwork Engineer
6.1 Security Analyst
6.2 Security Engineer
6.3 Security Architect
6.4 Penetration Tester (Ethical Hacker)
7.1 UI Designer
7.2 UX Designer
7.3 Game Artist
7.4 Game Designer
7.5 Graphic Designer
8.1 IT Helpdesk
8.2 Hardware Engineer
The work in the IT industry is diverse but still many people think it is dry, tedious. The IT industry still has jobs that require creativity, highly meticulous like desgin or high requirements for leadership and human communication skills and so on. I will analyze these positions in the following articles.
It application services in Vietnam are still growing constantly, showing no signs of stopping. Every year, hundreds of industry projects directly impact people's lives, changing the way people live and work. Predicting the next years, IT will remain a leading industry in all social trends. Services that are still developing in Vietnam can be mentioned as:
E-Commerce: Sendo, Lazada, Shopee, Tiki,...
Financial technology: Momo, Moca, ViettelPay, AirPay,...
Shipping services: Grab, Go-Viet, Be, Now,...
Business Process Outsourcing (BPO): FPT, Expertrans, Mắt Bão, ...
Freight: Giaohangnhanh, Giaohangtietkiem, Grab, ...
Software publishing: Fsoft, Tinh Van, KMS, ...
In recent years, IT workers are attracting a lot of young people interested because the industry has good job opportunities and the overall income is slightly higher than the rest of the market.
Recruitment demand in the IT industry in 2019 increased by nearly 2.5 times compared to 2018, forecasting that 2020 will continue to increase (the number of recruits is 1.6 times higher than in 2019). According to IT market data, in 2020, Vietnam needs more than 400,000 human resources and is expected to be 500,000 in 2021. Currently, each year the institutions produce about 50,000 employees for the industry, but only 30% of them meet the expectations of the business. Because young college graduates still do not have enough soft skills: teamwork, communication, time management,... Professional skills are still at the foundation level, not something that businesses need. Therefore, the IT human resources market is in a state of 'insufficient supply and demand'. It also means that the playground is only for people with learning orientation, constantly improving skills from soft to professional.
The salary paid according to the competence and the number of years of experience you have simultaneously reflects the value you bring to the company. This playground is fair to those who have real competence. Below is the average salary companies pay for the positions you take, which are of a reference nature.
You will work full-time at a company and receive a salary with your position. Most of the way is to choose a company for long-term engagement and promotion. Sometimes you can jump jobs, change jobs for higher salaries, positions, and when you reach the age you'll retire. When following this path, you will be given a stable job, in the morning to the end of the month to get a salary. In addition, you also enjoy many incentives from the company, you can also choose a company in Vietnam or find a job in foreign companies, working abroad is also very simple. This path is quite common and almost the default for every programmer.
If you prefer the risk and more, you can work at startups. There you will not learn the same rigorous workflows as in large companies, but you will be exposed to every part of the process of creating a product, from ideation to advertising, marketing to users. You'll learn more, but so will the pressure.
If you prefer freedom, not limited working time, this option is also worth considering. Freelancer - mercenaries, hire somewhere to fight. Your job is to find customers for yourself, helping them make the desired product. Customers may also be software companies that need to hire more people. The trade-off for freedom of time is a process of building self-reputation, professional skills in the 'know all' to have the opportunity to develop. From the freelancer to the startup path below is also very close.
Start-ups of technology companies in Vietnam are also a trend of young people today. Create a company with its own colors, mission, bringing value to the community. However, startups have hundreds of success stories but there are also thousands of failure stories of a lot of people. Successful start-ups require many good skills from expertise to management, communication,... Not many people are able to prepare those skills well and even so, they will face pressures from work, finance, human resource management,... And countless things that need to be handled, working without managing day and night is obvious. Therefore, young people are not well prepared but rushing to start a business, only tong move.
To be able to follow the IT industry, passion is a prerequisite you need to have. Passion, interest in new technologies, curiosity about the digital world will help you learn new knowledge with real passion, knowledge is also receptive, it also helps you persevere to learn every day, not give up in the middle because when you stop studying, Knowledge will quickly become obsolete, in the not too distant future you will be eliminated from the market. Please don't confuse 'impression' and 'passion.' Many young people have questions like 'Do you have a passion but do not know anything about IT?' At this point you are just impressed and interested in what IT has to offer, not passion. How harmful it is for those who follow IT just because it is hot, people massively learn but then only half can stay. So, try the knowledge of the industry within 3 months, if after these 3 months you still keep yourself passionate, boldly enter the industry.
A college degree is generally only valid to prove to an employer you have studied, have a persistent effort to complete an undergraduate program, and are willing to get a full-time job. What determines whether or not you are hired depends on your abilities.
It in particular and, like other sciences in general, all use mathematics. However, the level of use is also different. Working in software, mathematics is mostly plus and minus multiplied but when coming to academic-heavy industries such as AI, Machine Learning ,... You need a lot of knowledge about math.
The first option you should think about is college. Knowledge at the school will help you have a solid foundation later on to learn new technologies on your own. This is followed by vocational centers and online courses. The knowledge taught here mainly serves the immediate needs of businesses, after finishing school can go to work immediately.
When learning IT, the most important skill is problem solving. After all, programming language is just a tool, the skill of mastering the new tool is more important.
Yes, you absolutely can. Knowledge of the industry is available online. Online courses, teaching centers just need you to persevere in learning, when you finish studying you are fully qualified to go to work.
It industry is still a new industry in Vietnam, there are many changes over the years and of course change to develop more. Through the article, hopefully you will have a preliminary understanding of the IT industry as well as choose for yourself the right path for your abilities and interests in the future. I wish you success.
Figures compiled from: IT Market Report 2020
Gần cuối năm 2019 đến hiện tại ngày hôm nay, đại dịch đã đến và tàn phá khóc lịch trên toàn cầu, cướp đi rất nhiều tính mạng con người, và dẫn đến cuộc khủng hoảng kinh tế toàn cầu nói chung và Việt Nam nói riêng. Và Dimensio cũng không thể tránh khỏi những sự kiện thiên nga đen này. Nhưng nó đem đến cho chúng ta nhiều bài học quý giá để đúc kết được kinh nghiệm. Đầu năm 2021 đến hiện nay, việc đưa công nghệ vào vận hành đã tăng lên trong ngành thời trang gắn kết với công nghệ. Những công nghệ này ngày càng được nhà bán lẻ lựa chọn làm mũi nhọn, giúp các nhà cung cấp khẳng định được sự uy tín, minh bạch, tạo ra 1 môi trường mua sắm lành mạnh và an toàn cho khách hàng giúp. Những lựa chọn ưu tiên thay thế việc mua sắm trực tiếp: mua sắm trực tuyến, thanh toán di động, đề xuất dựa trên AI, gương dùng thử ảo và quét cơ thể 3D sẽ đem lại tác động lâu dài đến trải nghiệm mua sắm, cả trực tuyến và ngoại tuyến, và sẽ trở thành một phần thiết yếu của ngành bán lẻ trong thời gian tới.
Shopping áo quần trực tuyến sẽ có 1 số cản trả vì lý do như kích cỡ, màu sắc, cảm giác, v.v. Để tối ưu hóa giảm khoảng cách giữa trải nghiệm mua sắm trực tuyến và ngoại tuyến, những nhà buôn bán bây giờ đang tận dụng việc tiêu dùng khoa học định cỡ để giúp người dùng để tìm áo quần vừa vặn vẹo thích hợp với họ lúc mua tìm trực tuyến. Công nghệ này đã góp phần quan trọng làm giảm tỷ lệ trả hàng của những sản phẩm trên thương mại điện tử do vấn đề định cỡ vốn là 1 trong các thách thức to nhất đối mang những nhà bán buôn.
Digital Fit đang được dùng dưới dạng máy quét thân thể bằng điện thoại di động. Máy quét cơ thể 3D là áp dụng dựa trên trang bị di động được tích hợp trong trang web và ứng dụng di động của những nhà bán lẽ. Công nghệ này cho phép khách hàng thử quần áo trên ảnh đại diện ảo của họ và xem các tùy chọn khác nhau. người mua dùng điện thoại di động chụp ảnh phần đông cơ thể của họ, sau đó phân phối số đo và tạo hình đại diện công nghệ số của họ. Trên những hình đại diện này, các bạn mang thể thử áo xống, kiểm tra độ vừa vặn vẹo và kích thước.
Lúc nhu cầu “không tiếp xúc” đang trở thành hết sức quan trọng hiện giờ, kỹ thuật này ban sơ được giới thiệu để hạn chế thời gian thử đồ, giúp người mua chẳng phải xếp hàng dài và bên cạnh đó giúp gia tăng trải nghiệm tại shop thời trang.
Kỹ thuật được cài đặt trong một ki-ốt bên trong shop cho phép thử áo quần ảo. mang rộng rãi biến thể khác nhau mà các nhà bán sỉ sở hữu thể tuyển lựa. Một trong số đấy là việc tạo hình đại diện 3D để thử áo quần và hai là sử dụng AR để chồng xống áo lên hình ảnh đề đạt của người dùng.
Trong kỹ thuật AR, những sản phẩm may mặc sở hữu dạng hình của người đứng trước gương và cho phép quý khách thấy được hình trạng của áo quần. Terxtronic, với hội sở tại Mumbai, là một trong các dịch vụ Phòng thử đồ ảo AR. Công nghệ TryOn cho phép người dùng thử hàng may mặc. Phần mềm được tích hợp vào các gương ảo được đặt trong cửa hàng và cho phép quý khách áp xống áo lên hình ảnh phản ảnh của họ. Khoa học này cũng sở hữu thể nắm bắt đi lại của người mua, cho phép họ thử các tùy chọn khác nhau bằng cách thức tiêu dùng đi lại vuốt và vẫy tay thuần tuý. một số nhà cung cấp giải pháp hỗ trợ những nhà bán lẻ trong ngành này là Textronic, TryNDBuy và Zugara.
Để hạn chế tiếp xúc, các bạn giảm thiểu trả tiền bằng tiền mặt. Dù rằng phần đông các bạn thích thanh toán bằng thẻ, nhưng phổ quát kỹ thuật khác như tự thanh toán, trả tiền bằng di động và công nghệ scan&go sẽ được áp dụng đa dạng hơn lâu dài sắp.
Cho phép quý khách vào shop, lấy sản phẩm của họ, quét mã QR, trả tiền bằng những phương thức khác nhau bao gồm tín dụng, ghi nợ, Apple Pay, Google Pay, PayPal và rời đi mà không cần đứng đợi trong hàng của quầy thanh toán. 1 trong các doanh nghiệp ứng dụng công nghệ này là Decathlon- nhà bán buôn đồ thể thao, người đã đưa ra giải pháp tự trả tiền di động trên khắp những shop của mình ở Hà Lan.
Người dùng tới thăm cửa, mua sắm muốn thanh toán nhanh cần xuống Decathlon Scan & Go để trả tiền bằng cách quét mã QR của sản phẩm. Việc cài đặt được thực hành sở hữu sự cộng tác của công ty của Anh, MishiPay. Nó cũng vô hiệu hóa các thẻ bảo mật RFID gắn trên hàng may mặc để người mua có thể ra về mà ko cần phải xếp hàng. 1 số tổ chức hỗ trợ là Perpule, AIMagnifi và Wizcart.
Đề xuất, tư vấn chăm sóc khách hàng trực tuyến
Hiện tại các nhà bán sỉ đang chuyển dần từ ngoại tuyến sang trực tuyến, sự cạnh tranh càng ngày càng gia tăng lúc những shop ngoại tuyến có lợi thế về sự tương tác trực tiếp giữa khách hàng và nhân viên đưa ra những gợi ý về phong cách.
Công cụ này dựa trên việc tích hợp AI vào kênh trực tuyến của nhãn hiệu để đưa ra những đề xuất cho người mua dựa trên lịch sử bán hàng và hoàn trả trước đấy. Nó cũng gợi ý cho người dùng những sản phẩm và kích thước thích hợp mang họ nhất.
Ví dụ: lúc mua tậu trên Myntra, nó trông thấy nhãn hàng được kiếm tìm và truy vấn cập phổ quát nhất, song song cung ứng cho khách hàng các thương lượng về nhãn hiệu ấy. Nó cũng giúp khách hàng lưu những thông báo chi tiết như người nào đã mua sản phẩm và sau ấy sẽ hỏi họ trong lần tìm mua tiếp theo về sản phẩm. Dựa trên câu giải đáp, nó sẽ đề xuất kích thước của sản phẩm thích hợp cho họ.
những doanh nghiệp nức tiếng trong việc triển khai kỹ thuật này là Vue.ai và Recombee.
những nhà bán buôn đang tiếp cận người mua qua phổ biến nền tảng khác nhau như MXH, ứng dụng di động và thị trường. Sự đổi thay sở thích của người mua sang mua mua trực tuyến với thể dẫn đến sự thay đổi vĩnh viễn trong 1 số ít trường hợp vì các lý do như sự dễ dàng, rộng rãi tuyển lựa sản phẩm và các chương trình giảm giá. bởi vậy, các nhà bán lẻ cũng nên đầu cơ vào các trang thương mại điện tử, nâng cao cường sự hiện diện của họ trên những trang bán hàng trực tuyến.
Việc giảm thiểu chuyển động và đóng cửa ở phổ thông đất nước đã xúc tiến những nhà bán sỉ và nhãn hiệu chuyển sang nền tảng khoa học số. Trước ấy định nghĩa về trình diễn bắt mắt ảo và phân tích bộ sưu tập ảo đang ở giai đoạn ý tưởng và chưa với phổ thông ứng dụng hiện giờ, hầu hết các kiến trúc sư đã dùng khoa học số để công ty 1 buổi trình diễn cá tính. công nghệ này cho phép giới thiệu phổ biến bộ sưu tập cho khách hàng với việc hạn chế giá tiền của 1 buổi biểu diễn bắt mắt thực tại. Hơn nữa, lúc xu thế hiện tại là quan tâm phổ biến hơn tới tính vững bền, yếu tố công nghệ đang trở thành mũi nhọn quan trọng. Và sự lựa chọn tính năng áp dụng công nghệ này sẽ trở thành một chọn lựa bền vững hơn cho những buổi biểu diễn phong cách truyền thống.
Tìm kiếm bằng hình ảnh, dùng hình ảnh như ảnh chụp màn hình, hình ảnh trên internet hoặc ảnh chụp để tìm kiếm sản phẩm trực tuyến. các nền móng kiếm tìm trực quan cấp độ tăng tiêu dùng trí tuệ nhân tạo (AI) để hiểu hình ảnh và hiển thị kết quả như vậy. Tỉ dụ, một người mua tìm có thể chỉ cần nhấp vào ảnh của sản phẩm họ muốn, dùng nó để đưa vào kiếm tìm của họ và kết quả sẽ trả về những sản phẩm như vậy sở hữu sẵn. Cách kiếm tìm có thể giúp họ ngay thức thì tìm thấy đúng sản phẩm họ đang kiếm tìm và cắt giảm thời kì kiếm tìm từ khóa phù hợp.
Việc dùng công nghệ này cung cấp tốt hơn cho những người mua ko kiên cố về từ khóa chuẩn xác để tìm kiếm sản phẩm. ViSenze và Pixyle.ai là số ít các doanh nghiệp đang giúp các nhà bán lẻ tận dụng việc dùng thương mại trực quan dựa trên người nào.
Và Dimensio xin dừng bút tại đây. Và mong bài viết này giúp cho các đọc giả có thêm nhiều góc nhìn hay về sự gắn kết giữa công nghệ và thời trang.
Near the end of 2019 to today, the pandemic has come and devastated the global calendar, taking a lot of human lives, and leading to the global economic crisis in general and Vietnam in particular. And Dimensio couldn't avoid these black swan events. But it gives us many valuable lessons to gain experience. In early 2021, the introduction of technology into operation has increased in the fashion industry associated with technology. These technologies are increasingly chosen by retailers as the spearhead, helping suppliers to affirm credibility, transparency, creating a healthy and safe shopping environment for customers to help. Alternatives to in-person shopping: online shopping, mobile payments, AI-based recommendations, virtual trial mirrors and 3D body scans will have a lasting impact on the shopping experience, both online and offline, and will become an essential part of the retail industry in the near future.
Online clothing shopping will have some pay-per-view barriers for reasons such as size, color, feel, etc. To optimize reducing the gap between the online and offline shopping experience, merchants are now taking advantage of sizing science to help users find clothes that fit them when buying online. This technology has contributed to reducing the return rate of products on e-commerce due to the problem of sizing which is one of the biggest challenges for wholesalers.
Digital Fit is being used as a cell phone body scanner. 3D body scanners are mobile-based applications built into the websites and mobile apps of vendors. The technology allows customers to try on clothes on their virtual profile pictures and see different options. Buyers use mobile phones to take pictures of the majority of their bodies, then distribute measurements and create their digital avatars. On these avatars, you can try on the coat, check the fit and size.
When the need for 'contactless' is becoming very important now, this technique was originally introduced to limit the time to try on clothes, help buyers not have to queue long and besides help increase the experience at the fashion shop.
The technique is installed in a kiosk inside the shop that allows for trying on virtual clothes. There are many different variations that wholesalers can choose from. One of them is the creation of a 3D avatar to try on clothes and the other is to use AR to stack the shirt on the image of the user.
In AR technology, garments possess the shape of the person standing in front of the mirror and allow you to see the shape of the clothes. Terxtronic, with its headquarters in Mumbai, is one of the AR Virtual Apparel Test Room services. TryOn technology allows users to try on garments. The software is integrated into the virtual mirrors placed in the store and allows you to apply your shirt to their reflection. This science can also capture buyer travel, allowing them to try different options by consumer-commuter swipes and waving purely. Some of the solution providers supporting retailers in this industry are Textronic, TryNDBuy and Zugara.
To limit your exposure, minimize cash payments. Although most of you prefer to pay by card, other techniques such as self-payment, mobile payment and scan&go technology will be applied more diversely in the long run.
Allows you to enter the store, grab their products, scan QR codes, pay by various methods including credit, debit, Apple Pay, Google Pay, PayPal and leave without waiting in the checkout line. One of the businesses that uses the technology is Decathlon, a sportswear wholesaler who has come up with mobile self-pay solutions across its stores in the Netherlands.
Users visiting the door, shopping want to pay quickly need to down Decathlon Scan & Go to pay by scanning the QR code of the product. The installation is practiced in partnership with the British company, MishiPay. It also disables RFID security tags mounted on garments so buyers can leave without having to queue. Some of the supporting organizations are Perpule, AIMagnifi and Wizcart.
Online customer care proposals and advice
Now that wholesalers are moving from offline to online, competition is growing as offline stores have the advantage of face-to-face interaction between customers and employees offering stylistiful suggestions.
The tool relies on integrating AI into a brand's online channel to make recommendations to buyers based on previous sales and refund history. It also suggests to users the most suitable products and sizes that carry their surnames.
For example, when buying on Myntra, it sees the most searched and universally queried brand, while providing customers with negotiations about that brand. It also helps customers save detailed notifications such as who bought the product and then asks them on the next purchase about the product. Based on the answer, it will suggest the size of the product suitable for them.
The companies that are well known for implementing this technique are Vue.ai and Recombee.
Wholesalers are reaching buyers through various platforms such as social media, mobile apps and markets. A change in buyer preferences to online purchases can lead to a permanent change in a small number of cases for reasons such as the ease, widespread selection of products, and discounts. Therefore, retailers should also speculate on e-commerce sites, enhancing their presence on online sales sites.
The reduction of movement and closures in the country has led wholesalers and brands to move to digital science. Previously, the definition of virtual eye-catching performance and virtual collection analysis was at the idea stage and not with the current universal application, most architects used digital science to give the company a personality show. This technology allows the popular introduction of the collection to customers with the price restriction of an eye-catching performance. Moreover, at the current trend of more common concern for sustainability, the technology factor is becoming an important spearhead. And the choice of this technology will become a more sustainable option for traditional style performances.
Search by image, use images such as screenshots, internet images, or snapshots to search for products online. The platform seeks visual levels of increased artificial intelligence (AI) consumption to understand images and display such results. For example, a buyer may simply click on a photo of the product they want, use it to include it in their search, and the results will return such products. A search can help them stay awake, find the right product they're looking for and cut down on the time it takes to find the right keywords.
The use of this technology provides better for buyers who are not solid about the correct keywords to search for products. ViSenze and Pixyle.ai are the few businesses that are helping retailers take advantage of the use of intuitive trade based on who.
And Dimensio please stop writing here. And hopefully this article helps readers have more good perspectives on the connection between technology and fashion.
WFH – hay Work From Home đã là một cụm từ quá quen thuộc của chúng ta những ngày này. Dưới đây mình muốn giới thiệu với mọi người một số ứng dụng, website mà mình đã sử dụng để giúp cho việc làm việc ở nhà để tạo bầu không khí học tập và làm việc hứng thú và hiệu quả hơn, cũng như có thể nâng cao sức khỏe thể chất, tinh thần và phát triển bản thân.
I miss my café là một quán café ảo mà ở đây, bạn có thể tự customize được mọi thứ. Từ tiếng mưa, tiếng người pha chế, tiếng người trò chuyện, tiếng máy xay café. Bên cạnh đó, I miss my café cũng liên kết với spotify và bạn có thể thưởng thức luôn tiếng nhạc hòa cùng những âm thanh khác khá dễ chịu. Tuy nhiên playlist của I miss my café hình như chỉ có một và chưa được update thường xuyên nên đây là điểm trừ duy nhất đối với mình.
Với các bạn đi làm văn phòng thì website giả lập này là một lựa chọn khá thú vị để vơi đi nỗi nhớ đồng nghiệp. The Sound of Colleagues có thể cho người dùng lựa chọn tiếng máy café, tiếng điện thoại, tiếng gõ bàn phím, hay máy in giống với những gì mà chúng ta vẫn thường nghe thấy ở công sở.
Mọi người cũng có thể ghé I Miss The Office: https://imisstheoffice.eu/. Tuy nhiên cá nhân mình thích và thường sử dụng The Sound of Colleagues nhiều hơn vì cảm giác chân thực hơn, các âm thanh cũng dễ điều chỉnh hơn.
Với các fan nhạc Lofi, đây là một website khá thú vị vì bạn cũng có thể tự mix một bản lofi theo ý của mình.
Với giao diện đồ họa dạng pixel tái hiện lại một căn phòng, bạn có thể nhấn vào các đồ vật trong phòng để bật/ tắt âm thanh của chúng trên nền beat sẵn có để tạo một bản lofi mà mình thích. Bạn cũng có thể chỉnh tone, volume, tempo và các hiệu ứng của nhạc cụ, tiếng TV, tiếng mưa,….
Pomodoro là phương pháp tăng hiệu suất làm việc khá phổ biến với công thức làm/ học một task trong 25’, sau đó nghỉ 5’ và tiếp tục làm sang task tiếp theo. Với công cụ này, bạn có thể kiểm soát được thời gian làm việc của mình, tập trung hơn vì có đồng hồ đếm ngược, cũng như luôn được nhắc nhở vận động, nghỉ ngơi khi làm, tránh việc làm việc ảnh hưởng đến sức khỏe.
FitOn là một ứng dụng hướng dẫn các bài tập yoga, cardio, pilates,….với các trainer uy tín và hoàn toàn miễn phí. Các bài tập của FitOn có ghi rõ ràng thời gian tập luyện phù hợp với nhu cầu, thời gian, cường độ, hay dụng cụ mà bạn muốn. FitOn theo dõi việc tập luyện của bạn và trao tặng các huy hiệu tương ứng với cường độ luyện tập. Bên cạnh đó, FitOn còn đưa ra các lời khuyên ăn uống rất lành mạnh và khoa học, tuy nhiên tính năng này có yêu cầu trả phí. FitOn hiện có trên các hệ điều hành Android và iOS.
Insight Timer là nền tảng chăm sóc và cải thiện sức khỏe tâm lý, tinh thần với các bài học, bài nghe podcast, nhạc, các sự kiện live và bài viết về thiền, giấc ngủ, yoga,….giúp bạn nuôi dưỡng sự bình yên bên trong. Hầu hết các bài học, bài nghe và nhạc, hay hướng dẫn thiền đều miễn phí, giúp bạn cải thiện các vấn đề tâm lý như rối loạn lo âu, trầm cảm, mất ngủ….Insight Timer hiện có website và ứng dụng trên điện thoại.
WFH - or Work From Home - has been a familiar phrase for us these days. Below I would like to introduce to people some of the applications and websites that I have used to help work from home to create a more exciting and productive learning and working atmosphere, as well as be able to improve physical, mental and self-development.
I miss my café is a virtual café where you can customize everything yourself. From the sound of rain, the sound of bartenders, the sound of people talking, the sound of coffee grinders. Besides, I miss my café is also associated with spotify and you can always enjoy the music mixed with other sounds quite pleasant. However, the playlist of I miss my café seems to have only one and has not been updated regularly so this is the only minus point for me.
2. Sound of colleaguesFor you who go to work in the office, this simulated website is a pretty interesting option to relieve the nostalgia of colleagues. The Sound of Colleagues can give users a choice of coffee machines, phone calls, keyboard typing, or printers that are similar to what we often hear at work.
You can also visit I Miss The Office:https://imisstheoffice.eu/. However, I personally like and often use The Sound of Colleagues more because it feels more authentic, the sound is also easier to adjust.
For Lofi fans, this is an interesting website because you can also mix a lofi at your disposal.
With a pixel graphical interface that recreates a room, you can tap on the objects in the room to turn their sound on/off on an existing beat background to create a lofi that you like. You can also adjust the tone, volume, tempo and effects of musical instruments, TV, rain,....
Pomodoro is a fairly common method of increasing performance with a 25\\'s one task, then a 5\\' break and moving on to the next task. With this tool, you can control your work time, focus more because there is a countdown clock, as well as always be reminded to exercise, rest when working, avoid work affecting health.
FitOn is an app that guides yoga, cardio, pilates,.... with reputable trainers and is completely free. FitOn exercises clearly state the workout time to suit your needs, time, intensity, or equipment. FitOn monitors your workouts and awards badges that correspond to the intensity of your workout. FitOn also offers very healthy and scientific eating advice, but this feature requires a fee. FitOn is available on Android and iOS operating systems.
Insight Timer is a platform for caring for and improving mental and mental health with lessons, podcast listening, music, live events and articles about meditation, sleep, yoga,....our you cultivate inner peace. Most lessons, listening and music, or meditation tutorials are free, helping you improve psychological problems such as anxiety disorders, depression, insomnia, etc. Insight Timer now has a website and app on your phone.
Khi bạn làm một ứng dụng nào đó, có những lúc bạn sẽ gặp phải những nghiệp vụ liên quan đến thanh toán. Khi này bạn cần phải đưa ra một số giải pháp cho các cổng thanh toán bên ngoài rồi tích hợp vào hệ thống của bạn.
Việc chuyển tiền giữa người sử dụng hệ thống và ứng dụng của bạn sẽ hình thành những giao dịch. Những giao dịch này có thể thông qua bằng một số cách cơ bản như sau:
– Giao dịch chuyển khoản ngân hàng, đây có lẽ là cách đơn giản nhất, bạn để lại số tài khoản và khách hàng sẽ chuyển khoản cho bạn. Sau khi nhận được tiền thì bạn mới xử lý quy trình trên hệ thống của bạn. Tuy nhiên với cách này thì một hai giao dịch trong năm mười phút thì okay nhưng mà nhiều giao dịch thì bạn không thể xử lý kịp và không thể tích hợp một cách tự động quy trình của bạn mà buộc phải gây gián đoạn quá trình thanh toán và bắt người dùng phải chờ xử lý.
– Giao dịch thông qua tiền mà bạn định nghĩa, hay còn gọi là tiền ảo do hệ thống bạn quy định như xu hay coin hay điểm sau đó đến một ngưỡng thanh toán nào đó thì có thể quy đổi qua tiền mặt thông qua hình thức chuyển khoản giao dịch thật.
Ở dạng này thì bạn có thể gặp đâu đó ở Momo, VinID, ShareCode,…
– Giao dịch thông qua bên thứ ba chuyển nhượng quyền thanh toán, ví dụ hệ thống của bạn sẽ cùng một đơn vị tiền của một bên thứ ba nào đó, bạn chỉ quan tâm đến việc quy đổi giao dịch của hệ thống sang cho bên thứ ba, việc thanh toán sẽ nằm ở phía bên họ. Người dùng và kể bạn là chủ ứng dụng cũng phải tự rút tiền hoặc nạp tiền thông qua kênh này, họ sẽ ăn một phần trăm nhất định.
Ở dạng này bạn có thể biết đến một số kênh như Ngân lượng, Palpal,…
– Giao dịch cổng thanh toán trực tuyến ngân hàng với hình thức trung gian, việc thanh toán này thì hệ thống của bạn dường như sẽ làm việc và xử lý thông tin với ngân hàng hay tài khoản của khách hàng. Tuy nhiên sẽ có một bên trung gian nào đó tổ chức giao dịch giữa người dùng và ngân hàng, số tiền thanh toán của người dùng cuối cùng được tổng hợp và đổ về tài khoản gốc của bạn mà bên thứ trung gian này chỉ có mục đích quản lý và tổ chức giao dịch chứ không nắm giữ số tiền thực trong tài khoản của bạn. Khi này bên trung gian sẽ tính theo lượng giao dịch hoặc theo thời gian sử dụng tùy từng bên
Ở dạng này phải kể đến Mpos, Momo, Vn-pay, Zalo pay, 123 pay, Air pay,…
Để lựa chọn được loại hình giao dịch nào thì sẽ phải tùy vào hình thức, nghiệp vụ thương mại điện tử của bạn. Đôi khi còn tùy vào giai đoạn phát triển hệ thống nữa. Từ thô sơ đến chuyên nghiệp. Ngoài ra bạn còn quan tâm đến chi phí vận hành để giao dịch cho bên thứ ba hay trung gian cũng là một chi phí không hề nhỏ.
Nếu bạn tự xây dựng hệ thống thanh toán và chọn hai hình thức giao dịch đầu thì bạn cũng cần phải quan tâm đến luật pháp liên quan đến trách nhiệm và nghĩa vụ khi thực hiện giao dịch. Bên cạnh đó bạn còn phải chịu trách nhiệm thuế má hay những tình huống lừa đảo, mất mát phát sinh nữa.
Nếu bạn chọn việc sử dụng hệ thống bên thứ ba hay cổng thanh toán điện tử trung gian thì ngoài việc lựa chọn hình giao dịch thì bạn còn phải quan tâm đến những tiêu chí sau:
– Khả năng tương thích: Khi tích hợp với hệ thống của bạn bạn cần hiểu rõ nền tảng công nghệ cũng như cách thức tích hợp, các lỗi xử lý và các trường hợp ngoại lệ, những trường hợp xấu nhất khi tiền của khách hàng sẽ đi đâu và về đâu. Bên nào sẽ chịu trách nhiệm khi gặp sự cố.
– Khả năng bảo mật: Một khi đã dính đến tiền và thông tin tài khoản của khách hàng, mọi thứ phải được đảm bảo và chắc chắn, rủi ro thấp nhất có thể. Đừng để uy tín và thương hiệu của bạn bị mất đi và có thể bạn sẽ ôm một khối nợ khổng lồ nếu một ngày hệ thống của bạn khiến cho bao khách hàng mất mát.
– Phí dịch vụ: Tất nhiên rồi, chẳng có hệ thống hay cổng thanh toán trực tiếp nào làm giúp bạn mà không lấy phí cả, mỗi hệ thống đều có. Mỗi bên có một cách tính và chi phí khác nhau nên việc bạn cần làm là phải hạch toán từng mức chi phí và những thứ phát sinh rồi hãy quyết định lựa chọn bên nào nhé!
– Khả năng tùy biến: Thanh toán thì thực sự có rất nhiều loại và đa dạng, việc lựa chọn đơn vị nào thì bạn cũng nên cân nhắc khả năng tùy biến của hệ thống bên họ. Ví dụ như quét mã QR, nhập thẻ ATM, nhập thẻ visa, debit, thanh toán qua card điện thoại…
Hiện tại thì những ứng dụng thương mại điện tử dần đã và đang bùng nổ trong thời đại 4.0 rồi. Vậy nên nếu bạn muốn xây dựng một ứng dụng hay một trang web mà có thể tích hợp được các hình thức thanh toán online để giải quyết được vấn đề quy trình trong hệ thống của bạn thì thật là một lợi thế.
Ngoài lề một chút là có một số hình thức COD, một hình thức thanh toán khi nhận hàng không nằm trong danh mục mà mình đã nêu. Tuy nhiên bạn có thể cân nhắc vì rất nhiều hệ thống cũng đã sử dụng cách này, nhưng nó không phải là một cách tối ưu do có rất nhiều rủi ro cũng như một số nghiệp vụ chỉ thanh toán một phía không trao đổi hàng hóa thì rất khó để sử dụng cách này. Ngày xưa thì có đã có hình thức biến thể kiểu như ship card mã thẻ thanh toán cho khách hàng sau đó nhập mã vào hệ thống của bạn. Bạn cũng có thể xem tham khảo qua.
Trên đây là một số cách mà mình biết khi xây dựng cũng như tích hợp hệ thống thanh toán vào ứng dụng của bạn. Bạn còn biết hình thức nào thì có thể bổ sung giúp mình nhé! Bài viết sau mình sẽ đi cụ thể hơn vào một hình thức thanh toán mà mình đã từng làm đó là Vn-pay. Đón đọc nhé!
When you do an app, there are times when you will encounter payment-related business. At this point you need to come up with some solutions for external payment gateways and then integrate into your system.
The transfer of funds between the users of the system and your application will form transactions. These transactions can be passed in some basic ways as follows:
Bank transfers, this is probably the simplest way, you leave your account number and the customer will transfer to you. After receiving the money, you process the process on your system. However, in this way, one or two transactions in five or ten minutes is okay but many transactions you can not handle in time and can not automatically integrate your process but are forced to interrupt the payment process and force users to wait for processing.
– Trading through the money that you define, also known as virtual currency regulated by your system such as coins or coins or points then to a certain payment threshold can be converted through cash through the form of real transaction transfer. In this form, you can meet somewhere in Momo, VinID, ShareCode,...
Transactions through a third party transfer the right to pay, for example your system will be the same unit of money of a third party, you are only interested in converting the transaction of the system to a third party, the payment will be on their side. Users and you as app owners must also withdraw or top up through this channel, they will eat a certain percentage. In this form you can know some channels such as Budget, Palpal,...
– Banking online payment gateway transactions in the form of intermediaries, this payment, your system seems to work and process information with the bank or customer's account. However, there will be an intermediary that organizes transactions between the user and the bank, the final user payment amount is aggregated and poured into your original account, which the intermediary only intends to manage and organize the transaction, not hold the real amount in your account. At this time, the intermediary will calculate the number of transactions or according to the time of use depending on the party In this form must be mpos, Momo, Vn-pay, Zalo pay, 123 pay, Air pay,...
To choose what type of transaction, it will have to depend on your form and e-commerce business. Sometimes it depends on the stage of system development. From rudimentary to professional. In addition, you are also interested in operating costs to transact for third parties or intermediaries is also a small cost.
If you build your own payment system and choose the first two forms of trading then you also need to pay attention to the law regarding responsibilities and obligations when making transactions. Besides, you are also liable for taxes or fraudulent situations, losses arise.
If you choose to use a third-party system or an intermediary electronic payment gateway, in addition to choosing the transaction form, you must pay attention to the following criteria:
Compatibility: When integrating with your system you need to understand the technology platform as well as how integration, handling errors and exceptions, the worst cases when customer money will go and where. Which party will be responsible in the event of a problem.
Security: Once the client's money and account information are involved, everything must be guaranteed and sure, the lowest possible risk. Don't let your reputation and brand lose and you'll probably hold a huge amount of debt if one day your system causes so many customers to lose.
Of course, there is no direct payment system or gateway that helps you without charge, each system has. Each party has a different way of calculating and costing so what you need to do is to account for each cost and what arises and then decide which side to choose!
– Customizability: Payment is really a lot of types and variety, the choice of which unit you should also consider the customization of the system with them. For example, scanning QR codes, entering ATM cards, entering visa cards, debit, paying via phone card ...
Currently, e-commerce applications have been booming in the 4.0 era. So if you want to build an app or website that can integrate online payment forms to solve the process problem in your system, that's an advantage.
On the sidelines a bit, there are some forms of COD, a form of payment when receiving goods that are not in the list that I have stated. However, you can consider because a lot of systems have also used this method, but it is not an optimal way because there are a lot of risks as well as some businesses that only pay one side without exchanging goods are difficult to use this way. In the old days, there was a variation like shipping a payment card card to customers and then entering the code into your system. You can also check it out.
Here are some ways I know when building and integrating your payment system into your app. You know what form you can take to help yourself! The following article will go more specifically into a form of payment that I used to do that is Vn-pay. Read it!
Cái giá của danh hiệu người dẫn đầu là nỗi sợ bị lật ngôi, nhiều chục tỷ USD được đầu tư vào R&D để tạo ra những công nghệ đột phá nhưng… ít hiệu quả, chỉ với mục đích giữ được vị thế của mình.
Tháng 4 năm 2019, Samsung ra mắt Galaxy S10 5G - chiếc điện thoại thông minh đầu tiên trên Thế Giới tích hợp công nghệ 5G, đưa họ cùng với Hàn Quốc lên vị trí dẫn đầu trong cuộc đua biểu tượng cho cách mạng 4.0 với giá trị 12 ngàn tỷ USD này.
Mọi con mắt đổ dồn lên Apple, xem câu trả lời từ ông vua smartphone là gì. Nhưng, Apple đã làm những fan trung thành của họ tiu nghỉu khi lặn mất tăm nguyên năm, trong bối cảnh những hãng điện thoại Trung và Hàn lần lượt cho ra mắt phiên bản 5G của mình - Huawei mate 20 X 5G, Xiaomi Mi Mix 3 5G, Oppo Reno 5G, Oneplus 7 Pro 5G, v.v..
Mãi đến 15/09/2020, Táo Khuyết mới giới thiệu Iphone 12 tích hợp 5G. Apple thời Tim Cook tuy không duy trì được truyền thống đi tiên phong như thời của Steve Job, nhưng vẫn luôn đảm bảo được chất lượng hàng đầu thị trường. Nên dù ra mắt rất trễ, công nghệ 5G của Apple hẳn phải có cái gì rất đáng mong đợi.
Tuy nhiên, mọi chú ý và kỳ vọng được đồn thổi trước sự kiện ra mắt Iphone 12, thì sau đó đột nhiên lặn mất tăm. Không còn ai nhắc đến xem 5G của Apple có gì khác so với Samsung. Đơn giản bởi vì: 5G ở thời điểm hiện tại hoàn toàn vô dụng với người dùng phổ thông.
Ban đầu sức mạnh của 5G được kỳ vọng sẽ làm thay đổi hệ thống giao thông tự động, các dây chuyền sản xuất, hay ứng dụng quân sự, trong tương lai khoảng vài chục năm nữa. Việc tích hợp 5G vào điện thoại phổ thông ở thời điểm này - khi mạng lưới mạng 5G còn chưa hoàn thiện - nghe rất là phi lý.
Việc các hãng công nghệ chạy theo những đột phá thời thượng nhưng không có ứng dụng thực tế xảy ra đã quá thường xuyên. Từ tai thỏ đến giọt nước đến camera ẩn, từ màn hình gập ngang đến gập dọc, từ nhận diện khuôn mặt đến vân tay trước màn hình - trào lưu này nối tiếp trào lưu kia, mẫu điện thoại này nối tiếp mẫu điện thoại kia, một cuộc chạy đua vũ trang công nghệ thứ thiệt.
Một trào lưu chạy đua công nghệ khác là AI và Blockchain cũng khó hiểu không kém. Có một thời gian mà startup nào, phần mềm và ứng dụng nào cũng dán mác AI và Blockchain, như một cách để nâng cao giá trị.
Hãng tin De Correspondent của Hà Lan cho chạy tít “Blockchain - giải pháp tuyệt vời cho hầu như không một cái gì cả”, khi mọi giải pháp blockchain hiện giờ đều có thể được giải quyết bằng công nghệ phi-blockchain, mà còn hiệu quả hơn nhiều.
Và nếu phi-blockchain hiệu quả hơn blockchain thì tích hợp blockchain vào ứng dụng để làm gì?
Mọi cuộc chạy đua công nghệ đều nhằm hướng tới một ngôi vương - “người dẫn đầu”. Có lẽ không cần nói thì ai cũng thấy được cái hào quang của vị thế này, đặc biệt là trong thị trường hoàn hảo như công nghệ.
Theo lý thuyết kinh tế học cổ điển, một thị trường hoàn hảo là khi nó minh bạch về thông tin và xuyên suốt về lưu thông. Tất cả thị trường hiện nay, ví dụ như nhà đất (rất mập mờ về thông tin) hay thực phẩm (khó khăn trong lưu thông), đều là không hoàn hảo, nên cạnh tranh chưa được đẩy lên mức tối đa.
Riêng thị trường công nghệ cao, mọi thứ dường như rất hoàn hảo: thông tin dồi dào, đa chiều và dễ tiếp cận, lưu thông thì xuyên suốt, đặc biệt là công nghệ thông tin - ứng dụng, phần mềm, hệ điều hành.
Trong thị trường hoàn hảo, mọi quyền lực đều nằm trong tay khách hàng, tất nhiên họ sẽ chỉ chọn những thương hiệu tốt nhất.
Các hãng phải chứng minh được mình là thương hiệu tốt nhất. Nhiều thị trường công nghệ cao mang tính chất “được ăn cả, ngã về không”: Hệ điều hành máy tính - Windows chiếm 87.6%, Trình duyệt trên máy tính - Chrome chiếm 70% (theo Statista).
Đối với điện thoại thông minh, thì từng một thời không ai có thể vượt qua được Iphone. Tuy nhiên, các nhà sản xuất điện thoại khác đã tìm ra cách.
Đối với điện thoại thông minh, thì từng một thời không ai có thể vượt qua được Iphone. Tuy nhiên, các nhà sản xuất điện thoại khác đã tìm ra cách.
Mỗi hãng chọn cho mình một ngách để dẫn đầu: Nhắc đến Sony là nhắc đến chụp hình, nhắc đến Samsung là nhắc đến công nghệ mới, nhắc đến Oppo là nhắc đến selfie v.v.. Chưa biết sự thật có đúng như lời đồn không, nhưng nhờ những niềm tin thế này mà thị trường smartphone đang cân bằng hơn bao giờ hết. Tất nhiên, để duy trì hình ảnh này, các hãng không được phép tiếc tiền mà đầu tư vào R&D.
Điều tương tự xảy ra với AI và Blockchain - nếu không tích hợp công nghệ tiên tiến nhất, hứa hẹn mang lại giải pháp tốt nhất, thì ai sẽ đầu tư cho startup? Bitcoin là một ví dụ về sức mạnh của marketing, mặc dù không một chuyên gia nào công nhận rằng đồng tiền điện tử này có thể thay thế được ngân hàng.
Một mặt trái của thị trường hoàn hảo là đẩy các hãng vào những cuộc đua không cần thiết, chỉ để chứng tỏ mình đang dẫn đầu.
Ngôi vương người dẫn đầu luôn đi kèm với một cái giá rất đắt. Đó là nỗi sợ bị truất ngôi, mà hậu quả không chỉ là mất thị phần, có khi còn là chìm vào quên lãng và phá sản.
Hãy nhớ lại trường hợp của BlackBerry - “Nếu anh là ông trùm bảo mật, nhưng giờ không còn nữa, thì lý do nào để tôi mua anh?” và Yahoo - “Nếu anh từng là ông trùm tin tức và kết nối, nhưng giờ không còn nữa, thì lý do nào để tôi sử dụng anh?”
Đầu tư vào R&D để chứng minh vị thế dẫn đầu là chiến lược sống còn. Theo báo cáo của PwC năm 2018, các hãng công nghệ Mỹ, dẫn đầu là Amazon (tổng 22.62 tỷ USD) và Google (tổng 16.23 tỷ USD), chi $5 cho R&D trên mỗi $1 chi cho R&D của các hãng công nghệ Trung Quốc, để duy trì vị thế.
Đầu tư vào R&D để chứng minh vị thế dẫn đầu là chiến lược sống còn. Theo báo cáo của PwC năm 2018, các hãng công nghệ Mỹ, dẫn đầu là Amazon (tổng 22.62 tỷ USD) và Google (tổng 16.23 tỷ USD), chi $5 cho R&D trên mỗi $1 chi cho R&D của các hãng công nghệ Trung Quốc, để duy trì vị thế.
- Hoàng Phi, đã được đăng trên Báo diễn đàn doanh nghiệp (báo in)
The price of the title of leader is the fear of being toppled, tens of billions of dollars invested in R&D to create breakthrough technologies but... It's less effective, just for the purpose of keeping your position.
In April 2019, Samsung launched the Galaxy S10 5G – the world's first smartphone with 5G technology integrated, putting it together with South Korea at the forefront of the iconic race for the $12 trillion 4.0 revolution.
All eyes are on Apple, seeing what the answer from the smartphone king is. But, Apple has made its loyal fans grumph when diving for a whole year, in the context of Chinese and Korean phone companies launching their 5G versions - Huawei mate 20 X 5G, Xiaomi Mi Mix 3 5G, Oppo Reno 5G, Oneplus 7 Pro 5G, etc.
It wasn't until September 15, 2020 that Apple introduced the 5G-integrated iPhone 12. Tim Cook's Apple has not maintained the pioneering tradition of Steve Job, but has always ensured market-leading quality. So even if it's a late launch, Apple's 5G technology must have something to look forward to.
However, all the attention and expectations were rumored before the launch of the iPhone 12, then suddenly dived. No one mentions how Apple's 5G is different from Samsung's. Simply because: 5G at the moment is completely useless for ordinary users.
The power of 5G was originally expected to change automated transportation systems, production lines, or military applications, in the future in a few decades. Integrating 5G into a popular phone at this point - when the 5G network is not yet complete - sounds absurd.
The practice of tech companies chasing trendy breakthroughs but no practical applications has happened too often. From rabbit ears to water droplets to hidden cameras, from horizontal folding to vertical folding screens, from facial recognition to fingerprints in front of the screen – this trend after another, this model follows the other, a real technology arms race.
Another trend of technology racing is AI and blockchain are equally confusing. There was a time when every startup, software, and application labeled AI and Blockchain, as a way to enhance value.
Dutch news agency De Correspondent ran the headline \\\"Blockchain – a great solution for almost nothing,\\\" as every blockchain solution can now be solved using non-blockchain technology, but is also much more efficient.
And if non-blockchain is more efficient than blockchain, what is the use of blockchain integrated into the application?
Every technology race is aimed at a \\\"leader\\\" crown. Perhaps without saying, everyone can see the aura of this position, especially in a perfect market such as technology.
According to classical economic theory, a perfect market is when it is transparent about information and throughout circulation. All markets today, such as housing (very vague about information) or food (difficulty in circulation), are imperfect, so competition has not been pushed to the maximum.
Especially in the high-tech market, everything seems perfect: information is abundant, multidii way and accessible, circulating throughout, especially information technology - applications, software, operating systems.
In the perfect market, every power is in the hands of the customer, of course they will only choose the best brands.
Companies have to prove themselves to be the best brand. Many high-tech markets are \\\"eaten, falling to zero\\\": Computer operating system - Windows accounted for 87.6%, Browser on computers - Chrome accounted for 70% (according to Statista).
For smartphones, no one ever surpassed the iPhone. However, other phone manufacturers have found a way.
Each company chooses for itself a niche to lead: Referring to Sony is referring to photography, referring to Samsung is referring to new technology, oppo is referring to selfies, etc. It is not known if the truth is true as rumored, but thanks to such beliefs, the smartphone market is more balanced than ever. Of course, to maintain this image, companies are not allowed to regret the money but invest in R&D.
The same goes for AI and Blockchain – without integrating the most advanced technology, which promises to bring the best solution, then who will invest in startups? Bitcoin is an example of the power of marketing, although no expert has recognized that the cryptocurrency can replace banks.
One downside of the perfect market is pushing companies into unnecessary races, just to prove they're leading.
The leading throne always comes at a very high price. It is the fear of dethroning, the consequence of which is not only the loss of market share, sometimes even sinking into oblivion and bankruptcy.
Recall the case of BlackBerry - \\\"If you're a security mogul, but now that I'm gone, then what's the reason I bought you?\\\" and Yahoo - \\\"If you used to be a news and networking mogul, but now there's no more, then what's the reason for me to use you?\\\"
Investing in R&D to prove that leading is a survival strategy. According to a 2018 PwC report, U.S. tech companies, led by Amazon ($22.62 billion) and Google ($16.23 billion) total, spend $5 on R&D for every $1 spent on R&D by Chinese tech firms to maintain their positions.
5G does not have a worthy practical application, 6G has been started by big companies such as Apple, Intel, Google, creating another war. It's hard to say whether these studies will become practical solutions, maybe yes, maybe not, but what's even more important is... Brand position in the marketing market.
- Hoang Phi, which has been published in the Business Forum Newspaper (printed newspaper)
Hiện nay, tôi thấy nhiều người, nhiều doanh nghiệp luôn \"nổ\" rằng mình xử lý dữ liệu lớn, xử lý dữ liệu với các công nghệ hàng đầu. Trong khi, dữ liệu lớn như nào, lớn bao nhiêu, tốc độ tăng trưởng dữ liệu là bao nhiêu thì không thấy nói.
Công nghệ tốt khi nó được sử dụng đúng chỗ, đúng cách. Đừng lấy dao mổ trâu ra để thịt gà
Thôi nói vui vậy thôi chứ công việc của sale là phải thế mà :D :D
Vào chủ đề chính, Chúng ta nên chọn những công cụ nào để phân tích hay bóc ta dữ liệu từ dữ liệu thô.
Công nghệ đầu tiên ai cũng nghĩ tới đó là Hadoop
Ngắn gọn mà nói thì Hadoop gồm có 2 phần chính là HDFS - hệ thống lưu trữ file phân tán và Map-Reduce - Một hệ thống dựa trên YARN dành cho việc xử lý song song lượng lớn các tập dữ liệu. Các bạn có thể đọc chi tiết tại đây
- Khi bạn muốn lưu trữ dữ liệu một cách an toàn mà không muốn phải sử dụng RAID.
- Khi bạn đang thiết kế hệ thống xử lý phân tán mà bạn có thể query dữ liệu từ 1 server mà dữ liệu không có trên đó.
- Khi bạn muốn xử lý mọi thứ trên file thay vì CSDL truyền thống :D
- Khi bạn muốn có một hệ thống lưu trữ vừa tiết kiệm về chi phí lại có thể mở rộng theo chiều ngang mà không sợ server đã hết slot cắm ổ cứng.
Hadoop có dùng để tính toán được không ? Câu trả lời là Có. Bạn có thể dùng MapReduce để tính toán nhưng giờ đây người ta đã ít dùng đi vì chậm vì tốc độ tính toán phụ thuộc và tốc độc đọc ghi của ổ cứng và việc code nó khá phức tạp phải định nghĩa hay code map như nào và reduce như nào.
Để giải quyết 2 vấn đề đó thì Spark được sinh ra.
Spark là một framework tính toán phân tán hay nói cách khác Spark là một framework giúp bạn tính toán song song trên nhiều máy/server.
- Khi bạn có dữ liệu hàng chục GB trở lên.
- Khi bạn phải join, sum,... cả trăm triệu hay cả tỉ bản ghi.
- Khi bạn muốn áp dụng các thuật toán ML cùng với dữ liệu lớn của bạn.
- Khi bạn có nhiều RAM
- Khi nghiệp vụ tính toán của bạn phức tạp.
Còn đối với dữ liệu chỉ có vài GB hay nghiệp vụ đơn giản ví dụ như đếm số dòng hay đếm số user thì tôi khuyên bạn không nên dùng vì nó phức tạp không cần thiết mà khéo khi lại còn chậm. Thay vào đó, khi bạn xử lý dữ liệu nhỏ hay tầm trung thì t khuyên bạn nên sử dụng AWK.
Awk là một ngôn ngữ lập trình hỗ trợ thao tác dễ dàng đối với kiểu dữ liệu có cấu trúc và tạo ra những kết quả được định dạng. Nó được đặt tên bằng cách viết tắt các chữ cái đầu tiên của các tác giả: Aho, Weinberger và Kernighan.
AWK được tính hợp sẵn trong các hệ điều hành unix và linux nên chúng ta không cần cài đặt mà vẫn sử dụng bình thường. Rất tiện lợi phải không nào.
Đơn giản thôi khi dữ liệu < vài chục GB và nghiệp vụ của bạn không quá phức tạp.
Vd: Bạn có file user.txt:
id1|abc
id2|cdx
.............
Bạn cần đếm xem trong file user.txt có tất cả bao nhiêu user (không được lặp) thì bạn có thể chạy câu lệnh đơn giản sau:
more user.txt | awk -F \"|\" \\'{print $1}\\' | sort -u | wc -l
Chỉ sau vài giây hoặc ít hơn bạn đã có kết quả thay vì bạn cài đặt spark và rồi viết một câu spark sql dài ngoằng rồi đợi load file rồi đợi tính toán rồi đợi collect dữ liệu (nếu bạn muốn kết quả là một dạng số - hay biến nguyên thủy thay vì dạng RDD).
Chỉ sau vài giây hoặc ít hơn bạn đã có kết quả thay vì bạn cài đặt spark và rồi viết một câu spark sql dài ngoằng rồi đợi load file rồi đợi tính toán rồi đợi collect dữ liệu (nếu bạn muốn kết quả là một dạng số - hay biến nguyên thủy thay vì dạng RDD).
Còn nếu bạn vẫn thích hay quen \"hard core\" hay nghiệp vụ của bạn cũng khá phức tạp thì bạn có tham khảo Pandas
Về cơ bản thì Pandas có cách code khá giống với Spark. Bạn nào quen dùng Spark thì dùng Pandas cũng thế dễ dàng hơn.
Về tổ chức dữ liệu thì Padas sẽ query của gần như sql và dữ liệu được tổ chức thành dạng bảng với tên gọi là data frame.
- Khi file bạn ở tầm trung trở xuống.
- Số bản ghi không quá nhiều.
- Nghiệp vụ phức tạp.
- Không cần xử lý song song và phân tán.
- Khi server bạn khỏe :D
Trên đây là 4 công cụ tôi hay dùng để xử lý dữ liệu. Tùy vào độ lớn, sự phức tạp của bài toán mà tôi chọn lấy một công cụ xử lý. À tất nhiên ngoài 4 công cụ này ra thì còn nhiều nữa nhưng tạm thời dừng ở những thứ phổ biến này thôi. Tôi hi vọng bài viết này sẽ giúp cho các bạn chọn lựa được công cụ phù hợp với bài toán của mình tránh tình trạng dùng dao mổ trâu để giết gà như tôi đã từng mắc phải :D
Nowadays, I see many people, many businesses always \"explode\" that they process big data, process data with leading technologies. While, how big the data is, how big it is, how much data growth is, it\\'s not said.
Technology is good when it\\'s used in the right place, in the right way. Don\\'t take out a buffalo scalpel to get chicken.
Stop saying it\\'s fun, but the sale\\'s job is to :D :D
On the main topic, we should choose which tools to analyze or extract data from raw data.
The first technology everyone thought of was Hadoop.
In short, Hadoop consists of two main parts: HDFS , a distributed file storage system, and Map-Reduce, a YARN-based system for the parallel processing of large amounts of data sets. You can read the details here.
When you want to store data securely without having to use RAID.
When you are designing a distributed processing system, you can query data from a server that the data is not on.
- When you want to process everything on the file instead of the traditional database :D
- When you want a storage system that is both cost-saving and can expand horizontally without fear of the server running out of hard drive slots.
Can Hadoop be used for calculation? The answer is yes. You can use MapReduce to calculate but now people have less use because it is slow because the computing speed depends and the read-write speed of the hard drive and how to code it quite complex to define or code map and how to reduce.
To solve those two problems, Spark was born.
Spark is a distributed computing framework or in other words Spark is a framework that helps you calculate in parallel on multiple servers.
- When you have data of tens of GB or more.
When you have to join, sum,... Hundreds of millions or billions of records.
When you want to apply ML algorithms along with your big data.
When you have a lot of RAM.
When your calculations are complicated.
As for data with only a few GB or simple business such as counting lines or counting the number of users, I recommend not using it because it is unnecessarily complicated but skillful when it is still slow. Instead, when you process small or mid-range data, it\\'s recommended to use AWK.
Awk is a programming language that supports easy operation of structured data types and produces formatted results. It is named by abbreviating the first letters of the authors: Aho, Weinberger and Kernighan.
AWK is available in unix and linux operating systems so we do not need to install and still use normally. It\\'s very convenient, isn\\'t it?
It\\'s simple when the data < a few tens of GB and your business isn\\'t too complicated.
For example, you have a user file.txt:
id1|abc
id2|cdx
.............
You need to count how many users there are in the user file.txt there are all the users (not repeated), you can run the following simple statement:
more user.txt | awk -F \"|\" \\'{print $1}\\' | sort -u | wc -l
After just a few seconds or less you get the result instead of you installing spark and then write a long spark sql sentence and then wait for the load file and wait for the calculation and then collect the data (if you want the result to be some kind of number - or primitive variable instead of RDD).
That\\'s just a little bit of knowledge about a few basic shell command lines that you can handle small files very quickly and then need a big framework :D
If you still like or know \"hard core\" or your business is also quite complicated, you have a reference to Pandas
Pandas basically code quite similar to Spark. Anyone who is used to Spark is easier to use Pandas.
Pandas basically code quite similar to Spark. Anyone who is used to Spark is easier to use Pandas.
- When your file is in the mid-range or below.
- The number of records is not too much.
- Complex business.
- No need for parallel and scattered processing.
- When the server is \"strong\" :D
Here are four tools I use to process data. Depending on the magnitude, the complexity of the problem that I choose to take a processing tool. Well, of course, there are many more of these four tools, but for the time being, it\\'s just these popular things. I hope this article will help you choose the right tool for your problem to avoid using a buffalo scalpel to kill chickens like I did :D
Ai cũng biết, để bắt đầu một tuần làm việc hiệu quả thì ai cũng vào Facebook để cuộn chuột một tiếng. Sáng nay, như thường lệ, 10h sáng mình định vào nhưng Facebook.com đã tạch. Mình bèn nhắn ông bạn làm đấy hỏi thăm xem có cần vay tiền mua thẻ cào điện thoại để các bạn liên lạc với nhau bằng tin nhắn SMS không. Trong năm 2020, tập đoàn Facebook thu nhập 32 tỷ đô, vậy mỗi ngày họ thu được 100 triệu đô. Tạch một nửa ngày không ai vào được (cho rằng nó không ảnh hưởng đến uy tín gì hết) là đi tong 50 triệu đô. Cho rằng thu nhập của người Việt là 500 đô la một tháng, số tiền này đủ để nuôi sống 100 ngàn người trong một tháng. Lỗi gây ra như vậy là một lỗi rất, rất, rất đắt tiền.
Mình nhớ hôm nọ bố mình cũng có lần gọi điện hỏi tại sao cái máy tính Chromebook tự nhiên không cho bố login vào tài khoản và báo sai mật khẩu. Sau khi giúp bố 2-3 tiếng thì mình đi đến kết luận có một lỗi gì đó phía cái Chromebook chứ không phải tại bố mình và phải xóa đi làm lại. Tiếc rằng tất cả các tài liệu download trên máy tính đó phải xóa hết vì chiếc máy này được thiết kế để lưu dữ liệu đã mã hóa. Nếu chiếc máy báo sai mật khẩu thì không tài thánh nào lấy được dữ liệu ra. Sau đó vài ngày thì mình đọc được một bài về lỗi này: Một kỹ sư nào đó viết thiếu một dấu \"&\" khi cần viết \"&&\". Tiếc rằng lúc đó mình không biết. Đó cũng là một lỗi rất đắt tiền.
Ngày xưa, thời còn mới vào đại học mình có quản trị một diễn đàn. Thường để thêm tính năng mới, hoặc chuyển cái này thành cái kia để nâng cao hiệu năng, mình phải khóa cái diễn đàn lại để tiến hành thay đổi, xong rồi sẽ mở lại. Việc này thường mình làm vào đêm. Thường mình chỉ dự định mỗi lần mất một hai tiếng đồng hồ nhưng sự thật diễn đàn phải khóa suốt đêm và mình thức suốt đêm vì lỗi lên lỗi xuống. Một tính năng mới ra lò là phải theo dõi và sửa lỗi mất vài ngày, mọi người réo tên, thì mới có thể bình ổn được. Lúc bấy giờ mình tự hỏi làm sao mà người ta có thể làm được những phần mềm, website ổn định 24/7 được.
Công việc mà mình làm giờ (lái Ta-xi) có một từ để chỉ những lỗi nào làm cho xe không khởi động được phải cẩu đi, hoặc đang đi trên đường không chạy được nữa, gọi là Vehicle-off-the-Road (VoR). Đó là một trong những lỗi tồi tệ nhất của các loại tồi tệ. Rất hiếm khi chuyện này xảy ra, nhưng nếu xảy ra thì người được phân công tìm hiểu lỗi này thì phải bỏ tất cả các việc mình đang làm để tìm hiểu và giải quyết VoR ngay lập tức. Sau khi tìm hiểu xong thì sẽ xem việc gì xảy ra để dẫn đến tình trạng như vậy.
Các vấn đề tồi tệ xảy ra đều có thể quy lỗi cho một dòng code sai mà một kỹ sư nào đó code vào một lúc nào đó. Suy nghĩ của người bình thường là nếu ai gây ra lỗi đắt tiền vậy, ảnh hưởng tới nhiều khách hàng như vậy, thì sẽ bị đuổi việc, kỷ luật vân vân. Nhưng trái lại, thường cách giải quyết của một tổ chức có sự điều hành tốt hoàn toàn ngược lại: Họ sẽ tìm hiểu tổ chức của họ đã làm gì để lỗi lớn như vậy mà lại để vào tay một người. Sự thật là việc kỷ luật nặng người gây ra lỗi không làm cho người ta ít mắc lỗi hơn. Không ai cố gắng làm ra lỗi và không ai tránh khỏi làm ra lỗi. Vấn đề là quy trình làm sao để cho ai làm ra lỗi như vậy thì ta tìm ra trước khi nó gây ra hậu quả. Quy trình càng tốt thì khả năng đó càng ít xảy ra, và để cải tiến hiệu năng thì phải cải tiến quy trình, chứ không phải cải tiến việc truy cứu trách nhiệm hay tăng hình phạt với người gây lỗi. Quy trình đó có thể là ở chỗ phải có người kiểm tra code của mình trước khi thay đổi, phải chạy thử, phải có quy trình kiểm tra chất lượng, phải đánh giá được khả năng xấu nhất có thể xảy ra, phải có phương án B, phải xây dựng tính cẩn trọng, và nhiều kỹ năng khác mà tổ chức phải vạch ra cho mỗi cá nhân.
Một phần mềm hay dự án hiện đại là kết quả của rất nhiều cá nhân hợp tác với nhau. Một trang web, hệ điều hành, phần mềm ứng dụng đều là kết quả làm việc của hàng ngàn người qua rất nhiều thời gian. Số lượng lỗi thường lũy tiến với số lượng code và người làm, cái gì càng phức tạp, càng nhiều người làm thì khả năng hiểu lầm giữa các cá nhân với nhau càng lớn, khả năng lỗi tiềm ẩn càng lớn. Thế mà con người ta vẫn làm được những dự án phức tạp tưởng đến mức không thể.
Con người đã làm được những việc như phóng xe tự hành lên sao Hỏa - người trên Trái đất sẽ bị lag với những gì đang diễn ra trên sao Hỏa khoảng 20 phút, không có tài thánh nào nhanh tay cứu được một lỗi trên tàu vũ trụ ở sao Hỏa.
Sắp tới người ta sẽ phóng kính viễn vọng James Webb lên không trung, là kết quả của thiết kế nghiên cứu từ năm 1996 tới nay của rất nhiều người. Chiếc kính viễn vọng này có một tấm phản quang kích thước gói gọn trong đầu tên lửa kích thước 5x16m, nhưng khi lên đến quỹ đạo, nó tự bung ra với kích thước 14x21m. Việc này diễn ra hoàn toàn tự động, phải làm việc được 100% trên một môi trường vô cùng lạ lẫm khắc nghiệt mà chưa bao giờ ta được trực tiếp thử nghiệm cả. Nếu chỉ có một lỗi sai, nó sẽ làm tiêu tan 10 tỷ đô la và 25 năm làm việc miệt mài của bao nhiêu người giỏi nhất của các loại giỏi trên khắp thế giới. Ai dám nghĩ mình sẽ dám tham gia vào những việc đó thôi, đã là rất phi thường. Chiếc kính viễn vọng này là minh chứng cho sự thông thái siêu thường của con người khi người ta kết hợp lại với nhau.
Khi mình làm việc code diễn đàn những năm đầu đại học, chạy một cái diễn đàn lỗi lên xuống, mình không thể nào tưởng tượng nổi tới một lúc nào đó mình sẽ tham gia vào những việc mà ta làm nhất định phải trơn tru. Tới giờ, mình cảm thấy diễm phúc của những gì mình đang làm là sự tự tin vào việc mình có thể được làm những việc đòi hỏi sự chính xác tin cậy cao độ, vì sự mất mát khi ta mắc lỗi là rất lớn. Bí quyết đó chắc chắn không phải là cách nghĩ đi phạt, đi cấm, đi kiểm duyệt, đi đổ lỗi. Vì tất cả những hình thức đó sẽ một phần ngăn cản người ta làm được việc. Một phần bí quyết đó là sự trung dung bình tĩnh để có những quy trình làm người tham gia ít mắc lỗi hơn, và nếu có cá nhân nào mắc lỗi thì ảnh hưởng xấu được giảm thiểu.
Và khi ta làm tất cả điều đó rồi mà vẫn có lỗi, thì nhận lỗi, xin lỗi, sửa lỗi, rồi đi tiếp. Như Facebook hôm nay.
Everyone knows that to start a productive week, everyone takes to Facebook to scroll the mouse for an hour. This morning, as usual, I was going to go in at 10 a.m., but Facebook.com was gone. I texted my friend to ask if I needed to borrow money to buy a phone scratch card for you to contact each other by SMS. In 2020, Facebook will make $32 billion, so it's $100 million a day. Half a day no one gets in (believing it doesn't affect credibility at all) is going to $50 million. Given that vietnamese income is $500 a month, this amount is enough to feed 100,000 people in a month. Such an error is a very, very, very expensive error.
I remember my dad calling the other day asking why his Chromebook computer naturally didn't let him login into his account and misrepresess his password. After giving my dad 2-3 hours, I came to the conclusion that there was a mistake on the Chromebook and not my father and had to delete it again and again. Unfortunately, all the downloaded documents on that computer have to be deleted because this machine is designed to save encrypted data. If the machine is wrong in its password, no talent can get the data out. A few days later, I read an article about this error: An engineer missed a \\\"&\\\" sign when it needed to be written \\\"&&\\\". I'm sorry I didn't know at the time. It's also a very expensive mistake.
In the old days, when I was in college, I had a forum. Often to add new features, or turn one to the other to improve performance, I have to lock the forum to make changes, then I will open again. This usually works at night. Normally I only plan to take an hour or two at a time but the truth is the forum has to be locked throughout the night and I stay up all night because of the error up and down. A new feature is to monitor and fix the error that takes a few days, people shout their names, to be able to stabilize. At that time, I wondered how people could make stable software and websites 24/7.
The work I do now (driving Ta-xi) has a word for what makes the car fail to start having to be hosped, or is on the road no longer running, called Vehicle-off-the-Road (VoR). It's one of the worst mistakes of all kinds. It's very rare that this happens, but if it happens, the person assigned to find out about this error must give up all the work he is doing to learn and solve VoR immediately. Once you've done that, we'll see what happens to lead to this situation.
Bad problems can be blamed on a wrong line of code that an engineer code at some point. The ordinary person's thinking is that if someone made such an expensive mistake, affecting so many customers, he would be fired, disciplined and so on. But on the contrary, often the solution of a well-run organization is quite the opposite: They will find out what their organization has done to make such a big mistake and put it in the hands of a person. The truth is that severely disciplining the person who makes the mistake doesn't make people make fewer mistakes. No one tries to make a mistake and no one avoids making mistakes. The problem is that the process of making such an error is found before it causes consequences. The better the process, the less likely that is to happen, and to improve performance, it is important to improve the process, not to improve the prosecution of responsibility or increase penalties for the person who makes the mistake. That process may be that someone must check their code before changing, test, have a quality check process, evaluate the worst possible possibility, have a plan B, build caution, and many other skills that the organization must outline for each individual.
A modern software or project is the result of a lot of individuals working together. A website, operating system, application software are the result of thousands of people over a lot of time. The number of errors is often progressive with the number of code and the person doing it, the more complex what is done, the greater the likelihood of interpersonal misunderstandings, the greater the likelihood of potential errors. People still do projects that are so complex that they can't.
Humans have done things like launch rovers to Mars – people on Earth will lag with what's going on on Mars for about 20 minutes, no talent can quickly save a bug on a mars spacecraft.
The James Webb Telescope will be launched into the air, the result of a 1996 research design by many people. The telescope has a 5x16m-sized reflector encapsulated in the rocket's head, but when it reaches orbit, it deploys itself at a size of 14x21m. This happens completely automatically, having to work 100% on a very strange and harsh environment that we have never directly tested. If there is only one mistake, it will dissipate $10 billion and 25 years of hard work by the best of all kinds around the world. Who would have thought that I would dare to participate in these things, it was extraordinary. This telescope is a testament to the extraordinary wisdom of man when people are put together.
When I worked as a forum coder in my early college years, running a bug forum up and down, I couldn't imagine at some point that I would be involved in what we were doing that had to be smooth. So far, I feel blessed that what I'm doing is confidence in what I can do that requires high levels of trust, because the loss when we make mistakes is enormous. That secret is definitely not how to think about punishing, banning, censoring, blaming. Because all of these forms will partly prevent people from doing the job. Part of the secret is a calm neutrality to have processes that make participants less likely to make mistakes, and if any individual makes a mistake, the adverse effects are minimized.
And when we do all that and still make mistakes, we apologize, apologize, fix it, and move on. Like Facebook today.
Bài viết này mình chia sẻ sơ lược về cách tích hợp thanh toán với vn-pay mà mình đã từng làm qua (Đây không phải là bài viết quảng cáo cho bên thứ ba nào nhé, nếu bên nào muốn có bài viết riêng thì liên hệ với mình 😄).
VNPAY là cổng thanh toán trung gian kết nối các đơn vị kinh doanh với ngân hàng, cho phép khách hàng sử dụng thẻ/tài khoản ngân hàng, công nghệ thanh toán bằng mã QR (QR Code) trên ứng dụng Mobile Banking để thanh toán các giao dịch.
Có 3 dạng tích hợp: Tích hợp code, tích hợp vào website sử dụng phần mềm mở, và tích hợp thông qua mã nhúng.
Ở đây mình đã làm với tích hợp code nên mình chỉ đề cập đến nó làm ví dụ thôi nhé! Nếu muốn tìm hiểu sâu hơn thì bạn hãy liên hệ và đọc tài liệu do bên vn-pay cung cấp nhé
Để nắm được cách tích hợp như nào thì bạn phải nắm được quá trình thanh toán mà vn-pay quy định trước đã. Nó sẽ gồm 6 bước sau:
Bước 1: Khách hàng thực hiện mua hàng trên Website TMĐT và tiến hành Thanh toán trực tuyến cho Đơn hàng
Bước 2: Website TMĐT thành lập yêu cầu thanh toán dưới dạng URL mang thông tin thanh toán và chuyển hướng khách hàng sang Cổng thanh toán VNPAY bằng URL đó. Cổng thanh toán VNPAY xử lý yêu cầu Thanh toán mà Website TMĐT gửi sang. Khách hàng tiến hành nhập các thông tin được yêu cầu để thực hiện việc Thanh toán.
Bước 3,4: Khách hàng nhập thông tin để xác minh tài khoản Ngân hàng của khách hàng và xác thực giao dịch.
Bước 5: Giao dịch thành công tại Ngân hàng, VNPAY tiến hành: + Chuyển hướng khách hàng về Website TMĐT (vnp_ReturnUrl) + Thông báo cho Website TMĐT kết quả thanh toán của khách hàng thông qua IPN URL. Merchant cập nhật kết quả thanh toán VNPAY gửi tại URL này.
Bước 6: Merchant hiển thị kết quả giao dịch tới khách hàng
Sau khi nắm được bước thanh toán rồi thì việc của bạn là làm bước số 2 và số 5. Dưới đây là sơ đồ mình tích hợp vào trong hệ thống của mình bạn có thể tham khảo.
Đây là sơ đồ gồm 16 bước cho một hệ thống mà không phân chia backend và frontend bao gồm:
Bước 1. Người dùng hình thành giao dịch
Bước 2. Hệ thống của bạn bắt đầu tạo giao dịch và lưu giao dịch vào cơ sở dữ liệu với trạng thái chờ
Bước 3. Bạn tạo một đường dẫn thanh toán theo rule và những tham số đâu vào mà trang vn-pay cung cấp
Bước 4. Chuyển hướng trang của bạn qua trang thanh toán của vn-pay
Bước 5, 6. Nhúng trang thanh toán này vào hệ thống của bạn tạo thành một hệ thống thống nhất với return url mà vn-pay trả cho bạn
Bước 7,8,9,10,11,12. Đây là giao dịch của khách hàng với trang của vn-pay để có được thông tin và số tiền thanh toán.
Bước 13. Vn-pay sẽ trả kết quả cho bạn thông qua một api mà bạn sẽ phải public ra để vn-pay kết nối tới. Nó chứa những tham số và thông tin thành công hay thất bại kèm những thông số chữ ký bảo mật.
Bước 14. Nhận kết quả từ vn-pay và kiểm tra giao dịch thanh toán, thông tin và chữ ký bảo mật.
Bước 15. Xử lý trạng thái giao dịch phần hệ thống của bạn đã tạo trước đó và những tác vụ quy trình liên quan tùy thuộc vào nghiệp vụ của bạn
Bước 16. Thông báo cho khách hàng giao dịch thành công hay thất bại
Trên đây là quy trình tích hợp với vn-pay, code mẫu thì trong tài liệu của vn-pay có sẵn, bạn có thể tìm đọc.
Ngoài ra thì một số trang SPA (single page application) chia tách frontend và backend thì khi tích hợp sẽ phải chú ý rằng vn-pay sẽ nằm giữa FE và BE, vn-pay không chấp nhận việc chỉ tích hợp với BE vì họ cho rằng không bảo mật và sẽ không chịu trách nhiệm cho các vấn đề liên quan nếu bạn kiến trúc theo cách này. Vậy nên dưới đây là sơ đồ tích hợp nêu bạn chia tách FE và BE
Bạn sẽ thấy hệ thống của bạn phải biến đổi để thích nghi với vn-pay trong quá trình thanh toán, việc bạn xử lý sẽ phải nhiều hơn và rườm rà hơn để đảm bảo quá trình bảo mật.
Không phải một ai cũng chỉ rõ cho bạn sơ đồ kiểu này vì nó đã vô tình để lộ các bước giúp hacker đánh thẳng vào hệ thống của bạn. Vậy nên sơ đồ này chỉ mang tính tham khảo và có phần chủ quan của bản thân mình trong quá trình làm việc phác thảo ra và chỉnh sửa đôi chút để có thể viết một bài viết công khai như vậy. Nhớ nhé đây chỉ là tham khảo!
Cám ơn các bạn đã đọc và ủng hộ mình.
This article I share a brief summary of how to integrate payment with vn-pay that I have done (This is not a promotional article for any third party, if any party wants to have their own article, contact me 😄).
VNPAY is an intermediary payment gateway connecting business units with banks, allowing customers to use cards/bank accounts, QR code payment technology on mobile banking application to pay transactions.
There are three types of integration: Code integration, integration into the website using open software, and integration through embedded code.
I did it with code integration, so I\\'m just going to mention it as an example! If you want to learn more, please contact and read the documents provided by vn-pay.
To understand how to integrate, you must know the payment process that vn-pay has stipulated in advance. It will consist of the following six steps:
Step 1: Customers make purchases on e-commerce websites and make online payments for orders
Step 2: E-commerce website establishes a payment request as a URL that carries payment information and redirects customers to VNPAY Payment Gateway using that URL. VNPAY payment gateway handles payment requests sent by e-commerce websites. The customer enters the information required to make the Payment.
Step 3.4: The customer enters the information to verify the customer\\'s bank account and authenticate the transaction.
Step 5: Successful transaction at the Bank, VNPAY conducts: + Redirect customers to e-commerce website (vnp_ReturnUrl) + Inform e-commerce website the customer\\'s payment results through IPN URL. Merchant updates vnpay payment results sent at this URL.
Step 6: Merchant displays transaction results to customers
Once you have the payment step, it is your job to do steps 2 and 5. Here\\'s a diagram I\\'ve integrated into your system you can refer to.
Here\\'s a 16-step diagram for a system that doesn\\'t divide the backend and frontend including:
Step 1. Users form transactions
Step 2. Your system starts creating transactions and saving transactions to a database with a standby state
Step 3. You create a payment path according to the rules and parameters that vn-pay provides
Step 4. Redirect your page through your payment page
Steps 5, 6. Embed this payment page into your system to form a unified system with the return url that vn-pay pays you
Step 7,8,9,10,11,12. This is a customer\\'s transaction with vn-pay\\'s page to get information and payment amount.
Step 13. Vn-pay will pay you results through an api that you will have to publicly out to vn-pay connection to. It contains parameters and information of success or failure with security signature parameters.
Step 14. Get results from vn-pay and check payment transactions, information and security signatures.
Step 15. Handle the trading status of the part of your system created earlier and related process tasks depending on your business
Step 16. Notify customers of successful or failed trades
Above is the process integrated with vn-pay, sample code, in the document of vn-pay available, you can find to read.
In addition, some SPA (single page application) separating frontend and backend, when integrated will have to pay attention that vn-pay will be between FE and BE, vn-pay does not accept to integrate only with BE because they think it is not secure and will not be responsible for related issues if you architecture in this way. So here\\'s an integrated diagram that says you split FE and BE
You will see your system have to transform to adapt to vn-pay during the payment process, the processing will have to be more and more cumbersome to ensure the security process.
Not everyone has shown you this type of diagram because it accidentally reveals the steps that help hackers hit your system directly. So this diagram is only a reference and somewhat subjective of yourself in the process of sketching and editing a little to be able to write such a public article. Remember, this is just a reference!
Not everyone has shown you this type of diagram because it accidentally reveals the steps that help hackers hit your system directly. So this diagram is only a reference and somewhat subjective of yourself in the process of sketching and editing a little to be able to write such a public article. Remember, this is just a reference!
\r\n {intl.formatMessage({ id: 'PROJECT.SHORT_DESC' })}\r\n
\r\n{intl.formatMessage({ id: 'PROJECT.EXPLORE_ALL' })}
\r\n \r\n{item.type}
\r\n{item.type}
\r\n {item.name}\r\n