Smalltalk Programlama Dili ve popüler olmayan teknolojileri bilmememiz

Önce şunu okumanızı tavsiye ederim: https://talk.istanbulcoders.org/t/stakoverflow-gelistirici-anketi/1756

Haha ben Smalltalk’ı aramızda yaptığımız teknik geyikler sanıyordum ta ki şu yazıyı görene kadar: https://medium.com/smalltalk-talk/smalltalk-and-the-future-of-the-software-industry-3f69cac13e5a

TL;DR:
Çocuklara programlamayı öğretmek için geliştirilmiş OOP dili.


Smalltallk %67 oranında dünyada sevilmiş olmasını ve bizim pek bilmememizi(kendimden yola çıktım) “language barrier” e bağlıyorum. Tamam kimimizin ingilizcesi çok iyi: Türkçe okur gibi okuyup anlıyor kimisi biraz daha uğraşıp anlıyor… ama müthiş konforlu hissetmiyoruz.

Aynen Smalltalk gibi popüler olmayan teknolijilerde kaynaklar ingilizce olduğu için bizde pek yayılmıyor. Bu yüzden main stream ve arkadaşımdan öğrenebileceğim teknolojiler ile uğraşıyoruz hep. Bu yüzden herkes .NET çi diyip ırkçılık yapayım :smile:

Biraz daha Smalltalk istiyorum diyenler:
Xerox PARC’tan bir grup 40 yıl kadar önce tasarlanan pure OOP dili imiş Smalltalk. Bu araç programlama dili, hem IDE hem de tüm runtime altyapsını içeriyormuş. Bu yapı edit-test-debug aşamalarını bayağı kısaltmış.
Smalltalk’ın bir amacı da çocuklara programlamayı öğretmek imiş. Temelde kartpostala benzer bir mesajlaşma yapısına dayanıyormuş.
Onlarca yıl sonra Smalltalk mirası ile birkaç tane yeni dil geliştirilmiş. Web için geliştirilen Amber Amberde yazılan kodları javascript’e dönüştürüyor cross browser ve cross mobile platform çalıştığını iddia ediyor. Ve EmberJs ile bir alakası yok galiba.
JVM üzerinde çalışan smalltalk(Jython gibi yandan çarklı işler) ise Redline:
_”Redline Smalltalk is still a Smalltalk in that you can do everything at runtime, including adding methods to classes, generating and compiling code”

Android command line interface start Activity

My Android needs response from web services to setup menus and activities. And there are test and production services and theirs settings in menus. Here we go , if the app cant get response from web services I can’t go settings menu and change it to production or test by using user interface.

I found below commands to go settings activity.

adb devices

List of devices attached
41002fd644d7916f device

C:\WINDOWS\system32>adb shell
shell@tre3g:/ $ am start -n com.unlu.mobil/.PreferencesActivity

Encountered below error which require settings in Manifest to be solved.

(more…)

MongoDb installation

İlk önce normal program gibi inidirip next next kuruyoruz şu linkten: MongoDb download

Sonra komutların çalışması için enviroment variables ayarlarını yapıoruz aşağıdaki gibi.

mondodb env variables

 

 

 

 

 

 

Şimdi Mondodb yi windows servisi olarak tanımlayalım. Bunu 2 şekilde yapabiliriz

  1. 1- komut satırından verilen parametrelerle
  2. mongod --dbpath=C:\data\db --logpath=C:\data\logs\log.txt --install

2 – Config dosyası oluşturup yukarıdaki ayarları oraya koymak.

systemLog:
 destination: file
 path: c:\data\logs\mongod.log
storage:
 dbPath: c:\data\db
mongod --config C:\data\mongo.cfg --install


mongod --config mongo.cfg --install => is wrong , gave me error
F CONTROL  [main] Failed global initialization: BadValue: config requires an absolute file path with Windows services

JDK and JRE diffs

Merhabalar,

Şirkete de eve de tekrar tekrar java development kurunca farkettim ki: JDK kurunca client JRE yanında kuruluyormus. Bu Jre server JRE dan biraz eksi biraz fazla özellikleri var.

Baştan başlayayım. Şu sayfaya  gidip bakınca JDK, client JRE ve server JRE olduğunu göreceksiniz. JDK and JRE main page

JDK download : The JDK is a development environment for building applications, applets, and components using the Java programming language.

The JDK includes tools useful for developing and testing programs written in the Java programming language and running on the Java platform.

Client JRE : If you want to develop applications for Java, download the Java Development Kit, or JDK™. The JDK includes the JRE, so you do not have to download both separately.

Server JRE : The Server JRE includes tools for JVM monitoring and tools commonly required for server applications, but does not include browser integration (the Java plug-in).

Sonuç olarak Java ile backend geliştirmek istiyorsak JDK’yı yüklememiz yeterli yanında JRE’yi yükleyecek ve yazdıklarımızı test edebileceğiz. Ama bu yüklenen JRE’nin client veya server JRE’den neleri eksik emin değilim.

Yeni Pc

Bugün bilgisayarı yeniden kurdum ve birkaç tecrübemi aktarmak istiyorum.

1 – Git ayarları

  1. Ben client tarafında source kod yönetimini tortoise git ile yapmayı seviyorum. Eskiden SVN kullanıyordum Tortoise SVN den alıştım bu tool’a .
  2. Eğer git(generic altyapı: bir tool’a bağlı değil) ‘i kurmadan tortoise git ile kod clone etmeye çalışırsam şöyle bir uyarı alıyordum.
  3. git error
  4. Çözümü ise tabiki git’i kurmak 🙂 Windows için =>
  5. http://git-scm.com/download/win

(more…)

Crashlytics list my app but doesn’t show crashe reports

Finally solved this problem. I have been curious why it doesn’t work even though my other app’s crashlytics report works well.

Gradle was guiltyas usual 🙂 if you are in same situation so make sure applicationId is correct

defaultConfig {
    applicationId "com.unlu.mobil"
    minSdkVersion 15
    targetSdkVersion 24
    // Enabling multidex support.
    multiDexEnabled true
}

exo player gradle problem

I used to have a problem with exo player while working with build.gradle

solution : remove maven central from repositories and add jcenter() only

if you use viewpagerindicator library you will have to find out to get it because of removing maven central. I gave a try take it to local so it works 🙂

HTTP protokolu , webapi ve yapilan yanlislar

Profesyonel olarak webapi , rest yada soap servisleri yazmadim. Sadece hobi projeleri olarak kaldilar.

Bugunlerde is yerinde yasadigim problem su idi.

Servis yazan arkadaslar yanlis sifre ile login isleminde HTTP 400 hatasi donuyorlar ve iceriginde status ile hata mesajini donuyorlar.  Bence bir business hatasini (sifre yanlis bir business hatasidir) HTTP olarak ifade etmek yanlis. Dogrusu su olmali

HTTP 200 OK. Yani request teknik olarak dogru.

Cevap ise cookie veya token donmek yerine bir hata mesaji olmalidir. Bu hata mesajlari her request methodunda ayni tipte hatta belirli bir modelde donmeliki client da generic bir hata mesaji gosterim ekrani yapabilsin.

Export Executable Spring Project with Maven

These following points are important while I was developing rest apis with Spring Java on windows 7 Enviroment

1. netstat -nao | find “8080” to find the process which process use 8080 port(http)

2. taskkill /pid 1396 /f command to kill that particular process

3. maven-compiler-plugin

4. echo “$USER” or “whoami”

curl -H “Accept: application/xml” -H “Content-Type: application/xml” -X GET http://localhost:8080/lookup/?itemnumber=B013U0F6EQ

tcpdump -vv -x -X -s 1500 -i eth0 ‘port 80’

All the problem was this plugin.

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>${project.build.sourceEncoding}</encoding>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
</configuration>
</plugin>

Jquery Selectors

Merhaba,

Bildiginiz gibi Jquery ile HTML de istedigimiz CSS e sahip olan alanları secebiliyoruz hatta editleyebiliyoruz.  Mesele Parent > Child asagidaki gibi secilebilir ve ilgili alan editlenebilir.