[]

programlama web tasarım ya da programlama dilleri öğrenmek

programlama,ağ güvenliği-yönetimi web tasarım ya da programlama dilleri için illa ki matematik cebir trigonometri vs kafasında mı olmak lazım. mesela sosyal bilimler eğitimi almış birisi programcı olamaz mı? programlama dillerini çözemez mi?




 
mecbur değil. matematikten anlayan insan daha kolay öğrenir ama sosyal bilimciler de tabi ki programlama yapabilir.


  • lemmiwinks  (04.08.16 07:28:24) 
nedense öyle bir algı var bende hatta çevremdeki herkeste. c# c++ java öğrenmek istiyorum ama bunlar senii aşar denecekse web tasarımı ve ağ yönetimi güvenliği de okuyabilirim. bu arada ben lisans mezunuyum yüksek lisans yapıyorum kariyerimle alakalı olmayan bir alan olduğunu bile bile bu işe girsem mi diye soruyorum.


  • haskoylu deli hasan  (04.08.16 08:01:58) 
öncelikle çok çalışman gerekecek, hem de çok. c++ zor olur. java da c#'tan daha zor bence (aslında çok benzer ama c#'ın dünyası kendi içinde daha tutarlı, microsoft desteği var falan). bu üçü arasından c# derim. ya da python ile bir başlangıç yapıp, programlama temellerini öğrenebilirsin. ya da backend'i boşverip frontend için html, css, javascript öğrenebilirsin. üzerine de react, angularjs gibi bir framework. frontend biraz daha kolay olabilir, daha çabuk sonuç alırsın. ama tek başına site yapmak istersen hem backend, hem frontend bilmen lazım. backend öğreneceksen bir de sql öğrenmen lazım.

iş olarak yapacaksan bunları öğrendikten sonra kendin bir şeyler geliştirmen gerekir ki iş görüşmelerinde şunları yaptım diyebilesin.
  • lemmiwinks  (04.08.16 08:19:00) 
matematik bilmenize gerek yok ama matematik yeteneğinizin olması lazım. Örneğin, ortaokulda matematiği anlamak için çalışmak zorunda kaldıysanız yazılımcılık yaparken zorlanabilirsiniz ama bunlar kesin değil genel prensip olarak söylüyorum.
Web tasarımı (web programcılığı ve web tasarımı farklı şeyler) çok farklı bir iş o tamamen sanatsal yetenek gerektiriyor.
Ağ yönetimi ise tamamen farklı bir şey.

Yapılan araştırmalar programlama yeteneğinin doğuştan geldiğini gösteriyor, genelde yazılımla ilgili derslerde iki çan oluşmakta. Bu nedenle programlamaya başladığınızda temel kavramlar kolay geliyorsa hemen anlıyorsanız devam edin. Bu konuda temel 2 gösterge recursion ve pointer'dır bunları çok kolay anlayamıyorsanız muhtemelen yazılımcılık size göre değil.
  • nuka cola  (04.08.16 08:22:30) 
yani denklemler vs de iyiydim matematiği hep temelden gördüm mesela limit türev hiç görmedim ben . logaritmayı üniversitede gördüm ama çok kafam basmadı. geometrininde temelini anlarım buna karşılık biyolojiden hiç anlamayan ben fizikten çok hoşlaşırım mesele matetaiğim 3 falan olabilirken fiziğim kimyam 4 5 ti genelde. bunları matematik sayısal zekamın durumunu göstermek için anlatıyorum. diğer yönden güzel sanatlardan mezunum. sosyal bilimlerde iyiyimdir, bu bitirdiğim lisanstan evvel siyasal okuyordum. abd ye gidip orada bilgisayar vs okusam mı diye düşünüyorum. sonrasında orada yaşamak gibi niyetim var. ve bunun en kolay yolu sağlık ya da bilgisayar bilimleri okumak. bu saydıklarım içerisinde hangisi farkındalık yaratma imkanı sağlar ve söylediklerim ışığında üstüne düşmemi önerirsiniz.


  • haskoylu deli hasan  (04.08.16 08:41:23) 
matematikten anlamayan bu işi yapamaz.
gerek yok diyen yalan söylüyordur.

  • tchuck  (04.08.16 08:53:36) 
Bu söylediklerinizden yola çıkarak yaparsınız bence. Gidin ABD'ye bir daha da gelmeyin orada yazılımcı olun, yazılımcı maaşları çok iyi ABD'de.


  • nuka cola  (04.08.16 09:29:05) 
tchuck'ı sallama, kendisini über full stack developer olarak gören bir insan evladı, daha fazla insanın bu işe girmesini istemiyor. Front end'i her türlü yaparsın matematik bilgisine gerek kalmadan, ha işin içine illa c# java sokmak istiyorum diyorsan evet matematik gerekli.


  • devorgilla the gunslinger  (04.08.16 09:32:38) 
tchuck'ı sallama bence de. :)


  • lemmiwinks  (04.08.16 09:34:48) 
ders içeriklerini inceledim hemen hepsini becerebilirim geliyor. mesela cebir dersi var yani alay mı ediyorlar anlamadım ki sınavları bu derece basit olması akıl alır gibi değil türkiyedeki orta 2 matematiği abd de üniversitede gösteriliyor sanki. o nedenle derslerden korkmuyorum sadece programlama yapabilir miyim onu yapanlara sormak istedim olayın mantığını kavrayabilmem için(nasıl programlama yapılır diye sormuyorum) bir programcıda olması gereken özellikler yetenekler şunlardır kimler bu işlerden uzak dursun onu anlamaya çalışıyorm. sabırla yanıt verdiğiniz içinde teşekkürler


adamların yaptığı sınavdaki sorular böyle , ben bunları ezbere çözerim

i.hizliresim.com

önerilerinize daima açığım. :)
  • haskoylu deli hasan  (04.08.16 09:49:29 ~ 09:51:56) 
şöyle bir şey buldum örnek sorulara baktım mantıklı gibi bi yapın isterseniz.
www.computeraptitude.com

  • nuka cola  (04.08.16 10:07:32) 
matematik bilmeyebilirsin ama matematik yetenegin var ise hersey cok kolay olur. Matematigin tamamina ihtiyacin olmayacktir, denklemler ve mantik konularina hakimsen büyük oranda yeterli olur. Programlama tamamen soyutlama yetenegi gerektiriyor, aynen matematik gibi. Matematik bilmeyen bir programci programlama dili ve o dile ait API(programlam diline ait bir cesit klavuz arac diyebiliriz), kütüphaneler (bir cesit hazir yazilmis arac gerec), ve frameworkler (mimari araclar) ögrenebilir ama algoritma yazmakta zorlanabilir. Algoritma yazamamak demek sadece elindekileri kullanarak üretmek ama yeni birsey üretememek demektir. Yani matematik bilmek ilerlemenin anahtari.

Özellikle piyasada iki türlü programci var, birincisi sadece dökümantasyonlari ve elindeki kütüphaneleri kullanarak program/uygulama yazanlar, ve ihtiyaci olan araclari cok iyi bilienler. Ikincisi ise gerektiginde kütüphaneleri kullandigi gibi gerektiginde algoritma yazip daha karmasik problemlerin icinden cikabilenler.

O yüzden bu ise giren insanlarin önünde hicbir engel yok, matematik bilmeden de hemen baslasinlar ama ilerde seviye atlamak icin ihtiyaclari olacaktir o yüzden akillarinin bir kenarinda dursun, o konuda kendilerini gelistirmeleri gerekecektir.
  • emrahday  (04.08.16 11:00:57) 
zaten anladığım kadarıyla arkadaş üniversite'de okumayı planlıyor o nedenle matematik bilgi eksikliğini de giderecektir.


  • nuka cola  (04.08.16 11:03:47) 
tekrar merhaba değerli bilgiler için teşekkürler evet mantık falan onlarda sorun yok denklemleri çözmektede yani kavramlar arası ilişki kurmaksa onda oldukça başarılıyım.

üniversitede değil kolejde okumayı düşünüyorum bizim yuksekokula denk gelıyor.

ders içerikle(başka derslerde var ama programcılıkla alakalı olanlar bunlar)

i.hizliresim.com


aşağıdakı ders ıcerıklerı ıse ağ yonetıcılıgı ve guvenlıgı derslerı

i.hizliresim.com

ben aslında web tasarı ıcın daha yatkın oldugumu dusunuyoruma ama asp vs dıllerını ogrenmem gerek onu yapmak ıcın sanırım. öyle yada böyle programcılıktan anlamam lazım demek kı. o nedenle bır ıse kalkısacaksam daha fazla zaman kaybetmek ıstemem. birde androıd ve ios uygulamaları yazmak isterdım o konular ınsanlara dogrudan ulaşılabılecek daha hızlı karıyer yapılacak alanlar gıbı gelıyor.

not: özensiz türkçem içinde kusuruma bakmayın normalde böyle değilimdir ama bugün üzerimde bir bezginlik var ne biçim ülkede yaşıyoruz biz yahu. usandım cidden stresten sinirden....
  • haskoylu deli hasan  (04.08.16 12:23:26 ~ 12:26:07) 
ders icerikleri cok iyi bence ve kapsamli. "elective" derserin arasinda da cok iyi dersler var. Tabi bu dersleri alman demek bir projeyi bastan asagi tek basina yapabilecek oman demek degil.

Kapsamli bir web sitesi gelistirmek icin bu uzmanliklarda insanlara ihtiyac duyulur;

Back End Developer: bu kisi icin en önemli araclar C++, C, Java, C# gibi güclü programlama dilleridi. Algoritma yazma kabilieyeti beklenir, data yapilarina hakim olmak gerekir.

Front End Developer: bu kisi icin en önemli dil JavaScript dir. Html ve CSS de gerekir. Bunun yaninda http teknolojisi/protokolüne hakim olmasi beklenir. Browserlari iyi tanimasi gerekir. Back-end developer kadar cok algoritma gelistirmesi gerekmez. web tasarim yapmaz, tasarimi koda döker.

Mobil Developer: bunda iki popüler gelistirici tipi vardir, Android ve iOS gelistiriler. Android gelistirici Java bilmeli, iOS gelistirici Objective C veya Swift dillerini bilmelidir. Ayrica http gibi teknolojileri, ve gelistirigi platformun API ve dökümantasyona hakim olmasi beklenir.

Database Architecure: Bu kisi icin en önemli arac SQL dir. data yapilari ve veri tiplerine hakim olmalidir.

Web Designer: Bu kisinin programlama ile hicbir alakasi yoktur, bu kisi sanatcidir ama bilgisayar kullanarak sanat yapar. web sitelerinin görünümünü renklerini tasarlar. Matematige ihtiyaci limitlidir. dil bilmesi gerekmez, photoshop, ilustrator gibi programlari kullanmasi beklenir, bir de kafasini sanata calismasi , zevkli biri olmasi beklenir. Kafanin bu konuda karisik oldugunu düsünüyorum, web designeri programcilar ile karistirma.

Ders programina baktigimda Web designer haric tüm bu alanlar icin ise yarayacak dersler (web designer icin CIT 115 var ama o ders cok genel anlatimlidir). Tüm bu dersler arasinda en sevdiklerine göre ilerde bu yukaridaki alanlardan birinde uzmanlasabilirsin. Örnegin CIT150 back-end icin kritik, front-end icin önemlidir. CIT215 front end icin önemlidir.

Sana tavsiyem önce programci mi olacaksin, tasarimci mi, sistemci mi ona karar ver. Eger programci olmak istiyorsan programlama bölümüne gir. bölümde okurken hangi alana yönlenecegine karar ver. verdigin karara göre o alan icin önemli dilleri ve araclari ögren. aklinda bulunsun bu okuldan mezun olursan bir projeyi tek basina iyi bir sekilde yapayabilirsin ama cok iyi temelin olur, gerisi kendi cabanla ilerler.

Ama eger sistemci olacaksan digerine gir, linux ögren, python dilini ögren. elektronik bilgini gelistir, networkü anla. Bir de kendine "raspberry pi 3" cihazi al.
  • emrahday  (04.08.16 18:39:44 ~ 18:43:52) 
Aslında programcı olnak istiyorum ama korkularım ve kendi çapımda bu mesleğin uygukanış biçimiyle ilgili çok fazla soru işaretim var. Mesela bir programcı ne yapar? Mesela bir restoran otomasyon sistemi için program yqzmak istersem ve bu program x yapsın z yapsın y yapsın şu olursa bu olsun gibi kombinasyonları hangi dille hangi yöntemle nasıl yapacağımı aldığım eğitimle öğrenebilecek miyim? Çünkü nette bakıyorum adam c++ ile program yazıyor ama o program ampul yakıyor kapatıyor falan hep örnekler basit. Ve ben bunları görünce yaparım bunu diyorum karma karışık otomasyon programları ya da buna benzerleri için ise durum muhtemelen bambaşkadır. Örneğin arayüzü falan tasarlamak kimin işidir bunları merak ediyorum aslında bana bir kitap falan önerebilir misiniz? Neyin ne olduğunu programcının neyi nasıl yapacağına yönelik.


  • haskoylu deli hasan  (06.08.16 21:24:26) 
Ya bunları işin içine girmeden öğrenemezsin maalesef. Kitapla sana büyük sitemler yazmayı öğretemezler.


  • nuka cola  (08.08.16 07:38:08) 
Bir yazilim projesi nasil uygulanir?
Bir projeyi uygulamak icin önce yazilim methodolojisinden baslanir. Belli basli methodlar var mesela Scrum, waterfall, ya da Kanban. Bunlar bir yazilim projesinde kimin ne rol alacagini, kimden is alip kime verecegini, isin yaparken ne yol izlenecegini belirler. Örnegin benim sirketimde Scrum uygulaniyor.

Özetle bir projeyi nasil ele aliyoruz:
- Ilk basta is analizcileri isi alir, müsteriyle konusur, müsterinin ihtiyaclarini listelerler.
- bu istekleri "product manager" ve "project manager" ile paylasirlar.
- sonra olaya "scrum master" girer ve bu islerin ne kadar zamanda yapilacagi, kimin nasil ele alacagini konularinda liderlik yapar.
- sonra biz yazilimcilari cagirirlar. yapilacak isi anlatirlar.
- biz yazilimcilarda o isi nasil yapacagimizi tartisiriz, hangi dil ile yapacagimizi, hangi mimari kullanacagimizi, ince detayina kadar tartisiriz.
- sonra prototip yapariz, isi basit bir sekilde yapan yazilimi yazariz.
- sonra bu prototipe göre yazilmi en ince detayina kadar yazariz, herkesin bir rolü varidir. tasarimci tasarimi photoshop ile yapar. sayfadaki her seyi pixel pixel ölcülerini bizimle paylasir. front end bu tasarimi jsp, html, css, javascript ile koda döker. buna paralel olarak da back-end ve databaseciler de arka tarafta verinin saklanmasi, verinin getirilmesi ile ilgili kodlar java ile yazar. herkesin yazdigi kisim isin kücük parcalaridir. herkes kendine en uygun, severek yapabilecegi, tecrübeli oldugu kücük bir is parcasini ele alir. kimisi güvenlikte iyidir, kimisi performans, kimisi matematik gerektiren algoritma yazar, kimisi session, kimisi ekranda buton yapar.
- kodalari yazdiktan sonra design calisani ile birlikte "desgin review" yapariz.
- yazdigimiz kodu birlestirmeden önce QA ve test takimi ile toplanti yapariz, bizden ne istendi tekrar üzerinden geceriz. sonra onlarin önerilerine göre test kodlarini yazariz. yazdigimiz testler unit testleri ve integration testleridir. testler bizden istenen tüm fonksiyonlarin düzgün calisip calismadigini test eder. her test basarili olursa kodlari birlestiriz.
- QA ve test takimi bizim test kodlarini tekrar calistirir, isterlerse degistirirler. Bazi yerleri elle test ederler. Eger yaptigimiz is tüm testleri gecerse onay verirp isi kapatirlar. gecmez iste isi reddedip nedeniyle beraber bize tekrar atarlar.
- Yazilimcilar olarak is tüm testleri gecene kadar tekrar tekrar kodlarin üzerinde calisiriz.
- hersey kusursuz olunca project manager, product manager, scrum master ve tüm developer takimi toplanti yapariz, yaptigimiz islerin calisan versiyonunu sunum yapariz. product manager da hersey iyi olmus der ise bir döngü biter, sonra digeri baslar. bir döngü yaklasik 3 hafta sürüyor bizde, ama bu isten ise degisir. bazi sirketlerde bir döngü 1 yil sürebilir, bazilarinda 1 hafta. bu isin türüne göre degisir.

Bu isleri okulda yüzeysel görürsün ama asla icine girmeden tam anlayamazsin, o yüzden calisarak ögrenilir bunlar. Bence kaliteli bir web projesi icin alanlarinda uzman en az 5 kisiye ihtiyac vardir. 1 kisi de yapabilir ama bu kaliteyi düsürecektir.

Bu isi teorik taraftan ögrenmek icin su kitaplari önerebilirim:
www.amazon.com
www.amazon.com

Eger project manager degil de yazilimci olacaksan bu kitaplari ilk planda cok detayli okuyup ezberlemene gerek yok, senin ilk planda yazililim kücük parcalarini yapmaya yönelmen daha iyi olur, aynen verdigin örnekteki ampül yakmak gibi.
  • emrahday  (08.08.16 12:00:21 ~ 12:22:59) 
emrahday, sen varsa hakikaten adamsın. sıkılmadan usanmadan tam istediğim şeye cevap vermişsin. işte genel olarak merak ettiğim buydu benim. verdiğin örnekleri kullandığın terimleri de dikkatlice incelemeye devam edeceğim. nuka kola sana da teşekkürler. sağ olun ikinizde.


  • haskoylu deli hasan  (09.08.16 16:59:11) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.