Yapay Zekâdan Nasıl Faydalanıyorum
Uygulama geliştirirken hangi yapay zekâ araç-gereçlerinden faydalandığımı anlattım.
GitHub Copilot
En sık kullandığım uygulama GitHub Copilot. Ayda 10$’a pro üyeliğim var. İki IDE kullanıyorum çoğunlukla
Java/Scala/Kotlin için IntelliJ IDEA
Diğer tüm ihtiyaçlar için VS Code
Her iki IDE’de de Copilot eklentilerini kurdum ve aktif olarak kullanıyorum. Copilot ile yaptığım bazı şeyler:
Otomatik kod yazdırıyorum. Mesela bir fonksiyonun ismini ve argümanlarını yazıp geri kalanını Copilot’tan gelen öneriyle tamamlıyorum.
Bazen sadece comment yazıyorum ve istediğim şeyi tarif ediyorum. Örnek:
// Write a function that will list all the objects with a given S3 prefix. It should iterate through the list and get the individual objects which are JSON serialized.Ve yazdığı kod:
import boto3
import json
from botocore.exceptions import NoCredentialsError
def list_and_get_s3_objects(bucket_name, prefix):
s3 = boto3.client('s3')
try:
# List objects with the given prefix
response = s3.list_objects_v2(Bucket=bucket_name, Prefix=prefix)
objects = response.get('Contents', [])
for obj in objects:
key = obj['Key']
print(f"Fetching object: {key}")
# Get the object
obj_response = s3.get_object(Bucket=bucket_name, Key=key)
obj_data = obj_response['Body'].read().decode('utf-8')
obj_json = json.loads(obj_data)
# Print or process the JSON object
print(json.dumps(obj_json, indent=2))
except NoCredentialsError:
print("Credentials not available")
except Exception as e:
print(f"Error fetching objects: {e}")
# Example usage
bucket_name = 'your-s3-bucket-name'
prefix = 'your-prefix/'
list_and_get_s3_objects(bucket_name, prefix)SQL veritabanı şeması oluşturma: Copilot chat penceresinde uygulamamda saklayacağım datanın şeklini şemalını anlatıp, buna karşılık gelecek tabloların “CREATE TABLE” ifadelerini ürettiriyorum.
SQL Query'si yazdırma: Copilot chat penceresinde, istediğim sorguyu tarif ediyorum. “Şu indeksi kullan, şu alanlara ihtiyacım var, şu ilişkili tabloda kayıt olmasa da sonuçları görmek istiyorum” gibi tariflerle istediğim query’yi ürettirip hemen veritabanında deneyip görebiliyorum.
Hata çözümleme: Özellikle react vb. çok ustası olmadığım yerlerden gelen hataları hemen anlayamayabiliyorum. Bu durumda Copilot’a hata mesajını verip, bu hatayı nasıl çözebilirim diye soruyorum.
Uygulamamdaki çeşitli modüller için unit-test yazmasını istiyorum. Bunun yanında seed ve test datası oluşturmasını da istiyorum. Mesela
Create some test data that follows this format
{
"authors": [
{
"author": {
"key": "/authors/OL447710A"
},
"type": {
"key": "/type/author_role"
}
}
],
"covers": [
9333846
],
"created": {
"type": "/type/datetime",
"value": "2020-04-22T12:24:06.390097"
},
"key": "/works/OL20666330W",
"last_modified": {
"type": "/type/datetime",
"value": "2025-01-18T18:32:09.935060"
},
"latest_revision": 4,
"revision": 4,
"subjects": [
"Science",
"Artificial intelligence",
"Machine learning",
"Nonfiction"
],
"title": "Artificial Intelligence",
"type": {
"key": "/type/work"
}
}Copilot’un ürettiği örnek:
{
"authors": [
{
"author": {
"key": "/authors/OL123456A"
},
"type": {
"key": "/type/author_role"
}
}
],
"covers": [1234567],
"created": {
"type": "/type/datetime",
"value": "2021-05-15T10:20:30.123456"
},
"key": "/works/OL98765432W",
"last_modified": {
"type": "/type/datetime",
"value": "2025-02-21T12:45:00.000000"
},
"latest_revision": 3,
"revision": 3,
"subjects": [
"Technology",
"Computer Science",
"Programming",
"Nonfiction"
],
"title": "Introduction to Programming",
"type": {
"key": "/type/work"
}
}Çeşitli ihtiyaçlar için config veya policy dokümanları üretmekte de Copilot’tan istifade ediyorum. Mesela
Write an IAM policy document for my AWS Lambda Function that will be synchronously invoked through API Gateway to serve some http requests. It should have read-only access to an S3 bucket and it will publish to an SNS topic.Gelen cevap:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "logs:CreateLogGroup",
"Resource": "arn:aws:logs:us-east-1:536697245225:*"
},
{
"Effect": "Allow",
"Action": ["logs:CreateLogStream", "logs:PutLogEvents"],
"Resource": [
"arn:aws:logs:us-east-1:536697245225:log-group:/aws/lambda/sqs:*"
]
},
{
"Effect": "Allow",
"Action": ["s3:GetObject", "s3:ListBucket"],
"Resource": [
"arn:aws:s3:::your-s3-bucket-name",
"arn:aws:s3:::your-s3-bucket-name/*"
]
},
{
"Effect": "Allow",
"Action": "sns:Publish",
"Resource": "arn:aws:sns:us-east-1:536697245225:your-sns-topic-name"
}
]
}Akabinde yönelttiğim sual ve gelen cevap
ChatGPT
Bazen IDE’de olmuyorum, ortada hiçbir şey yok diyelim. Bu durumda elim chatgpt’ye gidiyor. Mesela tek sayfalık bir web uygulaması yapmak istiyorum. Önce chatgpt ile istediğim uygulama için örnek bir veri oluşturuyorum. Kafamda neleri görmek isteyip istemediğimi netleştiriyorum.
Bazen de bir framework ya da tooling tercihi için chatgpt’ye danışabiliyorum:
Which IaC tool should I use to manage a full stack web app on AWS? I want the best development experience and it should be free.
I'm planning to build a serverless app that makes use of AWS Lambda, API Gateway, SQS/SNS and Step functions. It will involve managing multiple environments and automated CI/CD pipeline.ChatGPT bana güzel bir karşılaştırma tablosu çiziyor
Vercel V0
Web uygulamaları yaparken önyüzü genellikle nextjs ile yapmayı tercih ediyorum. Ve çoğunlukla da Vercel üzerinden host ediyorum. Vercel’in geliştirici deneyimi mükemmel. Bunun yanında bir de v0.dev var ki en çok kullandığım tarafı da bu. Benim asla yapamayacağım kadar güzel ön yüzler çıkarıyor.
Yukarıda chatgpt ile ürettiğim veriyi kullanarak v0.dev’e derdimi anlatıyorum
Create a client-side rendered single page app that will display the places I've visited. For now ignore the server-side and assume we have an endpoint that returns a list of the places in this format:
... (buraya yukarıdaki json'ı yapıştırıyorum)Ve bana gayet şık bir react uygulaması veriyor.
https://v0-client-side-rendered-app.vercel.app
Eğer v0.dev üzerinden, yapay zekânın yazdığı koda bakmak isterseniz buraya tıklayın.
Eğer sizin de geliştirme döngünüzde kullanıp memnun kaldığınız use-case’ler ve yapay zekâ araç gereçleri varsa, nasıl kullandığınızı yorumlarda paylaşabilirsiniz. Her şey çok taze ve gelişme sürecinde olduğu için farklı kullanım şekillerini görmek insanın ufkunu açıyor.






kalemine saglik abi, cok guzel olmus. Bende boyle birsey yazdim belki hosuna gider. https://www.linkedin.com/posts/akingundogdu_jetbrains-activity-7295490306454519808-6JzL?utm_source=share&utm_medium=member_desktop&rcm=ACoAAA4LXikBIIJg132_0lF4Zq5HVsk_1iJNpjQ