Skip to content

Instantly share code, notes, and snippets.

@Poetro
Poetro / gist:668369
Created November 8, 2010 22:13
request pass through
var express = require('express'),
underscore = require('underscore')._,
httpRequest = require('request'),
app = express.createServer(express.logger());
// For favicon requests just redirect them.
app.get('/favicon.ico', function (request, response) {
// Set the appropriate content type
response.writeHead(200, {
'Content-Type': 'image/x-icon'
@Poetro
Poetro / GWO.md
Created February 15, 2011 22:58
Potential problems with Google Website Optimizer
  • Adds at least 4 new JavaScript scripts to the site.
    • Makes the site load slower.
    • Makes the site be larger, that may be an issue for mobile devices.
  • Has some past with Cross-Site Scripting (XSS) attacks
  • Doesn't do too good job with dynamically generated data.
    • Needs more setup
    • Needs more custom JavaScript for every case
  • A/B testing needs manually create each version of the page, and requires redirect
  • For MVT the markup of the section needs to be changed to add the script tags for each and every item that is to be tested.
  • Adds development work
@Poetro
Poetro / httpclient.js
Created February 19, 2011 11:49
HTTPClient class
// http://svn.janoszen.com/repos/jsfw/trunk/httpclient.js
function HTTPClient() {
this._xhr = this._getXHR();
}
HTTPClient.prototype = {
_xhr : undefined,
_method : "GET",
_url : "",
@Poetro
Poetro / gist:871295
Created March 15, 2011 19:38
jade template broken
h1= title
p Welcome to #{title}
p
| To view a user's Twitter widget go to 
code /get/{TwitterUserName}
| for example
a(href="/get/Poetro") /get/Poetro
$ npm update jade optimist express
npm info it worked if it ends with ok
npm info using npm@0.3.18
npm info using node@v0.4.3
npm info updates express@2.1.1 jade@0.10.1 optimist@0.1.8
npm info preupdate express@2.1.1
npm info preupdate jade@0.10.1
npm info preupdate optimist@0.1.8
npm info fetch http://registry.npmjs.org/express/-/express-2.1.1.tgz
npm info fetch http://registry.npmjs.org/jade/-/jade-0.10.1.tgz
@Poetro
Poetro / intro.md
Created September 15, 2011 18:01
A Node.js bemutatása

A Node.js egy 2 éves dinamikusan fejlődő, és hatalmas fejlesztői közösséget megmozgató szerver oldali JavaScript környezet. Segítségével weboldalakat, konzolos segédalkalmazásokat, internetes szolgáltatásak építhetünk egy teljesen új eseményvezérelt és aszinkron I/O-t használó rendszerben, mely kevésbé érzékeny a nagy számú konkurens kérésre mint sok más szerver oldalon használt rendszer. Ezt a kezdeményezést szeretném bemutatni, szemléltetve az előnyöket és hátrányokat valamint a működést pár egyszerű példán keresztül.


A Ryan Dahl által 2009-ben kitalált új platform a Node.js napjaink egyik legfelkapottabb alkalmazás platformja. Ryan célja egy eseményvezérelt, aszonkron I/O környezet létrehozása volt. Mivel a JavaScript alkalmazások és programozók számára ez természetes közeg, ezért esett a választás a nyelvre.

A kezdetek óta a rendszer sokat változott és fejlődött, valamint egyre több operációs rendszeren érhető el natívan. Elsődleges platformot továbbra is a *nix rendszerek képezik, de már Windows a

@Poetro
Poetro / http.js
Created November 23, 2011 15:26
Simple HTTP file server with some minor logic
var http = require('http'),
fs = require('fs'),
url = require('url'),
server = new http.Server(),
port = 1337,
host = '127.0.0.1',
publicFiles = {},
path = require('path'),
mimes = {
'default': 'text/plain; charset=utf-8',

Már több mint negyed éve interjúztatok JavaScript fejlesztői állásra, és észrevettem, hogy a mi kérdéssorunkból mire tudják a legkevesebben a választ, illetve mire adnak rendszeresen hibás választ. Ezeket a kérdéseket és válaszokat próbáltam összegyűjteni, hátha mások tanulni fognak belőle.

Hogyan működik az öröklődés JavaScriptben?

JavaScriptben prototípusos (prototypal) öröklődés van, ami azt jelenti, hogy egy osztály a prototípusától örökli a tulajdonságait. A prototípusa pedig szintén örökölhet tulajdonságokat a saját prototípusától, így jön létre a prototípus lánc (prototype chain). A prototípus lánc azt jelenti, hogy amikor a objektum egy tulajdonságát kérdezzük le, akkor a JavaScript motor előbb megnézi, hogy az definiálva van-e magán az objektumon, majd annak prototípusán, majd a prototípus prototípusán stb. Ha megtalálja, akkor visszadja, ha nem, akkor undefined értéket ad vissza vagy ReferenceError hibát dob.

Milyen értéket kap egy változó alapértelmezetten?

undefined

Mi a külö

@Poetro
Poetro / OOP in JavaScript.md
Last active August 29, 2015 14:13
OOP in JavaScript

OOP in JavaScript

JavaScript is an Object Oriented language. It is a prototypical language, which means it handles inheritance by prototypes rather than classes. In JavaScript everything is an object or is automatically converted to one (except for null and undefined).

Primitives

JavaScript has 5 primitive types (number, boolean, string, null and undefined) that will automatically be wrapped into an object when methods are called on them, and then transformed back to primitive (except for null and undefined which does not have a wrapper objects):

"string".slice(2).replace("r", "k") === "king"; // true
@Poetro
Poetro / OOP-Javascriptben.md
Last active October 3, 2020 05:08
Objektum orientált programozás JavaScriptben

Objektum orientált programozás JavaScriptben

A következő cikksorozattal szeretném folytatni a JavaScript nyelv bemutatását, amit a függvények bemutatásával kezdtem el. A további cikkekben szeretnék jobban elmélyedni a további témákba, mint

  • funkcionális programozás,
  • eseménykezelés,
  • objektumok
  • valamint kitérni arra, hogyan változnak meg az ECMAScript (ES) következő változataiban.

Jelen esetben korszerű ES5 kompatibilis JavaScript motort feltételezek, de kitérek arra, hogyan lehet megvalósítani mindezt régebbi böngészőkben is (amennyiben egyáltalán lehetséges).