Ömer Yiğit Aker
MEAN Stack; MongoDb, ExpressJs, AngularJs ve NodeJs kullanılan full-stack proje geliştirmek için gerekli toollardır.
Herşey Javascript
Bir versiyon kontrol sisteminden çok daha fazlası.
Ne işe yarar:
- Kod Güvenliği
- Düzenli Geliştirme
- Ortak Yönetim
- Community Desteği
Verileri JSON(JavaScript Object Notation) olarak tutan NoSQL(not only SQL) bir veritabanı.
- Klasik table yapısından kurtulun
- Collections
db.users.insert({
name: 'Omer',
age: 16,
isDead: false
})
// Json Data Formatı
// Basit bir insertdb.users.find()
// Bütün kullanıcıları getirBack-end taraflı kod geliştirilmesini sağlayan bir Javscript şeysi.
- Kendine özgü pm
- Bol kaynak
var http = require('http');
var server = http.createServer(function(request,response){
response.writeHead(200,{'Content-type':'text/html'});
response.end('<h1>Trabzon Hackerspace');
});
server.listen(3000);
// En basit http serverAngularJS, google'nin desteklediği, javascript MVC kütüphanesidir. MVC (Modal View Controller) verinin, görünümün ve kontrollerin ayrı tutulmasına dayanır.
- HTML’i geliştirmenin en kolay yolu: directive’ler.
- Google güveni ve hızlı büyüyen topluluk.
- Çift yönlü değişiklik dinleme.
- Çok eğlenceli, çok karizmatik.
'Murat Çorlu'
Express, Nodejs ile hızlı ve düzenli proje gerçekleştirebilmemizi sağlayan web framework’üdür. Kurulumu da oldukça basit.
Yüklemek için:
npm install express --saveNginx, Igor Sysoev tarafından yazılan bir http, reserve ve mail proxy sunucudur. Güncel bir istatistiğe göre Nginx sunucusu bugün, dünya genelinde yayında olan web sitelerinin %15'inde kullanılmakta ve pazar konumunu büyütmektedir.
Evet :)
var supertest = require('supertest');
var should = require('should');
var server = supertest.agent('http://localhost:9091');
describe('Main Page Unit Test',function () {
it('Ana sayfa düzgün dönmeli',function (done) {
server
.get('/')
.expect('Content-type',/text/)
.expect(200)
.end(function (err,res) {
res.status.should.equal(200);
done();
});
});
});
describe('Articles Page Unit Test',function () {
it('Makaleler düzgün dönmeli',function (done) {
server
.get('/articles')
.expect('Content-type',/text/)
.expect(200)
.end(function (err,res) {
res.status.should.equal(200);
done();
});
});
});
describe('Login Page Unit Test',function () {
it('Giriş sayfasına dönmeli',function (done) {
server
.get('/login')
.expect('Content-type',/text/)
.expect(200)
.end(function (err,res) {
res.status.should.equal(200);
done();
});
});
});
describe('Signup Page Unit Test',function () {
it('Kayıt sayfasına dönmeli',function (done) {
server
.get('/signup')
.expect('Content-type',/text/)
.expect(200)
.end(function (err,res) {
res.status.should.equal(200);
done();
});
});
});
describe('API Unit Test(Status 200)',function () {
it('Düzgün cevap gelmeli',function (done) {
server
.get('/api/all')
.expect('Content-type',/text/)
.expect(200)
.end(function (err,res) {
res.status.should.equal(200);
done();
});
});
});
describe('API Unit Test(Status 404)',function () {
it('Bulunamadı hatası gelmeli',function (done) {
server
.get('/api/login')
.expect('Content-type',/text/)
.expect(404)
.end(function (err,res) {
res.status.should.equal(404);
done();
});
});
});
describe('API Unit Test(Status 500)',function () {
it('Düzgün cevap gelmeli',function (done) {
server
.post('/api/login')
.expect('Content-type',/text/)
.expect(500)
.end(function (err,res) {
res.status.should.equal(500);
done();
});
});
});Jenkins bir “sürekli entegrasyon sunucusu”dur.
Yazdığınız kodu test eder (yazdığınız testleri çalıştırır), inşa eder sunucularınıza otomatik olarak yükler.
- Çok rahat