Powtoon Animasyolu Video Slayt Oluşturma

Powtoon Studio, Powtoon'unuzu kolayca oluşturabileceğiniz, tüm araçlara hızlı erişim sağlayacak şekilde tasarlanmıştır.
Bu makale, Studio'nun çeşitli bileşenlerini tanımanıza yardımcı olacaktır.


Tüm dökümana ulaşmak için linke tıklayabilirsiniz.
https://support.powtoon.com/en/the-basics/getting-started



1. Aşama

Bu, Powtoon'da bulunan tüm içeriği kullanarak sahnenizi oluşturduğunuz alandır.

2. Slayt Paneli

Slayt paneli, tüm slaytları küçük resim görünümünde görüntülemek için kullanılır. Slayt ekleme , silme ve çoğaltma dahil birçok eylemi gerçekleştirmek için bu görünümü kullanabilirsiniz .

3. Zaman Çizelgesi
Zaman çizelgesi, slayttaki tüm nesnelerin zamanlamasının görsel bir temsilidir. Daha fazla bilgi için zaman çizelgesine giriş bölümüne bakın.

4. Ses Kontrol Düğmesi
Ses Kontrol paneline erişmek için bu düğmeye tıklayın. Daha fazla bilgi için Ses kontrol panelini anlama bölümüne bakın.

5. Sekmeler
Sekmeler (Sahneler, Arka Plan, Metin vb.), Powtoon Studio'daki tüm içeriğe giriş noktalarıdır.


6. Sahne Araçları



a. Kafes
Izgarayı açıp kapatmak için bu anahtarı değiştirin. Daha fazla bilgi için bkz. Nesneleri ızgarayı kullanarak hizalama .

B. En Boy Oranı
Powtoon'unuzun görüntüleneceği platforma en uygun en boy oranını seçin. Bu ayar Powtoon sahnesinin boyutunu tanımlar.
Bir en boy oranı seçtikten sonra (varsayılan, yatay dışında), sahne alanı değişecek ve sahnenin dışına yerleştirilen nesneler Powtoon'a dahil edilmeyecektir.
Yatay (16:9): Bu, varsayılan en boy oranıdır ve Powtoon'unuz YouTube'da görüntülenecekse kullanılmalıdır.
Kare (1:1): Powtoon'unuz öncelikle sosyal medyada (Facebook, Instagram) veya bir haber kaynağında görüntülenecekse bu en boy oranını seçin.
Dikey (9:16): Powtoon'unuz öncelikle bir mobil cihazda görüntülenecekse bu en boy oranını seçin.

C. yakınlaştır
İstediğiniz yakınlaştırma yüzdesi ayarını seçmek için kaydırıcıyı kullanın.

7. Üst Çubuk




a. Hızlı Menü
Powtoon'un ana seçeneklerine erişmek için tıklayın.

B. Benim Powtoon'larım
Powtoon'larım sayfasına erişmek için Powtoon'a tıklayın .

C. Stüdyo Modu
Düzenle ve Oluştur modları arasında geçiş yapmak için bu kaydırıcıyı değiştirin . Daha fazla bilgi için Yeni Powtoon Oluşturma bölümüne bakın.

D. Yardım
Powtoon yardım kaynaklarına erişmek için tıklayın.

E. Düzenlemek
Temel düzenleme işlevine erişmek için tıklayın: kes, kopyala, yapıştır, sil.
Bu özelliğin yalnızca sahnede bir nesne seçildiğinde etkin olacağını unutmayın.

F. Okları Geri Al/Yinele
Gerçekleştirdiğiniz eylemleri geri almak veya yinelemek için bu okları kullanın.

G. Powtoon Başlığını Düzenle
Powtoon'unuzun adını düzenlemek için bu alana tıklayın.

H. Kaydet Düğmesi
Değişiklikleri kaydetmek için Kaydet'e tıklayın .
Değişikliklerinizi kaydettikten sonra, Kaydedildi görüntülenecektir.

i. Ön izleme
Powtoon'unuzu önizlemek ve dışa aktarma işlemine başlamak için tıklayın .

J. Paylaş
Başkalarının izlemesi için Powtoon'unuzun paylaşılabilir bir bağlantısını oluşturmak için tıklayın
k. İhracat
Dışa aktarma işlemini başlatmak için tıklayın.

Sibernetik

 Sibernetik mekaniksel ilişkilere, bilgisayar bilimine ve sosyal teoriye uygulanmıştır. Sibernetik; bilgisayar biliminde, biyolojik, elektronik ve mekanik sistemlerde iletişim çalışmalarını ve kontrol süreçlerini inceleyen bir bilim olarak kabul edilmektedir. 


Sibernetik , düzenleyici ve amaçlı sistemlerle ilgili geniş kapsamlı bir alandır . Sibernetiğin temel kavramı döngüsel nedensellik veya geri bildirimdir. (Geri besleme , bir sistemin çıktıları, bir devre veya döngü oluşturan bir sebep-sonuç zincirinin parçası olarak girdiler olarak geri yönlendirildiğinde meydana gelir .Daha sonra sistemin kendi içine geri beslendiği söylenebilir .)


Sibernetiğin mantığı, basit bir geri bildirim döngüsü sayesinde sistemlere öz denetim kazandırmaktır. Sibernetik, eylemin yol açtığı değişimlerin sistem içinde geribildirim yolu ile yansıtıldığı, kapalı sinyal döngüsü şeklinde ifade edilen sistemlere uygulanan bir yaklaşımdır. Sibernetik sistemlerin geri bildirimler sayesinde değişime uğraması dairesel nedensellik ilişkisi olarak tanımlanır. Sibernetik sistemler, yapay olabilecekleri gibi biyolojik de olabilirler.


12. yüzyılda Cizre'li fizikçi, robot ve matris ustası bilim insanı El-Cezeri, sibernetik alanın ilk isimlerindendir.


https://en.wikipedia.org/wiki/Cybernetics

https://tr.wikipedia.org/wiki/Otopoiesis

https://en.wikipedia.org/wiki/Feedback

https://tr.wikipedia.org/wiki/Sibernetik

https://www.hurriyet.com.tr/egitim/sibernetik-nedir-sibernetik-bilimi-ne-ise-yapar-41858146

https://www.innova.com.tr/tr/blog/dijital-donusum-blog/karmasik-sistemlerin-bilimi-sibernetik-nedir

Mongodb komutları

Mongodb de ilişkisel veritanlarındakine benzer tablo satır mantığı gibi koleksiyonlar ve dokümanlar bulunmaktadır.




Koleksiyon adları harf yada _ ile başlamalıdır.
$ , boşluk karakteri , system ifadeler kullanılmaz.
Koleksiyon adları en fazla 128 karakter olabilir.

Dökümanlar , json formatı isim değer çiftleri şeklinde veriyi tutar.

- Integer: Nümerik değerleri tutmak için kullanılır.
- Boolean: True veya False değerleri.
- Double:  Ondalık sayı değerleri.
- Diziler: Geçerli veri tiplerinde diziler kullanılır.
- Nesne:   Dökümana gömüllü alt dökümanlar için kullanıllır.
- Null:    Null değeri için kullanıllır.
- Date:    Unix başlangıç zamanından itibaren geçen saniye sayısı.
- Object ID: Dökümanın id değeri için kullanıllır.
- Binary data: İkili dosya formatında verileri kaydetmek için kullanıllır.
- Javascript kodu: Dökümanlarda geçerli javascript kodlarını saklamak için kullanıllır.
- Zaman damgası: Döküman oluşturma ve güncelleme zamanını tutmak için kullanıllır.
- Min / max anahtarları: En büyük veya en küçük değerlerle karşılaştırmak için kullanıllır.

- Use: var olan veritabanını seçmek, yoksa oluşturmak için kullanıllır.
> use testDB

switched to db testdb

- show databases: Veritabanlarını listelemek için kullanıllır.
> show databases

admin   0.000GB
config  0.000GB
local   0.000GB
testDB  0.000GB

- show collections: veritabanının içindeki koleksiyonları gösterir (mysql veya mssql deki tablo gibi düşünebilir fakat fonkisyonel olarak farklıdır.)
> show collections
test

- db.test.insert() :veri ekleme komutu
> db.test.insert({
... "ad"          : "ahmet",
... "soyad"       : "can",
... "dogumTarihi" : 1996,
... "eposta"      : [
... "a@gmail.com",
... "b@gmail.com",
... "c@gmail.com"
... ]
...
... })

WriteResult({ "nInserted" : 1 })

- db.test.find() veri arama listeleme komutu
> db.test.find({ad:"ahmet"})

{ "_id" : ObjectId("5bd6e0822c41e810722ddc13"), "ad" : "ahmet", "soyad" : "can", "dogumTarihi" : 1996, "eposta" : [ "a@gmail.com", "b@gmail.com", "c@gmail.com" ] }

- db.test.find().sort() : sıralama komutu
   1  artan şekilde sıralama
  -1 azalan şekilde sıralama
> db.test.find().sort({soyad:1})

{ "_id" : ObjectId("5bd6e0822c41e810722ddc13"), "ad" : "ahmet", "soyad" : "can", "dogumTarihi" : 1996, "eposta" : [ "a@gmail.com", "b@gmail.com", "c@gmail.com" ] }

- db.test.find().limit() : gelen sorguda gösterme limiti ekleme
> db.test.find().limit(2)

{ "_id" : ObjectId("5bd6e0822c41e810722ddc13"), "ad" : "ahmet", "soyad" : "can", "dogumTarihi" : 1996, "eposta" : [ "a@gmail.com", "b@gmail.com", "c@gmail.com" ] }
{ "_id" : ObjectId("5bd6e29f2c41e810722ddc14"), "ad" : "mehmet", "soyad" : "kaan", "dogumTarihi" : 1995, "eposta" : [ "d@gmail.com", "e@gmail.com", "f@gmail.com" ] }

- db.test.update({}, {$set: {} }) : kaıtlı veriyi update etmek.
> db.test.update( { ad:'ahmet' } , { $set: { dogumTarihi:1993 } } )

WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

- db.test.remove({}); : tüm dökümanları siler
>db.test.remove({})

- db.test.remove({dokuman tipi:"değer"}) : belli bir değeri silmek için kullanılır
> db.test.remove({ad:"ali"})

WriteResult({ "nRemoved" : 1 })

- db.test.renameCollection('') koleksiyon adını değiştirmek
> db.test.renameCollection('users')

{ "ok" : 1 }

- db.test.drop() koleksiyon silme
> db.test.drop()

- db.dropDatabase() veritabanını  silme
> db.dropDatabase()

Nodejs mongoose Nodejs




var mongoose = require('mongoose');
mongoose.connect('mongodb://127.0.0.1:27017/users');
var db = mongoose.connection;
//var User = require('user.js');

var Schema = mongoose.Schema;
var userSchema = new Schema({
ad:String,
soyad:String,
dogumTarihi:String,
email:[String]
});

var User = mongoose.model('User',userSchema);


db.once('open', function(){
console.log('veritabanı bağlantı sağlandı');
var user1 = new User({
ad:'ozcan',
soyad:'kaş',
dogumTarihi:'11/22/2000',
email:['ocan@gmail.com','ozcana@gmail.com']
});

user1.save(function(error){
if(error) throw error;
console.log('\n');
console.log('kullanıcı kaydedildi');
});

User.find({ad: 'ozcan'}, function(error,docs){
console.log('\n ***listeleme');
console.log(docs);
});

User.findById({_id: '5bd70cfdb922dd3b387c4cec'}, function(error,docs){
console.log('\n ***dokumanları id değeri ile sorgular');
console.log(docs);
});

User.count({ad: 'ozcan'}, function(conditions,callback){
console.log('\n ***Dokuman sayısını verir');
console.log(conditions);
console.log(callback);
});

User.remove({_id: '5bd70cfdb922dd3b387c4cec'}, function(conditions,callback){
console.log('\n ***Koşulları sağlayan dokuman silinir');
console.log(conditions);
console.log(callback);
});

User.remove({ad: 'ozcan'}, function(field,conditions,callback){
console.log('\n ***Koşulları sağlayan dokumanlardan farklı fieldlar listelenir');
console.log(conditions);
console.log(conditions);
console.log(callback);
});
/*
Model
.update
.where('age').gte(25)
.where('tags').in(['movie','music','art'])
.select('name','age','tags')
.skip(20)
.limit(10)
.asc('age')
.slaveOk()
.hint({age:1,name:1})
.exec(callback)
http://mongoosejs.com
*/
});

Nodejs mongodb uygulaması Nodejs


nodejs ile mongodb 'den veri çekme veri ekleme veri silmek. Arayüz jade ve bootstrap

https://github.com/hkmsmart/nodejs-mongodb-ornek


PHP merge resim birleştirme Php

Php ile iki resmi birleştirme. 
İki resmi birleştirip yeni bir image oluşturma





<?php
$files = $_FILES;
$file_name = tr_to_utf($value);

//1. fotoğraf
$file1 = $files['front'];
$source_path1 = $file1['tmp_name'];
$file_size1 = $file1['size'];
$ext1 = pathinfo($file1['name']);

//2. fotoğraf
$file2 = $files['back'];
$source_path2 = $file2['tmp_name'];
$file_size2 = $file2['size'];
$ext2 = pathinfo($file2['name']);

//dosya yolu
$today_root = "uploads/" .date('y-m-d');

if(isset($file1) AND isset($file2) AND $file_size1 != 0 AND $file_size2 != 0){
img_merge($source_path1,$source_path2,$file_name,$directory);
}

function img_merge($file1,$file2,$file_name,$directory){
$image1 = $file1;
$image2 = $file2;
$directory = $directory.'/'.$file_name.'.png';

list($width1,$height1) = getimagesize($image1);
list($width2,$height2) = getimagesize($image2);

$image1 = imagecreatefromstring(file_get_contents($image1));
$image2 = imagecreatefromstring(file_get_contents($image2));

$x1 = imagesx($image1);
$y1 = imagesy($image1);

$new_width = $width1+$width2;
$new_height = $height1+$height2;

$new_image = imagecreatetruecolor($new_width,$new_height);

imagecopyresized($new_image, $image1, 0, 0, 0, 0, $width1, $height1,$x1,$y1);
imagecopymerge($new_image, $image2, 0, $height1, 0, 0, $width2, $height2, 100);

if(imagepng($new_image,$directory)){
return true;
}
else{
false;
}
}
?>


Dosya Okuma Php

Php ile sunucudaki dosya içerisindeki verileri çekme.



<?php
$date = date('y-m-d');
$file_name = "logs/log_".$date.".txt";
$fp = fopen($filename, "r");//dosyayı okuma modunda aç
$contents = fread($fp, filesize($filename));//dosyayı oku

echo "<pre>$contents</pre>";//dosyanın verilerini yazdırma

fclose($fp);//dosyayı kapat
?>

İki Dizi Karşılaştırma (Multi Array Match) Php


 

2 dizi arasındaki aynı olan elemanını veya elemanlarını verir. İlk yazılan dizinin ikinci diziye göre olan aynı olan elemanını veya elemanlarını verir






$companyNameArr = explode(" ",$companyName);
$branchArr = array("şube","Şube","ŞUBE","ŞUBESİ");
$result = array_intersect($companyNameArr,$branchArr);

if(COUNT($result)>0){
foreach ($result as $item) {
return str_replace($item,"Şubesi",$companyName);
}
}

Php OOP ile Basit Rest Servisi Php

 

Php OOP ile Basit Rest Servisi Php






<?php
class ServiceClass
{
function __construct(){
$this->requestParams=$_REQUEST;
//...
}
public function authenticate($params){
//...
}
public function writeToLog($params){
//...
}
public function getUsers($params){
//...
}
public function getUser($params){
//...
}
public function postUser($params){
//...
}
public function deleteUser($params){
//...
}
public function updateUser($params){
//...
}
}

try {
$cs = new ServiceClass();
$json = $cs->authenticate();

$cs->writeToLog();

if(!isset($json['errorCode']) && $cs->is_authenticated)
{
//Requesten gelen "method" değişkeni boş değil ise
if(!empty($cs->requestParams['method']))
{

$method = $cs->requestParams['method'];
//Belirtilen Class 'ın içinde ilgili methodun olup olmadığına bakılır.
if(method_exists($cs, $method)){
$json=$cs->$method();
}
else{
$json=array("status"=>"error","errorCode"=>"-3","message" => "Metod Bulunamadı");
}
}
else{
$json=array("status"=>"error","errorCode"=>"-2","message" => "Lütfen Method İsmini Giriniz");
}
}

echo json_encode($json,JSON_UNESCAPED_UNICODE);
}
catch(Exception $e){
$json=array('status'=>'error','errorCode'=>'-1','message'=>'Yakalanamayan Hata:'.$e->getMessage());
echo json_encode($json,JSON_UNESCAPED_UNICODE);
}
?>