Mirip dengan pertanyaan yang saya baca di Server Fault, apa kesalahan terbesar yang pernah Anda lakukan dalam posisi terkait TI. Beberapa contoh dari teman:
Saya perlu melakukan beberapa pekerjaan di situs produksi sehingga saya memutuskan untuk menyalin dari database langsung ke situs beta. Cukup standar, tetapi ketika saya pergi ke situs beta itu masih menarik info yang ketinggalan zaman. OOPS! Saya telah menyalin basis data beta ke situs langsung! Terima kasih Tuhan untuk backup.
Dan bagi saya, saya membuat formulir untuk acara yang akan diadakan selama rentang waktu tertentu. Peserta akan mengisi formulir untuk kesempatan menang, dan kami akan mengirimkan CSV penyelenggara acara dari database. Saya pergi ke database, dan menemukan HANYA 1 MASUK, MINE. Setelah menyelidiki, sepertinya saya lupa kunci kenaikan otomatis, dan karena pengaturan server tidak ada cara untuk memulihkan data yang hilang.
Saya sadar pertanyaan ini mirip dengan yang ada di Stack Overflow tetapi yang saya temukan sepertinya menerima jawaban umum alih-alih cerita sebenarnya :)
Apa kesalahan / kesalahan pengkodean terbesar yang pernah ada ...
sumber
Jawaban:
Mengeluarkan SQL UPDATE dengan klausa WHERE WHERE yang cocok dengan semuanya.
Lesson Learned: Selalu mengeluarkan SELECT terlebih dahulu untuk melihat apa yang akan diubah.
sumber
Typo
Menghabiskan tiga hari penuh untuk chunk ini:
Lihat kesalahannya? Ini adalah titik koma di akhir
else if
. Saya tidak tahu mengapa komentar saya yang dihapus tidak dihapus. Menggali ke dalam basis data, permintaan AJAX yang saya gunakan, variabel POST, sudah adaerror_log
dan dialerts
mana - mana . Akhirnya menulis ulang metode dan berhasil. Kemudian saya melakukan diff dengan versi aslinya dan memperhatikan titik koma.Typo adalah yang paling sulit dilacak pada bahasa yang tidak dikompilasi atau diperiksa sebelumnya oleh sesuatu. Bahkan kesalahan seperti ini akan sulit pada bahasa yang dikompilasi. Ubah
==
ke=
dan tiba-tiba Anda memiliki tugas di dalamif
.sumber
Berpikir bahwa pemrograman sebagian besar tentang membangun hal-hal baru yang keren dari awal.
sumber
Kesalahan terbesar saya adalah berpikir bahwa pemrograman adalah uang mudah ...
sumber
Secara tidak sengaja menghapus database yang menyimpan semua info pelanggan kami, riwayat pesanan dan faktur kembali ke awal perusahaan (senilai beberapa tahun).
Agar adil, majikan saya harus berbagi kesalahan. Mereka memiliki satu-satunya salinan dari database yang disimpan di Mac SE (ya ini sudah lama sekali) yang mereka berikan kepada saya (seorang karyawan baru, pekerjaan pertama dari perguruan tinggi) sebagai stasiun kerja saya dan bahkan tidak pernah mempertimbangkan untuk membuat cadangan.
Jadi, mengira itu adalah salinan DB saya menyeretnya ke tempat sampah. Karena ukuran file itu segera dihapus. Kami akhirnya mendapatkannya kembali setelah membayar jumlah yang tidak layak ke layanan pemulihan data, tetapi selama sekitar 5 hari kami tidak dapat memenuhi atau menagih pesanan apa pun, dan tidak memiliki cara untuk mengakses informasi tentang pelanggan mana pun. Cukup banyak yang membuat (3 orang perusahaan) terhenti.
sumber
ketika phpmyadmin bertanya:
"Kamu akan MENGHANCURKAN basis data yang lengkap! Apakah kamu benar-benar ingin DROP DATABASE xxx?"
Saya menekan Enter.
sumber
Tidak yakin itu adalah "kesalahan terbesar" saya, tapi jelas yang paling berkesan. Pada minggu pertama atau kedua saya di pekerjaan baru, saya ditugaskan untuk melakukan "peningkatan fitur" kecil yang melibatkan memodifikasi urutan urutan beberapa item pada salah satu halaman paling populer di situs. Saya tidak terlalu terbiasa dengan basis kode, tetapi dengan cepat menemukan Pembanding yang relevan dan menambahkan panggilan ke beberapa metode yang tampak tidak berbahaya di dalam metode compareTo tanpa terlalu memikirkannya. Kode diuji secara lokal dan di QA tanpa masalah dan ditayangkan.
Saya memiliki 1 lawan 1 dengan bos saya pada hari yang sama dan dengan senyum lebar di wajahnya, dia memberi selamat kepada saya karena mendapatkan "fitur" pertama saya langsung setelah bergabung. Kami berdua memandang ketika ia mengunjungi halaman terkait untuk melihat fitur dalam aksi. Halaman ini membutuhkan waktu 47 detik untuk memuat. Hatiku tenggelam. Dia menyegarkan halaman: 53 detik. Senyumnya menghilang. Saya kembali ke meja saya dan menghabiskan malam panjang men-debug dan mendorong tambalan penting ke situs langsung.
Ternyata salah satu metode yang tampak tidak berbahaya yang saya tambahkan adalah panggilan layanan jarak jauh yang menghasilkan setidaknya satu hit DB. Di setiap perbandingan, Untuk menelepon. Jadi pada halaman di mana 2.000+ item disortir, saya menghasilkan ~ 6000 (nlogn) DB hit. Aduh.
sumber
Saya sudah melakukan ini:
(Sebenarnya, saya tidak melakukan hal itu. Itu akan menjadi bodoh dan tidak dapat dimaafkan. Saya melakukannya dengan cara yang lebih halus, bundaran yang pada dasarnya menghasilkan perintah yang dieksekusi.)
Tidak perlu dikatakan, sistem Unix tidak dapat digunakan setelah titik itu dan harus diinstal ulang. Saya adalah sysadmin awal pada saat itu dan orang senior yang mengawasi saya mengerti.
Ada yang baik dari pengalaman itu. Saya belajar cara mendaftar direktori tanpa harus menggunakan perintah / bin.
sumber
Pelanggan menginginkan mailout ke seluruh basis pengguna mereka yang pada dasarnya akan mengirim email yang dipersonalisasi tentang suatu peristiwa dan ketika mereka mengklik tautan dalam email itu secara otomatis akan login mereka ke formulir dengan setengah data mereka diisi.
Saya menulis kodenya, menguji kodenya, berfungsi dengan baik, tautannya bekerja, cukup lancar. Setelah memeriksa dan mengecek semuanya, saya beralih ke daftar langsung dan pergi.
Daftar langsung jauh lebih besar daripada data sampel saya dan server email jatuh. Saya harus menghentikan aplikasi konsol saya, kemudian menyadari bahwa saya harus me-restart dari tempat itu berhenti. Untungnya fitur ini tidak terlalu sulit untuk ditambahkan dan saya telah login ke pengguna mana saja mailout telah pergi, jadi telah membuat server surat dan menjalankan lagi, dan mengkonfigurasi ulang kode untuk dapat memulai kembali dari titik gagal sebelumnya dan untuk menjeda untuk membiarkan server surat mengejar, kita pergi.
Sayangnya saya entah bagaimana berhasil tidak mendapatkan semua pembaruan kode saya dengan benar. Saya tidak ingat detail apa yang saya lakukan, tetapi permintaan untuk mendapatkan data pengguna adalah mendapatkan satu set data, permintaan untuk menghasilkan hash mendapatkan yang lain, jadi jika pengguna mengklik tautan mereka akan mendapatkan ke formulir yang berisi data pribadi orang lain dari detail akun mereka. Dan ini dalam industri ceruk di mana ada banyak bisnis kecil yang kompetitif dalam daftar.
Tidak butuh waktu lama bagi telepon untuk mulai berdering di kantor pelanggan ...
Itulah satu-satunya kesalahan sejauh ini yang membuat saya menawarkan pengunduran diri saya.
sumber
Saya pernah menggunakan gabungan silang tanpa filter. Bekerja dengan baik pada database uji dengan sebagian kecil dari data. Ketika itu digunakan, itu berakhir dengan ~ 60 juta baris dalam permintaan rata-rata.
sumber
Saya menabrak pemindai laser $ 100.000.
Kontroler menyimpan posisi sebagai integer jadi saya membagi semuanya dengan 10.000 untuk mendapatkan posisi aktual dalam inci.
Ketika digit terakhir adalah 0, itu dihilangkan sehingga sumbu Z adalah 10 kali jauh.
Hillaritas terjadi
sumber
Di sisi lain, itu adalah aplikasi VB6 berusia lima tahun.
sumber
Mengizinkan manajer saya untuk alis mengalahkan saya sehingga meninggalkan pekerjaan yang saya sukai. Saya seharusnya membiarkan dia mengacaukan segalanya, dipecat dan kemudian saya harus melangkah dan membersihkan potongan-potongan. Sebaliknya saya berhenti dan menyesalinya sejak saat itu.
sumber
Tujuh tahun lalu bos saya & pemilik perusahaan, yang belum pernah saya temui, saya sangat baru dalam pekerjaan itu, berada di negara bagian lain melakukan demo situs web penelitian kami kepada beberapa klien potensial. Biaya keanggotaan mencapai angka lima hingga pertengahan, jadi demo ini adalah masalah besar bagi perusahaan kami yang masih baru.
Di tengah-tengah demo-nya, ketika saya sedang melakukan pekerjaan database, saya membuat perubahan ke database hidup dan memperbarui setiap pertanyaan survei dalam setiap survei ke teks yang sama, sesuatu seperti "Ini adalah pertanyaan tes" karena kesalahan dalam DI MANA. Rekan kerja saya dan saya mencari-cari cadangan dan meringis, berharap dia tidak mendemokan bagian situs itu saat itu tetapi menunggu email dengan semua topi yang dengan penuh syukur tidak pernah muncul.
Sisi baiknya adalah bos akhirnya muncul untuk kotak pengembangan.
sumber
Saya menjalankan tautan Xenu di intranet kami untuk mencoba dan menjernihkan beberapa dari banyak tautan rusak yang telah dibangun selama bertahun-tahun (sebagian besar, cukup mengejutkan adalah tautan dari wiki ke drive jaringan bersama).
Setelah sekitar 30 menit saya mulai memperhatikan beberapa item baru memiliki beberapa gambar aneh, sepertinya orang-orang telah menggunakan beberapa foto stok lama kasar yang ada di sistem tetapi saya mengabaikan bahwa berpikir bahwa mungkin tidak ada sesuatu yang lebih baru yang memiliki apa yang mereka inginkan.
Lain 10 menit kemudian saya perhatikan item fitur berubah secara acak karena suatu alasan. Pada titik ini saya sadar apa yang terjadi. Intranet menggunakan otentikasi windows dan beberapa fungsi (seperti memilih gambar berita dan item unggulan) diberi kode untuk menanggapi permintaan HTTP GET. Pemeriksa tautan telah menggunakan otentikasi saya dan telah merangkak ke halaman di sisi admin, dengan setia melakukan tugasnya dan mengikuti setiap tautan yang ditemukan termasuk yang seperti
/admin/displayItems/icon_update.asp?image=eastereggs.jpg&itemID=3174
sumber
Sejauh ini, satu-satunya kesalahan saya yang memusingkan, meningkatkan detak jantung, tiba-tiba-menjadi-panas-dan-gatal adalah menjalankan kueri UPDATE tanpa klausa WHERE. Untungnya ada cadangan dari 15 menit terakhir dan data tidak terlalu sering berubah yang berarti saya dapat sepenuhnya memulihkan data dalam 10 menit tanpa ada yang tahu.
Tidak ada yang terlalu buruk, tetapi saya sudah beberapa panggilan dekat. Mereka adalah dan tetap akrab karena saya sudah mendengar cukup banyak cerita horor di industri ini sehingga semua yang saya lakukan yang dapat mengacaukan segalanya akan membaik.
sumber
Untuk robot tempat saya bekerja, kami menyimpan file log setiap kali dijalankan. Kami memiliki robot dan simulator, yang keduanya menghasilkan folder log ini. File log simulator tidak berguna, tetapi file log robot sangat berguna dan disimpan selamanya.
Karena robot itu sendiri memiliki ruang hard drive terbatas, mereka dipindahkan ke komputer lain dan disimpan di sana. Komputer ini merupakan komputer pengoperasian utama untuk berkomunikasi dengan robot.
Yah, saya baru saja mulai mengerjakan robot beberapa bulan sebelumnya dan tidak tahu ini. Saya pikir log di komputer operasi adalah yang tidak berguna yang dihasilkan oleh simulator dan menghapusnya. Kami kehilangan semua log lama karena tidak ada cadangan yang tepat.
sumber
Membangun versi perangkat lunak kami di komputer saya alih-alih komputer yang dibangun karena lebih cepat (sekitar 4 jam lebih cepat, yang berarti bahwa ia bisa masuk ke QA hari itu, bukan yang berikutnya) dan penerbit menginginkannya segera.
Saya memiliki definisi khusus untuk debugging di komputer saya yang menyebabkan bug yang tidak terdeteksi di QA. Mereka hanya mendeteksi pada akhir 4 minggu pengujian validasi, tetapi itu cukup buruk untuk gagal validasi.
sumber
Jatuhkan database produksi secara tidak sengaja, bukan versi pengembangan. Saya tidak melihat server apa yang saya gunakan. Untungnya, cadangan terakhir diproduksi 4 jam yang lalu dan pengguna tidak membuat banyak perubahan pada sistem, jadi tidak ada kehilangan data yang besar.
sumber
Kesalahan terbesar yang pernah saya buat adalah tidak memiliki pekerjaan saya di kontrol sumber dari mesin pengembangan saya. Hard drive saya jatuh dan saya kehilangan minggu kerja. Ini adalah pelajaran yang sulit dipelajari dan sesuatu yang tidak akan pernah saya biarkan terjadi lagi.
sumber
Menggunakan
==
alih-alihequals
untuk perbandingan string di Jawasumber
==
perbandingan referensi. Dalam C #,==
apakah perbandingan nilai pada string, sama seperti.Equals()
yang dikatakan, ada beberapa perbedaan, lihat jawaban Jon Skeet di sini: stackoverflow.com/questions/3678792/…Saya mengatakan kepada Direktur saya bahwa hanya karena dia LAMA dan memiliki pengalaman bertahun-tahun daripada yang saya miliki bukan berarti saya akan menghormatinya. Satu-satunya hal yang saya hormati adalah KEMAMPUAN. Saya tidak harus menghadapi konsekuensi dari pernyataan menyedihkan seperti itu karena saya adalah seorang Programmer yunior daripada. Menengok ke belakang, ini tampaknya menjadi kesalahan terbesar saya. Di mana akal sehat saya \ rendah hati ?? :-(
sumber
Ini terjadi pada seorang rekan bulan ini.
Dia sedang memperbaiki bug yang terjadi ketika Anda mengirim SMS ke banyak ponsel. Biasanya pesan-pesan ini tidak benar-benar dikirim untuk menghemat biaya tetapi karena kesalahan konfigurasi dalam basis data kami, mereka memang dikirim.
Biaya: upah satu bulan untuk lalu lintas SMS.
sumber
Atas permintaan manajer, saya menyalin
/etc/sudoers
dari satu mesin ke mesin lain (meskipun itu tidak akan menyelesaikan masalah yang ada, tapi itu intinya). Sayangnya, saya biasasudo
memindahkan file yang disalin ke tempatnya, tanpa memperhatikan bahwa pemilik dan izinnya sepenuhnya salah. Pada saat itu, tidak ada yang membuka shell root, tidak ada yang bisasudo
, dan tidak ada yang bisa login sebagai root karena shellnya sudah diatur/bin/false
. Dan mesin itu berada di gudang data jarak jauh ...sumber
Saya ingin membuat file metadata untuk setiap file dalam direktori (yaitu untuk setiap file
somedir/foo.bin
, saya ingin membuat filesomedir/foo.bin.meta
). Untuk beberapa alasan bodoh saya memutuskan untuk membuat file dengan membuka dan menutup aliran file melalui Python:Untuk beberapa alasan yang bahkan lebih aneh, saya pikir itu pintar untuk menguji skrip ini terhadap direktori pada harddisk saya dengan beberapa gigs data pribadi di dalamnya. Hanya setelah menjalankannya saya menyadari bahwa saya lupa untuk benar-benar memodifikasi nama file sebelum meneruskannya
open
dan bahwa saya baru saja memotong setiap file dalam direktori itu (aduh).Untungnya itu ada di komputer pribadi dan tidak menyebabkan kerusakan apa pun yang penting, tetapi saya masih belajar pelajaran saya.
sumber
Saya bekerja di perusahaan yang menangani salah satu dukungan pelanggan perusahaan telekomunikasi terbesar Swedia. Di server kami, kami memiliki beberapa perangkat lunak yang mengatur antrian panggilan masuk, berapa banyak panggilan yang bisa kami ambil dan sebagainya. Jika tidak berhasil, kami tidak mendapat panggilan dan pelanggan tidak mendapat dukungan.
Aaaaanyway, saya melakukan perubahan (kecil) ke perangkat lunak. Saya bisa saja menunggu jendela layanan untuk mengubahnya, tetapi saya berpikir, "Hei, akan butuh satu menit untuk memulai kembali layanan, mengapa repot-repot. Keberuntungan menyukai yang berani". Jadi saya menyalakannya kembali, sayangnya utasnya terkunci sehingga saya tidak bisa menggantinya. Mulai panik, saya memutuskan untuk mem-boot ulang mesin dengan cepat (saya mengirim ulang). Sayangnya dalam panik saya, saya klik "instal pembaruan dan shutdown" sebagai gantinya: P
Tidak perlu dikatakan bahwa tidak banyak dukungan pelanggan di Swedia yang dapat diperoleh selama setengah jam berikutnya sebelum kami berhasil memulai kembali.
Namun, seorang kolega lebih buruk daripada saya, dia kami men-debug sistem respons suara otomatis suatu malam dan mengalihkan nomornya ke ponselnya. Satu-satunya hal yang dia lupa untuk mengembalikannya, libur hari berikutnya dan meninggalkan ponselnya di kantor. Kami bertanya-tanya mengapa hari itu berdering terus-menerus :)
sumber
sumber
Beberapa waktu sebelumnya ketika coding JS, saya tidak dapat membedakan antara "1" (satu) dan "l" "L kecil". Bahkan ketika saya mengetik jawaban ini keduanya terlihat hampir sama di editor!
sumber
Saya membuat bahasa templating situs , dalam versi awal yang semua parameter HTTP diperluas secara implisit sebagai variabel. Ini berarti Anda dapat menulis URL seperti:
Dan itu akan melakukan persis seperti apa yang dilakukannya.
Untungnya saya tidak memiliki pengguna (menghela nafas), jadi saya kira itu tidak terlalu banyak risiko keamanan.
sumber
Kesalahan TSQL - terlalu banyak pernyataan TSQL dalam satu jendela editor. Sedikit lelah, dan orang-orang mengganggu saya dari kiri dan kanan, dan saya mengeluarkan perintah yang memperbarui 47.000 catatan alamat, kota, negara bagian, dan zip-oops. Apakah itu diperbaiki dalam waktu sekitar 25 menit.
sumber