×

Kod Keyfi

Kod Keyfi Youtube kanalımdaki programlama anlattığım videolar.

C# Best Practices

  • 0:51 Name things well
  • 7:51 One class per file
  • 10:18 Use properties not variables
  • 12:58 Methods should do one thing
  • 23:27 Keep it simple
  • 28:21 Be consistent
  • 32:25 Use curly braces for if statements
  • 37:45 Concatenate strings using $""
  • 45:38 Avoid global variables
  • 48:40 Use public modifier only when necessary
  • 50:53 Never trust the user
  • 52:28 Plan before you build

Javascript Önemli Konular

  • Closures (global değişken kullanmadan sayıcı)
    var add = (function () { var counter = 0; return function () {return counter = 1;} })();
  • Higher Order Functions, Map,Reduce
  • Recursion
  • async,await, callbacks
  • Prototype, Constructor, Inheritance
  • Currying
  • Promises
  • Herşeye property eklenir var a={}; a.b="x"; var a =[];a.b="x";var a =function(){};a.b="x"
  • Fonksiyonlar nesnedir.
  • Değişkenin globalitesi (variable scoping)

Top 10 things beginners must know about JS

Python Önemli Konular

  • Version meselesi. 2.7, 3.6 vs.
  • Python Shell  kullanma
  • pip ve module install etme
  • os ve sys modülleri
  • list comprehension 
    >>> list1 = [i for i in range(2,16,2)]  
    >>> list1  
    [2, 4, 6, 8, 10, 12, 14]  
  • Slicing 
    list2 = list1[start:stop:step]  
  • Dictionaries and Sets 
    >>> dict_example = {'Bob' : 21, 'Chris' : 33, 'Dave' : 40}  
  • Generators 
    >>> [i for i in range(10)]  
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]  

 

Önemli Programlama Dilleri

Java, Javascript, Python, R, C Sharp

Tarihi Önemi Olan Kodcular

  • Dennis Ritchie, C, Bell Labs, 1960s
  • Linus Torvalds, Linux, Git
  • Bjarne Straustrop, C
  • Kenneth Thomson: B, Unix OS, Bell Labs, 1960s. Google Go, 2009
  • Guido van Rossum, Python
  • James Gosling, Java
  • Niklaus Emil Wirth, Pascal, Modula, Algol
  • Anders Hejlsberg, Turbo Pascal, C Sharp, Typescript
  • Brendan Eich, Javascript, Netscape, 1995
  • John McCarthy, Lisp, MIT, 1958

Object-Oriented Programming is Bad

An explanation of why you should favor procedural programming over Object-Oriented Programming

Sections of Video

  • What am I not complaining about?
  • What is OOP really?
  • Why does OOP dominate the industry if it is bad?
  • Why doesn't OOP work?
  • How should we write code without OOP?

Also, my notes from video:

  • OOP doesn't fit any problem and you shouldn't take it seriously.
  • We don't need encapsulation.
  • NOT the problem: Classes, performance, abstraction, aesthetics

Veritabanları

nosql-database.org

  • Oracle
  • MS SQL Server
  • MySql
  • Postgre SQL
  • Mongo DB
  • SqLite
  • LiteDB
  • Raven DB

Programlama Notları

Burada karşılaşıp çözdükçe not aldığım kritik bilgiler mevcut.

Functional Programming With JS

  • input -> output. bir input girer, output çıkar. (sanki OOP de böyle değil mi? nüans farkı var :) ) 
  • Avoid side effects. Pure functions. başka yerdeki datayı işleyen fonksiyon iyi değildir.
  • Higher-order functions. İç içe geçmiş fonsksiyonlar.
  • Immutability. Avoid mutability. datayı dışardan değiştirmeme.
  • Persistent data structures.  

Linux üzerinde FSharp Kurulum

https://fsharp.org/ merkez nokta.

Dotnet Core ve VSCode kurulu ise gerisi kolay. VSCode için OmniSharp extension kuruluyor.

Extension kurulduktan sonra kod yazmaya başlamak için yapılması gereken tek şey bir klasör açıp onun içinde terminalde dotnet new console --language F# yazmak yeterli.

Ayrıca Ionide-Fsharp extension var.

Dotnet Core Kurulum

Linux İçin

https://dotnet.microsoft.com/download sitesinden Linux kısmından şu linke ulaşmak gerekiyor.

https://docs.microsoft.com/en-us/dotnet/core/install/linux-debian

Yada direk aşağıdaki üç satırı sırayla kopyalaıp terminale yapıştırıp çalıştırarak linux üzerinde kurulabilir.

wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb

dpkg -i packages-microsoft-prod.deb

sudo apt-get update; \ sudo apt-get install -y apt-transport-https && \ sudo apt-get update && \ sudo apt-get install -y dotnet-sdk-3.1

4 Languages From 40 Years Ago

  • SQL
  • Prolog
  • Smalltalk
  • ML Metalanguage
  • Language X

Smalltalk

1970'lerde Alan Kay tarafından geliştirilen ilk nesneye dayalı programlama dili. Bu açıdan önemli. Burada örnek kodlar mevcut. https://learnxinyminutes.com/docs/smalltalk/

Smalltalk kod denemesi yapmak için burayı kullanabilirsiniz.

Exploring NET's Memory Management

The .NET Garbage Collector (GC) is really cool. It helps providing our applications with virtually unlimited memory, so we can focus on writing code instead of manually freeing up memory. But how does .NET manage that memory? What are hidden allocations? Are strings evil? It still matters to understand when and where memory is allocated.

Döngüyü Anlamak

Döngü konusunu derinlemesine ele alıyoruz.