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.

  1. Windows 10’da java home adresi nasıl öğrenilir?
  2. Maven ile komut satırından java merhaba dünya projesi yaratmak
  3. Windows 10 Maven Lokal repo nerededir?
  4. Maven’ı vekil (proxy) sunucunun olduğu ortamlarda nasıl kullanırım?
  5. Windows 10’da kullanıcı home diznini nasıl öğrenebilirim?
  6. Java jar dosyasını çalıştırmak
  7. jar dosyasının içeriğini görmek
  8. Python MongoDB Kullanırken pymongo ile okuduğum dokümanları nasıl pretty() yazdırırım?
  9. MongoDB null karşılığı Python’da nedir?
  10. Elasticsearch’te mevcut tüm indeksleri nasıl listelerim? Python örneği:
  11. Pip paketi hakkında detaylı bilgiyi nasıl öğrenirim?
  12. Pip paketini kaldırırken promt’un sorusuna otomatik cevap vermek ( y/n )
  13. Mevcut bir github projesine ait local repo oluşturmak ve projeye dahil olmak
  14. Linux CentOS7 üzerine Apache Maven kurmak – maven on linux – centos maven installation
  15. PostgreSQL veri tabanlarını listelemek – sql ve komut satırı
  16. PostgreSQL veritabanı seçmek
  17. PostgreSQL tabloları listelemek
  18. Mlflow server stop – mlflow server durdurma
  19. Github mistakenly push large files – How to remove a big file wrongly committed
  20. Github’dan klasör indirmek – Download folder from github
  21. Komut satırından Windows path’e ekleme yapmak
  22. 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

 

Yazar Hakkında
Toplam 179 yazı
Erkan ŞİRİN
Erkan ŞİRİN
10 yılı aşkın süredir yurtiçi ve yurtdışında sektörde büyük veri mühendisliği, platform yönetimi ve makine öğrenmesi ile ilgili çalışmalar yürütmekte ve aynı zamanda birçok kurum ve şirkete danışmanlık ve eğitimler vermektedir. Çalışma alanları: Data ve MLOps platformları, gerçek zamanlı veri işleme, değişen veriyi yakalama (CDC) ve Lakehouse.
Yorumlar (Yorum yapılmamış)

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

×

Bir Şeyler Ara