Proposed levels of skill for the scala programming language, can be used as a base for a curriculum
Related links:
- the scala style guide.
- a scala basic exam
- examples of scala abuses
- sample training curriculum Artima
ּ_בּ | |
בּ_בּ | |
טּ_טּ | |
כּ‗כּ | |
לּ_לּ | |
מּ_מּ | |
סּ_סּ | |
תּ_תּ | |
٩(×̯×)۶ | |
٩(̾●̮̮̃̾•̃̾)۶ |
// scala 2.7 simple type constraint. This can only constrain a type parameter of this function. | |
// Below, in ListW.sumint28, we can't use this approach because we want to constrain T, | |
// a type param of the enclosing trait. | |
def sumint27A[T <: Int](l: List[T]) : Int = l.reduceLeft((a: Int, b: Int) => a + b) | |
trait IntLike[X] extends (X => Int) | |
object IntLike { | |
implicit val intIntLike: IntLike[Int] = new IntLike[Int] { def apply(x: Int) = identity(x) } | |
} |
Proposed levels of skill for the scala programming language, can be used as a base for a curriculum
Related links:
case object transaction { | |
import java.sql.Connection | |
def apply[T](query: => T):Option[T] = { | |
val conn:Connection = play.db.DB.getConnection | |
val auto:Boolean = conn.getAutoCommit | |
try { | |
conn.setAutoCommit(false) | |
Some(query) | |
} catch { |
object ShutDown { | |
def main(args: Array[String]) { | |
sys.ShutdownHookThread { | |
println("exiting") | |
} | |
println("begin sleep") | |
Thread.sleep(5000L) | |
println("done sleeping") |
scalaVersion := "2.9.1" | |
resolvers += "typesafe" at "http://repo.typesafe.com/typesafe/releases" | |
libraryDependencies ++= Seq( | |
"play" %% "anorm" % "2.0-RC4", | |
"com.github.seratch" %% "scalikejdbc" % "[0.5,)", | |
"org.hsqldb" % "hsqldb" % "[2,)" | |
) |
I have always struggled with getting all the various share buttons from Facebook, Twitter, Google Plus, Pinterest, etc to align correctly and to not look like a tacky explosion of buttons. Seeing a number of sites rolling their own share buttons with counts, for example The Next Web I decided to look into the various APIs on how to simply return the share count.
If you want to roll up all of these into a single jQuery plugin check out Sharrre
Many of these API calls and methods are undocumented, so anticipate that they will change in the future. Also, if you are planning on rolling these out across a site I would recommend creating a simple endpoint that periodically caches results from all of the APIs so that you are not overloading the services will requests.
-- show running queries (pre 9.2) | |
SELECT procpid, age(clock_timestamp(), query_start), usename, current_query | |
FROM pg_stat_activity | |
WHERE current_query != '<IDLE>' AND current_query NOT ILIKE '%pg_stat_activity%' | |
ORDER BY query_start desc; | |
-- show running queries (9.2) | |
SELECT pid, age(clock_timestamp(), query_start), usename, query | |
FROM pg_stat_activity | |
WHERE query != '<IDLE>' AND query NOT ILIKE '%pg_stat_activity%' |
/* | |
* Decide on your cache-busting strategy. In this example, we use the current timestamp, which will | |
* force a change every time the app is visited, but not every time the partial is loaded within a | |
* visit. Even better would be to use a hash of the file's contents to ensure that the file is always | |
* reloaded when the file changes and never reloaded when it isn't. | |
*/ | |
var cacheBustSuffix = Date.now(); | |
// Optionally, expose the cache busting value as a constant so other parts of your app can use it. | |
ngModule.constant("cacheBustSuffix", cacheBustSuffix); |