Pratik Bilgiler ve Komutlar-1
Merhaba pratik bilgiler ve pratik komutlar yazı dizisindeki amacımız herkese her an lazım olabilecek pratik bilgiler paylaşmaktır. Bu yazı dizisi oluşurken yine kendi ihtiyaçlarımdan yola çıktım. Çok sık veya seyrek ihtiyaç duyduğum bilgileri not aldım ve sizlere de faydalı olabileceğini düşündüm. Baştan sona bir bütün olarak belki okumazsınız ama muhtemelen arama motorları ile bu yazı dizisine ulaşmış olabilirsiniz.
- Windows 10’da java home adresi nasıl öğrenilir?
- Maven ile komut satırından java merhaba dünya projesi yaratmak
- Windows 10 Maven Lokal repo nerededir?
- Maven’ı vekil (proxy) sunucunun olduğu ortamlarda nasıl kullanırım?
- Windows 10’da kullanıcı home diznini nasıl öğrenebilirim?
- Java jar dosyasını çalıştırmak
- jar dosyasının içeriğini görmek
- Python MongoDB Kullanırken pymongo ile okuduğum dokümanları nasıl pretty() yazdırırım?
- MongoDB null karşılığı Python’da nedir?
- Elasticsearch’te mevcut tüm indeksleri nasıl listelerim? Python örneği:
- Pip paketi hakkında detaylı bilgiyi nasıl öğrenirim?
- Pip paketini kaldırırken promt’un sorusuna otomatik cevap vermek ( y/n )
- Mevcut bir github projesine ait local repo oluşturmak ve projeye dahil olmak
- Linux CentOS7 üzerine Apache Maven kurmak – maven on linux – centos maven installation
- PostgreSQL veri tabanlarını listelemek – sql ve komut satırı
- PostgreSQL veritabanı seçmek
- PostgreSQL tabloları listelemek
- Mlflow server stop – mlflow server durdurma
- Github mistakenly push large files – How to remove a big file wrongly committed
- Github’dan klasör indirmek – Download folder from github
- Komut satırından Windows path’e ekleme yapmak
- git reset – önceki commite dönüş
1. Windows 10’da java home adresi nasıl öğrenilir?
Komut:
echo %JAVA_HOME%
Çıktı:
C:\Program Files\Java\jdk1.8.0_201
2. Maven ile komut satırından java merhaba dünya projesi yaratmak
mvn archetype:generate -DgroupId=com.veribilimiokulu -DartifactId=simple-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
3. Windows 10 Maven Lokal repo nerededir?
C:\Users\user_name\.m2
4. Maven’ı vekil (proxy) sunucunun olduğu ortamlarda nasıl kullanırım?
m2 dosyası içinde settings.xml oluştur ve aşağıdaki kodları ekle. Eğer proxy sunucu kimlik doğrulama gerektirmiyor ise username ve password’u es geçebilirsiniz.
<proxies> <proxy> <id>myproxy</id> <active>true</active> <protocol>http</protocol> <host>proxy.myorg.com</host> <port>8080</port> <username>proxyuser</username> <password>somepassword</password> <nonProxyHosts>*.myorg.com </nonProxyHosts> </proxy> </proxies>
Neden böyle bir şeye ihtiyaç var. Çünkü bağımlılıkları indirmek için maven internete erişmek zorundadır.
Komut:
5. Windows 10’da kullanıcı home diznini nasıl öğrenebilirim?
echo %HOMEDRIVE%%HOMEPATH%
Çıktı:
C:\Users\user
6. Java jar dosyasını çalıştırmak
java -cp jarDosyasi.jar paketAdi.SinifAdi Örnek: java -cp target\simple-project-intellij-1.0-SNAPSHOT.jar com.veribilimiokulu.App
7. jar dosyasının içeriğini görmek
jar tf target\spark-scala-maven-01-1.0-SNAPSHOT.jar
META-INF/MANIFEST.MF META-INF/ META-INF/maven/ META-INF/maven/com.veribilimiokulu/ META-INF/maven/com.veribilimiokulu/spark-scala-maven-01/ META-INF/maven/com.veribilimiokulu/spark-scala-maven-01/pom.xml META-INF/maven/com.veribilimiokulu/spark-scala-maven-01/pom.properties
8. Python MongoDB Kullanırken pymongo ile okuduğum dokümanları nasıl pretty() yazdırırım?
Bunun için pprint kütüphanesini kullanmamız gerekir.
from pprint import pprint for i in flight_coll.find(): pprint(i)
{'_id': ObjectId('5d5b979a606fb6a2ba8c642e'), 'aircraft': 'Airbus A380', 'arrivalAirport': 'SFO', 'departureAirport': 'MUC', 'distance': 12000, 'intercontinental': True, 'status': {'description': 'on-time', 'lastUpdated': '1 hour ago'}} {'_id': ObjectId('5d5b979a606fb6a2ba8c642f'), 'aircraft': 'Airbus A320', 'arrivalAirport': 'TXL', 'departureAirport': 'LHR', 'distance': 950, 'intercontinental': False, 'status': {'description': 'on-time', 'lastUpdated': '1 hour ago'}}
9. MongoDB null karşılığı Python’da nedir?
MongoDB’de null
değerinin Python karşılığı None
‘dır.
10. Elasticsearch’te mevcut tüm indeksleri nasıl listelerim? Python örneği:
es.indices.get_alias("*")
{'carrefoursa': {'aliases': {}},
'.kibana_task_manager': {'aliases': {}},
'orders': {'aliases': {}},
'shakespeare': {'aliases': {}},
'mallcustomers': {'aliases': {}},
'custom_analyzer_index': {'aliases': {}},
'.kibana_1': {'aliases': {'.kibana': {}}},
'migros': {'aliases': {}},
'logstash-2015.05.20': {'aliases': {}},
'turkish_index': {'aliases': {}},
'amazon_products': {'aliases': {}},
'logstash-2015.05.19': {'aliases': {}},
'logstash-2015.05.18': {'aliases': {}},
'bank': {'aliases': {}}}
11. Pip paketi hakkında detaylı bilgiyi nasıl öğrenirim?
pip show paket_adı pip show pandas Name: pandas Version: 0.19.2 Summary: Powerful data structures for data analysis, time series,and statistics Home-page: http://pandas.pydata.org Author: The PyData Development Team Author-email: pydata@googlegroups.com License: BSD Location: /home/nbuser/anaconda3_23/lib/python3.4/site-packages Requires: python-dateutil, pytz, numpy
12. Pip paketini kaldırırken promt’un sorusuna otomatik cevap vermek ( y/n )
! python -m pip uninstall -y tensorflow
13. Mevcut bir github projesine ait local repo oluşturmak ve projeye dahil olmak
Zaman zaman git kullanarak github’da mevcut bir projeye dahil olmak veya projeyi kendi hesabımıza fork edip oradan kendimiz devam etmek isteriz. Bunu sık sık yapmadığımız için neyi hangi sırayla yapacağımız karışabilir. Aşağıda git kurulu bir makinede mevcut bir github projesine dahil olma örneğini bulacaksınız.
Boş bir dizin içinde: [murat@utility youtubeJenkins]$ git init Initialized empty Git repository in /home/murat/youtubeJenkins/.git/ [murat@utility youtubeJenkins]$ git config --global user.email "murat@hotmail.com" [murat@utility youtubeJenkins]$ git config --global user.name "Murat Kara" [murat@utility youtubeJenkins]$ git remote add origin https://github.com/murat/jenkins-training.git [murat@utility youtubeJenkins]$ git pull origin master Username for 'https://github.com': murat Password for 'https://murat@github.com': remote: Enumerating objects: 14, done. remote: Counting objects: 100% (14/14), done. remote: Compressing objects: 100% (12/12), done. remote: Total 14 (delta 3), reused 10 (delta 2), pack-reused 0 Unpacking objects: 100% (14/14), done. From https://github.com/murat/jenkins-training * branch master -> FETCH_HEAD [murat@utility youtubeJenkins]$ nano README.md [murat@utility youtubeJenkins]$ git status # On branch master # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: README.md # no changes added to commit (use "git add" and/or "git commit -a") [murat@utility youtubeJenkins]$ git add . [murat@utility youtubeJenkins]$ git commit -m "readme.md modified second time" [master cf50528] readme.md modified second time 1 file changed, 1 insertion(+), 1 deletion(-) [murat@utility youtubeJenkins]$ git push origin master Username for 'https://github.com': murat Password for 'https://murat@github.com': Counting objects: 5, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 296 bytes | 0 bytes/s, done. Total 3 (delta 2), reused 0 (delta 0) remote: Resolving deltas: 100% (2/2), completed with 2 local objects. To https://github.com/murat/jenkins-training.git f250104..cf50528 master -> master
14. Linux CentOS7 üzerine Apache Maven kurmak
Arama motorunda Maven download diye arat, tar.gz uzantılı binary dosyasının linkini kopyala ve terminale geç.
# Kurulum dizinini seç [root@utility ~]# cd /opt/ # Binary dosyayı indir [root@utility opt]# wget https://kozyatagi.mirror.guzel.net.tr/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz # Dosyayı aç [root@utility opt]# tar xzf apache-maven-3.6.3-bin.tar.gz # maven adına soft link oluştur [root@utility opt]# ln -s apache-maven-3.6.3 maven # Farklı alternatifler varsa en son yüklediğimiz kullanılsın [root@utility opt]# update-alternatives --install /usr/bin/mvn maven /opt/maven/bin/mvn 1001 # Maven konfigürasyonlarını yapmak için dizin değiştir [root@utility opt]# cd /etc/profile.d/ # maven.sh dosyası oluştur(confs için) [root@utility profile.d]# nano maven.sh İçine şunları ekle(JAVA_HOME sizde farklı olabilir): # Apache Maven Environment Variables # MAVEN_HOME for Maven 1 - M2_HOME for Maven 2 export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk/ export M2_HOME=/opt/maven/ export MAVEN_HOME=/opt/maven/ export PATH=${M2_HOME}/bin:${PATH} # Dosyayı çalıştırılabilir yap [root@utility profile.d]# chmod +x maven.sh # Değişiklikleri işle [root@utility profile.d]# source maven.sh # Kontrol et [root@utility profile.d]# mvn -version Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: /opt/maven Java version: 1.8.0_232, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-957.12.2.el7.x86_64", arch: "amd64", family: "unix"
15. PostgreSQL veri tabanlarını listelemek – sql ve komut satırı
# SQL tarzı select datname from pg_database; # Shell tarzı \l
16. PostgreSQL veritabanı seçmek
\c db_to_select;
17. PostgreSQL tabloları listelemek
# Veri tabanını seçtikten sonra \dt # sql way select * from pg_catalog.pg_tables where schemaname != 'pg_catalog' and schemaname != 'information_schema';
18. Mlflow server stop – mlflow server durdurma
Servisi listele.
ps -A | grep gunicorn 8452 pts/2 00:00:15 gunicorn 12300 pts/2 00:00:05 gunicorn 12301 pts/2 00:00:05 gunicorn 12302 pts/2 00:00:05 gunicorn 12303 pts/2 00:00:05 gunicorn
Kill mlflow server
pkill -f gunicorn
19. Github mistakenly push large files – How to remove a big file wrongly committed
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com. remote: error: Trace: 41d5d52462ae501882b347ebf072c2ceb353377f66a22f3a0eea6020e4778a8b remote: error: See http://git.io/iEPt8g for more information. remote: error: File market5mil.csv.gz is 256.55 MB; this exceeds GitHub's file size limit of 100.00 MB To git@github.com:erkansirin78/datasets.git ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to 'git@github.com:erkansirin78/datasets.git'
Eğer yukarıdakine benzer bir hata aldıysanız github’a 100 MB’den daha büyük bir dosya göndermeye çalışmışsınızdır. Bunu düzeltmek zaman zaman insanı kahredebiliyor. ben çözümümü burada paylaşıyorum. Önce yeteri kadar geri gelin.
git reset –hard HEAD~5
Sonra uzak repo olan github’dan en son değişiklikleri çekin
git pull origin master
Daha sonra push etmeye çalıştığınızda herşey güncel diyecektir.
git push origin master
Everything up-to-date
Şimdi büyük boyutlu dosyalarınızı ayıklayarak devam edebilirsiniz.
19. Github’dan klasör indirmek – Download folder from github
Github’dan dosyaları indirebiliyoruz ancak reponun tamamını indirmeden sadece bir klasörü indirmek github imkanlarıylamümkün değil. Bunun için farklı yöntemler var. Birisi de https://downgit.github.io/ adresine klasör url’ini yapıştırıp download demek. Klasör sıkıştırılmış dosya olarak inecektir.
20. Komut satırından Windows path’e ekleme yapmak
Powershell’i yönetici olarak çalıştır. C:\Program Files\openshift-origin-client\ diznini path’e ekle.
> $env:Path += ";C:\Program Files\openshift-origin-client\"
21. git reset – önceki commite katı dönüş
git reset --hard 9f5c8e03f51fdfd48b57fd59189f54aef920de71 git push origin HEAD:dev --force