Advertisement
  1. Game Development
  2. Workflow

Alur kerja Tips: Cara untuk menyimpan file dalam dua tempat sekaligus

by
Length:MediumLanguages:

Indonesian (Bahasa Indonesia) translation by Kang Abbad (you can also view the original English article)

Baru-baru ini, saya ingin membuat cadangan file saya proyek UDK 3 Dropbox saya, tetapi UDK memerlukan proyek file ke dalam direktori yang sama seperti instalasi (4GB) sendiri — dan 4GB terlalu besar untuk Dropbox saya! Dalam artikel ini, Anda akan belajar bagaimana Anda dapat memecahkan masalah ini dengan membuat file muncul untuk berada di dua tempat sekaligus, menggunakan hard link, link simbolik dan persimpangan.

Pratinjau gambar ikon oleh P. J. Onori.


Konsep dasar

Ketika Anda defragment drive hard disk Anda dan informasi yang akan dipindahkan di sekitar, tidak ada file disimpan Anda berhenti bekerja karena informasi yang disimpan di tempat yang berbeda. Hal ini karena sistem operasi Anda memiliki lapisan abstraksi yang mengelola semua ini; pada dasarnya, apa yang Anda klik untuk membuka gambar atau eksekusi adalah hanya link ke file yang diinginkan atau data.

Memperluas ini, Anda dapat memotong bahwa Anda bisa memiliki lebih dari satu link ke item yang sama; Foo.exe dan bar.exe bisa membuka program yang sama persis!

Mari kita mendapatkan sedikit lebih teknis...

Tip: Ini adalah benar-benar sebuah fitur dari sistem file kompatibel POSIX, seperti NTFS. Yang sedang berkata, ini tidak akan bekerja pada FAT, FAT32, exFAT dan ReFS.

Hard Links

Link keras mirip dengan cara pintas file; mereka memungkinkan Anda untuk memiliki akses ke file yang sama di lokasi yang berbeda. Perbedaan utama adalah bahwa ini dilaksanakan pada sistem file itu sendiri, sehingga, bila Anda membuat link keras ke sebuah file, Anda hanya membuat nama baru untuk itu, dan itu akan persis sama file, dengan kedua nama yang menunjuk ke lokasi yang sama persis dalam hard drive.

Jika Anda membuat perubahan ke file melalui salah satu dari "nama" (yaitu, jika Anda membuka file asli atau salah satu link keras dan memodifikasi), perubahan akan diterapkan ke semua tempat lain bahwa file yang ada, dalam hal atribut file dan file itu sendiri.

Setiap file akan ada sampai semua link keras dihapus; Ketika itu terjadi, ruang yang digunakan oleh file dinyatakan sebagai gratis. (Anda dapat menggunakan alat mengembalikan file untuk mendapatkan file Anda kembali, tetapi yang tidak dijamin untuk bekerja.)

Persimpangan (atau titik persimpangan)

Link keras adalah file Apakah persimpangan direktori, partisi atau volume, (dan hanya) sistem yang sama. Keduanya ditafsirkan di tingkat sistem operasi dan, sebagai akibatnya, transparan untuk program dan pengguna.

Link simbolik

Tidak seperti di atas, link simbolik dapat digunakan untuk file dan folder, dengan demikian, pada dasarnya dan persepsi, mereka benar-benar mirip dengan cara pintas.

Perbedaannya adalah, poin symlink ke path file asli, bukan untuk lokasi file pada hard drive Anda. Ini berarti bahwa jika Anda mengubah isi file, link simbolik akan masih menunjukkan untuk itu (dan akan mencerminkan perubahan), tetapi jika Anda mengubah nama file asli, link simbolik akan tidak lagi menunjukkan untuk itu.


Aplikasi praktis

Saya telah menggunakan ini untuk memecahkan beberapa masalah praktis.

UDK 3 Proyek manajemen mimpi buruk

Siapapun yang telah bekerja dengan UDK 3 tahu bahwa, walaupun mesin besar, alur kerja manajemen proyek rumit, misalnya, tidak sepele untuk berurusan dengan memiliki beberapa proyek di instalasi yang sama, jadi pengembang biasanya memiliki beberapa Instalasi untuk beberapa proyek. Ia mendapat lebih buruk jika Anda mulai berpikir tentang dukungan proyek Anda, seperti yang saya sebutkan di atas.

Untuk proyek-proyek pribadi saya, saya selalu menggunakan dua solusi backup: kontrol sumber dan awan cadangan, dengan BitBucket dan Dropbox masing-masing. Menyiapkan kontrol sumber kode di UDK sepele, tetapi, bagaimana jika Anda ingin membuat cadangan proyek Anda kustom dengan solusi cadangan awan seperti Dropbox mengharuskan semua file berada di folder sistem tertentu?

Berikut adalah solusi saya:

  • Dalam cloud backup folder, menciptakan struktur folder file kustom proyek Anda, sehingga sangat mungkin untuk hanya copy dan paste di UDK instalasi. (Ini adalah bonus tambahan dan membantu jika Anda ingin mengambil proyek Anda USB pena untuk perangkat offline.)
  • Konfirmasi bahwa file proyek Anda (termasuk berkas konfigurasi UDK yang mengatur proyek Anda kustom) ditempatkan dengan benar.
  • Membuat persimpangan dari folder kustom proyek instalasi UDK, dan keras link untuk file yang terisolasi di luar folder tersebut.

Tip: Anda tidak dapat menggunakan link simbolik; UDK akan mendeteksi bahwa dan melempar kesalahan.

Perpustakaan musik terorganisir dengan baik

Aku selalu punya masalah dengan cara yang saya terorganisir folder perpustakaan musik saya; karena aku tidak pernah penggemar dari menggunakan aplikasi seperti iTunes, dan aku ingin hard drive bersih dan terorganisir. Setelah menghabiskan bertahun-tahun mencoba pendekatan yang berbeda, yang paling aku suka memiliki satu folder per artis dan, di dalam, masing-masing seniman singel, dan beberapa folder per album.

Itu semua baik, sampai Anda mulai datang di Singel dari satu seniman yang menampilkan lain dua puluh. Apa yang akan Anda lakukan tentang hal itu, salin file yang sama ke setiap seniman folder? Nope; Gunakan link keras!

  • Karena ada selalu satu seniman yang mengambil kepemilikan lagu, tempat lagu dalam folder pelukis itu.
  • Membuat sulit link dari lagu yang sama ke seniman setiap folder.

Tangan!

Berikut adalah cara mengatur link ini pada tiga sistem operasi utama.

Windows

Pada Windows Anda dapat melakukannya menggunakan baris perintah prompt tanpa harus memasang apapun, atau melalui Explorer GUI setelah instalasi alat kecil yang disebut ekstensi Shell Link.

Jika menggunakan baris perintah, kemudian buka ditinggikan baris perintah prompt (yaitu satu dengan hak akses administratif), masukan mklink, dan tekan Enter. Anda akan melihat informasi bantuan yang menjelaskan cara membuat link keras, persimpangan dan direktori link simbolik. Misalnya, Anda dapat membuat link yang sulit antara dua file teks dengan menelepon mklink /H c:\file1.txt c:\file2.txt.

Untuk melakukan ini melalui Explorer, pertama download dan menginstal ekstensi Shell Link. (Ini adalah solusi pilihan saya seperti itu telah diperpanjang dan fungsi yang berguna seperti volume poin dan overlay ikon.) Alur kerja benar-benar sederhana; Anda dapat melihatnya dalam tindakan dan belajar bagaimana menggunakannya pada utilitas di halaman web.

Linux

Dalam pencarian saya saya tidak menemukan GUI total solusi untuk Linux; Jika Anda tahu satu, silakan tinggalkan di komentar.

Jika menggunakan Terminal, Anda dapat menggunakan perintah ln untuk menciptakan link apapun sulit dan link simbolik. Sebagai contoh, cobalah ln fooOriginal barLink. Wikibooks memiliki panduan sederhana untuk ln, atau Anda dapat membaca spesifikasi lengkap.

Ada solusi parsial GUI: di Ubuntu (dan mungkin varian Linux lainnya), Anda dapat membuat link simbolik dengan menyeret file dengan tombol tengah mouse dan memilih Link di sini.

hardlinks-link-here

Sayangnya, saya belum menemukan aplikasi GUI yang memungkinkan penciptaan link keras.

Mac OS X

OS X adalah kasus khusus, seperti link keras direktori yang dikenal untuk membuat segala macam masalah. Plus, ada pengertian lain, serupa yang lain tetapi lebih maju: alias.

Alias mirip dengan link simbolik, tapi diimplementasikan di tingkat yang lebih tinggi dan lebih kuat struktur. Mereka dapat dihubungkan dengan file dan folder di mana saja, termasuk jaringan Lumbung, menggunakan ID yang unik. Salah satu fitur terbaik dari alias adalah bahwa mereka mengawasi perubahan lokasi file; itu adalah, mereka tidak melanggar ketika file asli dipindahkan ke tempat lain. Sayangnya, beberapa aplikasi dapat memiliki masalah dengan mengikuti mereka ke target.

Di sisi lain, link simbolik (atau symlink) adalah sistem tingkat rendah file yang berisi path sasaran; mereka istirahat ketika Anda memindahkan file asli, tapi aplikasi yang menggunakan itu akan tiba di tempat yang diinginkan. Symlink besar untuk digunakan dengan sistem standar atau aplikasi folder, atau ketika Anda ingin memindahkan Anda dokumen pengguna atau Email cache untuk drive lain.

Tip: Pengguna Mac OS menyarankan bahwa Anda tetap dengan alias dan link simbolik sedapat mungkin.

Di Terminal, Anda dapat menggunakan perintah ln seperti di Linux.

GUI, Anda dapat menggunakan menu konteks untuk membuat alias dengan kanan-mouse-klik pada file atau folder. Atau, Anda dapat membuat link simbolik dengan aplikasi SymbolicLinker.

Pilihan ketiga adalah untuk menulis kode Anda sendiri atau kompilasi dari repositori GitHub ini


Kasus penggunaan lain

Aku 'm hanyut lebih jauh dan lebih jauh dari permainan pengembangan di sini, tapi saya pikir itu penting untuk menunjukkan berbagai masalah Anda dapat menyelesaikan dengan konsep ini, sehingga Anda siap untuk menggunakannya ketika itu berikutnya tepat dalam alur kerja Anda gamedev!

Bergerak pengaturan file atau direktori kunci

Sebagian besar aplikasi tidak fleksibel mengenai jalur pengaturan pengguna, sehingga Anda dapat menggunakan link untuk mengatasi masalah ini jika Anda ingin membuat cadangan informasi atau tetap terpisah dan terorganisir di tempat lain.

Di Linux, Anda juga bisa menggunakan link simbolik untuk mencadangkan folder asal Anda ke drive yang berbeda:

  • Menyalin folder rumah Anda ke drive yang berbeda atau partisi,
  • Memformat partisi sistem Anda dengan instalasi baru.
  • Membuat symlink ke folder baru sistem rumah. (Jika Anda tahu bash, Anda dapat membuat sebuah script yang melakukan ini untuk Anda, sehingga mudah untuk memiliki segar instalasi versi baru!)

Di Windows, terutama jika Anda memiliki SSD agak kecil, Anda bisa menggunakan link untuk memisahkan instalasi Windows Anda dari pengguna dan Program Files folder:

  • Menginstal Windows pada SSD Anda.
  • Pindahkan folder Program Files dan pengguna yang terpisah drive dan membuat persimpangan untuk path folder asli.
  • Jika Anda mendapatkan kesalahan Windows Update 80070011, Anda mungkin ingin check this artikel mengenai memperbaikinya.
  • Atau, jika Anda dual-boot Linux dan Windows, Anda dapat menggunakan link untuk menjaga file pribadi yang sama pada kedua sistem operasi. Hal ini sangat berguna dalam skenario di mana Anda perlu Email atau Dropbox mengakses kedua OS, tetapi tentu saja, tidak ingin file digandakan di masing-masing.

    Pemrograman

    Anda bisa membuat satu program yang besar dengan beberapa fungsionalitas yang mengandalkan nama aplikasi untuk menentukan yang fungsi ini akan mengeksekusi. (Yaitu aplikasi yang sama memiliki beberapa link keras yang berbeda hanya dalam nama.) Ini benar-benar dilakukan dalam tua sistem Unix, mana mv, cp, dan rm berlari file eksekusi yang sama. Jika Anda berpikir tentang hal ini, pindah file dalam sebuah skenario kasus terburuk dapat cp dan rm operasi dan, dengan cara ini, Anda dapat berbagi sebagian besar kode dan menjaga Majelis penyimpanan persyaratan minimum.

    Sementara saya sedang meneliti ini aku mencoba keluar dalam C# dan Windows 8.1; dalam penelitian saya, saya telah menemukan bahwa yang banyak cara untuk mendapatkan nama program, tetapi hanya beberapa metode tersebut dapat mengambil nama file dari link keras.

    hard-links-test

    Gambar di atas menunjukkan program pengujian saya dibuat untuk menunjukkan masalah ini. Seperti yang Anda lihat, nama window pertama adalah OriginalFileName.exe dan yang kedua adalah HardlinkedFileName.exe. Kode yang ditunjukkan adalah kode yang diperlukan untuk hasil yang ditampilkan, masing-masing. Anda bisa mendapatkan kode untuk aplikasi ini di repo GitHub ini.

    Akhirnya, sebagai seorang pengembang web, Anda mungkin menemukan Anda lari ke jenis masalah yang sama seperti yang saya diuraikan untuk pengembangan UDK 3, terutama jika Anda menggunakan lampu, WAMP, atau serupa. Anda bisa kode script untuk membuat link keras dan simbolik link ke file situs Anda, sehingga file dapat di mana saja pada perangkat penyimpanan Anda, tetapi Anda tidak perlu mengubah hal untuk menguji situs keluar.


    Kesimpulan

    Jangan berharap untuk menggunakan ini setiap hari, tetapi mengharapkan untuk merasa beruntung ketika Anda memiliki masalah yang mudah dipecahkan dengan ini. Ini adalah salah satu hal yang perlu di bagian belakang pikiran Anda karena beberapa hari itu akan berguna untuk mengetahui.

    Advertisement
    Advertisement
    Advertisement
    Advertisement
    Looking for something to help kick start your next project?
    Envato Market has a range of items for sale to help get you started.