- çŸããã·ã³ãã«ãª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ã€ã®ã©ãã«ãäž»ã«èå³æ·±ããã®ã§ããã¢ã«ãã ãšåç
ããŒã¿ããŒã¹ïŒã¿ããªãæã£ãŠããã®ã§mysqlãéžã³ãŸããã ããã§ã¯ãããã2ã€ã®ã©ãã«ãäž»ã«èå³æ·±ããã®ã§ããã¢ã«ãã ãšåç
ãã¡ã€ã«ã®ã€ã³ããã¯ã¹ä»ã
ãŸããPHPã§ã€ã³ãã¯ãµãŒãäœæããŸãããæ°ããã¢ã«ãã ãå®è¡ããBTSyncã«ã¢ããããŒãããããã«ãã¥ãŒã«è¿œå ãã次ã«æ¢åã®ã¢ã«ãã ãå®è¡ããŠãæ°ãããã¡ã€ã«ãè¿œå ããŸããã 5åããšã«ã¹ã¯ãªãããcronã§ãã³ã°ãããã ãã§ååã§ããããã§ååã§ãã ããããç§ã«ã¯éããŸãã
åçãããŠã³ããŒãããããšãã«ããŒã¿ããŒã¹ã«è¿œå ãããå Žåãããã¯ã¯ãŒã«ã§ãã ãããŠãGoãå©ãã«ãªããŸãã
ã€ãŒãžãŒãã©ã
æ°ãããã¡ã€ã«ã®ãã£ã¬ã¯ããªããã³ã°ãããŠãã§ãã¯ããå°ããªããŒã¢ã³ã åçã®ãã¬ãã¥ãŒãäœæããããŒã¿ããŒã¹ã«ä¿åããŸãã BTSyncãšéä¿¡ããŸãã äž»ãªã¿ã¹ã¯ã¯æ¬¡ã®ãšããã§ãã
ãããã®ã¿ã¹ã¯ãå®è£ ããããã«ã次ã®ããã±ãŒãžã䜿çšããŸããã
- code.google.com/p/gcfg-gitconfigã¹ã¿ã€ã«ã§æ§æiniãã¡ã€ã«ãæäœããŸãã åºåã¯ãå¡ãã€ã¶ãããæ§é ã§ãã
- github.com/disintegration/imaging-ç»åãæäœããŸãïŒãµã€ãºå€æŽãããªãã³ã°ããã£ãããªã©ïŒã gdã䜿çšãããçŽç²ã«ç§»åããŸãã
- github.com/go-sql-driver/mysql-mysqlã®ãã©ã€ããŒã
- github.com/howeyc/fsnotifyã¯ããã¡ã€ã«ã·ã¹ãã ã®å€æŽã远跡ããããã®ã¯ãã¹ãã©ãããã©ãŒã ããã±ãŒãžã§ãã
- github.com/rwcarlsen/goexif/exif-EXIFããŒã¿ãèªã¿åãããã®ããã±ãŒãžã
- github.com/sergeyfast/btsync-cliã¯ãç§ã®BTSync APIããã±ãŒãžã§ãã
ãã¢ãããžã§ã¯ãã§å¿ èŠãªãã¹ãŠã®æ©èœããã§ãã¯ããåŸãç§ã¯ããããã¹ãŠãäœæ¥ããŒãžã§ã³ã«éãå§ããŸããã æçµçµæãåŸãã®ã«çŽ2æ¥ããããŸããã
ã©ã®ããã«æ©èœããŸããïŒ
eazyphotodã¯ãæ°èäŒæ¥ãéããŠéå§ãããŸãïŒå°æ¥ãsupervisordã§ããçŽãäºå®ã§ãïŒã éå§åŸããã¹ãŠã®ã¢ã«ãã ãã¡ã¢ãªã«ããŒãããæ°ããåçã®ãã£ã¬ã¯ããªã®ã¹ãã£ã³ãéå§ããŸãã ãããšäžŠè¡ããŠããŽã«ãã³ãèµ·åããããã¡ã€ã«ã·ã¹ãã ã®å€æŽã远跡ããHTTPèŠæ±ãåŠçããŸãïŒã¢ã«ãã ã¡ã¿æ
å ±ãæŽæ°ããããŠã³ããŒãã¢ã«ãã ã«æ°ããã¢ã«ãã ãè¿œå ããŸãïŒã
ãã¹ãŠã®èŠæ±ïŒãµã€ãºå€æŽãã¡ã¿æ å ±ã®æŽæ°ãæ°ãããã¡ã€ã«ã®ã€ãã³ãïŒã¯1ã€ã®ãã¥ãŒã«å ¥ããããŸã ã
ãããã£ãŠããããããã³ãã®ä»ã®éèŠãªå€æ°ãžã®åæã¢ã¯ã»ã¹ã远跡ããå¿ èŠã¯ãããŸããã ãã¹ãŠã1ã€ã®å ±éãã¥ãŒã«å ¥ããŸãã
ããŒã¿ããŒã¹ã®æäœãéåžžã«ç°¡åã§ãã
äžè¬çã«ãããªããå€åºå ã§æžãããšãèããŠããããããŠããªãã£ãå Žå-ç§ã®ã¢ããã€ã¹ã¯æ¬¡ã®ãšããã§ãã
ãããŠãã1ã€ïŒgithubã®ç§ã®ã€ããªãã®ãŒ go-projects ã¯ééã£ãŠé 眮ãããŠããŸãã ãªããžããªå ã®ã«ãŒãã«ãªãã®ã¯1ã€ã®srcãã©ã«ããŒã®ã¿ã§ãã ãããŠãç§ã¯ãããžã§ã¯ãå šäœãæã£ãŠããŸãã ãããã©ã«ããŒã®ãœãŒã¹ã³ãŒãã®æšªã«configsãREADME.mdãããã³ãã®ä»ã®ãµããŒãè³æã®äŸãããå Žåãç§ã¯ãªããšãªãå¿«é©ã§ã¯ãããŸããã
ãã¹ãŠã®èŠæ±ïŒãµã€ãºå€æŽãã¡ã¿æ å ±ã®æŽæ°ãæ°ãããã¡ã€ã«ã®ã€ãã³ãïŒã¯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ãã€ã³ã¹ããŒã«ããŸãã
ããŒã¿ããŒã=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ãã€ã³ã¹ããŒã«ããŸã
ãã®åŸããã€ããªãååŸããŸããã
/ usr / local / eazyphotod /ïŒãŠãŒã¶ãŒwww-dataïŒãäœæããeazyphotod + config.gcfgãã³ããŒããããšããå§ãããŸã
eazyphotod.confã/ etc / init /ã«ããããããŠå®è¡ããŸãïŒconfig.gcfgã®æ§æåŸïŒïŒ
ïŒdeb-wayïŒæ§æã/etc/eazyphotod.confã«ããã€ããªãŒã/ usr / bin / eazyphotodã«å ¥ãã-configãã©ã¡ãŒã¿ãŒã§æ§æãžã®ãªã³ã¯ãæå®ããŸãïŒã
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ãšè¿œå ã®ã³ããŒã§ïŒïŒ