Programmer karir. Bagian 3. Universitas

Kelanjutan dari kisah "Programmer karier . "

Setelah lulus dari sekolah sore, tibalah waktunya untuk kuliah. Di kota kami ada satu universitas dengan orientasi teknis. Di dalamnya, ada satu fakultas "Matematika dan Informatika", di mana ada satu departemen "Sistem Komputer", di mana mereka melatih spesialis IT masa depan - programmer dan administrator.

Pilihannya kecil dan saya melamar untuk Pemrograman Komputer. Ada 2 ujian masuk di depan. Dalam bahasa dan matematika.

Ujian diawali dengan wawancara, dan pilihan bentuk pelatihan - anggaran atau kontrak, yaitu gratis atau untuk uang.

Wawancara saya dihadiri oleh orang tua yang khawatir tentang penerimaan.

Tentu saja, mereka memilih bentuk kontrak pelatihan. Omong-omong, biayanya sekitar $ 500 / tahun, yang untuk tahun 2003 banyak uang, terutama untuk kota kecil kami. Saya ingat dengan baik dialog antara ayah dan anak perempuan dari panitia penerimaan:

Cewek : Anda dapat mencoba untuk lulus ujian sesuai anggaran, dan jika tidak berhasil, maka beralihlah ke kontrak. Anda dapat membayar dengan mencicil.
Ayah : Tidak, kami sudah memutuskan untuk memasuki kontrak
Gadis : Ya, mengapa, Anda tidak mengambil risiko apa pun
Ayah : Tidak, itu masih berisiko. Katakan padaku, apakah semua orang datang ke kontrak?
Gadis : Ya, semua orang akan datang. Mungkin hanya orang bodoh total tidak bisa
Ayah : Kalau begitu kita punya kesempatan ... nyengir, katanya, dan kita menandatangani dokumen untuk masuk

Tentu saja, penampilan dari sekolah menengah masih segar dalam ingatan orang tua, jadi selama bertahun-tahun saya mengerti mengapa ini dikatakan.

Di musim panas, sebelum masuk, saya terus membeli buku untuk semua $ 40, yang diberikan nenek saya dari pensiun.

Dari yang mengesankan dan penting:

1. "UML 2.0. Analisis dan Desain Berorientasi Objek . " Buku yang mengajari saya cara mendesain perangkat lunak dari segala kerumitan, memikirkan arsitektur, menata segala sesuatu pada komponen, menentukan kasus penggunaan, menggambar diagram UML. Ini adalah pengetahuan yang dibutuhkan lansia, arahan, arsitek. Bagi mereka yang mewujudkan sistem dari kekosongan, ketika hanya ada deskripsi ide.

Saya tahu orang-orang yang sudah lebih dari 30, dan mereka masih tidak bisa membuat keputusan, jika tidak ada indikasi dari atas, dari pengembang adalah peringkat yang lebih tinggi. Dalam pekerjaan lepas dan jarak jauh, ketika Anda sering bekerja berhadap-hadapan dengan klien, pengetahuan ini juga sangat berharga.

Mereka relevan untuk pengembang indie yang membuat aplikasi dan layanan baru. Meski beberapa orang repot dengan desain detail. Oleh karena itu, kami memiliki perangkat lunak dengan kualitas ini, menelan semua memori, dengan kurva UX.

2. "ANSI C ++ 98 Standard . " Sebenarnya bukan buku, tetapi lebih dari 800 halaman informasi latar belakang. Tentu saja, saya tidak membacanya bagian demi bagian, tetapi beralih ke aturan spesifik bahasa ketika mengembangkan kompiler C ++ saya. Kedalaman pengetahuan bahasa, setelah mempelajari dan menerapkan standar, tidak dijelaskan oleh julukan yang luar biasa. Kami dapat mengatakan bahwa Anda tahu segalanya tentang bahasa tersebut, dan bahkan lebih banyak lagi. Sangat panjang, kerja keras pada studi standar. Tapi aku punya 5 tahun lebih maju dari universitas, jadi tidak ada yang melaju ke leher

3. "Delphi 6. Panduan praktis." . Itu adalah lompatan cepat ke dunia GUI dan membentuk percikan. Hampir tidak ada ambang masuk, dan saya sudah mengenal Pascal dengan cukup baik. Sementara di universitas, saya menulis bagian terbesar dari program komersial di Delphi. Itu perangkat lunak untuk mahasiswa pascasarjana universitas, akuntansi untuk bisnis kecil, negara. institusi. Lalu ada beberapa pesanan freelance. Di pertengahan nol, Delphi mendominasi pasar pengembangan Windows. Sampai sekarang, di box office di toko-toko lokal, Anda dapat melihat program dengan font dan kontrol yang sudah dikenal yang langsung membedakan aplikasi Delphi dari yang lain

4. "Tutorial MFC . " Setelah dikuasai dengan Delphi, logis untuk terus membuat UI di C ++. Itu berkali-kali lebih rumit, tidak semuanya berhasil dan dapat dimengerti. Namun, saya membawa teknologi ini ke tahap penerapan dalam proyek komersial. Satu perusahaan antivirus Jerman mendistribusikan program saya yang ditulis dalam MFC sejauh ini.

5. "3 disk dengan MSDN Library 2001" . Internet tidak muncul segera, dan sejauh yang saya ingat, Perpustakaan MSDN tidak online pada tahun 2003. Bagaimanapun, lebih mudah bagi saya untuk menginstal direktori MSDN pada PC lokal dan mudah untuk menemukan dokumentasi untuk setiap fungsi WinApi atau kelas MFC.

uml2
Buku-buku paling signifikan dibaca pada periode 2002-2004

Ini adalah buku-buku yang dibaca pada periode 2002-2004. Tentu saja, sekarang ini adalah warisan yang buruk, yang ditulis ulang dalam batch .NET dan teknologi berbasis web. Tapi ini cara saya, mungkin beberapa dari Anda memiliki yang serupa.

Semester pertama


Di akhir musim panas, tiba saatnya untuk mengikuti ujian masuk ke universitas. Semuanya berjalan lancar. Saya lulus ujian dalam bahasa dan matematika dan terdaftar pada tahun pertama spesialisasi "Pemrograman sistem komputer."

Bulan September pertama, seperti yang diharapkan, saya pergi ke pasangan pertama dalam hidup saya. “Waktu siswa adalah waktu paling cemerlang dalam hidup,” kata ibuku. Dengan rela memercayainya.

Pada hari pertama, 3 pasang lulus dalam mata pelajaran umum, semua orang bertemu satu sama lain dalam kelompok, dan secara umum universitas meninggalkan kesan yang baik.

Akhirnya, kami mulai belajar pemrograman C yang benar! Dan di samping itu, mereka mengajarkan sejarah ilmu komputer, teknologi digital, dan banyak informasi relevan lainnya untuk saya. Bahkan matras. analisis itu tepat, karena memungkinkan saya untuk lebih memahami apa yang ditulis Donald Knut yang sangat dihormati.

Pasangan pemrograman berlangsung dalam suasana mengemudi bagi saya. Akhirnya, orang datang kepada saya untuk meminta bantuan. Saya merasa cocok. Di awal pasangan, kami diberi tugas untuk menulis sebuah program. Tugas itu dirancang untuk beberapa setengah, kemudian setengah jam untuk memeriksa. Saya berhasil menulis tugas dalam 3-5 menit, dan sisa waktu saya berjalan di sekitar kantor dan membantu orang lain mengetahui tugas itu.

Komputer untuk seluruh kelompok tidak cukup, jadi paling sering kami duduk berpasangan di satu PC. Melihat kemampuan saya, tiga, empat, dan kadang-kadang 5-6 orang duduk di dekat meja saya untuk duduk untuk mempelajari apa yang saya pelajari beberapa tahun yang lalu dari buku Kernigan dan Ritchie.

Teman-teman sekelas saya melihat kemampuan saya dan mengajukan pertanyaan sendiri, atau menyarankan untuk berjalan-jalan mengejar pasangan. Jadi saya punya banyak teman, yang kebanyakan masih berteman.

Di musim dingin, sudah waktunya untuk sesi pertama. Secara total, 4 mata pelajaran diperlukan: 2 jenis matematika yang lebih tinggi, sejarah dan pemrograman. Semuanya menyerah, di mana 4 poin, di mana dengan 3. Dan pemrograman diatur untuk saya secara otomatis. Para guru sudah tahu keterampilan saya, jadi mereka tidak melihat titik menguji saya. Saya dengan gembira muncul dengan catatan untuk sesi untuk mendapatkan daftar di dalamnya dan akan kembali ke rumah, ketika teman sekelas meminta saya untuk tinggal dan berdiri di luar pintu. Baiklah kalau begitu. Ditempatkan di ambang jendela, di pintu keluar dari kantor, saya mulai menunggu. Seorang lelaki lain berputar di sampingku, yang juga lulus ujian secara otomatis.

"Mengapa kamu tinggal di sini?" Tanyaku
“Saya ingin menghasilkan uang untuk memecahkan masalah. Kenapa kamu? "
"Aku juga. Hanya tidak akan menghasilkan uang. Jika Anda membutuhkan bantuan, maka dari kebaikan rohani, saya akan memutuskan tanpa alasan. "

Lawanku ragu-ragu dan menggumamkan sesuatu sebagai tanggapan.

Setelah beberapa saat, teman-teman sekelas mulai meninggalkan hadirin, membawa serta mereka lembar-lembar yang dilipat di mana ada tugas-tugas dari ujian.

"Bantu aku memutuskan," tanya pemberani pertama. "Oke, aku akan memutuskan sekarang," jawabku. Dalam waktu kurang dari 5 menit, saya menuliskan solusi pada selebaran kusut dengan bolpoin dan mengembalikannya. Melihat skema itu berhasil, orang-orang mulai meninggalkan audiensi lebih sering, dan kadang-kadang bahkan dua atau tiga sekaligus.

Ada tiga tumpukan daun di ambang jendela kerjaku. Dalam satu paket, lembaran TODO yang baru tiba. Di depan saya ada daun In Progress, dan di sebelahnya ada paket "Done".

Itu adalah waktu terbaik saya. Seluruh kelompok, dan ini hampir 20 orang, meminta bantuan saya. Dan saya membantu semua orang.

Dan pria yang ingin mendapatkan uang, segera pensiun setelah beberapa menit, menyadari bahwa tidak ada yang bisa ditangkap di sini, semua perhatian tertuju pada altruis.

Seluruh kelompok lulus ujian selama 4 dan 5, dan sekarang saya telah memiliki 20 teman dan otoritas yang tak tergoyahkan dalam pemrograman.

Uang pertama


Setelah sesi musim dingin, ada desas-desus di seluruh fakultas bahwa ada seorang pria yang dapat menyelesaikan masalah pemrograman, di mana kami diminta untuk pulang atau selama sesi. Selain itu, tidak hanya di antara mahasiswa baru, tetapi juga di kursus senior ada desas-desus.
Seperti yang sudah saya tulis, dalam kelompok saya mengembangkan hubungan persahabatan dengan semua orang setelah "jam terbaik" dalam ujian, dan kami mulai berkomunikasi sangat dekat dengan beberapa orang. Kami menjadi teman sejati, dan menghabiskan banyak waktu di luar universitas. Untuk kesederhanaan, sebut saja mereka Ilon dan Alain (nama panggilannya hampir asli).

Kami memanggil Ilona dengan nama, Allen, dijuluki untuk menghormati Alain Delon, karena kemampuannya untuk mengejek kecantikan apa pun. Gadis-gadis benar-benar berputar di sekelilingnya, dalam berbagai angka. Dalam hal berkencan dan mempererat hubungan di malam hari - Alain Delon tidak ada bandingannya. Dia adalah alfa pria sejati, yang tidak khas kebanyakan orang IT. Selain urusan asmara, Alain adalah seorang desainer dengan panggilan. Dan jika Anda perlu menggambar sesuatu, misalnya, lalu mem-banner format Web 1.0 yang populer, maka ia melakukannya dengan mudah.

Anda bisa tahu lebih banyak tentang Ilona. Kami masih berselisih dengannya, sudah sepuluh tahun setelah uni. Pada kursus pertama, dia adalah pria kurus, agak pendiam. (Apa yang tidak bisa Anda katakan tentang pria nakal di jip hari ini). Namun, saya sama - kurus dan pendiam. Karena itu, saya pikir kami segera menemukan bahasa yang sama.

Seringkali setelah pasangan, saya, Ilon dan Allen, berkumpul di sebuah pub yang tertutup terpal. Pertama, dia berada di seberang jalan dari universitas, dan kedua, ke "rubel" dan 50 kopecks, adalah mungkin untuk mengumpulkan nishtyakov selama 2 jam pesta pembakar. Seperti bir dan kerupuk. Tetapi esensinya berbeda.

Ilon dan Alain berasal dari kota-kota lain, dan tinggal di kamar sewaan. Mereka selalu kekurangan uang, dan ada kasus-kasus yang membuat mereka kelaparan. Saat-saat bahagia ketika mereka menerima beasiswa $ 10 pada kartu mereka dirayakan pada hari yang sama dan kemudian tiba saatnya untuk "mengencangkan ikat pinggang mereka" dan hidup berdasarkan apa yang Tuhan kirimkan.

Tentu saja, keberpihakan ini memotivasi siswa yang berkunjung untuk mencari cara untuk mendapatkan uang tambahan. Dan di depan mereka, sejauh lengan, duduk "kepala yang cerah" dalam bentuk saya. Yang juga mudah ditempa dan jarang menolak orang untuk membantu.

Saya tidak tahu apakah saya benar menggambarkan situasi itu, tetapi pada akhirnya, pertemuan di pub ini mengarah pada penciptaan perusahaan IT pertama dalam karir saya dengan nama SKS. Nama itu hanya terdiri dari huruf-huruf pertama dari nama keluarga kami. Perusahaan muda kami, yang diwakili oleh tiga pendiri, memisahkan pesaing dan seluruh universitas selama empat tahun ke depan.

Ilon adalah seorang ROP. Itu adalah - kepala departemen penjualan. Yaitu, itu adalah tanggung jawabnya untuk menemukan pelanggan baru untuk bisnis outsourcing kami. Saluran penjualan dicetak secara horizontal selebaran A4, dengan judul sederhana: "Memecahkan masalah pemrograman." Dan di bawah ini adalah telepon Ilona.

Iklan luar ruang semacam ini ditempatkan di setiap lantai, tempat siswa yang mempelajari pemrograman dapat muncul.

Tambahan, lebih kuat dalam hal loyalitas pelanggan, adalah saluran penjualan dari mulut ke mulut.

Model bisnisnya sederhana. Entah dengan rekomendasi atau dengan pengumuman, seorang mahasiswa menghubungi kami. Saya memberikan deskripsi tugas pemrograman yang perlu diselesaikan pada tanggal tertentu, dan untuk harga siswa saya menyelesaikannya. Ilon terlibat dalam penjualan dan menerima persentase. Alain Delon kecil kemungkinannya untuk berpartisipasi dalam bisnis kami, tetapi jika perlu membuat desain, memotret, atau menarik pelanggan tambahan, maka ia selalu diterima. Dengan pesonanya, dia membawa kami banyak orang baru. Saya hanya bisa memproses conveyor ini dengan kecepatan 5-10 tugas per hari. Tenggat waktu sangat berat - tidak lebih dari seminggu. Dan lebih sering, itu perlu dilakukan pada hari kemarin. Oleh karena itu, keadaan seperti itu dengan cepat mengajari saya cara menulis program dalam "aliran", tanpa terganggu oleh hal sepele seperti gempa bumi dengan kekuatan 5,9 atau kecelakaan besar di luar jendela.

Di musim terpanas, sebelum sesi, yaitu, pada bulan Desember dan Mei, sepertinya saya memiliki tugas seluruh uni di komputer saya. Untungnya, sebagian besar dari mereka memiliki tipe yang sama, terutama ketika pedagang grosir di orang yang mewakili seluruh kelompok menghubungi kami. Kemudian dimungkinkan untuk melakukan 20 tugas, misalnya dalam assembler, hanya mengubah 2-3 baris. Di musim seperti itu, prospek mengalir masuk. Satu-satunya kekurangan kami adalah floppy disk. Pada 2003-2005, siswa miskin di kota kami tidak memiliki hal seperti membuang mereka melalui internet. Selain itu, tidak ada jaminan pembayaran, yang sekarang disebut istilah escrow. Oleh karena itu, perusahaan SKS, sebagai pelaksana pesanan, membuat janji di universitas dan kami memberikan floppy disk dengan solusi. Hampir tidak ada pengembalian uang (dari pengembalian bahasa Inggris - pengembalian uang atas permintaan klien). Semua orang puas, dan mendapat 4-5 poin mereka, jika mereka bisa belajar, apa yang saya tambahkan ke file readme.txt pada floppy disk. Meskipun, demo sederhana dari program yang berfungsi penuh juga sering menyebabkan efek wow di antara para guru.

Harga tentu saja menggelikan, tetapi kami menganggapnya kuantitas. Misalnya, tugas rumah yang khas berharga $ 2-3. Kursus 10 $. Jackpot dalam bentuk program untuk pekerjaan kandidat jatuh sekali, dan itu sudah $ 20 untuk aplikasi untuk mahasiswa pascasarjana yang bersiap untuk pertahanan. Di musim panas, pendapatan ini dapat dikalikan dengan 100 pelanggan, yang pada akhirnya lebih dari gaji rata-rata di kota. Kami merasa keren. Mereka bisa membeli klub malam dan bersenang-senang di sana sepenuhnya, dan tidak tersedak pasties selama satu sen terakhir.

Dalam hal keterampilan saya - mereka dikalikan dengan setiap tugas siswa baru. Kami mulai menerima aplikasi dari fakultas lain, dengan kurikulum yang berbeda. Beberapa sarjana sudah menggunakan Java dan XML secara penuh ketika kami mengandalkan C ++ / MFC. Seseorang membutuhkan Assembler, seseorang membutuhkan PHP. Saya mengenali seluruh kebun binatang teknologi, perpustakaan, format penyimpanan data dan algoritma untuk diri saya sendiri ketika memecahkan masalah.

Universalisme ini tetap bersama saya sampai hari ini. Dalam mengerjakan proyek, berbagai teknologi dan platform juga digunakan. Sekarang saya dapat menulis perangkat lunak atau aplikasi untuk platform, OS atau perangkat apa pun. Kualitasnya tentu saja akan berbeda, tetapi untuk bisnis yang saya tangani utamanya, anggaran biasanya penting. Dan orkestra pria bagi mereka adalah pengurangan anggaran persis sebanyak pengembang yang bisa saya ganti dengan keterampilan saya.

Jika kita berbicara tentang manfaat terbesar yang saya terima dari belajar di universitas, maka ini tidak akan menjadi kuliah tentang algoritma atau filsafat. Dan jangan "belajar untuk belajar," karena modis untuk berbicara tentang universitas. Yang pertama - itu akan menjadi orang-orang dengan siapa mereka tetap memiliki hubungan persahabatan setelah pelatihan. Dan yang kedua adalah perusahaan SKS, yang menempa pengembang profesional dari saya, dengan pesanan nyata dan beragam.

Saya ingin mengingat sebuah frasa yang sangat cocok untuk bagian cerita ini: seseorang menjadi pemrogram ketika orang lain mulai menggunakan programnya dan membayar uang untuk itu .

Dengan demikian, merek perusahaan SKS dikenal luas tidak hanya di kalangan siswa, tetapi juga di kalangan guru. Bahkan ada kasus ketika salah satu guru datang ke rumah saya sehingga saya bisa membantunya menulis program untuk kebutuhan ilmiahnya. Dia, pada gilirannya, membantu saya dalam spesialisasinya. Kami berdua begitu terbawa oleh pekerjaan kami sehingga keduanya tertidur saat fajar. Dia di sofa, dan aku di kursi di depan komputer. Tetapi mereka menyelesaikan tugas mereka, dan keduanya senang dengan pekerjaan masing-masing.

Putar takdir


Tahun ke-4 universitas dimulai. Kursus terakhir, di mana diploma sarjana diberikan. Praktis tidak memiliki disiplin pendidikan umum, tetapi hanya ada apa yang terhubung dengan komputer dan jaringan. Sekarang, kadang-kadang saya minta maaf bahwa saya tidak punya waktu atau tidak menunjukkan minat pada elektronik yang sama atau struktur internal jaringan. Sekarang saya membaca ini karena kebutuhan, tetapi saya yakin bahwa setiap pengembang dasar membutuhkan pengetahuan dasar ini. Di sisi lain, Anda tidak dapat mengetahui segalanya.

Saya akhirnya menulis kompiler C ++ saya, yang sudah tahu cara memeriksa kode untuk kesalahan dengan standar dan menghasilkan instruksi assembler. Saya bermimpi tentang hal itu, dan saya bisa menjual kompiler saya seharga $ 100 untuk lisensi. Dikalikan dengan seribu pembeli dan mental
porting ke Hammer, dengan bass dari speaker 50 Cent dan keindahan di kursi belakang. Apa yang dapat Anda lakukan, dalam 19 tahun - prioritas tersebut. Trik kompiler buatan saya adalah bahwa ia melempar kesalahan dalam bahasa Rusia, alih-alih tidak semua bahasa Inggris yang dapat dimengerti dari Visual C ++ dan gcc. Saya melihat fitur pembunuh ini, yang belum ditemukan siapa pun di dunia. Maka saya pikir tidak masuk akal untuk mengatakannya. Itu tidak mencapai penjualan.Namun, sampai pada pengetahuan yang mendalam tentang bahasa C ++, yang telah memberi saya makan sejauh ini.

Di tahun keempat saya, saya semakin jarang kuliah, karena saya tahu sebagian besar program. Dan salah satu yang saya tidak tahu, saya memutuskan untuk barter dengan seorang siswa yang berpikir, misalnya, dalam elektronika atau teori probabilitas. Apa yang baru saja kita tidak ciptakan saat itu. Dan headphone mencolok di kawat, di mana jawabannya didikte. Dan kehabisan pendengar, sehingga guru dalam spesialisasinya dalam 2 menit menulis Anda solusi untuk seluruh ujian. Itu waktu yang tepat.
Dalam kursus yang sama, saya mulai memikirkan pekerjaan ini. Dengan kantor, aplikasi komersial nyata dan gaji yang layak.

Tetapi pada waktu itu, di kota kami, adalah mungkin untuk menemukan pekerjaan kecuali sebagai seorang programmer
"1C: Akuntansi", yang sama sekali tidak cocok untukku. Meskipun dari keputusasaan, saya sudah siap untuk ini. Pada saat itu, pacar saya mendesak saya untuk pindah ke apartemen terpisah.
Dan kemudian tidur ketika orang tua melalui dinding - tidak comme il faut sama sekali. Ya, dan saya, untuk menyelesaikan masalah siswa yang sudah muak, dan saya menginginkan sesuatu yang lebih.

Masalah datang dari tempat mereka tidak menunggu. Saya berpikir untuk memasang iklan di mail.ru bahwa saya sedang mencari pekerjaan dengan gaji $ 300 untuk posisi seorang programmer C ++ / Java / Delphi. Ini adalah tahun 2006. Mereka pada dasarnya menjawab sesuatu dalam semangat: "Mungkin Anda harus menulis surat kepada Bill Gates dengan permintaan gaji seperti itu?" Ini membuat saya kesal, tetapi di antara banyak jawaban yang sama, ada seorang pria yang membawa saya ke pekerjaan lepas. Ini adalah satu-satunya kesempatan di Las Vegas kami yang miskin untuk mendapatkan uang yang baik dengan apa yang saya tahu bagaimana melakukannya.

Jadi belajar di universitas, mengalir dengan lancar ke pekerjaan di bursa lepas. Menutup topik universitas, kita dapat mengatakan yang berikut: Saya tidak pergi ke kursus ke-5. Ada satu pemrograman dan konsep seperti "kunjungan gratis", yang saya gunakan sebesar 146%.

Satu-satunya hal yang perlu dilakukan adalah melindungi ijazah spesialis. Apa yang saya berhasil lakukan, dengan bantuan teman-teman saya. Perlu dikatakan bahwa untuk kursus ini saya sudah pindah dari orang tua saya ke apartemen sewaan dan membeli mobil baru. Maka dimulailah karir saya sebagai pengembang profesional.

Bab-bab berikut akan dikhususkan untuk proyek-proyek individual, kegagalan paling sengit dan klien yang paling tidak pantas. Karier dalam pekerjaan lepas dari $ 5 hingga $ 40 / jam, meluncurkan startup saya, bagaimana saya dilarang di layanan Upwork Freelance dan bagaimana saya beralih dari freelance ke tim mengarah ke perusahaan minyak terbesar kedua di dunia. Bagaimana dia kembali ke tempat terpencil, setelah kantor dan startup, dan bagaimana dia memecahkan masalah internal dengan sosialisasi dan kebiasaan buruk.

Bagian 4. Junior. Panggilan lepas >>

Source: https://habr.com/ru/post/id449842/


All Articles