æè¿ãflickrãåçãä¿åããããã®
ãã©ãã€ãããŸã æäŸããŠããããBitTorrent Syncãå®å
šã§ãªãã¢ã«ãã¡ããŒãžã§ã³ã§ã€ã³ã¿ãŒãããã«ã¢ã¯ã»ã¹ãããšããåçãå人ãªã©ãšå
±æããå¿
èŠããããŸããã ããããéåžžããã°ã©ããŒã§èµ·ããããã«ããå
±æããšããèšèã¯VKontakteã«åçãå
¥ãããããã¯ããã«è²»çšãããããŸãã ããªãã¡ïŒ
- çŸããã·ã³ãã«ãªWebã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããŠããµãŒããŒäžã®ã©ããã«åçãé
眮ããŸãã
- å
ã®ç»åãç°¡åãã€å€§éã«ã¢ããããŒãããã³ããŠã³ããŒãããŸãã
- ç¹å®ã®ã¢ã«ãã ãžã®ã¢ã¯ã»ã¹ãå¶éããæ©èœããããŸãã
- åçãè€è£œããªãããã«ããããããŒã«ã«ãããã¯ãŒã¯ã¹ãã¬ãŒãžã«é¢é£ä»ããŠã¿ãŠãã ããã
- å¯èœã§ããã°ããã°ããããŠãããµãŒããŒããå
ã®åçãåé€ãããµã€ãºã倿Žããåçã®ã¿ãæ®ããŸãã
- ç¡æã§æå€§éã« ïŒ :)
ãã®ãããªèãã®åŸãé ã®äžã§ã¢ã€ãã¢ãæµ®ãã³å§ããŸãïŒãç§ãã¡ã¯åµé ããå¿
èŠããããŸã...ã-ãããŠããªãã¯ãããããããŸããã
åçãã¹ãã£ã³ã°äŒç€Ÿã¯çŸåšäœãæäŸããŠããŸããïŒ
Googleã¯ãåçãã¢ããããŒãããããã®ã¯ã©ãŠããµãŒãã¹ã倿°èŠã€ããŸãããããã¯äž»ã«åçå®¶ã察象ãšããŠããŸãïŒããã ãã§ã¯ãããŸããïŒã ãã¹ãŠã®ãµãŒãã¹ã®æ¬è³ªã¯ãäžå®ã®éé¡ããå§ããŠæããšã«äžå®é¡ãæ¯æããªããã°ãªããªããšããäºå®ã«åž°çããŸãã 6ãæéãéé¡ã倧ããèŠããªãå Žåã¯ã2幎åŸã«äžå¿«ãªãªãã€ã³ããŒã«ãªããŸãã nic.ruã§ru-domainsã幎é600ã«ãŒãã«ã§æ¯æãããããã®ãã¡ã€ã³ãä»ã®ã¬ãžã¹ãã©ã«ç§»ç®¡ããå¿
èŠãããããšãåžžã«æãåºããŠã顿šã§ããŸã:)ã
äžæ¹ããã§ã«ãµãŒããŒãããå Žåã¯ãæå€§éã«äœ¿çšããå¿
èŠããããŸãã ååãšããŠãèªåã®ã¿ã¹ã¯ã«åã2ã€ã®ãããžã§ã¯ããèŠã€ããŸããã ãããã¯
Piwigo ïŒä»¥åã®phpWebGalleryïŒãš
Kokenã§ãã æåŸã®ãããžã§ã¯ãã¯äžè¬çã«éåžžã«æºè¶³ããŠããŸãã ããããããããããããç¥ãããã«ãªã£ãã®ã§ããããç§ã«ã¯åããªãããšã«æ°ä»ããŸããã
DropboxãSkydriveãGoogle +ïŒPicasaïŒãYandex.Fotki-ãããã®äººã¯ãååãªã¹ããŒã¹ãããéãæ©èœãå®å
šã«å®è¡ããŸããã
åéãšå
±æãã
ãå
±æããšããèšèãç§ã«ãšã£ãŠäœãæå³ããã®ãã«ã€ããŠãã£ãšè©±ãããã§ãã äœäººãã®äººã
ãåå ããã€ãã³ãïŒèªç¶ãžã®æ
è¡ããè¡ãæ©ããïŒã®åŸãå€ãã®åçã衚瀺ãããŸãã åŠçåŸãåçïŒ300ã700 MBïŒãããŒã«ã«NASïŒSynology DS210jïŒã«éä¿¡ãããŸãã ãããŠãNASã®ãããã®ãã©ã«ããŒã¯ãåçã«åã£ãŠããéåžžã«åã ã¡ãããŠã³ããŒãã§ããããã«ãã€ã³ã¿ãŒãããã«é
眮ããå¿
èŠããããŸãã
ãã®ãããªããªã¥ãŒã ã®ãã©ãŠã¶ãä»ããã¢ããããŒã/ããŠã³ããŒãã¯ç§ã«ã¯åããŠããŸããã
ããããæçµçã«ã¯ãã¢ã«ãã ãžã®ãªã³ã¯ãå¿
èŠã§ãããã®ãªã³ã¯ã¯ãä»ã®äººã«æšãŠãããšãã§ããŸãã ãŸããã¢ã«ãã ã®ãªã¹ããæã«å
¥ãããšããã§ãããã åçŽãªéåžžã®ããã»ã¹ã
æãéèŠãªã®ã¯ãå
ã®åçãšãã£ã«ã¿ãŒãªãã®éåžžã®ãµã€ãºå€æŽãããããšã§ãïŒVKãªã©ãçŸåšæäŸããŠãããã®ã§ã¯ãããŸããïŒã ãããããã¿ããªã4Kãã¬ããæã£ãŠãããšãïŒFullHDã¯ä»ïŒãåçã®ã¢ãŒã«ã€ããèŠãŠããŸãå¬ãããªããŸãã
Bittorrentåæ
ãã¹ãŠã®ãã©ãããã©ãŒã åãã®BTSyncã®æåã®ããŒãžã§ã³ã®ãªãªãŒã¹ã«é¢ãããã¥ãŒã¹ãèªãã åŸãç§ã¯ãã¹ãŠã«æ°ä»ããŸããã ä»äºã®ã¢ã«ãŽãªãºã ã¯ç§ã®é ã®äžã«ã¯ã£ãããšäžŠãã§ããŸãïŒ
- åçã®æåã®ã¢ããããŒãã¯ãBitTorrent Syncãä»ããŠè¡ãããŸãã
- ãŠãŒã¶ãŒã¯ããã©ã«ããå
±æããèªã¿åãå°çšã®ç§å¯ããŒãåãåãå Žæã¯é¢ä¿ãããŸããããNASãŸãã¯èªåã®å Žæã§ãããè¡ãããšãã§ããŸãã
- 次ã«ããŠãŒã¶ãŒã¯WebããŒã¹ã®ç®¡çã€ã³ã¿ãŒãã§ã€ã¹ã«ç§»åããèªã¿åãå°çšã®ç§å¯ããŒãä»ããŠã¢ã«ãã ã远å ããŸãã
- Webã€ã³ã¿ãŒãã§ã€ã¹ã¯BTSyncã³ãã³ããéä¿¡ããŠããµãŒããŒã«ãã®ãã©ã«ããŒãããŠã³ããŒãããŸãã åŸã
ã«ããµãŒããŒãžã®ããŠã³ããŒããéå§ãããŸãã
- çŸæç¹ã§ã¯ãã¯ããŒã³ã§ããŸãã¯ãã¹ãŠãããŠã³ããŒãããããã©ããã®ãã§ãã¯ãããå ŽæïŒãã¡ã€ã«ã€ã³ããã¯ã¹äœæãªã©ïŒã§ãã ããšãã°ããã¹ãŠã®ãã¡ã€ã«ãããŒã¿ããŒã¹ã«è¿œå ãããå°ããªã³ããŒãäœæãããŸãïŒã€ãŸãããã¹ãŠã®ã¡ã¿æ
å ±ã¯å
ã®ãã¡ã€ã«ããããŒã¿ããŒã¹ã«ååŸãããŸãïŒã
- ãã°ããããŠããããµãŒããŒãããªãªãžãã«ãåé€ããŸãïŒãã ããããŠã³ããŒãã§ãããŠãŒã¶ãŒã«ãã£ãŠä¿åãããŸãïŒã
Linuxäžã®BTSyncã«ã¯ãŸã ã³ã³ãœãŒã«APIããããŸããã ãã ããAPIãµãŒããŒãšããŠæ©èœã§ããWebã€ã³ã¿ãŒãã§ãŒã¹ããããŸãã Goã
䜿çšããŠãBTSyncã
æäœããããã®
ã³ã³ãœãŒã«ãŠãŒãã£ãªãã£ãäœæããŸããã ããã§ã¯ãPHPã®
ã¯ã©ã¹ãäœæããŸããã ãããŠãããã¯å°ããã§ãïŒä»ã®ãã¹ãŠãæžããŸã;ïŒ
ã€ãŒãžãŒãã©ã
ç§ã®äž»ãªå°éåéã¯ãPHPããã°ã©ããŒã§ãã ã¬ã€ã¢ãŠãã¯ç§ã«ãšã£ãŠææªã®ããšã§ã:)ã ãã®ãããFoundationãå©çšããŠãç§ã¯ããã«äœããæåããããšããŸããã

ã¡ã€ã³ããŒãžã«ã¯ãååãšæ¥ä»ãå«ãã¢ã«ãã ã®ãªã¹ãã衚瀺ãããŸãã ãŸããã¢ã«ãã ããŒãžã§ã¯ãããããããã¯ã¹ã®ããã«ããã¬ãã¥ãŒä»ãã®æ£æ¹åœ¢ã®åçã衚瀺ãããŸãã ååçã«èª¬æã远å ããã·ãªã¢ã«çªå·ãèšå®ãããšãããã°ã®ãããªãã®ãåŸãããŸãã ããŒã±ãã£ã³ã°æ
åœè
ãšããŠçŽæ¥éžæãããŠã§ãã€ã³ã¿ãŒãã§ãŒã¹ã®å€§ããªåçã®ãµã€ãº-FullHD :)
ã¢ã«ãã ãšåçã¯ç®¡çããã«å
ã§ç®¡çãããŸãã ãããæµã®æ°ããã¢ã«ãã ã®è¿œå æ¹æ³ã§ããååãéå§æ¥ãèªã¿åãå°çšã®ç§å¯ãå
¥åããã ãã§ãã

ãã¹ãŠã¯äœã«æžãããŠããŸããïŒãããžã§ã¯ãã¯ãå
éšãšã³ãžã³
Eazeã§èšè¿°ãããŠããŸãã å®å
šã«ã¯ã»ã©é ãã§ãããç¹å®ã®åé¡ãæ¢ç¥ã®çæéã§è¿
éã«è§£æ±ºã§ããŸãã éåžžã®ããã¥ã¡ã³ãã¯ãããŸããããPHPã§èšè¿°ãããŠãããããäœããçè§£ããã«ã¯ãäžãèŠãŠãã ããïŒgo-langã®ã€ããªãã®ãŒã®ããã«:)ã
ããŒã¿ããŒã¹ïŒã¿ããªãæã£ãŠããã®ã§mysqlãéžã³ãŸããã ããã§ã¯ãããã2ã€ã®ã©ãã«ãäž»ã«è峿·±ããã®ã§ããã¢ã«ãã ãšåç

ãã¡ã€ã«ã®ã€ã³ããã¯ã¹ä»ã
ãŸããPHPã§ã€ã³ãã¯ãµãŒãäœæããŸãããæ°ããã¢ã«ãã ãå®è¡ããBTSyncã«ã¢ããããŒãããããã«ãã¥ãŒã«è¿œå ããæ¬¡ã«æ¢åã®ã¢ã«ãã ãå®è¡ããŠãæ°ãããã¡ã€ã«ã远å ããŸããã 5åããšã«ã¹ã¯ãªãããcronã§ãã³ã°ãããã ãã§ååã§ããããã§ååã§ãã ããããç§ã«ã¯éããŸãã
åçãããŠã³ããŒãããããšãã«ããŒã¿ããŒã¹ã«è¿œå ãããå Žåãããã¯ã¯ãŒã«ã§ãã ãããŠãGoãå©ãã«ãªããŸãã
ã€ãŒãžãŒãã©ã
æ°ãããã¡ã€ã«ã®ãã£ã¬ã¯ããªããã³ã°ãããŠãã§ãã¯ããå°ããªããŒã¢ã³ã åçã®ãã¬ãã¥ãŒãäœæããããŒã¿ããŒã¹ã«ä¿åããŸãã BTSyncãšéä¿¡ããŸãã äž»ãªã¿ã¹ã¯ã¯æ¬¡ã®ãšããã§ãã
ãããã®ã¿ã¹ã¯ãå®è£
ããããã«ã次ã®ããã±ãŒãžã䜿çšããŸããã
ãã¢ãããžã§ã¯ãã§å¿
èŠãªãã¹ãŠã®æ©èœããã§ãã¯ããåŸãç§ã¯ããããã¹ãŠãäœæ¥ããŒãžã§ã³ã«éãå§ããŸããã
æçµçµæãåŸãã®ã«çŽ2æ¥ããããŸããã
ã©ã®ããã«æ©èœããŸããïŒeazyphotodã¯ãæ°èäŒæ¥ãéããŠéå§ãããŸãïŒå°æ¥ãsupervisordã§ããçŽãäºå®ã§ãïŒã éå§åŸããã¹ãŠã®ã¢ã«ãã ãã¡ã¢ãªã«ããŒãããæ°ããåçã®ãã£ã¬ã¯ããªã®ã¹ãã£ã³ãéå§ããŸãã ãããšäžŠè¡ããŠããŽã«ãã³ãèµ·åããããã¡ã€ã«ã·ã¹ãã ã®å€æŽã远跡ããHTTPèŠæ±ãåŠçããŸãïŒã¢ã«ãã ã¡ã¿æ
å ±ãæŽæ°ããããŠã³ããŒãã¢ã«ãã ã«æ°ããã¢ã«ãã ã远å ããŸãïŒã
ãã¹ãŠã®èŠæ±ïŒãµã€ãºå€æŽãã¡ã¿æ
å ±ã®æŽæ°ãæ°ãããã¡ã€ã«ã®ã€ãã³ãïŒã¯1ã€ã®
ãã¥ãŒã«å
¥ããã
ãŸã ã
var SyncQueue = make(chan *SyncItem) type SyncItem struct { Album *model.Album FsPhotos model.PhotoList FullSync bool Filename string }
ãããã£ãŠããããããã³ãã®ä»ã®éèŠãªå€æ°ãžã®åæã¢ã¯ã»ã¹ã远跡ããå¿
èŠã¯ãããŸããã ãã¹ãŠã1ã€ã®å
±éãã¥ãŒã«å
¥ããŸãã
ããŒã¿ããŒã¹ã®æäœã
éåžžã«ç°¡åã§ãã
äžè¬çã«ãããªããå€åºå
ã§æžãããšãèããŠããããããŠããªãã£ãå Žå-ç§ã®ã¢ããã€ã¹ã¯æ¬¡ã®ãšããã§ãã
ãããŠãã1ã€ïŒgithubã®ç§ã®
ã€ããªãã®ãŒ go-projects
ã¯ééã£
ãŠé
眮ãããŠããŸãã ãªããžããªå
ã®ã«ãŒãã«ãªãã®ã¯1ã€ã®srcãã©ã«ããŒã®ã¿ã§ãã ãããŠãç§ã¯ãããžã§ã¯ãå
šäœãæã£ãŠããŸãã ãããã©ã«ããŒã®ãœãŒã¹ã³ãŒãã®æšªã«configsãREADME.mdãããã³ãã®ä»ã®ãµããŒãè³æã®äŸãããå Žåãç§ã¯ãªããšãªãå¿«é©ã§ã¯ãããŸããã
ãŸãšã
ãµãŒãã¹ã¯ãã®ã¿ã¹ã¯ã«å¯ŸåŠããŸããã¹ãã¬ãŒãžã¯åžžã«ãããã¯ãŒã¯äžã«ãããBTSyncãã€ã³ã¹ããŒã«ãããŠããŸãã åçãã¹ãã¬ãŒãžã«éä¿¡ãããåŸããã©ã«ããBTSyncã«è¿œå ãããWebã€ã³ã¿ãŒãã§ã€ã¹ã§ã¢ã«ãã ãäœæãããŸã-å¯ãããšãã§ããŸãã eazyphotoãåãããµãŒããŒã¯åçãããŠã³ããŒãããçŸåšã®ã¢ã«ãã ã«è¿œå ããŸãã ååäžã¯ããªã³ã¯ããã§ãã¯ã€ã³ããŠãå人ã«éä¿¡ã§ããŸãã å¿
èŠã«å¿ããŠãå人ã¯BitTorrent Syncãä»ããŠãªãªãžãã«ãããŠã³ããŒãããŸãã
åéããŠã¿ãŠãã ãã
ãã¹ãŠãå®¶ã§è²ãŠãããšæ±ºå¿ãã人ãã¡ã®ããã«-ããã«ãªã³ã¯ããããŸãïŒ
- github.com/sergeyfast/eazyphoto-web-PHPããŒã
- github.com/sergeyfast/eazyphotod-ããŒã¢ã³èªäœ
çªããšäŸãåç
§ããã人ã®ããã«ãã¢ãžã®ãªã³ã¯ãæ
æã«å
¬éããŠããŸããã ããããYandexã¯ãé»ããã€ã¹ã®èšèã«åºã¥ããŠèŠã€ããã®ã«åœ¹ç«ã¡ãŸãã
ãã¹ãŠã®æç€º
ïŒãŸãã¯ãããã®é¡äŒŒæ§ïŒã¯ãããžã§ã¯ãå
ã«ãããŸãïŒãªãŒãã³ãœãŒã¹ãªã©ã®ãªãŒãã³ãœãŒã¹:)ã
UbuntuãäŸãšããŠäœ¿çšããŠè£å©ãœãããŠã§ã¢ãã€ã³ã¹ããŒã«ãã1. btsyncãã€ã³ã¹ããŒã«ããŸãã
sudo add-apt-repository ppa:tuxpoldo/btsync sudo apt-get update sudo apt-get install btsync
ããŒã¿ããŒã=0ãWebã€ã³ã¿ãŒãã§ã€ã¹ã®ããŒãïŒ8888ãIPïŒ127.0.0.1
2. goãã€ã³ã¹ããŒã«ãã
godeb
blog.labix.org/2013/06/15/in-flight-deb-packages-of-goããå§ãã
ãŸãæå°goããŒãžã§ã³ïŒ1.1
3. eazyphotodãã€ã³ã¹ããŒã«ããŸã
git clone git://github.com/sergeyfast/eazyphotod.git cd eazyphotod export GOPATH=`pwd` go get code.google.com/p/gcfg github.com/disintegration/imaging github.com/go-sql-driver/mysql github.com/howeyc/fsnotify github.com/rwcarlsen/goexif/exif github.com/sergeyfast/btsync-cli/src/btsync go build -o eazyphotod src/*.go
ãã®åŸããã€ããªãååŸããŸããã
/ usr / local / eazyphotod /ïŒãŠãŒã¶ãŒwww-dataïŒãäœæããeazyphotod + config.gcfgãã³ããŒããããšããå§ãããŸã
eazyphotod.confã/ etc / init /ã«ããããããŠå®è¡ããŸãïŒconfig.gcfgã®æ§æåŸïŒïŒ
service eazyphotod start
ïŒdeb-wayïŒæ§æã/etc/eazyphotod.confã«ããã€ããªãŒã/ usr / bin / eazyphotodã«å
¥ãã-configãã©ã¡ãŒã¿ãŒã§æ§æãžã®ãªã³ã¯ãæå®ããŸãïŒã
ãããªãéçº
管çããã«ã§æœåšçãªãŠãŒã¶ãŒãæãããããã¯ãããŸãããã管ççšã®éåžžã®WebããŒã¹ã®ã€ã³ã¿ãŒãã§ã€ã¹ãšãã€ã³ã¹ããŒã«çšã®ã·ã³ãã«ãªã¹ã¯ãªãã/ããã±ãŒãžã«ããŸãã ããããããã¯ãã¹ãŠeazyphotodã«ã®ã¿é¢é£ããŸãããªããªãããªã¿ã¯ã®cronããã³phpããã»ã¹ã¯æããã«ãªãã·ã§ã³ã§ã¯ãªãããã§ãã
誰ããæ©èœã«ã€ããŠèããŠããããã©ã®ããã«ããããã¹ãŠèŠããã¹ããïŒãŸãã¯çªç¶èª°ããæå©ããããå ŽåïŒ-ããã
æåŸã«ïŒåæ
çãªäœè«ã åçãæ®ããå人ã䞡芪ãšå
±æããŸãã 寿åœã¯ããã«éããŸãããåçã®ã¢ãŒã«ã€ãã¯æ®ããŸãïŒã§ããã°é»ç€ºé²ã®å Žåã¯RAID1ãšè¿œå ã®ã³ããŒã§ïŒïŒ