Hydra Camp UC Santa Barbara 2016 Syllabus

本文转自:https://docs.google.com/document/d/1wnpJBS-Q9Yswp7r2fGfzvOzjjz0C971INU3pDfgZd8k/edit#

原文PDF下载连接

链接: https://pan.baidu.com/s/1-iwO5Se3M_D3CGEWaBPMmg 密码: j796

本内容仅供自己参考,如果需要,可以下载原文PDF查看。

February 22nd-25th, 2016

University of California, Santa Barbara
Santa Barbara, CA
Course Goals
The goal of Hydra Camp is to introduce new developers to the skills and tools they will need to
successfully build Hydra based digital repository solutions. There’s a lot of ground to cover and
you won’t walk away at the end of the week a complete expert, but we hope we’ll have provided
you enough of a scaffolding to jump-start your own work and keep learning like the rest of us.
We hope that the topics covered at Hydra Camp provide enough breadcrumbs that you’ll have a
good idea where to start looking once you get home and start digging into problems on your
own!
Supplies
● Laptop & Power Supply
● Headphones/Earbuds
● Water bottle/Travel Mug
Location
● ROOM - UCSB Library 1575 . On arriving at UCSB campus, please make your way to
the library. At the Library reference desk they can direct you to Room 1575, where the
session is being held.
● Transport - If you are staying at the Pacifica Suites Hotel, campus is about a 5 minute
drive. UCSB Library will provide morning and afternoon shuttle service. You can also
take MTD Bus 11 or 12x. See also UCSB Library Directions and Parking page.
● WIFI SSID: Will be provided in-class
Hydra Camp Syllabus 2016 - rev 1 - Page 1
Prerequisites
● If you have never used Ruby, visit http://tryruby.org for an interactive tutorial.
● We’ll be providing a VirtualBox VM with everything you need for development, if you
have time please install VirtualBox ( download here ) and install Vagrant ( download here )
before class if possible.
● Create a (free) Github Account if you don't already have one:
https://github.com/signup/free
○ We’ll walk through creating Github SSH Keys and setting them up for your
development environment
● NOTE: We’ll have help available in class if you run into any troubles getting your system
set up. The provided VirtualBox image will have Ubuntu installed and the necessary
tools to complete class exercises.
Syllabus
Day 1: Monday, February 22nd
● UCSB Library Shuttle Van leaves Pacifica Suites hotel at 8:30am
● MORNING - start 9:00am
○ Welcome - Housekeeping - Introductions
■ Your name, institution, something unique about yourself
○ Course goals
○ Rails for Zombies - at your own pace - bring headphones
https://www.codeschool.com/courses/rails-for-zombies-redux
○ IN PARALLEL - finish VirtualBox & Vagrant setup, distribute thumb-drives
■ Setup VMs and/or confirm local dev environments
● Copy the /tutorial directory from the thumb drive
● Open a terminal window and change directory to where you
copied the tutorial directory
● Start the virtual machine and login
vagrant up
vagrant ssh
#alternate login option
# ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no
vagrant@localhost -p 2222
● You should get a prompt like vagrant@camper:~$
● Config the local git with your name and e-mail
git config --global user.name "Your Name"
git config --global user.email you@example.com
● If you receive errors involving \r (end of
line), edit the global .gitconfig file by
running the command:
git config --global core.autocrlf false
○ [Optional] RailsBridge - Intro to Rails
http://docs.railsbridge.org/intro-to-rails/ - you can skip Heroku sections
Hydra Camp Syllabus 2016 - rev 1 - Page 2
● LUNCH - on your own Campus Map PDF
● AFTERNOON
○ Dive into Hydra - https://github.com/projecthydra/hydra/wiki/Dive-into-Hydra
○ before Lesson #1 complete the following steps
■ vagrant up # start your VM
■ vagrant ssh # connect to the guest system
■ cd /vagrant # use a shared directory
■ rails new hydra-demo # and continue the tutorial
○ The guest system is running Linux - follow step 1a
○ Solr & Fedora
■ “start a new terminal window” = open a new terminal window, `vagrant
ssh`, `cd /vagrant/hydra-demo`
■ Use the following to start fedora with data on a non-shared directory:
fcrepo_wrapper -p 8984 -d ~/fcrepo4-data
● 4:45pm - UCSB Library Shuttle Van leaves UCSB to Pacifica Suites
● UCSB Library Shuttle Van leaves Pacifica Suites at 6:45pm to restaurant
● DINNER - 7:00pm group dinner (self funded) @ Enterprise Fish Company, 225 State St,
Santa Barbara, CA 93101, (805) 962-3313, Shuttle leaves from downtown train station
parking lot at time 9pm, return to Pacifica Suites
Day 2: Tuesday, February 23rd
● UCSB Library Shuttle Van leaves Pacifica Suites hotel at 8:30am
● MORNING - start 9:00am
○ Dive into Hydra Works
■ We’ve done most of the setup already on Monday
■ If you shut down your system or VM and need help getting things started
up again, Alex, Ian, Matt, or Mark will be happy to help
■ Add hydra-works to your Gemfile - Lesson: add the Hydra dependencies
■ Then jump to Lesson 5: define models with hydra works

● LUNCH - on your own
● AFTERNOON
○ PCDM Overview
■ Initial Hydra Community Use Cases
○ Hydra Framework Technical Overview
https://wiki.duraspace.org/display/hydra/Technical+Framework+and+its+Parts
also:
https://drive.google.com/file/d/0BytolfRBVL3rZDg4YlVVLTZOMmM/view?usp=sh
aring
also:
https://github.com/projecthydra/projecthydra.github.io/blob/master/training/deeper
_into_hydra/hydra_9_architecture.png
○ A More Worthwhile Sufia: Now with PCDM™
Hydra Camp Syllabus 2016 - rev 1 - Page 3
○ Hydra’s in the wild
○ [Optional] LDP-PCDM walkthrough
○ [Optional] http://vim-adventures.com
● 4:45pm - UCSB Library Shuttle Van leaves UCSB to Pacifica Suites
● DINNER - on your own
Day 3: Wednesday, February 24th
● UCSB Library Shuttle Van leaves Pacifica Suites hotel at 8:30am
● MORNING - start 9:00 am
○ Starting services in a VM
■ solr_wrapper -d solr/config/ --collection_name hydra-development
■ fcrepo_wrapper -p 8984 -d ~/fcrepo-data
■ rails server -b 0.0.0.0
( or see
http://stackoverflow.com/questions/28668436/how-to-change-the-default-binding-ip-of-rails
-4-2-development-server )
○ Self-deposit in Sufia - on your VM
■ Install Sufia 7 (Development): https://github.com/projecthydra/sufia
see also http://demo.curationexperts.com (Sufia
6) https://github.com/projecthydra/sufia
■ Dependencies are pre-installed in your VM
■ Fedora walkthrough of deposited items
■ Rails console walkthrough of deposited items
■ Mark’s server http://marks-mb.local:3000
○ Question: How do I find the collection membership of a work or set of works?
■ Possible solution at the bottom of the API:
https://github.com/projecthydra-labs/hydra-works/wiki/Aggregations-API-D
ocumentation
○ Collaborative development exercise using github. Also see:
■ https://github.com/projecthydra/hydra/blob/master/CONTRIBUTING.md
■ https://help.github.com/articles/using-pull-requests
■ Create a repo for the class project
■ What partial am I looking at?
https://gist.github.com/bmaddy/4567fad5aa55e5a600e1
+ EXPLAIN_PARTIALS=true rails s
■ git remote add origin
https://github.com/curationexperts/ucsb-camp-works.git
git push -u origin master
■ https://github.com/curationexperts/ucsb-camp-concerned
■ https://github.com/curationexperts/ucsb-camp-sufia
■ https://github.com/curationexperts/ucsb-camp-works
■ Github id’s here:
● ...
○ [OPTIONAL] Set up a local development environment on your laptop (instead of
working in the VM). If you also want to run a local development environment
directly on your laptop - RailsBridge Installfest has good instructions for getting
Hydra Camp Syllabus 2016 - rev 1 - Page 4
your system setup: http://installfest.railsbridge.org/installfest/ - you can skip the
Heroku steps.
○ Development Environment Requirements (All included in Virtual Machine)
■ If you’re using a Mac, install/update XCode & Homebrew .
■ Install Git (on Mac, we recommend using Homebrew to install git)
■ Install RVM + Ruby 2.3.0 using RVM `rvm install ruby-2.3.0`
■ Install Java 8 runtime
■ Install Rails 4.2: `gem install rails 4.2`
■ Redis: apt-get or brew install
■ FITS: https://github.com/curationexperts/hydradam/wiki/Installation%3A-fits
■ Imagemagick: apt-get or brew install
■ FFMPEG
■ Install a Text Editor of your choice. Many people use TextMate (not free)
or Atom (free). VIM is hardcore but some of us do it.
● UCSB Library Shuttle Van leaves Library at 11:50am to restaurant
● LUNCH - 12:00pm group lunch hosted by UCSB Library, Beachside Restaurant @
Goleta Beach; followed by group photo . Return to Library at 1:10pm
● Library tour - 1:15pm-1:30pm
○ Continue collaborative development
○ Production Deployment
http://curationexperts.com/2013/10/07/the-hydra-production-stack/
https://github.com/curationexperts/hydradam/wiki/Production-Installation%3A-Ov
erview
○ [OPTIONAL] Solrizer walkthrough - additional references:
■ https://github.com/projecthydra/solrizer (see Readme)
■ https://github.com/projecthydra/hydra-head/wiki/Solr-Schema
○ [OPTIONAL] Blacklight quickstart
https://github.com/projectblacklight/blacklight/wiki/Quickstart
https://github.com/projectblacklight/blacklight/wiki/Configuring-and-Customizing-B
lacklight
○ [Optional] Solr Tutorial: http://lucene.apache.org/solr/resources.html
○ [Optional] Managing descriptive Metadata:
XML: https://github.com/projecthydra/om/wiki/Tame-your-XML-with-OM OR
RDF: see Sufia Examples
https://github.com/projecthydra/sufia/wiki/Customizing-Metadata:-nested-attribute
s,-part-1
https://github.com/projecthydra/sufia/wiki/Customizing-Metadata:-nested-attribute
s,-part-2
○ [Optional] Start modelling your own metadata
○ [Optional] Create some additional content (books) to search
● 5:00pm - UCSB Library Shuttle Van leaves UCSB to Pacifica Suites
● UCSB Library Shuttle Van leaves Pacifica Suites at 5:30pm to downtown Funk Zone
● DINNER - 6:30pm - downtown Funk Zone - winery & brewery & small group dinners at
restaurants. Shuttle leaves from downtown train station parking lot at 9:00pm, return to
Hydra Camp Syllabus 2016 - rev 1 - Page 5
Pacifica Suites
○ Small Group Dinner Signups
● CurationConcerns Demo app
○ sudo apt-get install libclamav-dev
○ ..and uncomment “therubyracer” gem dependency on your Gemfile
Day 4: Thursday, February 25th
● UCSB Library Shuttle Van leaves Pacifica Suites hotel at 8:30am
● MORNING - start 9:00am (no refreshments provided in classroom -- Library Summit
Cafe is open)
○ Q&A
■ Development process - feature branches, forks, pull requests
■ see: http://ndlib.github.io/practices/ruby-and-rails-developer-tools/
● Hydra-tech ■ IRC ■ Bundler & gems ■ DRY
● Debugger ■ Better Errors ■ Fedora Admin ■ IDEs
■ The Hydra Community
https://wiki.duraspace.org/display/hydra/Hydra+Community+Framework
■ Operations & Production Deployment
● Production Stack -
https://curationexperts.files.wordpress.com/2013/10/production-sta
ck-v1-0-1440x1080.png
● Avalon deployment - see especially Virtual Machine install #2:
http://www.avalonmediasystem.org/download
● HydraDam Install instructions - out of date versions, but
conceptually accurate
● Ansible, Chef, Puppet - configuration managment
https://github.com/curationexperts/ansible-hydra
● Capistrano - deployment scripting (& rollback)
● LUNCH - on your own
● AFTERNOON - Student Projects / extend Sufia
○ [OPTIONAL] Hydra Access Controls:
https://github.com/projecthydra/hydra-head/wiki/Access-Controls-with-Hydra
● 4:45pm - UCSB Library Shuttle Van leaves UCSB to Pacifica Suites
FRIDAY - Hydra Regional Meeting
Hydra Camp Syllabus 2016 - rev 1 - Page 6
RESOURCES
● Get on the hydra-tech mailing list, IRC & Slack:
https://groups.google.com/forum/#!forum/hydra-tech
The Hydra Project Wiki :
○ Get In Touch Page: https://wiki.duraspace.org/x/KwSeAg
○ Community, Groups, Calls Etc: https://wiki.duraspace.org/x/cwCi
● Hydra Developers Page
https://wiki.duraspace.org/display/hydra/Developers
also at https://github.com/projecthydra/hydra/wiki/For-Developers
● Contributing Code
○ Legal https://wiki.duraspace.org/display/hydra/Hydra+Licensed+Contributors
○ Practical https://github.com/projecthydra/hydra/blob/master/CONTRIBUTING.md
○ Github workflow: https://guides.github.com/introduction/flow/ (+ the other github
guides)
● Release notes and wiki for individual gems (varies)
○ Wiki: eg. https://github.com/projecthydra/hydra/wiki
○ Release notes: eg. https://github.com/projecthydra/active_fedora/releases
○ Semantic versioning: http://semver.org
● General Rails Programming
○ CodeSchool: https://www.codeschool.com/paths/ruby#starting-rails
○ RailsBridge: http://docs.railsbridge.org/docs/
○ Rails Guides: http://guides.rubyonrails.org
○ Humble Little Ruby Book: http://www.humblelittlerubybook.com
○ RAILS APIs: http://api.rubyonrails.org/
○ Skilled Up: http://www.skilledup.com/learn-ruby-on-rails-guide/
● Data Models
○ Dive into Hydra - the basic case
○ Sufia - Medium Sized RDF file-centric model
https://github.com/projecthydra/sufia/blob/master/sufia-models/app/models/conce
rns/sufia/generic_file/metadata.rb
https://github.com/projecthydra/sufia/blob/master/sufia-models/app/models/datast
reams/generic_file_rdf_datastream.rb
○ etc.
○ UCSD DAMS Data Dictionary
■ Tiered RDF modelling with PCDM/DPLA Schema/Local
Classes/predicates
● Example Hydra and Hydra related sites
○ IUCat (Blacklight Only) - http://www.iucat.iu.edu
Hydra Camp Syllabus 2016 - rev 1 - Page 7
○ Spotlight (Blacklight + Spotlight) -
■ Live Exhibit - Maps of Africa
■ Blog post with videos
○ Avalon Media System: http://www.avalonmediasystem.org/
● Integrated Development Environments
○ RubyMine: http://www.jetbrains.com/ruby/
○ Aptana RadRails: http://www.aptana.com/products/radrails
● Data Curation Experts
○ Website & contact info: http://curationexperts.com
● Tell your Friends about Hydra Camp!
http://curationexperts.com/who-we-are/about/hydra-camp/
● RDF book: Semantic Web for the Working Ontologist: Effective Modeling in RDFS and
OWL http://workingontologist.org/
● RDF Primer: http://www.w3.org/TR/2014/NOTE-rdf11-primer-20140225/
● ResourceSync: http://www.openarchives.org/rs/toc
● What goes where in Sufia / Curation Concerns:
https://docs.google.com/document/d/1mMIIQCm18Cosk3vfSsTzECGMRi2m-USBWwt-8
9DxbNE/edit
Hydra Camp Syllabus 2016 - rev 1 - Page 8
【多变量输入超前多步预测】基于CNN-BiLSTM的光伏功率预测研究(Matlab代码实现)内容概要:本文介绍了基于CNN-BiLSTM模型的多变量输入超前多步光伏功率预测方法,并提供了Matlab代码实现。该研究结合卷积神经网络(CNN)强大的特征提取能力与双向长短期记忆网络(BiLSTM)对时间序列前后依赖关系的捕捉能力,构建了一个高效的深度学习预测模型。模型输入包含多个影响光伏发电的气象与环境变量,能够实现对未来多个时间步长的光伏功率进行精确预测,适用于复杂多变的实际应用场景。文中详细阐述了数据预处理、模型结构设计、训练流程及实验验证过程,展示了该方法相较于传统模型在预测精度和稳定性方面的优势。; 适合人群:具备一定机器学习和深度学习基础,熟悉Matlab编程,从事新能源预测、电力系统分析或相关领域研究的研发人员与高校研究生。; 使用场景及目标:①应用于光伏电站功率预测系统,提升电网调度的准确性与稳定性;②为可再生能源并网管理、能量存储规划及电力市场交易提供可靠的数据支持;③作为深度学习在时间序列多步预测中的典型案例,用于科研复现与教学参考。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,重点关注数据归一化、CNN特征提取层设计、BiLSTM时序建模及多步预测策略的实现细节,同时可尝试引入更多外部变量或优化网络结构以进一步提升预测性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值