Kākau hou i ka waihona memo VKontakte mai ka wā ʻōpala a ola

Ke kākau nei kā mākou mea hoʻohana i nā leka i kekahi i kekahi me ka ʻike ʻole i ka luhi.
Kākau hou i ka waihona memo VKontakte mai ka wā ʻōpala a ola
Nui loa kēlā. Inā hele ʻoe e heluhelu i nā memo a pau o nā mea hoʻohana a pau, ʻoi aku ia ma mua o 150 tausani mau makahiki. Inā ʻoe he mea heluhelu kiʻekiʻe loa a ʻaʻole i ʻoi aku ma mua o hoʻokahi kekona ma kēlā me kēia memo.

Me ka nui o ka ʻikepili, he mea koʻikoʻi e kūkulu maikaʻi ʻia ka loiloi no ka mālama ʻana a me ke komo ʻana. A i ʻole, i loko o hoʻokahi manawa kupanaha, hiki ke akaka e hele hewa nā mea āpau.

No mākou, ua hiki mai kēia manawa i hoʻokahi makahiki a me ka hapa i hala. Pehea mākou i hiki ai i kēia a me ka mea i hana i ka hopena - haʻi mākou iā ʻoe ma ke ʻano.

Ke kumu

I ka hoʻokō mua loa, ua hana nā memo VKontakte ma kahi hui o PHP backend a me MySQL. He hopena maʻamau kēia no kahi pūnaewele haumāna liʻiliʻi. Eia nō naʻe, ua ulu ʻole kēia pūnaewele a hoʻomaka e koi i ka hoʻonui ʻana i nā hoʻolālā ʻikepili nona iho.

I ka pau ʻana o ka makahiki 2009, ua kākau ʻia ka waihona waihona kikokikona mua, a i ka makahiki 2010 ua hoʻoili ʻia nā leka iā ia.

Ma ka kikokikona-engine, ua mālama ʻia nā memo i nā papa inoa - kahi ʻano o "nā pahu leta". Hoʻoholo ʻia kēlā me kēia papa inoa e kahi uid - ka mea hoʻohana nona kēia mau memo. Loaʻa i kahi memo kekahi mau ʻano: interlocutor identifier, text, attachments, a pēlā aku. ʻO ka mea hōʻike leka i loko o ka "pahu" he local_id, ʻaʻole ia e loli a hāʻawi ʻia ma ke kaʻina no nā memo hou. He kūʻokoʻa nā "pahu" a ʻaʻole i hui pū ʻia kekahi me kekahi i loko o ka mīkini; ke kamaʻilio ʻana ma waena o lākou ma ka pae PHP. Hiki iā ʻoe ke nānā i ke ʻano o ka ʻikepili a me nā mana o ka kikokiko-engine mai loko maanei.
Kākau hou i ka waihona memo VKontakte mai ka wā ʻōpala a ola
Ua lawa kēia no ka pilina ma waena o nā mea hoʻohana ʻelua. E noʻonoʻo i ka mea i hana ma hope?

Ma Mei 2011, hoʻolauna ʻo VKontakte i nā kamaʻilio me kekahi mau mea komo - kamaʻilio lehulehu. No ka hana pū ʻana me lākou, ua hāpai mākou i ʻelua hui hou - nā kamaʻilio lālā a me nā lālā kamaʻilio. ʻO ka mea mua e mālama i ka ʻikepili e pili ana i nā kamaʻilio e nā mea hoʻohana, ʻo ka lua e mālama i ka ʻikepili e pili ana i nā mea hoʻohana ma nā kamaʻilio. Ma waho aʻe o nā papa inoa iā lākou iho, e pili ana kēia, no ka laʻana, ka mea hoʻohana kono a me ka manawa i hoʻohui ʻia i ke kamaʻilio.

"PHP, e hoʻouna i kahi leka i ke kamaʻilio," wahi a ka mea hoʻohana.
“E hele mai, {username},” wahi a PHP.
Kākau hou i ka waihona memo VKontakte mai ka wā ʻōpala a ola
Aia nā hemahema o kēia papahana. ʻO ka synchronization ke kuleana o PHP. ʻO nā kamaʻilio nui a me nā mea hoʻohana e hoʻouna i nā leka iā lākou i ka manawa like he moʻolelo weliweli. No ka mea e pili ana ka ʻenekini kikokiko i ka uid, hiki ke loaʻa i nā poʻe kamaʻilio ka leka like i nā manawa like ʻole. Hiki ke ola me kēia inā kū ka holomua. Akā, ʻaʻole e hiki mai kēlā.

I ka hopena o 2015, ua hoʻolaha mākou i nā memo kaiāulu, a i ka hoʻomaka ʻana o 2016, ua hoʻokumu mākou i API no lākou. Me ka hiki ʻana mai o nā chatbots nui i nā kaiāulu, hiki ke poina e pili ana i ka hāʻawi ʻana i ka ukana.

Hoʻopuka ka bot maikaʻi i mau miliona mau memo i kēlā me kēia lā - ʻaʻole hiki i nā mea hoʻohana kamaʻilio nui ke kaena i kēia. ʻO ia hoʻi, ua hoʻomaka kekahi mau manawa o ka mīkini kikokiko, kahi i noho ai nā bots, e ʻeha loa.

ʻO nā mīkini memo i ka makahiki 2016 he 100 mau manawa o nā kamaʻilio kamaʻilio a me nā kamaʻilio lālā, a me 8000 mau kikokikona. Ua mālama ʻia lākou ma kahi kaukani mau kikowaena, kēlā me kēia me 64 GB o ka hoʻomanaʻo. Ma ke ʻano he hana ulia pōpilikia mua, ua hoʻonui mākou i ka hoʻomanaʻo e kekahi 32 GB. Ua manaʻo mākou i nā wānana. Me ka ʻole o nā hoʻololi koʻikoʻi, lawa kēia no kahi makahiki ʻē aʻe. Pono ʻoe e paʻa i ka ʻenehana a i ʻole e hoʻopaʻa pono i nā ʻikepili iā lākou iho.

Ma muli o ke ʻano o ka hoʻolālā ʻana, kūpono wale ka hoʻonui ʻana i ka mīkini i nā mea he nui. ʻO ia hoʻi, ma ka liʻiliʻi e pālua i ka helu o nā kaʻa - maopopo, he ala pipiʻi kēia. E hoʻonui mākou.

Manaʻo hou

ʻO ke kumu nui o ke ala hou ke kamaʻilio. He papa inoa o nā memo e pili ana i ke kamaʻilio. Loaʻa i ka mea hoʻohana ka papa inoa o nā kamaʻilio.

ʻO ka palena liʻiliʻi i koi ʻia he ʻelua waihona hou:

  • ʻenekini kamaʻilio. He waihona kēia o nā vectors kamaʻilio. Loaʻa i kēlā me kēia kamaʻilio kahi vector o nā memo e pili ana iā ia. Loaʻa i kēlā me kēia memo kahi kikokikona a me kahi ʻike memo kūikawā i loko o ke kamaʻilio - chat_local_id.
  • mea hoʻohana-engine. He waihona kēia o nā mea hoʻohana vectors - nā loulou i nā mea hoʻohana. Loaʻa i kēlā me kēia mea hoʻohana kahi vector o peer_id (nā mea hoʻohana - nā mea hoʻohana ʻē aʻe, kamaʻilio lehulehu a i ʻole nā ​​kaiāulu) a me kahi vector o nā memo. Loaʻa i kēlā me kēia peer_id kahi vector o nā memo e pili ana iā ia. Loaʻa i kēlā me kēia memo kahi chat_local_id a me kahi memo ID no kēlā mea hoʻohana - user_local_id.

Kākau hou i ka waihona memo VKontakte mai ka wā ʻōpala a ola
Kūkākūkā nā hui hou me kekahi me ka hoʻohana ʻana i ka TCP - hōʻoia kēia ʻaʻole e loli ke ʻano o nā noi. Hoʻopaʻa ʻia nā noi iā lākou iho a me nā hōʻoia ʻana no lākou ma ka hard drive - no laila hiki iā mākou ke hoʻihoʻi i ke kūlana o ka pila i kēlā me kēia manawa ma hope o ka pau ʻole a hoʻomaka hou ʻana o ka mīkini. No ka mea ʻo ka mea hoʻohana-engine a me ka chat-engine he 4 tausani shards kēlā me kēia, e puʻunaue like ʻia ka laina noi ma waena o nā puʻupuʻu (akā ʻoiaʻiʻo, ʻaʻohe mea - a hana wikiwiki loa ia).

ʻO ka hana ʻana me ka diski i kā mākou waihona i ka nui o nā hihia e pili ana i ka hui pū ʻana o kahi log binary o nā loli (binlog), nā kiʻi paʻi kiʻi a me kahi kiʻi ʻāpana i ka hoʻomanaʻo. Ua kākau ʻia nā hoʻololi i ka lā i kahi binlog, a ua hana ʻia kahi kiʻi o ke kūlana o kēia manawa. ʻO kahi kiʻi kiʻi kahi hōʻiliʻili o nā hoʻolālā ʻikepili i hoʻopaʻa ʻia no kā mākou kumu. Aia ia me kahi poʻomanaʻo (metaindex o ke kiʻi) a me kahi pūʻulu metafiles. Hoʻopaʻa mau ʻia ke poʻo i ka RAM a hōʻike i kahi e ʻimi ai i ka ʻikepili mai ka snapshot. Loaʻa i kēlā me kēia metafile ka ʻikepili i makemake ʻia ma nā wahi kokoke i ka manawa-no ka laʻana, pili i kahi mea hoʻohana hoʻokahi. Ke nīnau ʻoe i ka waihona me ka hoʻohana ʻana i ke poʻo kiʻi paʻi kiʻi, heluhelu ʻia ka metafile i makemake ʻia, a laila hoʻololi ʻia i ka binlog i hana ʻia ma hope o ka hana ʻana i ka snapshot. Hiki iā ʻoe ke heluhelu hou aʻe e pili ana i nā pono o kēia ala maanei.

I ka manawa like, hoʻololi wale ka ʻikepili i ka hard drive i hoʻokahi manawa i ka lā - i ka pō ma Moscow, i ka wā liʻiliʻi ka ukana. Mahalo i kēia (ʻike i ka hoʻonohonoho ʻana o ka disk i ka lā a pau), hiki iā mākou ke hoʻololi i nā vectors me nā arrays o kahi nui paʻa - a ma muli o kēia, loaʻa i ka hoʻomanaʻo.

ʻO ka hoʻouna ʻana i kahi memo ma ka papahana hou e like me kēia:

  1. Hoʻopili ka PHP backend i ka mea hoʻohana-engine me kahi noi e hoʻouna i kahi leka.
  2. Hoʻopili ka mea hoʻohana-engine i ka noi i ka laʻana kamaʻilio-engine i makemake ʻia, e hoʻi ana i ka mea hoʻohana-engine chat_local_id - kahi ʻike kūʻokoʻa o kahi memo hou i loko o kēia kamaʻilio. A laila hoʻolaha ka chat_engine i ka memo i ka poʻe i loaʻa i ke kamaʻilio.
  3. loaʻa i ka mea hoʻohana-engine ka chat_local_id mai ke kamaʻilio-engine a hoʻihoʻi i ka user_local_id i PHP - he ʻike memo kūikawā no kēia mea hoʻohana. Hoʻohana ʻia kēia mea ʻike, no ka laʻana, e hana me nā memo ma o ka API.

Kākau hou i ka waihona memo VKontakte mai ka wā ʻōpala a ola
Ma waho aʻe o ka hoʻouna ʻana i nā leka, pono ʻoe e hoʻokō i kekahi mau mea koʻikoʻi:

  • ʻO nā sublists, no ka laʻana, nā memo hou loa āu e ʻike ai i ka wā e wehe ai i ka papa kamaʻilio. Nā memo i heluhelu ʻole ʻia, nā memo me nā hōʻailona ("Important", "Spam", etc.).
  • Ke kaomi ʻana i nā memo ma ka ʻenekini kamaʻilio
  • Ke hoʻokoe nei i nā memo ma ka ʻenekini hoʻohana
  • Huli (ma nā dialogs āpau a i loko o kahi kikoʻī).
  • Hoʻoponopono manawa maoli (Longpolling).
  • Mālama i ka mōʻaukala no ka hoʻokō ʻana i ka caching ma nā mea kūʻai kelepona.

Ke hoʻololi wikiwiki nei nā sublist a pau i nā hale. No ka hana pū me lākou, hoʻohana mākou Nā lāʻau Splay. Ua wehewehe ʻia kēia koho ma ka ʻoiaʻiʻo ma ka piko o ka lāʻau mākou e mālama ai i kahi ʻāpana holoʻokoʻa o nā memo mai kahi kiʻi paʻi - no ka laʻana, ma hope o ka reindexing pō, aia ka lāʻau i hoʻokahi luna, aia nā memo āpau o ka sublist. Hoʻokomo maʻalahi ka lāʻau Splay i ka waena o ia vertex me ka ʻole e noʻonoʻo e pili ana i ke kaulike. Eia kekahi, ʻaʻole mālama ʻo Splay i nā ʻikepili pono ʻole, e mālama iā mākou i ka hoʻomanaʻo.

Loaʻa i nā memo ka nui o ka ʻike, ʻo ka hapa nui o nā kikokikona, he mea pono e hiki ke hoʻopaʻa. He mea nui e hiki iā mākou ke wehe pololei i hoʻokahi memo. Hoʻohana ʻia e kaomi i nā memo Huffman algorithm me kā mākou heuristic pono'ī - no ka laʻana, ʻike mākou i nā huaʻōlelo i hoʻololi ʻia me nā "huaʻōlelo ʻole" - nā hakahaka, nā kaha kaha - a hoʻomanaʻo pū mākou i kekahi o nā ʻano o ka hoʻohana ʻana i nā hōʻailona no ka ʻōlelo Lūkini.

No ka mea ʻoi aku ka liʻiliʻi o nā mea hoʻohana ma mua o nā kamaʻilio, no ka mālama ʻana i nā noi diski komo ma ke kamaʻilio-engine, hūnā mākou i nā memo ma ka mīkini hoʻohana.

Hoʻokō ʻia ka ʻimi memo ma ke ʻano he nīnau diagonal mai ka mea hoʻohana-engine i nā manawa kamaʻilio-engine āpau i loaʻa nā kamaʻilio o kēia mea hoʻohana. Hoʻohui ʻia nā hopena i ka mīkini hoʻohana ponoʻī.

ʻAe, ua noʻonoʻo ʻia nā kikoʻī āpau, ʻo ke koena wale nō ke hoʻololi i kahi hoʻolālā hou - a ʻoi aku ka maikaʻi me ka ʻike ʻole o nā mea hoʻohana.

Ka neʻe ʻana o ka ʻikepili

No laila, loaʻa iā mākou kahi ʻenekini kikokiko e mālama i nā memo e ka mea hoʻohana, a ʻelua pūʻulu kamaʻilio kamaʻilio a me nā kamaʻilio lālā e mālama ai i ka ʻikepili e pili ana i nā lumi kamaʻilio lehulehu a me nā mea hoʻohana i loko o ia mau mea. Pehea e neʻe ai mai kēia i ka mea hoʻohana-engine a me ke kamaʻilio-engine?

Ua hoʻohana mua ʻia nā kamaʻilio lālā ma ka papahana kahiko no ka hoʻonui ʻana. Ua hoʻololi koke mākou i ka ʻikepili pono mai ia mea i nā lālā kamaʻilio, a laila ʻaʻole ia i komo hou i ke kaʻina neʻe.

Lālani no nā lālā kamaʻilio. Loaʻa iā ia he 100 mau manawa, aʻo ka chat-engine he 4 tausani. No ka hoʻoili ʻana i ka ʻikepili, pono ʻoe e lawe mai i ka hoʻokō - no kēia, ua māhele ʻia nā lālā kamaʻilio i loko o ka 4 tausani kope, a laila heluhelu ʻia ka binlog kamaʻilio-members i hiki ke kamaʻilio-engine.
Kākau hou i ka waihona memo VKontakte mai ka wā ʻōpala a ola
I kēia manawa ua ʻike ʻo chat-engine e pili ana i nā kamaʻilio lehulehu mai nā lālā kamaʻilio, akā ʻaʻole ia i ʻike i kekahi mea e pili ana i nā kamaʻilio me ʻelua interlocutors. Aia ia mau kūkākūkā ma ka kikokiko-engine me ka kuhikuhi ʻana i nā mea hoʻohana. Ma ʻaneʻi ua lawe mākou i ka ʻikepili "head-on": ua nīnau kēlā me kēia ʻenekini kamaʻilio i nā hihia-engine āpau inā loaʻa iā lākou ke kamaʻilio e pono ai.

Nui - ʻike ka ʻenekini kamaʻilio he aha nā kamaʻilio kamaʻilio lehulehu ma laila a ʻike i nā kamaʻilio ʻana.
Pono ʻoe e hoʻohui i nā memo i loko o nā kamaʻilio kamaʻilio lehulehu i hoʻopau ʻoe i kahi papa inoa o nā memo i kēlā me kēia kamaʻilio. ʻO ka mua, e kiʻi ka ʻenekini kamaʻilio mai ka ʻenekini kikokiko i nā memo mea hoʻohana a pau mai kēia kamaʻilio. I kekahi mau hihia he nui loa lākou (a hiki i nā haneli miliona), akā me nā ʻokoʻa ʻokoʻa loa ke kamaʻilio e pili pono ana i ka RAM. Loaʻa iā mākou nā leka i hoʻonohonoho ʻole ʻia, kēlā me kēia ma nā kope he nui - ma hope o nā mea a pau, ua huki ʻia lākou mai nā ʻano kikokikona-engine like ʻole e pili ana i nā mea hoʻohana. ʻO ka pahuhopu ka hoʻokaʻawale ʻana i nā memo a hoʻopau i nā kope i lawe i kahi wahi kūpono ʻole.

Loaʻa i kēlā me kēia memo ka manawa i hoʻouna ʻia a me ka kikokikona. Hoʻohana mākou i ka manawa no ka hoʻokaʻawale ʻana - ke kau nei mākou i nā kuhikuhi i nā leka kahiko loa o nā hui multichat a hoʻohālikelike i nā hashes mai ke kikokikona o nā kope i manaʻo ʻia, e neʻe ana i ka hoʻonui ʻana i ka manawa. He mea kūpono ka loaʻa ʻana o nā kope i ka hash like a me ka timestamp, akā ma ka hoʻomaʻamaʻa ʻaʻole kēia ka hihia. Ke hoʻomanaʻo nei ʻoe, ua hoʻokō ʻia ka hoʻonohonoho ʻana i ka papahana kahiko e PHP - a i nā hihia liʻiliʻi, ʻokoʻa ka manawa o ka hoʻouna ʻana i ka leka like i waena o nā mea hoʻohana like ʻole. I kēia mau hihia, ua ʻae mākou iā mākou iho e hoʻoponopono i ka hōʻailona manawa - maʻamau i loko o kekona. ʻO ka pilikia ʻelua, ʻo ia ka hoʻonohonoho ʻokoʻa o nā memo no nā mea loaʻa like ʻole. Ma ia mau hihia, ua ʻae mākou i kahi kope hou e hana ʻia, me nā koho kauoha ʻokoʻa no nā mea hoʻohana like ʻole.

Ma hope o kēia, hoʻouna ʻia ka ʻikepili e pili ana i nā memo ma multichat i ka mea hoʻohana-engine. A eia kahi hiʻohiʻona maikaʻi ʻole o nā memo i lawe ʻia mai. Ma ka hana maʻamau, kauoha ʻia nā memo e hiki mai ana i ka ʻenekini ma ke kauoha piʻi e ka user_local_id. ʻO nā memo i lawe ʻia mai ka mīkini kahiko i loko o ka mīkini hoʻohana ua nalowale kēia waiwai pono. I ka manawa like, no ka maʻalahi o ka hoʻāʻo ʻana, pono ʻoe e hiki ke komo koke iā lākou, e ʻimi i kahi mea i loko o lākou a hoʻohui i nā mea hou.

Hoʻohana mākou i kahi hoʻolālā ʻikepili kūikawā no ka mālama ʻana i nā memo i lawe ʻia mai.

Hōʻike ia i kahi vector o ka nui Kākau hou i ka waihona memo VKontakte mai ka wā ʻōpala a olaauhea na mea a pau Kākau hou i ka waihona memo VKontakte mai ka wā ʻōpala a ola - he ʻokoʻa a kauoha ʻia ma ke ʻano iho, me kahi hoʻonohonoho kūikawā o nā mea. Ma kēlā me kēia māhele me nā kuhikuhi Kākau hou i ka waihona memo VKontakte mai ka wā ʻōpala a ola hoʻokaʻawale ʻia nā mea. ʻO ka ʻimi ʻana i kahi mea i loko o ia ʻano hana e pono ai ka manawa Kākau hou i ka waihona memo VKontakte mai ka wā ʻōpala a ola через Kākau hou i ka waihona memo VKontakte mai ka wā ʻōpala a ola ʻimi binary. Hoʻonui ʻia ka hoʻohui ʻana o kahi mea Kākau hou i ka waihona memo VKontakte mai ka wā ʻōpala a ola.

No laila, ua noʻonoʻo mākou pehea e hoʻololi ai i ka ʻikepili mai nā mīkini kahiko i nā mea hou. Akā ʻo kēia kaʻina hana he mau lā - a ʻaʻole paha i kēia mau lā e haʻalele kā mākou mea hoʻohana i ke kākau ʻana i kekahi i kekahi. I ʻole e nalowale nā ​​memo i kēia manawa, ua hoʻololi mākou i kahi papa hana e hoʻohana ana i nā pūʻulu kahiko a me nā pūʻulu hou.

Ua kākau ʻia nā ʻikepili i nā lālā kamaʻilio a me nā mea hoʻohana-engine (a ʻaʻole i ka kikokikona-engine, e like me ka hana maʻamau e like me ka papahana kahiko). Hoʻopili ka mea hoʻohana-engine i ke noi e kamaʻilio-engine - a eia ke ʻano e pili ana inā ua hoʻohui ʻia kēia kamaʻilio a ʻaʻole paha. Inā ʻaʻole i hoʻohui ʻia ke kamaʻilio ʻana, ʻaʻole kākau ke kamaʻilio-engine i ka memo iā ia iho, a ʻo kāna hana ʻana i loko o ka kikokikona-engine wale nō. Inā ua hoʻohui ʻia ke kamaʻilio i loko o ka ʻenekini kamaʻilio, hoʻihoʻi ʻo ia i chat_local_id i ka ʻenekini hoʻohana a hoʻouna i ka leka i nā mea loaʻa. hoʻohana ka ʻenekini hoʻohana i nā ʻikepili a pau i ka kikokiko-engine - no laila inā loaʻa kekahi mea, hiki iā mākou ke ʻōwili i hope, loaʻa nā ʻikepili āpau i kēia manawa i ka mīkini kahiko. Hoʻihoʻi ka ʻenekini kikokiko i ka user_local_id, ka mea hoʻohana-engine e kūʻai a hoʻi i ka hope.
Kākau hou i ka waihona memo VKontakte mai ka wā ʻōpala a ola
ʻO ka hopena, ua like kēia kaʻina hana hoʻololi: hoʻohui mākou i nā pūʻulu mea hoʻohana-engine a me nā pūʻulu kamaʻilio. Heluhelu ʻo chat-engine i ka binlog chat-members holoʻokoʻa, a laila hoʻomaka ka proxying e like me ke kumumanaʻo i hōʻike ʻia ma luna. Hoʻololi mākou i ka ʻikepili kahiko a loaʻa i ʻelua pūʻulu i hoʻonohonoho ʻia (kahiko a me ka mea hou). ʻO nā mea a pau e koe, ʻo ka hoʻololi ʻana i ka heluhelu mai ka kikokiko-engine i ka mea hoʻohana-engine a hoʻopau i ka proxying.

Nā hualoaʻa

Mahalo i ke ala hou, ua hoʻomaikaʻi ʻia nā metric hana a pau o nā ʻenekini a ua hoʻoholo ʻia nā pilikia me ka kūlike o ka ʻikepili. I kēia manawa hiki iā mākou ke hoʻokō koke i nā hiʻohiʻona hou i nā memo (a ua hoʻomaka mākou e hana i kēia - ua hoʻonui mākou i ka helu nui o nā mea kamaʻilio kamaʻilio, hoʻokō i kahi ʻimi no nā memo i hoʻouna ʻia, hoʻokuʻu i nā memo i hoʻopaʻa ʻia a hoʻonui i ka palena o ka helu o nā memo i kēlā me kēia mea hoʻohana) .

Nui maoli nā hoʻololi i ka loina. A makemake wau e hoʻomaopopo ʻaʻole kēia ke ʻano o nā makahiki holoʻokoʻa o ka hoʻomohala ʻana e kahi hui nui a me nā ʻano laina o ke code. kamaʻilio-engine a me ka mea hoʻohana-engine me nā moʻolelo ʻē aʻe e like me Huffman no ka hoʻopaʻa ʻana i nā leka, nā kumu lāʻau Splay a me ka hoʻolālā no nā memo i lawe ʻia ma lalo o 20 tausani laina code. A ua kākau ʻia lākou e nā mea hoʻomohala 3 i nā mahina 10 wale nō (eia naʻe, pono e hoʻomanaʻo i kēlā nā mea a pau ekolu mea hoʻomohala - poʻokela honua i ka papahana haʻuki).

Eia kekahi, ma kahi o ka pālua ʻana i ka helu o nā kikowaena, ua hōʻemi mākou i kā lākou helu ma ka hapalua - i kēia manawa ke ola nei ka mea hoʻohana-engine a me ke kamaʻilio-engine ma 500 mau mīkini kino, ʻoiai ʻo ka papahana hou he headroom nui no ka ukana. Ua mālama mākou i ka nui o ke kālā ma nā mea hana - ma kahi o $ 5 miliona + $ 750 tausani i kēlā me kēia makahiki i nā lilo hana.

Hoʻoikaika mākou e ʻimi i nā hoʻonā maikaʻi loa no nā pilikia paʻakikī a nui. Nui mākou - a ʻo ia ke kumu e ʻimi nei mākou i nā mea hoʻomohala akamai i ka ʻoihana waihona. Inā makemake ʻoe a ʻike pehea e hoʻoponopono ai i kēlā mau pilikia, loaʻa kahi ʻike maikaʻi loa o nā algorithms a me nā hoʻolālā data, kono mākou iā ʻoe e hui pū me ka hui. E kelepona i kā mākou HRno nā kikoʻī.

ʻOiai inā ʻaʻole pili kēia moʻolelo iā ʻoe, e ʻoluʻolu e hoʻomaopopo mākou i ka manaʻo nui. E haʻi i kahi hoaaloha e pili ana nā hakahaka hoʻomohala, a inā hoʻopau maikaʻi ʻo ia i ka manawa hoʻāʻo, e loaʻa iā ʻoe kahi bonus o 100 tausani rubles.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka