Tuesday 18 July 2017

Bergerak Rata Rata Clojure


Mengukur Penggunaan Disk di Linux (iowait vs IOPS) 18 Februari 2011 di linux Hal ini terjadi pada saya saat melihat server Hadoop kami hari ini, banyak devs kami menggunakan IOWait sebagai indikator kinerja IO namun ada beberapa langkah yang lebih baik. IOWait adalah metrik CPU, mengukur persentase waktu CPU menganggur, tapi menunggu IO untuk menyelesaikannya. Anehnya - Adalah mungkin untuk memiliki sistem yang sehat dengan hampir 100 iowait, atau memiliki bottleneck disk dengan 0 iowait. Metrik yang jauh lebih baik adalah dengan melihat disk IO secara langsung dan Anda ingin menemukan IOPS (IO Operations Per Second). Di linux saya suka perintah iostat, meski ada beberapa cara untuk mendapatkan info. Di debianubuntu ada dalam paket sysstat (misal: sudo apt-get install sysstat) iostat 1 refresh setiap detik, jika Anda melakukannya lebih lama maka akan rata-rata hasilnya. Tps adalah apa yang Anda minati, Transaksi Per Second (yaitu IOPS). - x akan memberikan output yang lebih rinci dan memisahkan pembacaan dan penulisan dan membiarkan Anda mengetahui berapa banyak data yang masuk dan keluar per detik. Apa yang baik atau nomor buruk meskipun Seperti kebanyakan metrik, jika pertama kali Anda melihatnya adalah saat Anda berada dalam masalah, masalah itu akan sangat membantu. Anda harus memiliki gagasan tentang berapa banyak IO yang biasanya Anda lakukan, maka jika Anda mengalami masalah dan melakukan 10x itu atau hanya mendapatkan 110 dari disk maka Anda memiliki penjelasan kandidat yang bagus untuk mereka. Berapa banyak yang dapat saya harapkan dari penyimpanan saya Tergantung seberapa cepat disk berputar, dan berapa banyak yang ada. Sebagai aturan praktis, saya berasumsi untuk satu disk: 7.2k RPM - gt 100 IOPS 10k RPM - gt 150 IOPS 15k RPM - gt 200 IOPS Server hadoop kami mendorong sekitar 70 IOPS ke setiap disk pada puncaknya dan mereka adalah 7.2k ones Sehingga sesuai dengan perkiraan ini. Lihat di sini untuk rincian mengapa ini adalah perkiraan yang baik untuk IO acak dari disk tunggal. Menariknya sejumlah besar itu berasal dari latency pemintalan piring, itulah sebabnya SSD melakukannya dengan sangat baik untuk random IO (Dibandingkan dengan disk 15k, lihat juga: Contoh konkret CPU yang lebih cepat menyebabkan iowait lebih tinggi saat benar-benar melakukan lebih banyak transaksi di sini. Baca selengkapnya posting oleh penulis ini. Berbagi posting ini Menjalankan Setiap executable Sebagai Layanan Windows (Ruby Sinatra) Saat memigrasi halaman penyebaran VM otomatis menggunakan kombinasi skrip Sinatra di Linux dan Bash menggunakan Ruby Ruby on Windows - Mengupas proses lainnya Saat memindahkan Situs penyebaran VM yang ditulis di Sinatra ke mesin Windows dengan toolkit VMware PowerCLI terinstal. Berita paling lambat Bahasa Pemrograman Berikutnya 50 Daftar bahasa berikut menunjukkan 51 sampai 100. Karena perbedaannya relatif kecil, bahasa pemrograman hanya tercantum (menurut abjad) (Visual) FoxPro, ABC, ActionScript, APL, AutoLISP, bc, shell Bourne, shell C, CFML, cg, CL (OS400), Clipper, Lisp Umum, Crystal, Eiffel , Elixir, Elm, Emacs Lisp, Factor, Forth, Hack, Icon, IDL, Inform, Io, J, Julia, Korn shell, Kotlin, Maple, ML, NATURAL, NXT-G, OCaml, OpenCL, OpenEdge ABL, Oz, PLI, PowerShell, Data Murni, REXX, S, Smalltalk, SPARK, SPSS, Standard ML, Stata, Tcl, VBScript, Verilog Perubahan Bulan Ini dalam Indeks Bulan ini, perubahan berikut telah dilakukan pada definisi indeks: ClojureScript has Telah ditambahkan ke entri Clojure. Ini adalah saran dari Alex Miller. Olaf Buddenhagen dan beberapa lainnya bertanya-tanya mengapa Nim bukan bagian dari indeks TIOBE. Memang, Nim memenuhi syarat untuk indeks. Ini memasuki indeks TIOBE di posisi 129 bulan ini. Di samping Lua juga LuaJIT diterima sebagai pintu masuk Lua. Ini berkat Szbnwer. Akhirnya, Mahmoud Fayed mengusulkan untuk menambahkan bahasa pemrograman Ring ke indeks. Bahasa ini memulai debutnya di posisi 104. Ada banyak surat yang masih perlu diolah. Segera setelah ada lebih banyak waktu yang tersedia, surat Anda akan dijawab. Harap bersabar. Sejarah Jangka Panjang Untuk melihat gambaran yang lebih besar, temukan di bawah posisi 10 bahasa pemrograman teratas beberapa tahun yang lalu. Harap dicatat bahwa ini adalah posisi rata-rata untuk jangka waktu 12 bulan. Bugs amp Change Requests Ini adalah 5 perubahan dan bug yang paling banyak diminta. Jika Anda memiliki saran bagaimana memperbaiki indeks donapost ragu untuk mengirim e-mail ke tpcitiobe. Terlepas dari teknik pemrograman kuota, juga kueri lainnya seperti pemrograman dengan ltlanguagegtquot, pengembangan kuotasi dan pengkodean quotltlanguagegt harus dicoba. Tambahkan kueri untuk bahasa alami lainnya (selain bahasa Inggris). Idenya adalah memulai dengan mesin pencari Baidu. Ini sudah dilaksanakan sebagian dan akan selesai beberapa bulan ke depan. Tambahkan daftar semua permintaan istilah penelusuran yang telah ditolak. Ini untuk meminimalkan jumlah kiriman berulang tentang Rails, JQuery, JSP, dll. Mulailah indeks TIOBE untuk database, sistem manajemen konfigurasi perangkat lunak dan kerangka aplikasi. Beberapa mesin pencari mengizinkan halaman query yang telah ditambahkan tahun lalu. Indeks TIOBE seharusnya hanya melacak halaman yang baru saja ditambahkan. Pertanyaan yang Sering Diajukan (FAQ) T: Apakah saya diperbolehkan untuk menunjukkan indeks TIOBE di weblogpresentationpublication saya A: Ya, satu-satunya syarat adalah merujuk pada sumber quottiobequot aslinya. T: Bagaimana saya bisa mencalonkan bahasa baru untuk ditambahkan ke indeks TIOBE A: Jika sebuah bahasa memenuhi kriteria untuk dicantumkan (yaitu Turing lengkap dan memiliki entri Wikipedia sendiri yang mengindikasikan bahwa ini menyangkut bahasa pemrograman) dan itu Cukup populer (lebih dari 5.000 klik untuk pemrograman kuantum untuk Google), lalu tulis e-mail ke tpcitiobe. T: Saya ingin memiliki kumpulan data lengkap dari indeks TIOBE. Apakah ini mungkin A: Kami menghabiskan banyak usaha untuk mendapatkan semua data dan menjaga indeks TIOBE tetap up to date. Untuk mengimbangi sedikit untuk ini, kami meminta biaya 5.000 dolar AS untuk kumpulan data yang lengkap. Kumpulan data berjalan dari bulan Juni 2001 sampai hari ini. Ini dimulai dengan 25 bahasa pada tahun 2001, dan sekarang mengukur lebih dari 150 bahasa sebulan sekali. Data tersedia dalam format yang dipisahkan koma. Silahkan hubungi salestiobe untuk informasi lebih lanjut. T: Mengapa maksimum diambil untuk menghitung rangking untuk pengelompokan, mengapa tidak jumlah A: Baiklah, Anda bisa melakukannya dengan cara apa pun dan keduanya salah. Jika Anda mengambil jumlah, maka Anda mendapatkan persimpangan dua kali. Jika Anda mengambil max, maka Anda merindukan perbedaan. Yang mana yang harus dipilih Misalkan seseorang datang dengan istilah pencarian baru yaitu 10 dari yang asli. Jika Anda mengambil maks, tidak ada perubahan. Jika Anda mengambil jumlah maka peringkat akan naik 10. Jadi mengambil jumlah itu akan menjadi insentif bagi beberapa orang untuk mengemukakan berbagai jenis istilah yang tidak jelas untuk sebuah bahasa. Thataposs mengapa kami memutuskan untuk mengambil maks. Cara yang tepat untuk memecahkan ini adalah tentu saja mengambil jumlah dan mengurangi persimpangan. Ini akan menimbulkan ledakan pertanyaan tambahan yang harus dilakukan. Misalkan bahasa memiliki pengelompokan 15 istilah, maka Anda harus melakukan 32.768 kueri (semua kombinasi persimpangan). Jadi sepertinya ini juga tidak mungkin. Jika seseorang memiliki solusi untuk ini, beri tahu kami. T: Apa yang terjadi di Jawa pada bulan April 2004 Apakah Anda mengubah metodologi Anda A: Tidak, kami tidak mengubah metodologi kami saat itu. Google mengubah metodologinya. Mereka melakukan tindakan menyapu umum untuk menyingkirkan semua jenis situs web yang telah didorong ke atas. Akibatnya, ada penurunan besar untuk bahasa seperti Java dan C. Untuk meminimalkan fluktuasi tersebut di masa depan, kami menambahkan dua mesin pencari lagi (MSN dan Yahoo) beberapa bulan setelah kejadian ini. T: Mengapa YouTube digunakan sebagai mesin pencari untuk indeks TIOBE A: Pertama-tama, jumlah YouTube kurang dari 10 dari semua peringkat, sehingga hampir tidak ada pengaruhnya terhadap indeks. YouTube telah ditambahkan sebagai eksperimen. Ini memenuhi syarat untuk indeks TIOBE karena rangkingnya yang tinggi pada Alexa. YouTube adalah platform muda (jadi indikator untuk popularitas) dan ada beberapa ceramah, presentasi, tip pemrograman dan perkenalan bahasa yang tersedia di YouTube. TIOBE memeriksa lebih dari 586 juta baris kode perangkat lunak untuk pelanggannya di seluruh dunia, realtime, setiap hari. Menemukan Titik-Titik dalam Jarak Lintang Dengan Menggunakan Koordinat Bounding Artikel ini menjelaskan cara mengarsipkan database secara efisien untuk tempat-tempat yang berada dalam jarak tertentu. Dari titik yang diberikan dalam koordinat bola (garis lintang dan bujur). Metode ini menghitung koordinat batas yang dapat digunakan untuk memindai indeks database ndash seperti kita akan menggunakan persegi panjang minimum untuk mempercepat kueri di ruang Cartesian. Ini akurat untuk jarak pendek maupun jarak jauh, dan bekerja untuk lokasi geografis manapun, bahkan jika berada di dekat tiang atau garis meridian ke 180. 1 Jarak Antara Dua Titik yang Diberi Jarak terpendek (geodesi) antara dua titik P 1 (lat 1. lon 1) dan P 2 (lat 2. lon 2) pada permukaan bola dengan jari-jari R adalah jarak lingkaran yang besar. . Hal ini dapat dihitung dengan menggunakan rumus: Misalnya jarak antara Patung Liberty di (40.6892deg, -74.0444deg) (0,7102 rad. -1,2923 rad) dan Menara Eiffel di (48.8583deg, 2.2945deg) (0,8527 rad , 0,0400 rad) ndash dengan asumsi perkiraan bola dari gambar Bumi dengan jari-jari R 6371 km ndash adalah: distrcc (sin (0,7102) middot sin (0,8527) cos (0,7102) middot cos (0,8527) middot cos (-1.2923 - 0,0400)) middot 6371 km 5837 km (2) 2 Menemukan Tempat di Jarak Tanpa Menggunakan Indeks Misalkan kita ingin menemukan tempat dalam jarak d 1000 km dari M (lat. Lon) (1.3963 rad, -0.6981 rad) di Sebuah database Mengingat bahwa kita memiliki tabel bernama Places dengan kolom Lat dan Lon yang menyimpan koordinat dalam radian (fungsi trigonometri dari SQL mengharapkan radian), maka kita bisa menggunakan query SQL ini: SELECT FROM Places WHERE acos (sin (1.3963) sin (Lat ) Cos (1.3963) cos (Lat) cos (Lon - (-0.6981)) 6371 lt 1000 Masalah dengan query ini adalah sistem basis data kita tidak akan dapat memanfaatkan indeks di kolom Lat dan Lon karena kompleksitas dari Rumus dalam klausa WHERE. 3 Menemukan Tempat di Jarak Menggunakan Indeks Untuk memanfaatkan indeks di kolom Lat dan Lon kita dapat menggunakan metode yang mirip dengan metode persegi panjang yang melintang di ruang Cartesian. Letrsquos memanggil lingkaran yang dibentuk oleh semua titik yang memiliki jarak d dari M lingkaran kueri. Subbagian berikut menjelaskan bagaimana menghitung koordinat pembatas (lat min lon min) dan (lonceng maks. Lon max) yang berada di sudut yang berlawanan dari persegi panjang yang melintang (di bola) yang benar-benar berisi lingkaran kueri. Poin di luar persegi panjang ini pastinya tidak berada dalam jarak d dari M. Jadi untuk menemukan titik-titik yang berada dalam lingkaran query, kita perlu mempertimbangkan titik-titik di dalam bounding rectangle saja. Poin tersebut (disebut tempat kandidat) dapat ditemukan dengan cepat menggunakan indeks (lihat bagian 3.5 untuk kueri SQL). Letrsquos mendefinisikan r d R (1000 km) (6371 km) 0,1570 sebagai radius sudut lingkaran kueri. 3.1 Menghitung Lintang Minimal dan Maksimal Bergerak pada lingkaran dengan jari-jari R 6371 km dari titik A ke titik B sedemikian rupa sehingga ada sudut r 0,1570 antara A dan B yang meliputi jarak d 1000 km. Meridians ada di lingkaran besar seperti itu dengan jari-jari R. Oleh karena itu, kita dapat bergerak sepanjang garis meridian, yaitu menjaga agar bujur tetap terjaga, dan cukup substractadd r darito lat untuk mendapatkan titik leleh minimummax dari semua titik dalam lingkaran kueri dengan pusat M (lat. Lon) (1.3963 rad, -0.6981 rad) : Perhatikan bahwa perawatan khusus harus dilakukan jika sebuah tiang berada dalam lingkaran kueri. Lihat bagian 3.4 untuk rinciannya. 3.2 Menghitung Garis Bujur Minimum dan Maksimum ndash Jalan Salah Salah satu pendekatan yang terlihat pada beberapa halaman web untuk menghitung bujur minimum dan maksimum adalah menjaga garis lintang tetap dan mengubah bujur, yaitu bergerak di sepanjang lingkaran garis lintang. Bagian ini akan menunjukkan bahwa pendekatan ini memberikan hasil yang tidak akurat. Bergerak di sepanjang lingkaran garis lintang berarti bergerak di sepanjang lingkaran kecil. Lingkaran lintang pada lintang lat 1.3963 rad memiliki jari-jari R s R middot cos (lat) 1106 km, jadi d 1000 km sekarang sesuai dengan radius sudut r s d r s d (R middot cos (lat)) 0,9039. Oleh karena itu, meliputi d 1000 km pada lingkaran garis lintang membuat Anda bujur lon S lon plusmn d (R middot cos (lat)) -0,6981 rad plusmn 0,9039 rad. Tapi ini bukan bujur minimummaximum yang bisa Anda dapatkan dengan menggerakkan d 1000 km ke segala arah. Hal ini karena kami memindahkan jarak pada lingkaran kecil, namun jarak lingkaran kecil lebih besar dari jarak lingkaran yang besar. Meskipun M (lat. Lon) (1.3963 rad, -0.6981 rad) dan PS (lat. Lon S) (1.3963 rad, -1.6020 rad) memiliki jarak d 1000 km pada lingkaran kecil, kita dapat mengambil jalan pintas dari M Ke PS di lingkaran besar. Menurut persamaan 1. jalan pintas itu memiliki panjang 967 km. Jadi kita bisa bergerak 33 km lagi dan masih berada dalam lingkaran query. Secara khusus, kita bisa mencapai bujur yang lebih kecil masing-masing lebih besar. Jadi dengan menggunakan lon plusmn d (R middot cos (lat)) karena nilai batas bujur akan melewatkan beberapa lokasi yang sebenarnya berada dalam jarak d. Misalnya, titik P3 (1.4618 rad, -1.6021 rad) berada di luar ldquoboxrdquo yang terikat pada perhitungan, meskipun jaraknya ke M hanya 872 km. Itu adalah kesalahan lebih dari 12 3.3 Menghitung Garis Bujur Maksimum dan Maksimum ndash dengan Cara Benar Gambar 1: Garis meridian Tangen ke lingkaran pertanyaan 1 Bergerak di sepanjang lingkaran garis lintang untuk menemukan bujur minimum dan maksimum tidak bekerja sama sekali sebagai Anda dapat melihat pada gambar 1. Poin pada lingkaran query memiliki bujur minimummaximum, T 1 dan T 2. Tidak berada pada lingkaran lintang yang sama dengan M tapi lebih dekat ke kutub. Rumus untuk koordinat titik-titik ini dapat ditemukan dalam buku pedoman matematika yang baik seperti 1. Mereka adalah: Perhatikan bahwa perawatan khusus harus dilakukan jika garis meridian ke-180 berada dalam lingkaran kueri. Lihat bagian 3.4 untuk rinciannya. 3.4 Berurusan dengan Kutub dan Meridian 180 Jika lat max. Seperti yang didefinisikan pada bagian 3.1. Lebih besar dari pi2, maka Kutub Utara berada dalam lingkaran kueri, yang berarti bagian semua meridian berada dalam lingkaran kueri juga. Jadi, dalam hal ini koordinat pembatasnya adalah (min min. - pi) dan (pi2, pi). Jika lat min lebih kecil dari - pi2, maka Kutub Selatan berada dalam lingkaran kueri dan koordinat pembatasnya (-pi2, - pi) dan (lat max. Pi). Jika salah satu lon minmax. Seperti yang didefinisikan pada bagian 3.3. Berada di luar kisaran nilai bujur yang valid - pi, pi, garis meridian ke-180 berada dalam lingkaran kueri. Dalam hal ini seseorang bisa menggunakan (lat min - pi) dan (lat max. Pi) sebagai koordinat bounding, yaitu sesuatu dengan bentuk seperti sabuk di sekitar bola. Tapi itu akan mencakup banyak tempat kandidat yang sebenarnya tidak jauh dari sini. Sebagai alternatif, seseorang bisa menggunakan dua ldquoboxesrdquo yang terikat dan cukup untuk tempat kandidat berada di salah satu dari mereka. Jika lon min lt - pi, dua set koordinat pembatas adalah (lat min. Lon min 2pi), (lat max. Pi) dan (lat min. - pi), (lat max. Lon max). Jika lon max pi, dua set koordinat pembatas adalah (lat min. Lon min), (lat max. Pi) dan (lat min. - pi), (lat max. Lon max - 2pi). 3.5 Query SQL Sekarang kita telah menghitung koordinat batas (lat min lon min) (1.2393 rad, -1.8184 rad) dan (max max lon max) (1,5532 rad, 0,4221 rad), kita dapat menggunakannya dalam query SQL . Berikut ini, diasumsikan bahwa garis lintang dan bujur ndash keduanya dalam radian ndash disimpan dalam dua kolom terpisah dengan indeks yang mendukung kueri rentang (misalnya pohon B) pada masing-masingnya. Jika sistem manajemen basis data Anda mendukung tipe data titik dan indeks spasial (misalnya pohon R) pada kolom tersebut, Anda juga dapat menggunakannya. Ada beberapa cara berbeda untuk menggabungkan filter menggunakan koordinat batas dengan rumus untuk jarak lingkaran besar dalam pernyataan SQL: Cukup menggabungkan kondisi dengan AND: Pengoptimalan kueri paling cukup cerdas untuk melakukan pemindaian indeks dengan cepat menemukan tempat yang memuaskan (Lat Gt 1.2393 AND Lat lt 1.5532) AND (Lon gt -1.8184 DAN Lon lt 0.4221) dan evaluasi rumus untuk jarak lingkaran besar untuk setiap hasil kandidat yang tersisa saja. Pre-filter dalam klausa WHERE dan formula yang lebih spesifik dalam klausa HAVING: Pre-filter dalam sub-query: 4 Java Source Code 4.1 Kelas GeoLocation Di bawah ini Anda akan menemukan kelas Java GeoLocation yang siap digunakan. Metode boundingCoordinates () menghitung koordinat bounding dengan menggunakan metode yang dijelaskan pada bagian 3. Bagian 4.2 menunjukkan contoh penggunaan kelas GeoLocation. 4.2 Menggunakan GeoLocation Class Berikut adalah beberapa kode demo yang menunjukkan bagaimana menggunakan kelas GeoLocation dari bagian 4.1 untuk query database untuk tempat-tempat dalam jarak tertentu. 5 Implementasi di Bahasa Pemrograman Lain Beberapa orang telah menerjemahkan kode Java dari bagian 4 ke dalam bahasa pemrograman lain dan menerbitkan hasilnya. Ada implementasi di C. Clojure. JavaScript (Node. js). Tujuan-C. PHP. Python dan Swift. Perhatikan bahwa saya belum memeriksa ini untuk kebenaran. Kesalahan maksimum yang dihasilkan dari penggunaan model Bumi bulat untuk perhitungan jarak tidak lebih dari 0,5. 2 Referensi Referensi tambahan: indeks geospasial, kotak geospasial, kotak pembatas bola, kotak pembatas minimum, bounding rectangle minimum (MBR), layanan berbasis lokasi, geolokasi, lokasi geografis, posisi geografis, posisi geografis, titik geografis, titik geografis, Lingkaran, GPS, sistem informasi geografis (GIS), kecenderungan, azimut, pencarian cepat Pertama kali diterbitkan 16 Mei 2010, terakhir diperbarui 5 Juni 2016 Jika Anda memiliki komentar atau saran untuk memperbaiki artikel ini, tolong kirimi saya e-mail.

No comments:

Post a Comment