Inspired by https://gist.github.com/josevalim/1582864
Ubuntu 12.04
Linux citadel 3.5.0-17-generic #28-Ubuntu SMP Tue Oct 9 19:31:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
- 12G of DDR3 RAM (@ 1033MHz)
- 16 cores (E5530 @ 2.40GHz)
Inspired by https://gist.github.com/josevalim/1582864
Ubuntu 12.04
Linux citadel 3.5.0-17-generic #28-Ubuntu SMP Tue Oct 9 19:31:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
%% DISCLAIMER: Please excuse my style, I don't write erlang. | |
-module(fizzbuzz). | |
-export([fizz_buzz/0]). | |
fizz_buzz() -> | |
fizz_buzz(1). | |
fizz_buzz(N) when N =< 100 -> | |
if | |
N rem 15 == 0 -> |
4> [self() ! X || X <- [rhythm,music,'my girl']]. | |
[rhythm,music,'my girl'] | |
5> flush(). | |
Shell got rhythm | |
Shell got music | |
Shell got 'my girl' | |
ok |
<?php | |
class MY_Security extends CI_Security{ | |
//overriding the normal csrf_verify, this gets automatically called in the Input library's constructor | |
//verifying on POST and PUT and DELETE | |
public function csrf_verify(){ | |
$request_method = strtoupper($_SERVER['REQUEST_METHOD']); |
/*! | |
* jQuery JavaScript Library v2.1.1pre | |
* http://jquery.com/ | |
* | |
* Includes Sizzle.js | |
* http://sizzlejs.com/ | |
* | |
* Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors | |
* Released under the MIT license | |
* http://jquery.org/license |
Single Page Apps are ruling the world and AngularJS is leading the charge. But many of the lessons we learned in the Web 2.0 era no longer apply, and few are as drastically different as authentication.
CORS is an oft-misunderstood feature of new browsers that is configured by a remote server. CORS stands for Cross-Origin-Resource-Sharing, and was designed to make it possible to access services outside of the current origin (or domain) of the current page.
Like many browser features, CORS works because we all agree that it works. So all major browsers like Chrome, Firefox, and IE support and enforce it. By using these browsers, you benefit from the security of CORS.
That means certain browsers do not enforce it, so it is not relevant there. One large example is a native Web View for things like Cordova and Phonegap. However, these tools often have configuration options for whitelisting domains so you can add some security that way.
def index(conn, %{"event" => "true"}) do | |
conn = conn | |
|> put_resp_content_type("text/event-stream") | |
|> send_chunked(200) | |
{:ok, conn} = chunk(conn, ["data: ", JSON.encode!(Thermostat.Data.get()), "\n\n"]) | |
Phoenix.Topic.subscribe self, "data" | |
data_updated(conn) | |
end | |
defp data_updated(conn) do |
Generate a new Elixir project using mix
and add cowboy
and plug
as dependencies in mix.exs
:
defp deps do
[
{:cowboy, "~> 1.0.0"},
{:plug, "~> 0.8.1"}
]
end