Tahun ini ... tidak biasa. Kami sangat senang akhirnya berakhir dan kami berharap yang berikutnya akan lebih bahagia untuk semua orang. Dan menurut tradisi kecil kami, kami meringkas blog dengan posting paling gemuk dengan plus. Selain itu, kami mempublikasikan juara dengan komentar, penambahan ke favorit dan tampilan untuk mereka yang tidak termasuk dalam daftar pendek pertama.
Juara peringkat
File zip: sejarah, penjelasan dan implementasi (AloneCoder)
Saya sudah lama bertanya-tanya bagaimana data dikompresi, termasuk dalam file Zip. Suatu hari saya memutuskan untuk memuaskan rasa ingin tahu saya: mempelajari cara kerja kompresi dan menulis program Zip saya sendiri. Implementasi telah menjadi latihan pemrograman yang menarik. Anda akan sangat senang membuat mesin yang mengambil data, menempatkan bit-bitnya ke dalam representasi yang lebih efisien, dan kemudian menyatukannya kembali. Saya harap Anda juga tertarik untuk membaca tentang ini.
Kucing dalam kotak, atau struktur data kompak (Serine)
Bagaimana jika pohon pencarian telah tumbuh di seluruh RAM dan akan membasmi rak tetangga di ruang server? Apa yang harus dilakukan dengan indeks serakah sumber daya terbalik? Apakah terkait dengan pengembangan untuk Android, jika pengguna tiba di "Memori telepon penuh", dan aplikasi hampir setengah jalan melalui pemuatan wadah penting?
Secara umum, apakah mungkin untuk memampatkan struktur data sehingga memakan lebih sedikit ruang, tetapi tidak kehilangan keunggulan yang melekat? Sehingga akses ke tabel hash tetap cepat, dan pohon yang seimbang mempertahankan propertinya. Ya kamu bisa! Untuk ini, arah informatika "struktur data ringkas" muncul, yang mengeksplorasi representasi kompak dari struktur data. Ini telah berkembang sejak akhir 80-an dan sekarang berkembang dalam kejayaan data besar dan muatan tinggi.
Apa yang saya, sebagai pengembang, pelajari dari kecelakaan di luar angkasa (AloneCoder)
Andrey Sitnik, penulis PostCSS dan Auto Prefixer , mengumpulkan pilihan cerita yang berkaitan dengan eksplorasi luar angkasa Uni Soviet. Anda akan mengetahui pelajaran apa yang dipetik Andrey dari mereka untuk tumbuh sebagai pengembang dan peserta dalam gerakan open source. Gagal berlabuh, masuk kembali secara dramatis, dan transisi unik di sepanjang pegangan antar pesawat luar angkasa - apa hubungannya semua ini dengan pengembangan web modern? Baca tentang semua ini di pos!
Konverter Habr: untuk membuat tata letak mudah (AloneCoder)
Tentunya banyak dari Anda telah menggunakan habraconverter setidaknya satu kali, yang secara resmi direkomendasikan oleh administrasi Habr - https://shirixae.github.io/habraconverter-v2/ . Beberapa tahun yang lalu itu diciptakan oleh meta4 penduduk Khabrav , dan kemudian dimodifikasi oleh Shirixae . Prinsipnya sederhana: buka postingan google dengan Ctrl-A, Ctrl-C dan tempelkan ke jendela konverter. Tekan tombol "Ubah" dan Anda mendapatkan kode tata letak siap pakai yang dapat Anda masukkan ke editor Habr dan terbitkan. Sebelum itu, Anda perlu berjalan dan memperbaiki beberapa hal kecil.
Dan semuanya akan baik-baik saja jika Anda tidak perlu terlalu sering mengatur huruf. Atau postingan berukuran kecil, tidak rumit. Namun jika Anda banyak mengeset, dan postingan berisi gambar, tabel, dan potongan kode, maka dari waktu ke waktu Anda harus melakukan rutinitas: menyisipkan baris kosong yang diperlukan dan menghapus yang tidak perlu, mengganti tag <surce> dengan <code>, dll. dll. dll. Kami memutuskan untuk menghabiskan satu hari sehingga kami dapat terbang satu jam kemudian, dan menyelesaikan pengubah.
SHISHUA: generator bilangan acak-semu tercepat di dunia (AloneCoder)
Setengah tahun yang lalu saya ingin membuat generator nomor pseudo-random (PRNG) terbaik dengan arsitektur yang tidak biasa. Saya pikir awalnya akan mudah, dan seiring Anda bekerja, tugas perlahan-lahan akan semakin sulit. Dan saya pikir jika saya bisa mempelajari semuanya dengan cukup cepat untuk mengatasi yang paling sulit.
Bagaimana pipeline diimplementasikan di Unix (AloneCoder)
Artikel ini menjelaskan implementasi pipelines di kernel Unix. Saya agak kecewa dengan artikel terbaru berjudul How Do Unix Pipes Work? " Bukan tentang struktur internal. Saya penasaran dan menggali sumber-sumber lama untuk menemukan jawabannya.
Tentang satu kerentanan di ... (z3apa3a)
Pada 21 Maret 2019, laporan bug yang sangat baik dari maxarr datang ke bug program bounty Mail.ru di HackerOne . Ketika byte nol (ASCII 0) disematkan di parameter POST salah satu permintaan API webmail yang mengembalikan pengalihan HTTP, potongan memori yang tidak diinisialisasi terlihat di data pengalihan, di mana fragmen dari parameter GET dan header permintaan lain ke server yang sama.
Ini adalah kerentanan kritis. permintaan termasuk cookie sesi. Beberapa jam kemudian, perbaikan sementara dibuat yang memfilter byte nol (ternyata, ini tidak cukup, karena masih ada kemungkinan injeksi CRLF / ASCII 13, 10, yang memungkinkan manipulasi header dan data respons HTTP, ini kurang penting, tetapi masih tidak menyenangkan). Pada saat yang sama, masalah tersebut dialihkan ke analis keamanan dan pengembang untuk menemukan dan menghilangkan penyebab bug.
ZFS: arsitektur, fitur, dan perbedaan dari sistem file lain (gmelikov.dll)
Saya, Georgiy Melikov, adalah kontributor proyek OpenZFS dan ZFS di Linux. Saya juga mengerjakan pengembangan IaaS di tim Mail.ru Cloud Solutions . Meskipun kami tidak menggunakan ZFS dalam produksi unit kami, host podcast SDCast mengundang saya untuk membicarakannya. Artikel ini lahir dari masalah tersebut, dan di sini Anda dapat mendengarkan versi audionya .
Jadi, hari ini saya berbicara tentang ZFS. Bagaimana sistem file ZFS bekerja, terdiri dari komponen apa dan cara kerjanya, serta tentang fitur-fitur baru yang telah muncul atau akan segera muncul dalam rilis terbaru.
Mengapa kami memilih MobX daripada Redux, dan bagaimana menggunakannya dengan lebih efisien (ngOo)
Nama saya Nazim Gafarov, saya adalah pengembang antarmuka di Mail.ru Cloud Solutions . Ini tahun 2020, dan kami terus membahas "inovasi" sintaks ES6 dan keunggulan MobX dibandingkan Redux. Ada banyak alasan untuk menggunakan Redux dalam proyek Anda, tetapi karena saya tidak tahu apa-apa, saya akan memberi tahu Anda mengapa kami memilih MobX.
Bagaimana UUID (AloneCoder)
Anda mungkin sudah menggunakan UUID dalam proyek Anda dan menganggapnya unik. Mari kita lihat aspek-aspek utama penerapannya dan melihat mengapa UUID secara praktis unik, karena kecil kemungkinannya terjadi nilai yang sama.
Implementasi modern UUID dapat ditelusuri kembali ke RFC 4122, yang menjelaskan lima pendekatan berbeda untuk menghasilkan pengenal ini. Kami akan membahas masing-masing dan menjalankan penerapan versi 1 dan versi 4.
Juara Komentar
Matematika mendaki tangga kekayaan (randall)
Dari sudut pandang seorang programmer, gaji bulanan rata-rata di Rusia adalah 44 ribu rubel. - di bawah semua ekspektasi kekayaan dan kesuksesan. Tetapi dari mana datangnya ide-ide tentang sukses, kemakmuran finansial, dan metode untuk mencapainya?
Bagaimana hidup Anda akan berubah jika Anda memberi Anda 10 ribu rubel? Bagaimana dengan RUB 1 juta? Atau 100 juta rubel? Jawaban atas pertanyaan ini tidak sesederhana kelihatannya, dan tergantung pada usia, status perkawinan, dan tabungan Anda saat ini. Lebih penting lagi, perubahan yang akan terjadi pada perilaku Anda setelah Anda memiliki jumlah tersebut dapat memberi tahu banyak tentang situasi keuangan Anda saat ini.
Stuart Butterfield, pencipta Flickr dan Slack, telah mengembangkan ide ini menjadi konsep "piramida kekayaan" yang mengarah pada kesimpulan paradoks bahwa bahkan uang besar tidak selalu meningkatkan hidup Anda dengan cara yang terukur.
Cyberbullying: mengapa orang menjadi pengamat (kseniaegorova)
Kami melakukan studi skala besar dan mempelajari perilaku orang-orang yang, ketika menghadapi agresi yang ditujukan kepada orang lain, mengambil posisi jeli. Hasil studi tahun 2019 menunjukkan bahwa terdapat 60% diantaranya di RuNet. Dan tahun ini kami mempelajari mengapa pengamat tidak aktif, apa yang membuat mereka membantu korban agresi, dan apakah ada perbedaan antara tindakan mereka di Internet dan di kehidupan nyata.
Penelitian tersebut dilakukan pada September-Oktober 2020 bekerja sama dengan Research.me, laboratorium Mail.ru Group UX dan UXSSR. SiniAnda dapat mengunduh hasil penelitian lengkapnya. Beberapa dari mereka sangat sedih untuk masyarakat kita. Karantina kedua, krisis ekonomi, menjelang musim dingin - semua ini tidak membantu orang menjadi lebih baik dan lebih toleran satu sama lain. Hal ini dikonfirmasi oleh survei tersebut: setengah dari responden percaya bahwa tingkat agresi di masyarakat telah meningkat selama pandemi. Selain itu, agresi di Internet ini seringkali tidak dibenarkan. Sangat mengherankan bahwa orang menganggap kekasaran dan penghinaan di Internet tidak dapat diterima - tetapi mereka siap menggunakannya untuk membela diri. Analogi dengan serangan fisik sangatlah mudah.
Bahasa pemrograman apa yang harus dipelajari sehingga HR perusahaan besar memburu Anda (DmtrKzmn)
Sepuluh tahun yang lalu, bahasa pemrograman PHP berada di peringkat teratas, dan sekarang proyek di web semakin banyak yang ditulis dalam JavaScript dan Python. Sayang sekali menghabiskan satu atau dua tahun untuk belajar bahasa dan kemudian menganggur.
Di Mail.ru Cloud Solutions, kami mempelajari analitik, penelitian, pendapat pengembang, dan perusahaan besar tentang bahasa pemrograman mana yang akan diminati di tahun-tahun mendatang. Dan kami memberi tahu Anda apa yang harus difokuskan saat memilih.
Tambahkan ke juara favorit
Cara Membuat Hidup Anda Lebih Mudah Menggunakan Git (dan Deep Dive Kit) (pxeno)
Bagi mereka yang menggunakan Git setiap hari, tetapi merasa tidak aman, tim Solusi Cloud Mail.ru telah menerjemahkan artikel oleh pengembang front-end Shane Hudson . Di sini Anda akan menemukan beberapa trik dan tip yang dapat membuat bekerja dengan Git sedikit lebih mudah, serta pilihan artikel dan tutorial lanjutan. Git keluar hampir 15 tahun yang lalu. Selama waktu ini, dia berubah dari underdog menjadi juara tak terkalahkan. Proyek baru hari ini sering kali dimulai dengan perintah git init. Tidak diragukan lagi, ini adalah alat penting yang banyak dari kita gunakan setiap hari, tetapi sering kali menyerupai sihir - cemerlang tapi berbahaya. Banyak artikel telah diterbitkan di Habré tentang cara memulai Git, cara kerja Git di balik terpal
, menjelaskan strategi percabangan terbaik. Di sini, penulis berfokus pada bagaimana membuat bekerja dengan Git lebih mudah.
Pengembangan diri: bagaimana saya tidak duduk di dua kursi dan menemukan kursi ketiga (EdT)
Saya memimpin tim anti-spam di Mail.ru Group, serta beberapa tim pembelajaran mesin. Topik artikel ini adalah pengembangan diri untuk pemimpin / pemimpin tim, tetapi kenyataannya, banyak teknik dan resep yang sepenuhnya terlepas dari peran tersebut. Bagi saya, pertanyaan ini sangat relevan, karena pembelajaran mesin berkembang sangat pesat, dan untuk setidaknya menjadi subjek, Anda perlu menghabiskan banyak waktu. Oleh karena itu, pertanyaan tentang bagaimana dan untuk apa menghabiskan waktu untuk pembangunan cukup akut.
Isi artikel, tentu saja, bukanlah kebenaran tertinggi, tetapi hanya deskripsi hasil pencarian saya yang sedang berlangsung, yang menguraikan pendekatan yang telah berhasil untuk saya, berdasarkan buku dan pelatihan, pada percobaan dan kesalahan. Saya akan dengan senang hati berdiskusi dengan Anda di komentar.
Python - (pxeno)
Kebetulan sebuah perusahaan sedang mencari data scientist, tetapi sebenarnya ia membutuhkan developer Python. Oleh karena itu, saat mempersiapkan wawancara, masuk akal untuk memoles informasi Python, dan tidak hanya mempelajari algoritme.
Tim Solusi Cloud Mail.ru menerjemahkan artikel dari seorang pengembang yang pernah mengalami situasi seperti itu lebih dari sekali dan berdasarkan pengalamannya menyusun daftar 53 pertanyaan dan jawaban untuk mempersiapkan wawancara. Sebagian besar data scientist menulis banyak kode, jadi daftar ini berguna bagi data scientist dan engineer. Ini akan berguna untuk pencari kerja, pewawancara, dan mereka yang baru belajar Python.
Lihat Champion
Kontemplasi tentang kesamaan fraktal yang hebat (randall)
Fraktal bukan hanya fenomena alam yang indah. Menurut penelitian kami , melihat struktur fraktal sebesar 60% meningkatkan stres, diukur berdasarkan parameter fisiologis. Saat merenungkan fraktal di korteks frontal otak, hanya dalam satu menit, aktivitas gelombang alfa meningkat - seperti saat meditasi atau saat merasakan kantuk ringan.
Tak heran, biodesign fraktal memiliki efek menenangkan bagi manusia. Kami suka melihat awan, api di perapian, dedaunan di taman ... Bagaimana cara kerjanya? Ilmuwan berpendapat bahwa jalur alami gerakan pencarian mata kita adalah fraktal. Ketika dimensi lintasan gerakan mata dan objek fraktal bertepatan, kita jatuh ke dalam keadaan resonansi fisiologis, yang karenanya aktivitas bagian tertentu dari otak diaktifkan.
Tetapi tidak semua fraktal dibuat sama. Pada artikel ini, kita akan membahas tentang dimensi fraktal dan dampaknya terhadap kesehatan.
Menentukan COVID-19 pada sinar-X dengan Keras, TensorFlow dan Deep Learning (AloneCoder)
Dengan tutorial ini, kita akan menggunakan Keras, TensorFlow, dan pembelajaran dalam untuk secara otomatis mendeteksi COVID-19 dari kumpulan data yang dirakit secara manual dari sinar-X.
Mnemonik: mengeksplorasi metode untuk meningkatkan memori otak (randall)
Ingatan yang baik sering kali melekat pada beberapa orang. Dan oleh karena itu tidak ada gunanya bersaing dengan "mutan" genetik, melelahkan diri Anda dengan pelatihan, termasuk menghafal puisi dan membuat cerita asosiatif. Karena semuanya tertulis dalam genom, Anda tidak bisa melompati kepalamu.
Memang, tidak semua orang diberikan untuk membangun, seperti Sherlock, istana memori dan memvisualisasikan urutan informasi apa pun. Jika Anda mencoba teknik dasar yang tercantum dalam artikel tentang mnemonik di Wikipedia, dan Anda tidak berhasil, maka tidak ada yang salah dengan itu - teknik menghafal untuk otak yang terlalu banyak bekerja menjadi tugas yang super.
Namun, tidak semuanya buruk. Penelitian ilmiah menunjukkan [ 1 ]bahwa beberapa mnemonik secara harfiah dapat mengubah struktur otak dan meningkatkan keterampilan manajemen memori. Banyak mnemonist paling sukses di dunia yang berkompetisi dalam kompetisi ingatan profesional mulai belajar di masa dewasa dan mampu meningkatkan kekuatan otak mereka secara signifikan.
Terima kasih untuk semua yang membacanya. Dan selamat Tahun Baru!