Daha çox

JavaScript üçün ArcGIS API - Bir nöqtəyə qarşı sadə bufer və ya dairə qrafiki yaradın


Veb xəritəmdəki bir nöqtəyə əsaslanan bir dairə əlavə etmək üçün sadə bir qrafika necə yaradacağımı anlamağa çalışıram. Dairənin 5 mil radiuslu tək nöqtəmin üzərində yerləşməsinə ehtiyacım var. Geodeziya dairəsi üçün nümunələr gördüm və mənim üçün işləmədi, ehtiyac duymadığım bir tampon yaratdı. Sadəcə sadə bir dairə qrafikinə ehtiyacım var. Bunun sadə bir yolu varmı? Bir nöqtəli xəritəm var və sərhəd üçün bu qrafikə ehtiyacım var. Bunun üçün yeniyəm və bu API-ni tez öyrənməyə çalışdığım üçün üzr istəyirəm.

təşəkkürlər


Bu, əvvəlcədən təyin edilmiş bir nöqtə ətrafında 5 millik bir geodeziya dairəsi verəcəkdir.

          

ArcGIS veb saytından: ən sadə bahisinizin tampon vasitəsi kimi görünür

yuxarıdakı səhifə linkində yerləşən buffer_analysis () əmrini ehtiva edən nümunələrlə bir tampon dairəsi çəkə bilməlisiniz.

Bundan əvvəl yoxlanarkən araya girə biləcəyiniz tampon vasitəsi əvəzinə sadələşdirilmiş dairə çoxbucağı yaratmaq barədə də əvvəllər bəzi müzakirələr olmuşdu.


Nöqtənizi dairə həndəsi üçün əsas kimi istifadə edin. Dairələr yaratmaq nümunəsi bu sinifdən necə istifadə edəcəyini göstərir.


Təsviri təhlil edən kitabxanalarla məhdudlaşmayan bir neçə aşkar şey var:

  • Girişin yaxşı formalaşdığını düşünməyin amma həqiqətən yoxlayın. Əslində şəkillər və ya video kitabxanalarla bağlı, qəsdən səhv qüsurları nəzərə alaraq tərtib edilmədikləri, lakin şübhəli mənşəli girişləri işləmək üçün istifadə etdikləri ümumi bir problemdir.
  • Təhlükəsiz bir proqramlaşdırma dilindən istifadə edin dizaynı ilə tampon daşmalarından təsirlənməyən və ya onu ən azı ehtimal edən hala gətirir. Bu, sıra sərhədləri xaricində yazmağa imkan verməyən və boş yaddaş və ya oxşar yaddaş idarəetməsi problemlərini ikiqat artırmağa imkan verməyən bir dil istifadə etmək deməkdir. Ən yüksək səviyyəli dillərdə bu cür problem yoxdur, baxmayaraq ki, performansı sizin istədiyinizdən çox təsir edə bilər. Həm də Rust kimi həm yaddaş təhlükəsizliyi, həm də yüksək performans təmin edən daha aşağı səviyyəli dillər var.
  • Proqramlaşdırma səhvlərinin təsirini məhdudlaşdırın yığını (kanareyləri) qoruyan, kodun yığından qarşısını alan, tətbiqetmə ətrafında bir növ sandbox təmin edən kompilyatora və ya sistem səviyyəsindəki mexanizmlərdən istifadə etməklə.

Steffen-in cavabından bir məqamı genişləndirmək üçün: nə vaxt etibar edilməmiş giriş istifadə edən və istismar riski sayılan kodunuz varsa - məsələn, etibarlı olmayan mənbələrdən faylları istifadə edən bir şəkil kitabxanası - bu kodun sandboxlaşdırılmasına baxmalısınız. Bunu dil, əməliyyat sistemi və CPU arxitekturası kimi dəyişən bir neçə yol var, amma ən çox yayılmışlardan bəziləri:


DMA-nı dəyişən uzunluqlu USART mesajlarını almaq üçün necə qurmaq olar?

Bəzi testləri yerinə yetirməyi əmr edəcək bir PC-dən gələn mikrokontrolordakı USART mesajlarını almağa çalışıram. STM32F4 istifadə edirəm, DMA-nı mikrokontrolordan çıxan eyni USART üzərindəki mesajların daha az bit sürətiylə və ya DMA olmadan işləyə bilmədiyi üçün 2000000 saniyədə olması lazım olduğu üçün istifadə etməyi seçdim. Hər iki istiqamət üçün ASCII-dən çox ikili istifadə edirəm.

Bu günə qədər işlətdiyim şeylər (demək olar ki, real vaxtda yeniləyir) göndərilən mesajların dərəcəsi sabit olduğu təqdirdə, hər yeni mesaj əvvəlki mesajı DMA qeydindən təmizləməyə məcbur edər. HAL_UART_Receive_DMA () üçün alınacaq məlumat miqdarından az olan yalnız bir təlimat / USART çərçivəsi göndərilirsə və mesaj göndərilirsə, mesaj növbəti mesaj tərəfindən göndərilənə qədər qalır.

Daha pis bir vəziyyət ssenarisi, USART_take_size 100 olduqda və DMA tamponunda 10 baytlıq bir çərçivə olduğu təqdirdə ola bilər. Bu vəziyyətdə, hamısını bir anda almadan əvvəl başqa 9 (10 bayt) kadr gözləməyim lazımdır.

Hal-hazırda geri zəngim belə görünür.

Mövzu dairəvi tampondan baytları açır, üzərində döngələr və SOF və EOF baytlarına əsasən mesajı çərçivənin içərisindən çıxarır.

Problemim odur ki, gələn kadrlar müxtəlif uzunluqdadır, əgər USART_take_size x olaraq təyin olunarsa və çərçivə gələrsə və onun uzunluğu x-dan az olarsa, başqa bir kadr gələnə qədər çıxarış ipindəki tampon massivində oturmalı olacaq. yerləşmiş mesajı əldə etmək üçün təhlilçi üçün lazımlı baytların görünməsini təmin edir.

Bunu həll etməyin üç yolunu görürəm və hər biri düzgün görünmür:

Məzmun USART_take_size-dən azdırsa, EOF-dan əvvəl sıfırlar ilə sabit bir çərçivə ölçüsü və yastıq məzmununa sahib olun. Bu sadəcə səliqəsiz və israfçı görünür. Həm də bu çərçivədəki ümumi nisbət daha yüksək ola bilsə də, hər bir kadrda tetiklemesi lazımdır.

DMA-nı əvvəllər müəyyən miqdarda hərəkətsizlik olması şərtilə alınan dəyişən bayt sayında ISR-i işə salmaq üçün konfiqurasiya edin.

DMA haqqında çox məlumatım yoxdur və nə qədər ISR-nin işə düşməsi ilə ən az mesaj oxuya biləcəyiniz arasında bir anlaşma olduğu görünsə də, bir müddət hərəkətsizlikdən sonra mesaj almağın bir yolu olması lazım olduğunu düşünürəm. Bunu necə həll edəcəyinə dair hər hansı digər bir yanaşma əla olardı. Çox sağ ol!


Buna bənzər bir schmitt tetikleyici çeviriciyə bənzəyir (ancaq sancaqlar fərqli olduğundan bu xüsusi deyil). Şemada başqa bir yerdə bu hissə üçün bir Vcc və gnd olmalıdır.

Ya bir Schmitt-trigger çevirici, ya da Schmitt-trigger buferdir. Çıxışın üzərində bir dairə və ya bir ox olub-olmadığı mənə aydın deyil. Histerisiz diaqramı onun inverter olduğunu nəzərdə tutur, lakin bu səhv ola bilər.

Düzəliş: @duskwuff-un da qeyd etdiyi kimi, funksional baxımdan, şübhəsiz bir çeviricidir. Pin nömrələri SN74LVC1G14 tək qapılı ST çeviricisinə və digər oxşar tək qapı hissələrinə uyğun gəlir.

Schmitt-trigger qapıları yavaş və ya bir qədər səs-küylü dalğa formalarını təmizləməyə kömək edə bilən giriş histerezisinə malikdir. Bu vəziyyətdə, bu mövzuda çox iş görmür, amma çox zərər vermir (normal 74LS04 çevirici ilə müqayisədə keçid keçidləri zamanı RAM çıxışlarının bir-birləri ilə biraz daha uzun müddət mübarizə aparma tendensiyasına sahib olacaqdır) böyük bir iş).


Serial məlumatları vizuallaşdırmaq üçün bəzi yaxşı proqramlar var, bunlar:

MegunoLink ($ 29.95 Lite pulsuz) - plan qurma, giriş, proqramlaşdırma, hesabat və daha çox.

MakerPlot ($ 39) - rəqəmsal və amp analoq qurma, izləmə, xüsusi interfeyslər və daha çox.

arduino-plotter (pulsuz) - bütün ibtidai növlərə dəstək verən asan, yüngül çəkmə

Körpü İdarəetmə Paneli (pulsuz) - giriş, plan qurma və s.

RealtimePlotter (pulsuz) - 6 kanal məlumatı qurma.

Real Time Serial Data Plotter (pulsuz) - CSV məlumatlarının qurulması, qeyd edilməsi və s.

Arduino Serial Plotter (pulsuz) - altında Arduino Redaktorunda quraşdırılmışdır Tools> Serial Plotter.

(Bu icma vikisidir, siyahını genişləndirə bilərsiniz.)

Üstünlükləri: Çox çevik, yazılabilir və sərbəst şəkildə mövcuddur.

Dezavantajları: Öyrənmək üçün biraz mürəkkəbdir (amma bir neçə dəqiqədə necə başlayacağımı və bir-iki saata necə işləyəcəyimi düşündüm), bir terminal pəncərəsində işləyir (bir dezavantaj olduğunu düşünürsənsə).

Çox faydalı hesab etdiyim bir şey terminal proqramımın qeyd sənədini vaxtaşırı yenidən yükləmək üçün skript yazmaq idi, buna görə təcrübəm irəlilədikcə dinamik bir qrafiki əldə etdim.

Düzəliş: Budur, onu quran GnuPlot skriptidir:

Görməli olduğum hər hansı bir plan üçün Matplotlib istifadə edirəm.

Hər hansı bir şəkildə spesifik bir arduino deyil, amma çox əladır Piton hiyləgər alət dəsti.

Mən real vaxt rejimində müxtəlif mikrokontrolörlərdən bir qrafaya məlumatlar quran bir sıra tətbiqetmələr qurdum, lakin bu, daha çox iki mərhələli bir proses idi: 1. Cihazdan məlumatları kompüterə daxil edin, 2. Zamanlı məlumatların tərtibini .

Həqiqətən, düşünürəm ki, sualınızı iki hissəyə ayırmalısınız:

  • Bir Arduino / Hər hansı bir serial cihazından bir kompüteri asanlıqla necə məlumat əldə edirsiniz.
  • İstifadəsi asan olan yaxşı bir cədvəl kitabxanası nədir.

SerialPlot (pulsuz). Tələb etdiyiniz hər şeyi və daha çoxunu edir.

  • Məlumatları böyüdün
  • Dəyərləri görmək üçün məlumat nöqtələrini vurun
  • Arduinoya əmrləri geri göndərin
  • Çizilmiş xalların ümumi sayını tənzimləyin
  • Hər kanalı öz avtomatik ölçülü süjetində göstərmək bacarığı
  • İkili, ASCII və xüsusi paketləri şərh edir
  • Demo rejimi xüsusiyyətləri ilə oynamağa imkan verir

Öz sualımı burada cavablandırır .. Qeyd olunduğu kimi Bridge Control Panel istifadə edirəm.

Üstünlüklər: Çox xüsusiyyət.

Dezavantajları: Quraşdırma üçün çətin və çox zəif sintaksis / səhv hesabatı.

İstifadəsi: Arduino Verilərini Seri Portun üstünə hər dəfə bir bayt yazmalısınız. Aşağıdakı kimi görünəcək bir int məlumat növü üçün:

Bridge-də Məlumat Oxumaq əmri:

RX8 oxu əmridir [h = 43] növbəti etibarlı baytın ASCII-də "C" olduğunu, sonra Key1-in Yüksək Baytını, Key1-in Aşağı Baytını bildirir.

Körpüdə belə görünür:

Siz cəhd edə bilərsiniz serial qrafiki. İrəli bir proqramdır. Tam olaraq soruşduğunuz şeyi edir. Yeganə dezavantaj CSV formatında məlumat tələb etməsidir (birinci məqama cavab vermir).

Layihə səhifəsindən ekran görüntüsü:

Github'da Telemetri Baxın. Arduino / Mbed cihazları ilə ikitərəfli ünsiyyəti təmin edən təmiz interfeyslə istifadəsi olduqca sadə bir rabitə protokoludur.

Bu kitabxananın gücü masa üstü komanda xətti interfeysindən gəlir (bunun üçün tələb olunur) yox pitonda proqramlaşdırma bacarıqları).

Yüksək performanslı süjetlər aça bilər (matplotlib ilə edilə biləndən daha yüksəkdir) yalnız bir əmr yazaraq.

Protokol dəstəkləyir məlumat strukturlarını kompleksləşdirir. Hələlik massivlər və seyrək massivlər quraşdırılmış lövhədən göndərilə bilər.

Komanda xətti interfeysindən açılan sahələr məlumatların növünü başa düşür və massivlər üçün hər bir nümunəni zamana qarşı qurmaqdansa, nümunə öz indeksinə qarşı tərtib ediləcəkdir.

Yaxın gələcəkdə əlavə edilməsi planlaşdırılır məkan koordinatları üçün dəstək (xyz məlumatları), bu dərhal məkan məlumatları qurmağa imkan verəcəkdir. Bir daha, süjetlər hər şeyi başa düşəcək, məlumatlarınızı 2B və ya 3B məkanda quracaq və tətbiqinizi inkişaf etdirməyə diqqət yetirə bilərsiniz.

Bu xüsusiyyətlərin sadəcə olduğuna inanıram unikal belə bir layihə üçün.


2 Cavablar 2

Bu suala texniki cəhətdən bir cavab deyil, fikrimcə daha yaxşı bir işdir.

Qutuların ölçülərini və künclərin radiusunu fraqment kölgələyənlərə ötürə və küncləri bu şəkildə yuvarlaya bilərsiniz.

Əsas olaraq, cari toxuma koordinatlarını götürürsən, hər bir koordinatını pəncərənin ölçüləri ilə vuraraq cari parçanın pəncərəyə nisbətən koordinatlarını əldə edirsən. Sonra bu mövqe ilə kənarların hər biri arasındakı məsafə künc radiusundan azdırsa, onu atarsınız.

Bu şəkildə hər bir pəncərə üçün ayrı zirvələr yükləməyə ehtiyac yoxdur.

GLSL-də nümunə kodu (nə istifadə etdiyinizi bilmirəm)

3D həndəsədən istifadə edərək dairəvi 2 ölçülü obyektlərin çəkilməsində əsas problem, ekrandakı piksellərlə 3D dünya məkanı arasında əsl sabit bir Xəritəçəkmə olmamasıdır. Bütün qətnamələrə və müxtəlif dəyişikliklərə baxdıqlarından əmin olmaq həqiqətən çətin və sürətli ola bilər və həqiqətən oyun keyfiyyətini yaxşılaşdırmayan bir şeyə vaxt ayırmaq istəmirsiniz. Ancaq haqlısınız ki, tək bir toxuma uzada bilməyəcəksiniz və ya yaxşı bir effekt əldə edə bilərsiniz.

Bunun 2B GUI-lərdə edilməsinin tipik bir üsulu 9 dilimlənmiş miqyaslandırmadır. Bir məntiqi toxuma sahib olmaq əvəzinə doqquzunuz var - hər künc üçün bir, hər kənar üçün bir və qalanı üçün bir. Künclər qətiyyən miqyaslanmır, yalnız yerlərinə köçürülür. Kenarlar müvafiq istiqamətdə təkrarlanır (və ya bəzən miqyaslanır) (məsələn, yuxarı kənar X istiqamətində təkrarlanacaq). Mərkəz hər iki istiqamətdə təkrarlanır. Bu, pəncərəni istədiyiniz kimi dəyişdirməyə imkan verir.

3B həndəsəni davam etdirmək istəyirsinizsə, piksel gölgələdiciləri ən yaxşı yol kimi səslənir - nəticədə effekti ölçüyə görə ölçməyə çalışırsınız. ekran, dünya məkanı deyil. Sadə bir dairə şəklini çəkmək cəmi biraz riyaziyyatla əhəmiyyətsizdir, baxmayaraq yaxşı görünüşlü anti-aliasing və s. Əldə etmək bu hiyləgər vəziyyətə gətirir. Doku metodu üzərində əsas üstünlüyü, toxumaları uzatmadan özbaşına miqyaslandırmaqdır, əsas çatışmazlıq ondan ibarətdir ki, yalnız çox sadə naxışlar düzəldəcəksiniz (və nümunə nə qədər mürəkkəb olsa, GPU-ya daha çox vergi). Əlbətdə ki, hər iki yanaşmanı da birləşdirə bilərsiniz - pəncərənin "möhkəm" hissələrinə tətbiq olunan, lakin şəffaf hissələrə tətbiq olunmayan və lazım olduqda təkrarlanan bir toxuma var.


Yenidən istifadə etmək yaddaşın ayrılmasına ehtiyac duymur, buna görə daha sürətli ola bilər @Mike Nakis qeyd edildi. Digər tərəfdən çirkin kodlara yol açır: oxucuları qarışdıracaq, baxımını çətinləşdirə biləcək iki (və ya daha çox) fərqli məqsəd üçün eyni dəyişəni istifadə edirsiniz. Bunu etmək üçün yaxşı bir səbəbiniz olmadıqca, bundan çəkinin. Yəni, bir profildə yeni StringBuilder nümunələrinin yaradılmasının tətbiqetmədə bir problem olduğunu göstərməsi üçün yaxşı bir səbəbiniz var.

Həqiqətən StringBuilder lərini yenidən istifadə etməlisinizsə, köməkçi üsulu ilə onlara fərqli adlarla daxil olmağa çalışın:

Kodu bir az daha oxunaqlı edir, çünki metod adı StringBuilder-i niyə təkrar istifadə etdiyinizi deyir.


Oyunçu girişini serverə göndərmək istəmirsiniz. Yəqin etmək istədiyiniz şey, oyunçuya nə istədiyini abstrakt bir təqdimatı serverə göndərmək və sonra məntiqi orada çalışdırmaqdır.

Eyni şəkildə müştərinin etməsi lazım olan hər şeyi mütləq geri göndərmək istəmirsiniz. Məsələn, "NPC X öldü" deyərək bir növ mesaj göndərə bilərsiniz və müştəri hansı animasiyanın / səslərin səsləndiriləcəyini təyin edir. Elə şeylər.

Hiylə, insanların aldatmalarının qarşısını alaraq bant genişliyi və işləmə gücünün (serverdə) eşidildiyi xətti tapmaqdır. Ümumiyyətlə, yalnız serverdə hər hansı bir oyun dəyişən səlahiyyətli qərar qəbul edirsiniz və bütün köməkçi vizual məhsulları müştəriyə verirsiniz.

Saytın hər yerində bu mövzuda daha çox spesifik suallar var. Misal üçün:

Cavablarınız var, amma əsl cavabınız "özünüzü sınayın". Hər şey oyundan oyuna fərqlənir.

Bəzi paylanmış şəbəkə oyun dizayn kursu üçün bir neçə çox oyun oynadım. Ən çətin bir çox oyunçunun iştirak etdiyi və cəhənnəm kimi giriş göndərən bir zamanlı hərəkət oyunu etmək idi. O nöqtəyə gəldikdə, hər şey problemə çevrilir. Tetratın göndərdiyi ilk əlaqəni gördüyünüz kimi, sövdələşməni müəyyənləşdirmək belə problemə çevrilir. Və gecikmə, interpolasiya, ekstrapolyasiya, proqnozlaşdırma kimi terminləri oxuyacaqsınız. Ancaq heç vaxt özünüzü sıfırdan kodlaşdırmağı sınamamısınızsa, bu sözləri qəbul edəcəksiniz və əsl mənasını bilməyəcəksiniz.

Addım 1
Hələlik tam səlahiyyətli server əsaslı dizaynla başlayın. Dediyiniz kimi, istifadəçi girişlərini serverə göndərin və serverə hər şeyi etsin və müştərilər nəticə əldə etsinlər. Oyun tam uyğun işləyəcək. Ancaq müştərilərinizə baxdığınız zaman bir az geriləmə, bəzi teleport problemlərini görürsünüz, hamar bir hərəkət deyil. və s.

Addım 2
Müştəri tərəfindəki problemləri düzəltməyə başlayın. Məsələn teleportasiya problemləri. Xarakteriniz (0,0) -də idi və server indi (100,100) -də olduğunuzu bildirdi. Xarakteriniz sadəcə (100,100) ilə teleportaj edəcək ki, bu da xoş deyil. İnterpolasiya gəlir. Müştəri tərəfində (0,0) -dən (100, 100) -ə qədər hamar bir şəkildə sürüşdürən bir kodunuz olmalıdır. Bəli, xarakterinizi (0,0) -dan (100,100) -ə keçirəcəksiniz, amma nə qədər sürətli? Hələlik hər bir server yeniləməsi arasındakı zaman fərqindən istifadə edə bilərsiniz. Serveriniz saniyədə 10 paket göndərirsə, bu hər paket arasında 100 ms gecikmə deməkdir.

Addım 3
İndi oyununuz (1-50) ms gecikmə olduğu sürətli şəbəkələr üçün onsuz da yaxşıdır. Paket itkisi, yüksək gecikmə və ya hesablama serverdə uzun çəkirsə, məhkum olur. və s. Bu vəziyyətdə sol oxa basdığınızda fərqlənəcəksiniz, xarakterinizi solda 200 ms gecikmə ilə hərəkət etdiyini görəcəksiniz. Paketiniz arasındakı gecikmə serverə, hesablama vaxtına gedir və son mövqeyinizlə sizə qayıdır. Bu pis, server səlahiyyətli dizaynının ən pis dezavantajı. Oyunçu sola basan kimi xarakterinin sola doğru hərəkət etməsini istəyir, onu gözləməyə məcbur edə bilməzsiniz. Xoşbəxtlikdən müştəri də serverlə eyni koda sahibdir, buna görə niyə dərhal onu müştəri üzərində icra etməyimiz və son nəticəni serverdən gələn cavabla düzəltməyimiz lazımdır? Əsas olaraq giriş proqnozu budur. Müştəri sola basır, yanındakı kod onu sola aparacaq, bir müddət sonra 200 ms deyək, həqiqi mövqe serverdən gəlir və müştəri bununla öz mövqeyini düzəldir. Hər şey qaydasındadırsa, müştəri heç bir şey görməyəcək, "addım 2" də bu işdə bizə kömək edəcəkdir.

Şəbəkənin bu mövzuda bir çox təlimatı var. Ancaq həqiqətən bəyəndiyim 2 var:

Həqiqətən yaxşıdır, qaranlıq nöqtələri əhatə edir: Valve-Source Engine Multiplayer Networking
Tarix növü, oxumaq üçün əyləncəli və buna dəyər: 28.8-də 1500 Archers,


Bir lövhəni yenidən düzəltməyin ən yaxşı yolu nədir?

Son iki ildə ofisimiz yeni lövhələr quraşdırdı. Bu lövhələrin çoxu çox istifadə olunur və artıq yararsız vəziyyətə düşmüşdür - üzərindəki yazılar qalıcıdır, əksinə ləkələnmişdir.

Bunları sadəcə təmizləməyin (Sadə Yaşıl kimi bir ev təmizləyicisi ilə) istifadəyə yararlı vəziyyətdə saxlamağa xeyli kömək etdiyini gördüm. Təmizlədikdən sonra markerin çox hissəsi (80% -ish) sadəcə silinə bilər, lakin hələ də güclü "xəyal təsiri" qalır.

Ticarət ağ taxta təmizləyicisini sınadım. Ev təmizləyicisi ilə eynidir, lakin daha bahalıdır.

İnternetdəki müxtəlif saytların tövsiyə etdiyi kimi həm WD-40, həm də avtomobil mumunu (Turtle Wax və Rain-X) sınadım. Avtomobil mumu elə də yaxşılaşma təklif etmir. WD-40 bu iki həlldən daha yaxşısıdır, lakin lövhəni bir az yağlı qoyur və işarələr silindikdə ləkələnməyə meyllidir (yalnız bir az).

Lövhələrin yaxşı işləməsi üçün nə tövsiyə olunur? Və zədələnmiş bir lövhəni bərpa etməyin ən yaxşı yolu nədir?


Отказ от ответственности

Loqotiplər və ticarət markaları çoxsaylı şirkətlər tərəfindən həyata keçirilməkdədir. Все права защищены.

* Pulsuz sınaq müddəti əvvəlki aylarda. Dana его активации heç bir bankovskoy kartı lazım deyil. Bu xidmətdən əvvəlki dövrdə yalnız lyuboy anı oformit podpisku ilə təchiz oluna bilər. Konstruktora saytları əvvəlki dövrdən etibarən işləyin, GoDaddy-dən daha yaxşı bankovskoy kartları əldə edə bilərsiniz. GoDaddy-ni xatırladın, avtomatlaşdırılmış istehsalın qarşısını ala bilərsən və çox yaxşı iş görərsənsə, çox yaxşı iş görərsən. Srok deystviya planı texnoloji istehsaldan əvvəl istehsal oluna bilər, sadəcə istifadə etmirsiniz.


Videoya baxın: ArcGIS API for JavaScript (Oktyabr 2021).