tag:blogger.com,1999:blog-73477380398658987002024-03-13T14:59:43.160+03:00Barış Atalay - Yeni Nesil YazılımcıKişisel web adresimdeki bloğuma gelen saldırılar sebebi ile kapatmış bulunmaktayım. Oradaki bütün paylaşımlarımı bu bloğuma tek tek ekledim ve paylaşımlarıma kendi çapımda buradan devam ediyorum.. Takip edenlere teşekkürler bilgi paylaştıkça çoğalır..Barış ATALAYhttp://www.blogger.com/profile/11603628662798288682noreply@blogger.comBlogger123125tag:blogger.com,1999:blog-7347738039865898700.post-68206628471320425702019-11-15T14:29:00.000+03:002019-11-15T14:29:10.993+03:00VPN Nedir? VPN ile Neler Yapabilirsiniz?VPN en az iki cihaz arasında oluşturulan sanal özel bir ağdır. VPN teknolojisi son yıllarda popüler olmuş olsa da aslında 1990’ların sonunda ortaya çıkmıştır. Öncelikle şirketler tarafından benimsenmiş olsa da daha sonra bireylerin çevrimiçi gizlilik ve güvenliklerine olan düşkünlüğünün ve erişim engellerinin artmasıyla kişisel kullanımı da yaygınlaşmıştır.<br />
<br />
<br />
VPN’in başlıca kullanım nedenlerinden biri <a href="https://www.express-vpn.com/tr/order" rel="nofollow" target="_blank">VPN programlarının sanal konumu gizlemesidir</a>. VPN programları internet bağlantısını tünelleme protokolü ile VPN sunucusu üzerinden şifreleyerek küresel internete bağlar. Noktadan Noktaya Tünelleme Protokolü (PPTP), İkinci Katman Tünelleme Protokolü (L2TP), Güvenli Soket Tünelleme Protokolü (SSTP), OpenVPN tünelleme protokollerine birer örnektir. En güvenilir tünelleme protokolü açık kaynak koduna sahip OpenVPN olarak görülmektedir. VPN şirketlerinden biri olan ExpressVPN, kendi VPN’inizi kuracaksanız <a href="https://www.chip.com.tr/haber/openvpn-nedir-yakindan-inceliyoruz_73534.html" rel="nofollow" target="_blank">OpenVPN</a> kullanmanızı tavsiye ediyor.<br />
<br />
<br />
Tünelleme sırasında veri paketleri kapsüllenir ve yeni bir IP adresi kazanır. IP adresi cihazınızdan çıkan veri paketlerinin internette kaybolmadan dolaşabilmesini sağlarken aynı zamanda fiziki konumunuzu bütün internet ile paylaşır. Değişen IP adresiniz sayesinde gerçek konumunuz saklanır ve internette anonim olursunuz.<br />
<br />
<br />
VPN programları aynı zamanda çeşitli şifreleme algoritmaları kullanarak veri akışının herhangi bir üçüncü parti tarafından okunmasını engeller. İnternet bağlantınız VPN kullanmadığınızda şifreli değildir. İnternet servis sağlayıcınız internet bağlantınızı görebilir ve kaydedebilir. Ağınızda bulunan diğer kişiler de internet bağlantınızı dilediklerinde görebilirler. Ziyaret ettiğiniz web siteler, ne zaman ziyaret ettiğiniz gibi bilgiler normal şartlarda şifrelenmemektedir. VPN kullandığınızda veri paketleriniz şifrelenir ve başka bir ağ üzerinden internete bağlanırsınız. İnternet servis sağlayıcınız başta olmak üzere herhangi bir üçüncü parti veri paketlerinizi okuyamaz.<br />
<br />
<br />
VPN programlarının sağladığı bu şifreleme ile evinizdeki ağ haricinde dışarıdaki ağlara da güvenle bağlanabilirsiniz. Otel ya da havaalanı gibi ortak alanlarda sunulan Wi-Fi ağını kimin yönettiğini bilemezsiniz. Bu tip ortak Wi-Fi ağları üzerinden kişisel veri ve bilgileriniz çalınabilir. Bu tip ağlarda ortadaki adam saldırılarına maruz kalabilirsiniz. Çevrimiçi iletişiminiz izlenebilir, kaydedilebilir veya değiştirilebilir. Örneğin, ortak bir Wi-Fi ağına sızmış olan siber saldırgan gönderdiğiniz e-postanın içeriğini değiştirebilir ya da size gelen e-postanın içeriğinde değişiklikler yapabilir.<br />
<br />
<br />
VPN programları ile sadece ülkenizde erişime engelli olan web sitelere erişmekle kalmaz aynı zamanda ülkenizde hiç hizmet vermeyen platformlara da ulaşabilirsiniz. Bunun yanında, VPN programları çevrimiçi oyun oynarken ping süresini düşürmek için çok kullanılmaktadır. Çevrimiçi<br />
oyun oynarken oyunun sunucularının bulunduğu ülke üzerinden internete bağlanarak ping sürenizi düşürebilirsiniz.<br />
<br />
<br />
Kullandığınız tarayıcıda VPN eklentisi kullanarak web siteler ile olan iletişiminizi güvende tutabilirsiniz. VPN kullandığınızda web siteler ile olan iletişiminiz de şifreli hale gelir. Her web site ile olan iletişiminiz şifreli değildir. Bu web sitenin kullandığı protokole bağlıdır. URL adresi ‘’https://’’ ile başlayan ve kilit sembolüne sahip olan web siteler ile olan iletişiminiz şifreliyken URL adresi ‘’http://’’ ile başlayan ve ‘’güvenli değil’’ yazısına sahip web siteler ile olan iletişiminiz o web sitenin sunucularında şifresiz bir şekilde saklanır. Kredi kartınızı kullanarak alışveriş yaptığınız web sitelerin güvenli olduğundan emin olmalısınız. Aksi takdirde bilgileriniz çalınabilir ve mağdur olabilirsiniz.<br />
<br />
<br />
Bazı VPN programları sınırsız <a href="https://tr.wikipedia.org/wiki/Bant_geni%C5%9Fli%C4%9Fi" rel="nofollow" target="_blank">bant genişliği</a> sağlamaktadır. İnternet servis sağlayıcıları çok yüksek veri alışverişi olduğunda internet bağlantısını yavaşlatabilmektedir. Sınırsız bant genişliği sağlayan bir VPN kullandığınızda veri alışverişinizde herhangi bir kısıtlama olmadığı gibi kota problemi de yaşamazsınız.<br />
<br />
<br />
VPN seçerken VPN sağlayıcısının sunucularında herhangi bir kayıt tumayacağından emin olmalı ve gizliliğiniz ve güvenliğiniz için ücretsiz VPN programlarından uzun vadede kaçınmalısınız.Barış ATALAYhttp://www.blogger.com/profile/11603628662798288682noreply@blogger.com0tag:blogger.com,1999:blog-7347738039865898700.post-83126675705850690152019-02-15T11:45:00.000+03:002019-09-06T17:43:52.802+03:00Find Slow Queries With SQL DMVs<h2 style="text-align: center;">
<b>Find Slow Queries With SQL DMVs</b></h2>
<br />
<br />
For example, this query below can be used to find the queries that use the most reads, writes, worker time (CPU), etc.<br />
<br />
<span style="color: orange;">SELECT TOP 10 SUBSTRING(qt.TEXT, (qs.statement_start_offset/2)+1,</span><br />
<span style="color: orange;">((CASE qs.statement_end_offset</span><br />
<span style="color: orange;">WHEN -1 THEN DATALENGTH(qt.TEXT)</span><br />
<span style="color: orange;">ELSE qs.statement_end_offset</span><br />
<span style="color: orange;">END - qs.statement_start_offset)/2)+1),</span><br />
<span style="color: orange;">qs.execution_count,</span><br />
<span style="color: orange;">qs.total_logical_reads, qs.last_logical_reads,</span><br />
<span style="color: orange;">qs.total_logical_writes, qs.last_logical_writes,</span><br />
<span style="color: orange;">qs.total_worker_time,</span><br />
<span style="color: orange;">qs.last_worker_time,</span><br />
<span style="color: orange;">qs.total_elapsed_time/1000000 total_elapsed_time_in_S,</span><br />
<span style="color: orange;">qs.last_elapsed_time/1000000 last_elapsed_time_in_S,</span><br />
<span style="color: orange;">qs.last_execution_time,</span><br />
<span style="color: orange;">qp.query_plan</span><br />
<span style="color: orange;">FROM sys.dm_exec_query_stats qs</span><br />
<span style="color: orange;">CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt</span><br />
<span style="color: orange;">CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp</span><br />
<span style="color: orange;">ORDER BY qs.total_logical_reads DESC -- logical reads</span><br />
<span style="color: orange;">-- ORDER BY qs.total_logical_writes DESC -- logical writes</span><br />
<span style="color: orange;">-- ORDER BY qs.total_worker_time DESC -- CPU time</span>Barış ATALAYhttp://www.blogger.com/profile/11603628662798288682noreply@blogger.comtag:blogger.com,1999:blog-7347738039865898700.post-19319923538211178722018-11-03T19:54:00.001+03:002019-09-06T17:44:16.182+03:00Cloud 9, Laravel setup and configurationHi everyone,<br />
<br />
First just create workspace on Cloud 9 for Laravel project. Then we will start.<br />
<br />
-Now go to the Terminal and download laravel project with below command.<br />
<pre class=" language-php" style="background: rgba(237, 237, 237, 0.35); border-radius: 3px; box-shadow: rgba(0, 0, 0, 0.125) 0px 1px 1px; box-sizing: border-box; direction: ltr; font-family: "Operator Mono", "Fira Code", Consolas, Monaco, "Andale Mono", monospace; font-size: 12px; hyphens: none; line-height: 2; margin-bottom: 20px; margin-top: 10px; overflow: auto; padding: 10px; tab-size: 4; text-shadow: rgb(255, 255, 255) 0px 1px; vertical-align: middle; word-break: normal;"><code class=" language-php" style="box-sizing: border-box; direction: ltr; font-family: "Operator Mono", "Fira Code", Consolas, Monaco, "Andale Mono", monospace; hyphens: none; line-height: 2; tab-size: 4; text-shadow: rgb(255, 255, 255) 0px 1px; vertical-align: middle; word-break: normal; word-spacing: normal;">composer create<span class="token operator" style="box-sizing: border-box; color: #555555;">-</span>project <span class="token operator" style="box-sizing: border-box; color: #555555;">--</span>prefer<span class="token operator" style="box-sizing: border-box; color: #555555;">-</span>dist laravel<span class="token operator" style="box-sizing: border-box; color: #555555;">/</span>laravel blog <span class="token string" style="box-sizing: border-box; color: #2e7d32;">"5.5.*"</span></code></pre>
"blog" is your temp project directory, don't worry about this we will change root directory.<br />
<br />
Write bellow command step by step<br />
<br />
1-) <span style="color: orange;">shopt -s dotglob</span><br />
2-) <span style="color: orange;">mv blog/* ./</span> <br />
3-) <span style="color: orange;">rm -rf blog</span><br />
<br />
Well done,<br />
Step 2 is copying all file in "blog" directory to root directory,<br />
Step 3 is just remove "blog" folder.<br />
<br />
Then now we need to modify the apache config beacuse Lavarel is serving its content from the public directory.<br />
<br />
Write bellow comment for to open cloud 9 config,<br />
<br />
<span style="color: orange;">sudo nano /etc/apache2/sites-enabled/001-cloud9.conf</span><br />
<br />
Now you can see "001-cloud9.conf"<br />
Find this "DocumentRoot /home/ubuntu/workspace"<br />
Change like this "DocumentRoot /home/ubuntu/workspace<b>/public</b>"<br />
<br />
if you can correctly the last step is To save the file press F2, then ‘Y’ and ‘Enter’.<br />
<br />
<b>Best regards.</b>Barış ATALAYhttp://www.blogger.com/profile/11603628662798288682noreply@blogger.comtag:blogger.com,1999:blog-7347738039865898700.post-83340835530594487092018-11-03T19:28:00.000+03:002019-09-06T17:44:32.181+03:00Cloud 9 upgrade php 5 to 7sudo add-apt-repository ppa:ondrej/php -y<br />
sudo apt-get update -y<br />
<br />
sudo apt-get install php7.0-curl php7.0-cli php7.0-dev php7.0-gd php7.0-intl php7.0-mcrypt php7.0-json php7.0-mysql php7.0-opcache php7.0-bcmath php7.0-mbstring php7.0-soap php7.0-xml php7.0-zip -y<br />
<br />
sudo mv /etc/apache2/envvars /etc/apache2/envvars.bak<br />
sudo apt-get remove libapache2-mod-php5 -y<br />
sudo apt-get install libapache2-mod-php7.0 -y<br />
sudo cp /etc/apache2/envvars.bak /etc/apache2/envvarsBarış ATALAYhttp://www.blogger.com/profile/11603628662798288682noreply@blogger.comtag:blogger.com,1999:blog-7347738039865898700.post-23934642332498135702018-10-17T17:34:00.002+03:002018-10-17T17:34:40.527+03:00Ali Koç'tan Sesler Privacy Policy<h1>Ali Koç'tan Sesler Privacy Policy</h1>
<p>General Terms and Conditions of Use
<br><br>
Thank you for using Ali Koç'tan Sesler Services ("Services"). The Terms of Use ("Terms") includes the terms of the services offered to you by Ali Koç'tan Sesler and its subsidiaries and explains how to access and use the Services.
<br><br>
By clicking or tapping a button that shows that you have agreed to this Agreement, by putting a document about this Agreement into force or by using the Services you are indicating that you agree to this Agreement.
<br><br>
If you are using the Services in the name of an organization, you accept these Terms under the name of that organization and declare that you have the authority to do so. In such a situation, "you" and "your" refers to the organization.
<br><br>
1. Descriptions
The parties declare that they are in agreement about the following definition of terms by accepting this Agreement:
<br><br>
"Ali Koç'tan Sesler": Is the editor of brsatalay.blogspot.com.tr and its subsites and is also the provider of the Services mentioned in this agreement.
<br><br>
"Service": Covers the tools and support provided by Ali Koç'tan Sesler (paid or free) used mainly to create mobile applications for smart devices.
<br><br>
"Mobile Application": Service created by the customer using Ali Koç'tan Sesler to be downloaded from GooglePlay, and their derivatives or any internet environment, and opened to public use.
<br><br>
"Customer": Any organization or real person accepting this present agreement.
<br><br>
"User": Any real person who has the right to access Services and Mobile Application provided by Ali Koç'tan Sesler through its account, and who is under the responsibility of the Customer.
<br><br>
"Subscription": Is the online registration to offered services.
<br><br>
"Content": Files (text, image, audio, video, etc.) and information under the responsibility of the Customer and kept in the servers operated by Ali Koç'tan Sesler or a sub-provider.
<br><br>
2. Service
(a) Ali Koç'tan Sesler provides an online service that allows its Customers to create Mobile Applications and Publish these Mobile Applications in related Application Marketplaces. This Service includes the features that allow Users to update the Mobile Application and related Content.
<br><br>
(b) Mobile Applications must satisfy the conditions of relevant Application Marketplaces as well as Ali Koç'tan Sesler's prerequisite conditions. The time required for a Mobile Application to be published may vary from Market to Market. Markets may reject or un-publish Mobile Applications that violate their general terms and conditions and do not meet the minimum technical requirements. Ali Koç'tan Sesler shall not be held responsible for such an event.
<br><br>
(c) Ali Koç'tan Sesler does not issue a special optimization or compatibility guarantee for any internet browser or operating system. Ali Koç'tan Sesler does not also issue a compatibility guarantee with an updated web browser or operating system.
<br><br>
(d) Number, type, and accessibility features of the functions and features provided in the Service may change according to the selected plan. You may find the detailed explanation of the plans at http://brsatalay.blogspot.com
<br><br>
(e) Service does not include training for the Customer to use the provided tools. Customer shall have the minimum technical capabilities to use the Service.
<br><br>
(f) Ali Koç'tan Sesler reserve the right to make any new additions to or subtractions from a plan. Changes made -unless indicated otherwise- shall be announced here.
<br><br>
(g) Use of the Service requires the Customer/User to have an internet connection, and suitable hardware, the cost of which are independent of the Ali Koç'tan Sesler Service.
<br><br>
(h) Costs of Application Market accounts that are required to create Mobile Applications with Ali Koç'tan Sesler belong to the Customer.
<br><br>
(i) As part of this Service, Ali Koç'tan Sesler may send some information bulletins, e-mail, etc. to users who use the Service.
<br><br>
WARNING: E-mail services such as Hotmail, Yahoo! And Gmail has spam filters and may block important e-mails (service renewal reminder, maintenance notices, etc.) coming from Ali Koç'tan Sesler. Please update your subscription information by taking this situation into account.
<br><br>
3. Fees and Payment
3.1. Fees for Services.
You agree to pay all fees (including any overage charges) to Ali Koç'tan Sesler for each Service that you have purchased or used by the pricing and payment terms. Where applicable, you will be billed according to the billing method you have chosen from your account management page. All fees paid by you, otherwise stated in these Terms or unless it is legally required, are non-refundable.
<br><br>
3.2. Subscriptions.
Some of our Services are billed according to subscriptions (from now on referred to as "Subscriptions"). This means that you will be charged in a periodically repeating manner (each period is called a "billing period"). Billing periods are monthly or annual, based on which subscription plan you choose while purchasing a Subscription. Your subscription shall be automatically renewed after each billing period unless you cancel the automatic renewal from your online account management page or contact our customer support service. Although it saddens us to see you leave, you can cancel the automatic Subscription renewal any time you want; in such an event, your subscription will continue before cancellation until the end of that billing period. If you do not wish to renew the automatic renewal on your Subscription, you can turn it off as soon as your Subscription starts.
<br><br>
3.3. Taxes.
Unless otherwise stated, you shall be responsible for all taxes (except for the income tax of Ali Koç'tan Sesler) and legal fees related to the sales of the Services, including all related fines and interests (from now on collectively referred to as "Taxes"). You shall make payments to Ali Koç'tan Sesler for the Services without any tax deductions. If Ali Koç'tan Sesler enters the obligation to collect or pay Taxes, unless you provide Ali Koç'tan Sesler a valid tax exemption certificate obtained from the appropriate taxing authority, a tax number obtained from an appropriate tax office, or any other document stating that no taxes shall be accrued, Taxes shall be billed to you. If laws require you to withhold some Taxes from the payments you make to Ali Koç'tan Sesler, you have to provide an official tax receipt or another appropriate document that supports the payments in question to Ali Koç'tan Sesler.
<br><br>
3.4. Price Changes.
Ali Koç'tan Sesler can make changes on the prices of Services at any time, provided that for Services billed on a subscription basis, the changes shall be in effect only for the current billing period of your subscription. Ali Koç'tan Sesler shall make a written notification to you regarding any change in prices, at a reasonable time before the changes go into effect, to give you time to cancel your renewal before the changes go into effect.
<br><br>
3.5. Overage Charges.
Unless otherwise stated, all kinds of overage charges incurred in your name shall be billed on a monthly basis with a delay. Overage charges not paid within 30 days after billing are deemed overdue. Overdue overage charges not being paid may result in the restriction, suspension or termination of the valid Service (by applicable legal requirements), and your data related to the Service in question may be lost.
<br><br>
4. Confidentiality
4.1. Confidentiality
During your use of Services, you may provide content to Ali Koç'tan Sesler (including your information and information belonging to others), or third parties may provide contents to you over the Service (your "Content"). When you provide your Content to us, we know that you trust us that we will treat it right. Ali Koç'tan Sesler's Privacy Policy provides in detail any service-specific data use policies, privacy statement and privacy policy (collectively, "privacy policies") and how your personal and your Content are treated, and we agree to adhere to these privacy policies strictly. You agree that Ali Koç'tan Sesler shall use and share your Content by our privacy policies as well.
<br><br>
4.2. Confidentiality
Ali Koç'tan Sesler will treat your Content as confidential and only use it and announce it according to these Terms (including our privacy policies). However, Content belonging to you is not considered confidential under the following conditions:
(a) if it is open to the public or disclosed to the public (except done by Ali Koç'tan Sesler while in violation of these Terms);
(b) legally known by Ali Koç'tan Sesler before taken from you;
(c) when obtained by Ali Koç'tan Sesler from a third party without knowing that it is in violation of any obligation to you; or
(d) independently developed by Ali Koç'tan Sesler without referencing your Content.
<br><br>
5. Your Content
5.1. Ownership of your content remains with you.
Ownership of all intellectual property rights to your content remains with you. Ali Koç'tan Sesler does not request any form of ownership over your Content. These Terms do not provide us with any license or right to Your Content, except for limited rights required to provide the Services to you and others specified in these Terms.
<br><br>
5.2. Limited License to Your Content.
You grant a royalty-free license to Ali Koç'tan Sesler for the use, reproduction, distribution, modification, adaptation, the creation of derivative works, public disclosure and use in other ways of Your Content, used only to provide you with the Services and to be used for other limited circumstances allowed by privacy policies. This license granted for limited circumstances in question shall continue after you stop using the Services, even though you may delete your Content in the way Ali Koç'tan Sesler can not access it. This license covers all trusted third parties that we work together with to the extent necessary to provide you with the Services. If you provide feedback to Ali Koç'tan Sesler about the Services, Ali Koç'tan Sesler may use this feedback without any obligation to you.
<br><br>
5.3. Other Copyright Claims.
Ali Koç'tan Sesler is respectful towards copyrights of others, and we expect our users to act the same way. If you think that a Ali Koç'tan Sesler user is violating your copyright, you may report this to us.
<br><br>
6. Copyrights
6.1. Ali Koç'tan Sesler Copyrights.
Neither these Terms nor using the Services grant you ownership over Services or content you access through the Services (except for Your Content). Except for those allowed by Ali Koç'tan Sesler, these Terms do not grant you the right to use Ali Koç'tan Sesler's commercial brands or other brand elements.
<br><br>
7. User Content
7.1. User Content
Services show content provided by other people and that does not belong to Ali Koç'tan Sesler. This type of content is under the responsibility of the organization that offers it for use. Parallel to this, you are responsible for Your Content, and you must be sure that you have all the rights and permits to use said Content with relation to the Services. Ali Koç'tan Sesler is not responsible for any and all action you take, including disclosure to the public, with the Content belonging to you. Please do not use the content in the Services without getting the permission of the owner first or unless laws allow it.
<br><br>
7.2. Reviewing the Content You acknowledge and agree that, to ensure compliance with legal obligations, Ali Koç'tan Sesler may be asked to review a certain content provided to the services to determine whether it is legal or not or in violation if these Terms (for example, when an illegal content is reported to us). Moreover, we can change the content you believe violates the law or these Terms, block access, delete, or reject its display. However, Ali Koç'tan Sesler does not have any other obligations to monitor or review any content submitted to the Services.
<br><br>
7.3. Third Party Resources
Ali Koç'tan Sesler may publish links to the Services to Internet websites operated by third parties. Ali Koç'tan Sesler does not state that it reviews the third-party websites in question, and is not responsible for these or the content that appears in them. Trademarks shown in conjunction with the service are the property of their respective owners.
<br><br>
7.4 Legal Content: Examples of prohibited content posted via the Services are listed below. Ali Koç'tan Sesler, in its sole discretion; has the right to take action, including (but not limited to) removing objectionable Content, terminating the Subscription of the Customer that makes this violation and reporting this Content to Law executing authorities.
<br><br>
By the law, prohibited content covers the following:
<br><br>
Harmful contents that prevent the healthy provision of the Service,
Contents that help or promote racism, fanaticism or hatred against a group or individual or promote physical harm in any way,
Contents violating personal rights and personal privacy of another person,
Contents that request illegal information or designed to obtain such information,
Contents that openly publish information that creates a privacy or security risk to a person,
Contents that promote illegal or unauthorized copy of copyrighted work of another person or organization,
Content providing educational information for illegal activities including but not limited to supporting a criminal action or initiative, or construction and purchase of illegal weapons, supporting and promoting the use of narcotics, violation of a person's privacy, or contents spreading or generating computer viruses,
Child pornography or other illegal erotic content or content related to these,
Contents that request password or personal identification information from other Users for commercial or illegal purposes, or contents designed to retrieve such information,
<br><br><br><br>
8. Account Management
8.1. Keep your password safe
If you are given an account by Ali Koç'tan Sesler concerning you using the Services, it is your responsibility to keep that password to access that account and other access information safe. With authorization or not, Customer and not Ali Koç'tan Sesler is responsible for all applications within the Customer's Corporate Accounts (except for those that are carried out outside the customer's instructions that Ali Koç'tan Seslers is directly responsible). If you notice unauthorized access to your accent, you need to report this to Ali Koç'tan Sesler immediately. Accounts can not be shared, and each account may only be used by one person.
<br><br>
8.2. Keep your details correct
Ali Koç'tan Sesler occasionally sends notifications to the e-mail registered in your account. You must keep your e-mail address, and where possible, communication details linked to your account and payment details correct and current. Accounts are controlled by the organization with the e-mail address registered in the account.
<br><br>
8.3. Don't forget to backup
You are responsible for keeping your content, protecting them and taking backups. Ali Koç'tan Sesler is not responsible, to the extent permitted by applicable law, for failure to store your content or loss or corruption of your content.
<br><br>
8.4. Account Inactivity
If there is no account activity for over 12 months (such as login or payment), Ali Koç'tan Sesler may terminate your account and delete all content within. However, before terminating your account, we will try and send you an e-mail notifying you to login to keep your account active.
<br><br>
9. User Requirements
9.1. Legal Context.
If you are an individual, you can only use the Services if you have the authority to make an agreement with Ali Koç'tan Sesler. None of the Services are for the use of individuals younger than 13. If you are older than 13 but younger than 18 and do not have the authority to make an agreement with Ali Koç'tan Sesler, you can not use the services. We recommend any and all kinds of uses of the Services by minors to be directly monitored by parents and guardians. If you are not an individual, you guarantee that validly established in your judicial area and you are maintaining your presence, and additionally, you duly authorized your representative in such a way that these Terms bind you.
<br><br>
10. Acceptable Uses
10.1. Legal Compliance. You must use the Services only under applicable law and in a way that is allowed by law.
<br><br>
10.2. Your Responsibilities. You are responsible for your behavior, Content, and communication with others while using the Services. Using the service, you must comply with the following requirements:
<br><br>
(a) You can not use our Services incorrectly by interfering with their normal functioning or in an attempt to access them by using a method other than the interfaces or instructions provided by us.
<br><br>
(b) You can not avoid or try to avoid any and all restrictions put on your account by Ali Koç'tan Sesler.
<br><br>
(c) Unless authorized in writing by Ali Koç'tan Sesler, you can not analyze in depth, scan or test the weakness of any Ali Koç'tan Sesler system or network.
<br><br>
(d) Unless permitted by applicable laws, you can not deny others' access to Services, or you can not reverse engineer or attempt to do so.
<br><br>
(e) All kinds of viruses, malware or other types of malicious software or links to the software in question will not be transmitted through the Service.
<br><br>
(f) You can not use the Services maliciously or excessively, i.e. in such a way is significantly above average usage standards that negatively affects speed, responsiveness, stability, the availability or functionality of the Services during use by others. Ali Koç'tan Sesler will try to send you all notifications related to malicious or excessive usage to allow you to lower such use to a level acceptable to Ali Koç'tan Sesler.
<br><br>
(g) You can not use the Services in violation of others' property rights or to make illegal actions.
<br><br>
(h) You can not re-sell or rent the Services unless authorized in writing by Ali Koç'tan Sesler.
<br><br>
(i) If your use of the Services requires you to comply with specific regulations that apply to the industrial use, unless Ali Koç'tan Sesler is in agreement with you otherwise, you shall be exclusively responsible for said compliant behavior. Without the prior written consent from Ali Koç'tan Sesler, you can not use the Services in such a way that Ali Koç'tan Sesler is subject to special regulations of that industry. You can not perform any data gathering process restricted by law over Ali Koç'tan Sesler. If you do, you assume full responsibility.
<br><br>
11. Suspension and Termination of Services
11.1. By You. If you terminate a Subscription in the middle of a billing period, you shall not receive a refund for the Services you did not use within the billing period in question. Unless you make the termination because we violate the Agreement and you notify us in writing, or unless a refund is required by law.
<br><br>
11.2. By Ali Koç'tan Sesler. If you do not comply with these Terms (such as not paying overdue fees), or if you use the Services in a way that brings a legal obligation to Ali Koç'tan Sesler or interfere with the use of the Services by others, Ali Koç'tan Sesler may limit, suspend or stop the services. If we are investigating a suspicious misconduct of yours, Ali Koç'tan Sesler may suspend to provide the Services to you. If we suspend or terminate the Services you are receiving, we shall try to allow you to take a copy of your Content within the Services, and make a prior notification. However, there may be sensitive situations where Ali Koç'tan Sesler may take a decision that requires us to take emergency measures without notice. Ali Koç'tan Sesler has no obligation to take back your content upon termination of the current Service.
<br><br>
11.3. Other measures. In case Ali Koç'tan Sesler ceases to provide the Services to you due to your continuous or overt breach of these Terms, Ali Koç'tan Sesler may take other measures to prevent you from using the Services, including blocking your IP address.
<br><br>
12. Amendments and Updates
12.1. Changes in Terms. Ali Koç'tan Sesler may change these Terms any time for various reasons such as reflecting the changes in the legislation in force and Service updates and explaining new Services or features. All amendments will be visible under these Terms. Also, Ali Koç'tan Sesler may make the notification for amendments in its blog and through e-mail. Amendments shall enter into force no later than the day it was announced to the public. To ensure the enactment of certain amendments, applicable laws may require Ali Koç'tan Sesler to get your consent for such amendments or notify you in advance. If you do not wish to accept any of the amendments made regarding a Service, you should stop using the Service. Because, by continuing to use the Services, you are indicating that you agree to be bound by the amended conditions.
<br><br>
12.2. Changes in Services. Ali Koç'tan Sesler continuously changes and improves the Services. Ali Koç'tan Sesler may make an addition to a feature, change or remove the feature from a Service without prior notice. Also, Ali Koç'tan Sesler, with its sole discretion, may limit, suspend or terminate a service. If Ali Koç'tan Sesler terminates a Service, we shall try to allow you to take a copy of your Content within the Services, and make a prior notification. Although it shall try to notify you in advance in cases where it is possible under the conditions of the setting, and you are financially impacted, Ali Koç'tan Sesler, with its sole discretion, may remove content from the Services.
<br><br>
13. The Disclaimer and Limitation of Liability
13.1. Disclaimer. Although it is beneficial for Ali Koç'tan Sesler to provide a grand experience to you while using the Services (and though we love to satisfy our customers), we are not making any commitments about certain things about them. We are trying to protect the Online Services. However, these may occasionally be unusable due to various reasons. EXCEPT AS EXPRESSLY SET FORTH IN THESE TERMS AND TO THE EXTENT ALLOWED BY LAW, THE SERVICES ARE PROVIDED "AS IS" it IS PROVIDED, AND Ali Koç'tan Sesler DOES NOT MAKE ANY WARRANTIES, EXPRESSED OR IMPLIED, OR REQUIRED BY LAW, ABOUT THE AVAILABILITY, RELIABILITY OR ACCURACY OF SERVICES, INCLUDING MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
Personal identification information
<br><br>
We may collect personal identification information from Users in a variety of ways, including, but not limited to, when Users visit our site, register on the site, and in connection with other activities, services, features or resources we make available on our Site. Users may be asked for, as appropriate, name, email address, mailing address, phone number. We will collect personal identification information from Users only if they voluntarily submit such information to us. Users can always refuse to supply personally identification information, except that it may prevent them from engaging in certain application related activities.
<br><br>
Non-personal identification information
<br><br>
We may collect non-personal identification information about Users whenever they interact with our application. Non-personal identification information may include the browser name, the type of computer and technical information about Users means of connection to our application, such as the operating system and the Internet service providers utilized and other similar information.
<br><br>
How we use collected information
<br><br>
Ali Koç'tan Sesler may collect and use Users personal information for the following purposes:
- To run and operate our Site
We may need your information display content on the Site correctly.
- To improve customer service
Information you provide helps us respond to your customer service requests and support needs more efficiently.
- To personalize user experience
We may use information in the aggregate to understand how our Users as a group use the services and resources provided on our Site.
<br><br>
How we protect your information
<br><br>
We adopt appropriate data collection, storage and processing practices and security measures to protect against unauthorized access, alteration, disclosure or destruction of your personal information, username, password, transaction information and data stored on our cloud.
<br><br>
Sharing your personal information
<br><br>
We do not sell, trade, or rent Users personal identification information to others. We may share generic aggregated demographic information not linked to any personal identification information regarding visitors and users with our business partners, trusted affiliates and advertisers for the purposes outlined above.
<br><br>
Changes to this privacy policy
<br><br>
Ali Koç'tan Sesler has the discretion to update this privacy policy at any time. When we do, we will revise the updated date at the bottom of this page. We encourage Users to frequently check this page for any changes to stay informed about how we are helping to protect the personal information we collect. You acknowledge and agree that it is your responsibility to review this privacy policy periodically and become aware of modifications.
<br><br>
Your acceptance of these terms
<br><br>
By using this application, you signify your acceptance of this policy. If you do not agree to this policy, please do not use our app. Your continued use of the app following the posting of changes to this policy will be deemed your acceptance of those changes.
<br><br>
Contacting us
<br><br>
If you have any questions about this Privacy Policy, the practices of this app, or your dealings with this app, please contact us.
.</p>Barış ATALAYhttp://www.blogger.com/profile/11603628662798288682noreply@blogger.com2tag:blogger.com,1999:blog-7347738039865898700.post-16444680025820898192018-10-17T17:31:00.000+03:002018-10-17T17:31:01.763+03:00Anime Takip Privacy Policy<h1>Anime Takip Privacy Policy</h1>
<p>General Terms and Conditions of Use
<br><br>
Thank you for using Anime Takip Services ("Services"). The Terms of Use ("Terms") includes the terms of the services offered to you by Anime Takip and its subsidiaries and explains how to access and use the Services.
<br><br>
By clicking or tapping a button that shows that you have agreed to this Agreement, by putting a document about this Agreement into force or by using the Services you are indicating that you agree to this Agreement.
<br><br>
If you are using the Services in the name of an organization, you accept these Terms under the name of that organization and declare that you have the authority to do so. In such a situation, "you" and "your" refers to the organization.
<br><br>
1. Descriptions
The parties declare that they are in agreement about the following definition of terms by accepting this Agreement:
<br><br>
"Anime Takip": Is the editor of brsatalay.blogspot.com.tr and its subsites and is also the provider of the Services mentioned in this agreement.
<br><br>
"Service": Covers the tools and support provided by Anime Takip (paid or free) used mainly to create mobile applications for smart devices.
<br><br>
"Mobile Application": Service created by the customer using Anime Takip to be downloaded from GooglePlay, and their derivatives or any internet environment, and opened to public use.
<br><br>
"Customer": Any organization or real person accepting this present agreement.
<br><br>
"User": Any real person who has the right to access Services and Mobile Application provided by Anime Takip through its account, and who is under the responsibility of the Customer.
<br><br>
"Subscription": Is the online registration to offered services.
<br><br>
"Content": Files (text, image, audio, video, etc.) and information under the responsibility of the Customer and kept in the servers operated by Anime Takip or a sub-provider.
<br><br>
2. Service
(a) Anime Takip provides an online service that allows its Customers to create Mobile Applications and Publish these Mobile Applications in related Application Marketplaces. This Service includes the features that allow Users to update the Mobile Application and related Content.
<br><br>
(b) Mobile Applications must satisfy the conditions of relevant Application Marketplaces as well as Anime Takip's prerequisite conditions. The time required for a Mobile Application to be published may vary from Market to Market. Markets may reject or un-publish Mobile Applications that violate their general terms and conditions and do not meet the minimum technical requirements. Anime Takip shall not be held responsible for such an event.
<br><br>
(c) Anime Takip does not issue a special optimization or compatibility guarantee for any internet browser or operating system. Anime Takip does not also issue a compatibility guarantee with an updated web browser or operating system.
<br><br>
(d) Number, type, and accessibility features of the functions and features provided in the Service may change according to the selected plan. You may find the detailed explanation of the plans at http://brsatalay.blogspot.com
<br><br>
(e) Service does not include training for the Customer to use the provided tools. Customer shall have the minimum technical capabilities to use the Service.
<br><br>
(f) Anime Takip reserve the right to make any new additions to or subtractions from a plan. Changes made -unless indicated otherwise- shall be announced here.
<br><br>
(g) Use of the Service requires the Customer/User to have an internet connection, and suitable hardware, the cost of which are independent of the Anime Takip Service.
<br><br>
(h) Costs of Application Market accounts that are required to create Mobile Applications with Anime Takip belong to the Customer.
<br><br>
(i) As part of this Service, Anime Takip may send some information bulletins, e-mail, etc. to users who use the Service.
<br><br>
WARNING: E-mail services such as Hotmail, Yahoo! And Gmail has spam filters and may block important e-mails (service renewal reminder, maintenance notices, etc.) coming from Anime Takip. Please update your subscription information by taking this situation into account.
<br><br>
3. Fees and Payment
3.1. Fees for Services.
You agree to pay all fees (including any overage charges) to Anime Takip for each Service that you have purchased or used by the pricing and payment terms. Where applicable, you will be billed according to the billing method you have chosen from your account management page. All fees paid by you, otherwise stated in these Terms or unless it is legally required, are non-refundable.
<br><br>
3.2. Subscriptions.
Some of our Services are billed according to subscriptions (from now on referred to as "Subscriptions"). This means that you will be charged in a periodically repeating manner (each period is called a "billing period"). Billing periods are monthly or annual, based on which subscription plan you choose while purchasing a Subscription. Your subscription shall be automatically renewed after each billing period unless you cancel the automatic renewal from your online account management page or contact our customer support service. Although it saddens us to see you leave, you can cancel the automatic Subscription renewal any time you want; in such an event, your subscription will continue before cancellation until the end of that billing period. If you do not wish to renew the automatic renewal on your Subscription, you can turn it off as soon as your Subscription starts.
<br><br>
3.3. Taxes.
Unless otherwise stated, you shall be responsible for all taxes (except for the income tax of Anime Takip) and legal fees related to the sales of the Services, including all related fines and interests (from now on collectively referred to as "Taxes"). You shall make payments to Anime Takip for the Services without any tax deductions. If Anime Takip enters the obligation to collect or pay Taxes, unless you provide Anime Takip a valid tax exemption certificate obtained from the appropriate taxing authority, a tax number obtained from an appropriate tax office, or any other document stating that no taxes shall be accrued, Taxes shall be billed to you. If laws require you to withhold some Taxes from the payments you make to Anime Takip, you have to provide an official tax receipt or another appropriate document that supports the payments in question to Anime Takip.
<br><br>
3.4. Price Changes.
Anime Takip can make changes on the prices of Services at any time, provided that for Services billed on a subscription basis, the changes shall be in effect only for the current billing period of your subscription. Anime Takip shall make a written notification to you regarding any change in prices, at a reasonable time before the changes go into effect, to give you time to cancel your renewal before the changes go into effect.
<br><br>
3.5. Overage Charges.
Unless otherwise stated, all kinds of overage charges incurred in your name shall be billed on a monthly basis with a delay. Overage charges not paid within 30 days after billing are deemed overdue. Overdue overage charges not being paid may result in the restriction, suspension or termination of the valid Service (by applicable legal requirements), and your data related to the Service in question may be lost.
<br><br>
4. Confidentiality
4.1. Confidentiality
During your use of Services, you may provide content to Anime Takip (including your information and information belonging to others), or third parties may provide contents to you over the Service (your "Content"). When you provide your Content to us, we know that you trust us that we will treat it right. Anime Takip's Privacy Policy provides in detail any service-specific data use policies, privacy statement and privacy policy (collectively, "privacy policies") and how your personal and your Content are treated, and we agree to adhere to these privacy policies strictly. You agree that Anime Takip shall use and share your Content by our privacy policies as well.
<br><br>
4.2. Confidentiality
Anime Takip will treat your Content as confidential and only use it and announce it according to these Terms (including our privacy policies). However, Content belonging to you is not considered confidential under the following conditions:
(a) if it is open to the public or disclosed to the public (except done by Anime Takip while in violation of these Terms);
(b) legally known by Anime Takip before taken from you;
(c) when obtained by Anime Takip from a third party without knowing that it is in violation of any obligation to you; or
(d) independently developed by Anime Takip without referencing your Content.
<br><br>
5. Your Content
5.1. Ownership of your content remains with you.
Ownership of all intellectual property rights to your content remains with you. Anime Takip does not request any form of ownership over your Content. These Terms do not provide us with any license or right to Your Content, except for limited rights required to provide the Services to you and others specified in these Terms.
<br><br>
5.2. Limited License to Your Content.
You grant a royalty-free license to Anime Takip for the use, reproduction, distribution, modification, adaptation, the creation of derivative works, public disclosure and use in other ways of Your Content, used only to provide you with the Services and to be used for other limited circumstances allowed by privacy policies. This license granted for limited circumstances in question shall continue after you stop using the Services, even though you may delete your Content in the way Anime Takip can not access it. This license covers all trusted third parties that we work together with to the extent necessary to provide you with the Services. If you provide feedback to Anime Takip about the Services, Anime Takip may use this feedback without any obligation to you.
<br><br>
5.3. Other Copyright Claims.
Anime Takip is respectful towards copyrights of others, and we expect our users to act the same way. If you think that a Anime Takip user is violating your copyright, you may report this to us.
<br><br>
6. Copyrights
6.1. Anime Takip Copyrights.
Neither these Terms nor using the Services grant you ownership over Services or content you access through the Services (except for Your Content). Except for those allowed by Anime Takip, these Terms do not grant you the right to use Anime Takip's commercial brands or other brand elements.
<br><br>
7. User Content
7.1. User Content
Services show content provided by other people and that does not belong to Anime Takip. This type of content is under the responsibility of the organization that offers it for use. Parallel to this, you are responsible for Your Content, and you must be sure that you have all the rights and permits to use said Content with relation to the Services. Anime Takip is not responsible for any and all action you take, including disclosure to the public, with the Content belonging to you. Please do not use the content in the Services without getting the permission of the owner first or unless laws allow it.
<br><br>
7.2. Reviewing the Content You acknowledge and agree that, to ensure compliance with legal obligations, Anime Takip may be asked to review a certain content provided to the services to determine whether it is legal or not or in violation if these Terms (for example, when an illegal content is reported to us). Moreover, we can change the content you believe violates the law or these Terms, block access, delete, or reject its display. However, Anime Takip does not have any other obligations to monitor or review any content submitted to the Services.
<br><br>
7.3. Third Party Resources
Anime Takip may publish links to the Services to Internet websites operated by third parties. Anime Takip does not state that it reviews the third-party websites in question, and is not responsible for these or the content that appears in them. Trademarks shown in conjunction with the service are the property of their respective owners.
<br><br>
7.4 Legal Content: Examples of prohibited content posted via the Services are listed below. Anime Takip, in its sole discretion; has the right to take action, including (but not limited to) removing objectionable Content, terminating the Subscription of the Customer that makes this violation and reporting this Content to Law executing authorities.
<br><br>
By the law, prohibited content covers the following:
<br><br>
Harmful contents that prevent the healthy provision of the Service,
Contents that help or promote racism, fanaticism or hatred against a group or individual or promote physical harm in any way,
Contents violating personal rights and personal privacy of another person,
Contents that request illegal information or designed to obtain such information,
Contents that openly publish information that creates a privacy or security risk to a person,
Contents that promote illegal or unauthorized copy of copyrighted work of another person or organization,
Content providing educational information for illegal activities including but not limited to supporting a criminal action or initiative, or construction and purchase of illegal weapons, supporting and promoting the use of narcotics, violation of a person's privacy, or contents spreading or generating computer viruses,
Child pornography or other illegal erotic content or content related to these,
Contents that request password or personal identification information from other Users for commercial or illegal purposes, or contents designed to retrieve such information,
<br><br><br><br>
8. Account Management
8.1. Keep your password safe
If you are given an account by Anime Takip concerning you using the Services, it is your responsibility to keep that password to access that account and other access information safe. With authorization or not, Customer and not Anime Takip is responsible for all applications within the Customer's Corporate Accounts (except for those that are carried out outside the customer's instructions that Anime Takips is directly responsible). If you notice unauthorized access to your accent, you need to report this to Anime Takip immediately. Accounts can not be shared, and each account may only be used by one person.
<br><br>
8.2. Keep your details correct
Anime Takip occasionally sends notifications to the e-mail registered in your account. You must keep your e-mail address, and where possible, communication details linked to your account and payment details correct and current. Accounts are controlled by the organization with the e-mail address registered in the account.
<br><br>
8.3. Don't forget to backup
You are responsible for keeping your content, protecting them and taking backups. Anime Takip is not responsible, to the extent permitted by applicable law, for failure to store your content or loss or corruption of your content.
<br><br>
8.4. Account Inactivity
If there is no account activity for over 12 months (such as login or payment), Anime Takip may terminate your account and delete all content within. However, before terminating your account, we will try and send you an e-mail notifying you to login to keep your account active.
<br><br>
9. User Requirements
9.1. Legal Context.
If you are an individual, you can only use the Services if you have the authority to make an agreement with Anime Takip. None of the Services are for the use of individuals younger than 13. If you are older than 13 but younger than 18 and do not have the authority to make an agreement with Anime Takip, you can not use the services. We recommend any and all kinds of uses of the Services by minors to be directly monitored by parents and guardians. If you are not an individual, you guarantee that validly established in your judicial area and you are maintaining your presence, and additionally, you duly authorized your representative in such a way that these Terms bind you.
<br><br>
10. Acceptable Uses
10.1. Legal Compliance. You must use the Services only under applicable law and in a way that is allowed by law.
<br><br>
10.2. Your Responsibilities. You are responsible for your behavior, Content, and communication with others while using the Services. Using the service, you must comply with the following requirements:
<br><br>
(a) You can not use our Services incorrectly by interfering with their normal functioning or in an attempt to access them by using a method other than the interfaces or instructions provided by us.
<br><br>
(b) You can not avoid or try to avoid any and all restrictions put on your account by Anime Takip.
<br><br>
(c) Unless authorized in writing by Anime Takip, you can not analyze in depth, scan or test the weakness of any Anime Takip system or network.
<br><br>
(d) Unless permitted by applicable laws, you can not deny others' access to Services, or you can not reverse engineer or attempt to do so.
<br><br>
(e) All kinds of viruses, malware or other types of malicious software or links to the software in question will not be transmitted through the Service.
<br><br>
(f) You can not use the Services maliciously or excessively, i.e. in such a way is significantly above average usage standards that negatively affects speed, responsiveness, stability, the availability or functionality of the Services during use by others. Anime Takip will try to send you all notifications related to malicious or excessive usage to allow you to lower such use to a level acceptable to Anime Takip.
<br><br>
(g) You can not use the Services in violation of others' property rights or to make illegal actions.
<br><br>
(h) You can not re-sell or rent the Services unless authorized in writing by Anime Takip.
<br><br>
(i) If your use of the Services requires you to comply with specific regulations that apply to the industrial use, unless Anime Takip is in agreement with you otherwise, you shall be exclusively responsible for said compliant behavior. Without the prior written consent from Anime Takip, you can not use the Services in such a way that Anime Takip is subject to special regulations of that industry. You can not perform any data gathering process restricted by law over Anime Takip. If you do, you assume full responsibility.
<br><br>
11. Suspension and Termination of Services
11.1. By You. If you terminate a Subscription in the middle of a billing period, you shall not receive a refund for the Services you did not use within the billing period in question. Unless you make the termination because we violate the Agreement and you notify us in writing, or unless a refund is required by law.
<br><br>
11.2. By Anime Takip. If you do not comply with these Terms (such as not paying overdue fees), or if you use the Services in a way that brings a legal obligation to Anime Takip or interfere with the use of the Services by others, Anime Takip may limit, suspend or stop the services. If we are investigating a suspicious misconduct of yours, Anime Takip may suspend to provide the Services to you. If we suspend or terminate the Services you are receiving, we shall try to allow you to take a copy of your Content within the Services, and make a prior notification. However, there may be sensitive situations where Anime Takip may take a decision that requires us to take emergency measures without notice. Anime Takip has no obligation to take back your content upon termination of the current Service.
<br><br>
11.3. Other measures. In case Anime Takip ceases to provide the Services to you due to your continuous or overt breach of these Terms, Anime Takip may take other measures to prevent you from using the Services, including blocking your IP address.
<br><br>
12. Amendments and Updates
12.1. Changes in Terms. Anime Takip may change these Terms any time for various reasons such as reflecting the changes in the legislation in force and Service updates and explaining new Services or features. All amendments will be visible under these Terms. Also, Anime Takip may make the notification for amendments in its blog and through e-mail. Amendments shall enter into force no later than the day it was announced to the public. To ensure the enactment of certain amendments, applicable laws may require Anime Takip to get your consent for such amendments or notify you in advance. If you do not wish to accept any of the amendments made regarding a Service, you should stop using the Service. Because, by continuing to use the Services, you are indicating that you agree to be bound by the amended conditions.
<br><br>
12.2. Changes in Services. Anime Takip continuously changes and improves the Services. Anime Takip may make an addition to a feature, change or remove the feature from a Service without prior notice. Also, Anime Takip, with its sole discretion, may limit, suspend or terminate a service. If Anime Takip terminates a Service, we shall try to allow you to take a copy of your Content within the Services, and make a prior notification. Although it shall try to notify you in advance in cases where it is possible under the conditions of the setting, and you are financially impacted, Anime Takip, with its sole discretion, may remove content from the Services.
<br><br>
13. The Disclaimer and Limitation of Liability
13.1. Disclaimer. Although it is beneficial for Anime Takip to provide a grand experience to you while using the Services (and though we love to satisfy our customers), we are not making any commitments about certain things about them. We are trying to protect the Online Services. However, these may occasionally be unusable due to various reasons. EXCEPT AS EXPRESSLY SET FORTH IN THESE TERMS AND TO THE EXTENT ALLOWED BY LAW, THE SERVICES ARE PROVIDED "AS IS" it IS PROVIDED, AND Anime Takip DOES NOT MAKE ANY WARRANTIES, EXPRESSED OR IMPLIED, OR REQUIRED BY LAW, ABOUT THE AVAILABILITY, RELIABILITY OR ACCURACY OF SERVICES, INCLUDING MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
Personal identification information
<br><br>
We may collect personal identification information from Users in a variety of ways, including, but not limited to, when Users visit our site, register on the site, and in connection with other activities, services, features or resources we make available on our Site. Users may be asked for, as appropriate, name, email address, mailing address, phone number. We will collect personal identification information from Users only if they voluntarily submit such information to us. Users can always refuse to supply personally identification information, except that it may prevent them from engaging in certain application related activities.
<br><br>
Non-personal identification information
<br><br>
We may collect non-personal identification information about Users whenever they interact with our application. Non-personal identification information may include the browser name, the type of computer and technical information about Users means of connection to our application, such as the operating system and the Internet service providers utilized and other similar information.
<br><br>
How we use collected information
<br><br>
Anime Takip may collect and use Users personal information for the following purposes:
- To run and operate our Site
We may need your information display content on the Site correctly.
- To improve customer service
Information you provide helps us respond to your customer service requests and support needs more efficiently.
- To personalize user experience
We may use information in the aggregate to understand how our Users as a group use the services and resources provided on our Site.
<br><br>
How we protect your information
<br><br>
We adopt appropriate data collection, storage and processing practices and security measures to protect against unauthorized access, alteration, disclosure or destruction of your personal information, username, password, transaction information and data stored on our cloud.
<br><br>
Sharing your personal information
<br><br>
We do not sell, trade, or rent Users personal identification information to others. We may share generic aggregated demographic information not linked to any personal identification information regarding visitors and users with our business partners, trusted affiliates and advertisers for the purposes outlined above.
<br><br>
Changes to this privacy policy
<br><br>
Anime Takip has the discretion to update this privacy policy at any time. When we do, we will revise the updated date at the bottom of this page. We encourage Users to frequently check this page for any changes to stay informed about how we are helping to protect the personal information we collect. You acknowledge and agree that it is your responsibility to review this privacy policy periodically and become aware of modifications.
<br><br>
Your acceptance of these terms
<br><br>
By using this application, you signify your acceptance of this policy. If you do not agree to this policy, please do not use our app. Your continued use of the app following the posting of changes to this policy will be deemed your acceptance of those changes.
<br><br>
Contacting us
<br><br>
If you have any questions about this Privacy Policy, the practices of this app, or your dealings with this app, please contact us.
.</p>Barış ATALAYhttp://www.blogger.com/profile/11603628662798288682noreply@blogger.com0tag:blogger.com,1999:blog-7347738039865898700.post-67256962901797618552018-07-31T09:13:00.000+03:002018-07-31T09:15:47.072+03:00Retrofit 2 Trust anchor for certification path not found.Merhabalar,<br />
<br />
SSL'e sahip bir sitenin api adresine bağlanmaya çalışmıştım ve "Trust anchor for certification path not found." uyarısını aldım. Bu uyarıyı göz ardı ederek siteden veri almak için, aşağıda paylaşacağım "OkHttpClient.Builder" ile kendi retrofit objenizin clientini oluşturabilirsiniz.<br />
<br />
<br />
<pre class="brush:java;">public static OkHttpClient.Builder getUnsafeOkHttpClient() {
try {
// Create a trust manager that does not validate certificate chains
final TrustManager[] trustAllCerts = new TrustManager[]{
new X509TrustManager() {
@Override
public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException {
}
@Override
public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException {
}
@Override
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return new java.security.cert.X509Certificate[]{};
}
}
};
// Install the all-trusting trust manager
final SSLContext sslContext = SSLContext.getInstance("SSL");
sslContext.init(null, trustAllCerts, new java.security.SecureRandom());
// Create an ssl socket factory with our all-trusting manager
final SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
OkHttpClient.Builder builder = new OkHttpClient.Builder();
builder.sslSocketFactory(sslSocketFactory, (X509TrustManager) trustAllCerts[0]);
builder.hostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String hostname, SSLSession session) {
return true;
}
});
return builder;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
new Retrofit.Builder()
.client(prepareUnsafeOkHttpClient().build())
.build
</pre>
Barış ATALAYhttp://www.blogger.com/profile/11603628662798288682noreply@blogger.com0tag:blogger.com,1999:blog-7347738039865898700.post-86242698685254758512018-04-24T18:30:00.001+03:002018-04-24T18:30:44.426+03:00Solmaz Gümrük Müşavirliği Yazılım Uzmanı<span style="color: orange;"><b>Şehir</b></span>: <u>İstanbul</u><br />
<br />
Gümrükleme, Dış Ticaret ve Lojistik sektörünün öncü kuruluşu SOLMAZ,<br />
büyüyen iş hacmine paralel olarak ve yeni sektörlerdeki yapılanmalarını<br />
desteklemek amacıyla, Yazılım Geliştirme Departmanı`nda görevlendirmek üzere;<br />
<br />
* Bilgisayar Mühendisliği ya da Bilgisayar Programcılığı bölümlerinden mezun<br />
* Nesne Yönelimli (object oriented) programlama mantığına hakim<br />
(Delphi, C# ya da Java dillerinden birini iyi kullanan, tercihen Delphi)<br />
* İlişkisel veritabanları, SQL kullanımı bilgisine sahip<br />
* Tercihen 3 yıl ve üzeri tecrübeye sahip<br />
* Tercihen ERP, gümrükleme, depolama, taşımacılık, dış ticaret, muhasebe/finansman uygulamalarından herhangi biri hakkında tecrübeli<br />
* En az teknik dokümanları okuyabilecek düzeyde İngilizce bilen<br />
* Araştırmacı, kendini geliştirebilen, program yazmayı seven ve takım çalışmasına yatkın<br />
Yazılım Uzmanları arıyor.<br />
<br />
Erkek adayların askerliğini yapmış olması ya da en az 2 sene askerlikle ilişkisi olmaması tercih nedenidir.<br />
<br />
*** ÇALIŞMA YERİ <u>İSTANBUL ZİNCİRLİKUYU</u>'daki YENİ OFİSİMİZ OLACAKTIR***<br />
<br />
<br />
<b><span style="color: orange; font-size: large;">İŞ TANIMI</span></b><br />
* desktop uygulamaları<br />
* mobil uygulamalar<br />
* web / internet uygulamaları<br />
* web servisleri<br />
* yapay zeka, machine learning, big data uygulamaları<br />
* uygulamalar arası veri aktarımı, sistem entegrasyonları, eBusiness, B2B, B2C işlemleri<br />
* otomatik raporlama ve bilgilendirmeler<br />
* gümrükleme, depolama, taşımacılık, kargo, lojistik, serbest bölge, sigorta, back office, vb. sektörel uygulamalar<br />
* yönetim raporları, BI raporlamaları<br />
* SQL sorguları, stored procedure, trigger, view, tablo vb. veritabanı tasarımı<br />
<br />
İlan Kaynağı: <a href="https://www.kariyer.net/is-ilani/solmaz-gumruk-musavirligi-a-s-yazilim-uzmani-1899070">https://www.kariyer.net/is-ilani/solmaz-gumruk-musavirligi-a-s-yazilim-uzmani-1899070</a>Barış ATALAYhttp://www.blogger.com/profile/11603628662798288682noreply@blogger.com0tag:blogger.com,1999:blog-7347738039865898700.post-31690469407100817502017-04-07T11:40:00.002+03:002017-04-07T11:40:15.903+03:00Android Material Design Icon Generator Plugin<span style="color: orange; font-size: medium;">Merhabalar,</span><br />
<span style="color: orange; font-size: medium;"><br /></span>
Projeleriniz için rahatça <span style="color: orange;">Material Ikon</span> ekleyebilmeniz için bir eklenti keşfettim.<br />
Bu eklenti sayesinde istediğiniz boyutlarda, renkte ve tipte ikonu hızlıca ekleyebiliyoruz.<br />
Aşağıdaki gifte göreceğiniz işlemleri yapmanız yeterlidir.<br />
<br />
<span style="color: orange;">Not</span>: En aşağıda verdiğin kaynak linkini incelerseniz Linux ve macOS için anlatımı mevcuttur.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-b-OMtQ5zkSY/WOdP-D8eScI/AAAAAAAACPg/DqifMd1-DygjW5MClz8qzZgzBn2yS0-DgCLcB/s1600/g1.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="272" src="https://2.bp.blogspot.com/-b-OMtQ5zkSY/WOdP-D8eScI/AAAAAAAACPg/DqifMd1-DygjW5MClz8qzZgzBn2yS0-DgCLcB/s400/g1.gif" width="400" /></a></div>
<br />
<span style="color: orange; font-size: large;"><b><br /></b></span>
<span style="color: orange; font-size: large;"><b><br /></b></span>
<span style="color: orange; font-size: large;"><b>Kurulum</b></span><br />
1- Eklentinin son veriyonu <a href="https://github.com/konifar/android-material-design-icon-generator-plugin/raw/master/MaterialDesignIconGeneratorPlugin.zip">BURAYA TIKLAYARAK</a> indirilir.<br />
2- Android Studio açınız.<br />
3- Toolbardan File|Settings | Plugins yerine kadar açınız.<br />
4- Ekranın aşağısındaki 3 butonun en sağındaki "<u>Install from disk</u>" e basıp indirdiğimiz .zip dosyasını seçiyoruz.<br />
5- Android Studioyu kapatıp tekrar açıyoruz.<br />
<br />
<span style="color: orange;">Kaynak</span>: <a href="https://github.com/konifar/android-material-design-icon-generator-plugin">https://github.com/konifar/android-material-design-icon-generator-plugin</a>Barış ATALAYhttp://www.blogger.com/profile/11603628662798288682noreply@blogger.com0tag:blogger.com,1999:blog-7347738039865898700.post-8950169472578107732017-04-03T11:06:00.001+03:002017-04-03T14:10:40.668+03:00Android Swipe LayoutMerhabalar,<br />
<br />
Aşağıda gördüğünüz gifdeki kaydırma olayı(Swipe Layout) IOS da çok sıklıkla kullanılan bir olaydır. Benzerini bir projemde harici kütüphane olarak kullandığım olmuştu.Birçok açıdan buton tasarrufu sağlayan bir yapı olduğu için paylaşmak istedim.<br />
<br />
<span style="color: orange;"><span style="font-size: large;">GitHub</span>:</span> <a href="https://github.com/barisatalay/SwipeLayout">https://github.com/barisatalay/SwipeLayout</a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-xBS3IAUKE8A/WOH1b6aFj3I/AAAAAAAACKk/gu42LPaBwSQDfhQ8brSLJMLf6qVHWdpXwCLcB/s1600/g1.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://3.bp.blogspot.com/-xBS3IAUKE8A/WOH1b6aFj3I/AAAAAAAACKk/gu42LPaBwSQDfhQ8brSLJMLf6qVHWdpXwCLcB/s320/g1.gif" width="261" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
IOS Örneği</div>
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-YcfHpJf25Qo/WOICWebkuyI/AAAAAAAACK0/BrJx8QgMH50MyseTcDRNjN5FW3wfaJzXgCLcB/s1600/g2.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://1.bp.blogspot.com/-YcfHpJf25Qo/WOICWebkuyI/AAAAAAAACK0/BrJx8QgMH50MyseTcDRNjN5FW3wfaJzXgCLcB/s1600/g2.gif" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Android Örneği</div>
<br />
<br />
<b><span style="color: orange; font-size: large;">Kurulum:</span></b><br />
Gradle Eklenecek:<br />
<span style="color: orange;">compile "com.daimajia.swipelayout:library:1.2.0@aar"</span><br />
<br />
Bu Swipe Layout için <span style="color: orange;">RecyclerView</span> kullandığı adapterimizin "<span style="color: orange;">RecyclerSwipeAdapter</span>" sınıfından türemesi gerek ve aşağıdaki methodu adapterimize tanımlamalıyız.<br />
<br />
<pre class="brush:java;">@Override
public int getSwipeLayoutResourceId(int position) {
//Buradaki sample_swipe Satır layoutunda görebilirsiniz.
return R.id.sample_swipe;
}
</pre>
<br />
Sıradaki işlemimiz adapterin <span style="color: orange;">ViewHolder </span>constructor bölümünde xml tarafındaki SwipeLayout elemanının özelliklerini atamak.<br />
<br />
<br />
<pre class="brush:java;">swipeLayout.addDrag(SwipeLayout.DragEdge.Right, swipeLayout.findViewWithTag("Bottom2"));
setShowMode(SwipeLayout.ShowMode.LayDown);
</pre>
<br />
<br />
Yukarıda <span style="color: orange;">findViewWithTag </span>içerisindeki <span style="color: orange;">Bottom2</span> satır layoutumuzdaki SwipeLayout elemanının alt viewi olan ve kaydırınca gözükecek bölümün tagıdır.<br />
<br />
Okurken biraz karışık gelebilir fakat örnek kodu Github'dan incelediğinizde çok basit bir kullanımın olduğunu göreceksiniz.<br />
<br />
Aşağıda kaynağı paylaşıyorum benim anlattıgımdandan farklı Swipe örnekleri mevcuttur.<br />
<br />
<span style="color: orange;">Kaynak</span>: <a href="https://github.com/daimajia/AndroidSwipeLayout">https://github.com/daimajia/AndroidSwipeLayout</a>Barış ATALAYhttp://www.blogger.com/profile/11603628662798288682noreply@blogger.com0tag:blogger.com,1999:blog-7347738039865898700.post-71560285122860735002017-03-30T14:56:00.001+03:002017-04-02T13:59:09.660+03:00Android Studio İpuçlarıMerhabalar,<br />
<br />
Android Studio'nun IDE üzerindeki ayarlarınızı İçe Aktarma / Dışa Aktarma gibi özelliği mevcuttur.<br />
Yeni bir Android Studio sürümü yüklediğinizde fark etmişsinizdir size içe aktarmak ister misiniz diye sormakta.<br />
<br />
<span style="color: orange;">Önemli Tavsiye</span>: Ayarlarınızı her zaman Google ile login olarak bulut üzerinde saklamanız.<br />
<br />
<b><span style="color: orange; font-size: large;">Satır Numaralarını Gösterme</span></b><br />
Android Studio'yu ilk kurduğumda ve kullanmaya başladığımda hata loglarında bana gösterilen satır numaralarını rahatça görebilmekti. Bunun varsayılan olarak neden gösterilmediğini hiç merak ettiniz mi ?<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-JgDlHgCfbU0/WNzqtMfyToI/AAAAAAAACJM/OEk-bvxGZn8wPgL8TxLz2AHHRZsJ_UCvACLcB/s1600/g1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="146" src="https://2.bp.blogspot.com/-JgDlHgCfbU0/WNzqtMfyToI/AAAAAAAACJM/OEk-bvxGZn8wPgL8TxLz2AHHRZsJ_UCvACLcB/s400/g1.png" width="400" /></a></div>
<div style="text-align: center;">
<span style="font-size: x-small;">Satır numaraları gözümezken</span></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-RfXBMURFfJw/WNzq4zdjKUI/AAAAAAAACJQ/HAhxAua-Oto9KaJ2OrHIZBxY1gT2n_xPACLcB/s1600/g2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="147" src="https://1.bp.blogspot.com/-RfXBMURFfJw/WNzq4zdjKUI/AAAAAAAACJQ/HAhxAua-Oto9KaJ2OrHIZBxY1gT2n_xPACLcB/s400/g2.png" width="400" /></a></div>
<div style="text-align: center;">
<span style="font-size: x-small;">Satır numaraları ile</span></div>
<div style="text-align: center;">
<span style="font-size: x-small;"><br /></span></div>
<span style="color: orange; font-size: large;">Kurulum</span><br />
1- Toolbardan File|Settings|Editor|General|Appearance yerine kadar açınız.<br />
2- Aşağıdaki resimde gösterildiği gibi "Show line numbers" seçeneğini işaretleyiniz.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-NeXFwMSd06I/WNztEUFGtsI/AAAAAAAACJc/QeuKpwqATkkxriKhBDICdbAkTBhurDllQCLcB/s1600/g3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://1.bp.blogspot.com/-NeXFwMSd06I/WNztEUFGtsI/AAAAAAAACJc/QeuKpwqATkkxriKhBDICdbAkTBhurDllQCLcB/s400/g3.png" width="386" /></a></div>
<br />
<br />
<span style="color: orange; font-size: large;"><b>Camel humps</b></span><br />
Ctrl + Sol/Sağ ok tuşlarıyla kodunuz arasında dolaşırken Android Studio 'Camel Humps' sözlerine saymaz.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-lD-dwxw4fF8/WNzuKxxJfkI/AAAAAAAACJo/JZhVm5ruh_4UqmQR3IYYiSVsVqRR8Y6GgCLcB/s1600/g1.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="122" src="https://3.bp.blogspot.com/-lD-dwxw4fF8/WNzuKxxJfkI/AAAAAAAACJo/JZhVm5ruh_4UqmQR3IYYiSVsVqRR8Y6GgCLcB/s400/g1.gif" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-MhXddbAgE1c/WNzud8pfVJI/AAAAAAAACJs/RCXpS6b_GcUHSvAAMeJz84TtDMnqJbqLgCLcB/s1600/g2.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="120" src="https://3.bp.blogspot.com/-MhXddbAgE1c/WNzud8pfVJI/AAAAAAAACJs/RCXpS6b_GcUHSvAAMeJz84TtDMnqJbqLgCLcB/s400/g2.gif" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<span style="color: orange; font-size: large;">Kurulum</span><br />
1- Toolbardan File|Settings|Editor|General|Smart Keys yerine kadar açınız.<br />
2- Aşağıdaki resimde gösterildiği gibi "Camel Humps" seçeneğini işaretleyiniz.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-aIJgKv6hEOA/WNzuvjEeTrI/AAAAAAAACJw/xtFzwDt6g7oDeDw6NDRYcm_D0vJZuaG_QCLcB/s1600/w1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="197" src="https://2.bp.blogspot.com/-aIJgKv6hEOA/WNzuvjEeTrI/AAAAAAAACJw/xtFzwDt6g7oDeDw6NDRYcm_D0vJZuaG_QCLcB/s400/w1.png" width="400" /></a></div>
<span style="color: orange; font-weight: bold;"><br /></span>
<span style="color: orange; font-weight: bold;">Not: </span>Bu işlemi yaptıktan sonra artık kelime kelime seçebilme şansınız oluyor. Denediğinizde göreceksiniz biraz sinir bozucu bir durum. Eğer mouse ile seçerken bütün hepsini seçmesini istiyorsanız aşağıdaki adımları uygulamanız gerekmektedir.<br />
<br />
<span style="color: orange; font-size: large;">Kurulum</span><br />
1- Toolbardan File|Settings|Editor|General yerine kadar açınız.<br />
2- Açılan yerde 'Honor "CamelHumps" words settings when selecting on double click' seçeneğinin işaretini kaldırınız.<br />
<div>
<br /></div>
<div>
<br /></div>
<div>
<span style="color: orange; font-size: large;"><b>Anında Kütüphane Ekleme</b></span></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Android Studio'da kullanılmayan içe aktarmaları otomatik olarak içe aktarmak veya temizlemek için kısayollar vardır. Sene olmuş 2017 bizi uğraştırmak yerine otomatik olarak sınıfın kütüphanesini kendisi eklese hoş olmaz mı?</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-WPN-Gr7f05c/WNzxgNPTwhI/AAAAAAAACJ8/LIbCM8y4mt4V9sEFZ974GJGG5Z5SD3RFQCLcB/s1600/g1.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="140" src="https://3.bp.blogspot.com/-WPN-Gr7f05c/WNzxgNPTwhI/AAAAAAAACJ8/LIbCM8y4mt4V9sEFZ974GJGG5Z5SD3RFQCLcB/s400/g1.gif" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-size: x-small;">Anında Kütüphane Ekleme olmadan</span></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-2u6DQbzubYY/WNzxsVCF4DI/AAAAAAAACKA/a16xxAlIwRMRlyoDzYqt99XLfawMWNvtQCLcB/s1600/g2.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="140" src="https://2.bp.blogspot.com/-2u6DQbzubYY/WNzxsVCF4DI/AAAAAAAACKA/a16xxAlIwRMRlyoDzYqt99XLfawMWNvtQCLcB/s400/g2.gif" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-size: x-small;">Anında Kütüphane Ekleme ile</span></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<span style="color: orange; font-size: large;">Kurulum</span><br />
1- Toolbardan File|Settings|Editor|General|Auto Import yerine kadar açınız.<br />
2- Aşağıdaki resimdeki gibi "Optimize imports on the fly" ve "Add unambiguous imports on the fly" seçeneklerini işaretleyiniz.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-2Pk_0OhK5VI/WNzyPMeq6JI/AAAAAAAACKI/PMZGPOtDWRc_OywpJ6bjilAqkHKw9DJmgCLcB/s1600/w1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="165" src="https://4.bp.blogspot.com/-2Pk_0OhK5VI/WNzyPMeq6JI/AAAAAAAACKI/PMZGPOtDWRc_OywpJ6bjilAqkHKw9DJmgCLcB/s400/w1.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="color: orange;">Kaynak :</span> <a href="https://medium.com/google-developer-experts/configuring-android-studio-4aa4f54f1153">https://medium.com/google-developer-experts/configuring-android-studio-4aa4f54f1153</a></div>
<br />Barış ATALAYhttp://www.blogger.com/profile/11603628662798288682noreply@blogger.com0tag:blogger.com,1999:blog-7347738039865898700.post-24699005136927495062017-03-29T14:01:00.002+03:002017-03-29T14:01:44.221+03:00Android Studio Inner Builder<div style="text-align: center;">
<span style="color: orange; font-size: x-large;"><b>InnerBuilder</b></span></div>
<div style="text-align: center;">
<span style="font-size: x-large;"><b><br /></b></span></div>
<div style="text-align: left;">
Bu eklenti sayesinde onlarca saniyenizi alan bir işlem olan builder constructor oluşturma işlemini saniyelere indirebilirsiniz. </div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Eklenti dosyasını <a href="https://github.com/analytically/innerbuilder">BURADAN</a> indirebilirsiniz.</div>
<div style="text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-520DLm-T7g0/WNuTzuy44FI/AAAAAAAACIc/GQtQbcnbNMg58w3zpvPPxIQTjFNXnlULQCLcB/s1600/b1.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="261" src="https://1.bp.blogspot.com/-520DLm-T7g0/WNuTzuy44FI/AAAAAAAACIc/GQtQbcnbNMg58w3zpvPPxIQTjFNXnlULQCLcB/s400/b1.gif" width="400" /></a></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Kaynak: <a href="https://android.jlelse.eu/android-studio-tip-6-builder-310eaa8908a8">https://android.jlelse.eu/android-studio-tip-6-builder-310eaa8908a8</a></div>
Barış ATALAYhttp://www.blogger.com/profile/11603628662798288682noreply@blogger.com0tag:blogger.com,1999:blog-7347738039865898700.post-15405958128050937802017-03-28T10:58:00.002+03:002017-03-28T10:58:52.265+03:00Android File Grouping Plugin v1.1Merhabalar,<br />
<br />
Aşağıda bahsettiğim eklenti sayesinde proje görünümünüz "Project" ise <span style="color: orange;">resource </span>klasörlerinizi gruplamanıza olanak sağlar.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-aL0MD5tTOcM/WNoQTPif8GI/AAAAAAAACGY/s1BKYdlHG-c80a-deV22iLigZVotLQfEACLcB/s1600/g1.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="252" src="https://2.bp.blogspot.com/-aL0MD5tTOcM/WNoQTPif8GI/AAAAAAAACGY/s1BKYdlHG-c80a-deV22iLigZVotLQfEACLcB/s320/g1.gif" width="320" /></a></div>
<br />
<br />
<b><span style="color: orange; font-size: large;">Önemli Not:</span></b><br />
<br />
<ul>
<li>Klasörleri taşımaz.</li>
<li>Yeni bir klasör oluşturmaz.</li>
<li><u>İngilizcem çok iyi değildir. Anladığım kadarı ile aktarmaya çalıştım.</u></li>
</ul>
<br />
<br />
<br />
<span style="color: orange; font-size: large;"><b>Kurulum</b></span><br />
1- Eklentinin son veriyonu <a href="https://github.com/dmytrodanylyk/folding-plugin/releases">BURAYA TIKLAYARAK</a> indirilir.<br />
2- Android Studio açınız.<br />
3- Toolbardan File|Settings | Plugins yerine kadar açınız.<br />
4- Ekranın aşağısındaki 3 butonun en sağındaki "<u>Install from disk</u>" e basıp indirdiğimiz .zip dosyasını seçiyoruz.<br />
5- Android Studioyu kapatıp tekrar açıyoruz.<br />
<br />
<b style="font-size: x-large;"><span style="color: orange;">Kullanımı</span></b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-NU5iG3m3URk/WNoSQLM1JaI/AAAAAAAACGk/uQ88siBlz6EX5Afzcv2wxHmLhGmkXegiQCLcB/s1600/g2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="165" src="https://3.bp.blogspot.com/-NU5iG3m3URk/WNoSQLM1JaI/AAAAAAAACGk/uQ88siBlz6EX5Afzcv2wxHmLhGmkXegiQCLcB/s320/g2.png" width="320" /></a></div>
Örnek olarak "layout" klasöründekileri gruplayalım.<br />
<br />
1- "layout" klasörüne sağ tıklayınız.<br />
2- En üste göreceğiniz üzere "Group/Ungroup" seçeneğine tıklayınız.<br />
<br />
<span style="color: orange; font-size: large;"><b>Hide Folding Prefix</b></span><br />
<br />
Bu özellik sayesinde dosya adlarını grupladığınız öneksiz görebilirsiniz.<br />
<br />
<br />
<div style="text-align: center;">
<b><span style="color: orange;">Ön ekleri gizlenmemiş</span></b></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-ExEYyNsq-Aw/WNoTGpVpw1I/AAAAAAAACGs/jgFaRIV-nqM5d3qYFF1BevJd3ewZir0aQCLcB/s1600/g3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="259" src="https://1.bp.blogspot.com/-ExEYyNsq-Aw/WNoTGpVpw1I/AAAAAAAACGs/jgFaRIV-nqM5d3qYFF1BevJd3ewZir0aQCLcB/s320/g3.png" width="320" /></a></div>
<br />
<div style="text-align: center;">
<b><span style="color: orange;">Ön ekleri gizlenmiş</span></b></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-krHBE3S0w1Q/WNoTItvIpRI/AAAAAAAACGw/bvXVrVkwYVIDK5u56ABgDka2jtMatPDxQCLcB/s1600/g4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="258" src="https://2.bp.blogspot.com/-krHBE3S0w1Q/WNoTItvIpRI/AAAAAAAACGw/bvXVrVkwYVIDK5u56ABgDka2jtMatPDxQCLcB/s320/g4.png" width="320" /></a></div>
<br />
<br />
<br />
<b><span style="color: orange; font-size: large;">Kullanımı</span></b><br />
1- Toolbardan File|Settings yerine kadar açınız.<br />
2- Sol menüden en aşağıdaki "Other Settings" bölümünü açın.<br />
3- "Hide Folding Prefix" seçeneğini tıklayın.<br />
4- Görünümü yenilemek için klasörleri "daraltın/genişletin"<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-CjfJf8SvYz0/WNoUUulYP9I/AAAAAAAACG8/qEEGH9ZfliY-DCfTBKRN8G9RkF22I4KuwCLcB/s1600/g5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="142" src="https://3.bp.blogspot.com/-CjfJf8SvYz0/WNoUUulYP9I/AAAAAAAACG8/qEEGH9ZfliY-DCfTBKRN8G9RkF22I4KuwCLcB/s320/g5.png" width="320" /></a></div>
<br />
<span style="color: orange; font-size: large;"><b>Custom Prefix Pattern</b></span><br />
<br />
<br />
<div style="text-align: center;">
<b><span style="color: orange;">Custom prefix pattern olmadan</span></b></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-4XBNZRj964I/WNoVF7sIl3I/AAAAAAAACHE/tD8050APItEEOFnAK_TfEjY1kjRGT_TNgCLcB/s1600/g6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="140" src="https://1.bp.blogspot.com/-4XBNZRj964I/WNoVF7sIl3I/AAAAAAAACHE/tD8050APItEEOFnAK_TfEjY1kjRGT_TNgCLcB/s320/g6.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<b><span style="color: orange;">Custom prefix pattern ile</span></b></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-NnILEIvSbPQ/WNoVcuhy5sI/AAAAAAAACHI/wJCIaiI2T44xYMM_iG0kHt8IqerZa5vJACLcB/s1600/g7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="137" src="https://3.bp.blogspot.com/-NnILEIvSbPQ/WNoVcuhy5sI/AAAAAAAACHI/wJCIaiI2T44xYMM_iG0kHt8IqerZa5vJACLcB/s320/g7.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Bu özellik, filtreleme için alt çizginin hangi konumunun alınacağını belirleme olanağı verir.<br />
<br />
<b><span style="color: orange; font-size: large;">Kullanımı</span></b><br />
1- Toolbardan File|Settings yerine kadar açınız.<br />
2- Sol menüden en aşağıdaki "Other Settings" bölümünü açın.<br />
3- "Use Custom Pattern" işaretlenir ve kendi özel deseniniz tanımlanır.<br />
4- Görünümü yenilemek için klasörleri "daraltın/genişletin"<br />
5- <b>Not:</b> varsayılan desen klasörler oluşturmak için dosya adının ilk iki alt çizgisini alır.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-r43vSZVHT2o/WNoW-F4turI/AAAAAAAACHU/uxQQSASjleQyPojgDMFzESs_kB5j9yMKwCLcB/s1600/g8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="142" src="https://4.bp.blogspot.com/-r43vSZVHT2o/WNoW-F4turI/AAAAAAAACHU/uxQQSASjleQyPojgDMFzESs_kB5j9yMKwCLcB/s320/g8.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><span style="color: orange;">Kaynak</span></b>: <a href="https://medium.com/google-developer-experts/android-file-grouping-plugin-v1-1-170361ce921d">https://medium.com/google-developer-experts/android-file-grouping-plugin-v1-1-170361ce921d</a></div>
<br />Barış ATALAYhttp://www.blogger.com/profile/11603628662798288682noreply@blogger.com0tag:blogger.com,1999:blog-7347738039865898700.post-731988052190487462017-03-11T10:06:00.003+03:002017-03-11T10:06:29.903+03:00Android Thermal Bluetooth Printer Helper<div style="text-align: center;">
<span style="font-size: large;">Android Thermal Bluetooth Printer Helper</span><br />
<span style="font-size: large;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-qelNEAAVccY/WMOhX1nnKaI/AAAAAAAACBg/RxX8newcBZo9Buw51nui1vyGJDmDOP4lgCEw/s1600/5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://3.bp.blogspot.com/-qelNEAAVccY/WMOhX1nnKaI/AAAAAAAACBg/RxX8newcBZo9Buw51nui1vyGJDmDOP4lgCEw/s320/5.jpg" width="180" /></a></div>
<span style="font-size: large;"><br /></span></div>
<br />
Piyasada birçok farklı termal bluetooth yazıcı olduğu aşikar ve bunların birçoğuna aynı şekil text gönderip yazdırma işlemini yapabiliyoruz. İşte kütüphanemizde bu işe yarıyor.<br />
<br />
Ek olarak kütüphanemiz kendi içerisinde;<br />
İzinleri kontrol ediyor,<br />
Kendi Yazıcı seçim ekranı mevcut,<br />
İsteğe göre yazıcı seçim ekranı açtırmadan direk deviceAddress tanımlayarak çıktı alabilinir,<br />
Test sayfası yazdırma.<br />
<br />
Gibi özellikleri mevcuttur. Kütüphaneyi kullandıkça ve yeni özellik gerektikçe eklemelerde bulunacağım.<br />
<br />
Kütüphanenin kullanımı oldukça basit. 1 örneği burada yazıyorum devamı github projesi içerisinde.<br />
<br />
Github: <a href="https://github.com/barisatalay/thermalprinterhelper">https://github.com/barisatalay/thermalprinterhelper</a><br />
Demo: <a href="https://play.google.com/store/apps/details?id=com.atalay.bluetoothexample">https://play.google.com/store/apps/details?id=com.atalay.bluetoothexample</a><br />
<br />
<br />
<pre class="brush:java;">
//Parameter 1: Activity,
//Paremeter 2: BluetoothCallback interface
BluetoothProvider bluetoothProvider = new BluetoothProvider(this, this);
//Control of required permissions.
//Check terminal device pair / unpair control.
//Connect to BluetoothSocket
//If don't have any pair devices, if it have permission open devices activity
bluetoothProvider.connect()
//This value default false
bluetoothProvider.printText("This is PRINT TEST!!!")
</pre>
<br />
<div style="text-align: center;">
<span style="font-size: large;">Ekran görüntüleri</span></div>
<span style="font-size: large;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-zjjHdJaUoJE/WMOhXZ-cxuI/AAAAAAAACBQ/vkIMG9mROdc0KbtMCf5Dh2-ePmvtUD_HACLcB/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://3.bp.blogspot.com/-zjjHdJaUoJE/WMOhXZ-cxuI/AAAAAAAACBQ/vkIMG9mROdc0KbtMCf5Dh2-ePmvtUD_HACLcB/s320/1.png" width="179" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-CLqUHMvbntU/WMOhXeQy2DI/AAAAAAAACBY/GzKiW3_hPbACVgYZ7o-Rq8LRmHWPxYRdACLcB/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://1.bp.blogspot.com/-CLqUHMvbntU/WMOhXeQy2DI/AAAAAAAACBY/GzKiW3_hPbACVgYZ7o-Rq8LRmHWPxYRdACLcB/s320/2.png" width="180" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-BH0ovArVjgg/WMOhXZ_RnPI/AAAAAAAACBU/FTo1QR6NZXIwDd16TL65CA8sqFpFNfFvQCLcB/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://3.bp.blogspot.com/-BH0ovArVjgg/WMOhXZ_RnPI/AAAAAAAACBU/FTo1QR6NZXIwDd16TL65CA8sqFpFNfFvQCLcB/s320/3.png" width="180" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-ariY39Zmjag/WMOhXtLA3bI/AAAAAAAACBc/fIxlwlC1BY8u2Hl333J5jvEvd82jbrKOwCLcB/s1600/4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://1.bp.blogspot.com/-ariY39Zmjag/WMOhXtLA3bI/AAAAAAAACBc/fIxlwlC1BY8u2Hl333J5jvEvd82jbrKOwCLcB/s320/4.jpg" width="180" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<span style="font-size: large;"><br /></span>Barış ATALAYhttp://www.blogger.com/profile/11603628662798288682noreply@blogger.com0tag:blogger.com,1999:blog-7347738039865898700.post-29015845837145090812017-03-08T13:20:00.002+03:002017-03-08T13:35:30.989+03:00Android LoadingIndicatorView Library<div class="separator" style="clear: both; text-align: center;">
<span style="font-size: large;"><b>Android LoadingIndicatorView Library</b></span></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Merhabalar,</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Sizlere hali hazırda bulunan bir view kütüphanesi olan "AVLoadingIndicatorView" in farklı bir kullanımı için kütüphane hazırladım. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Mevcut olan "AVLoadingIndicatorView" sadece xml tarafına eklenen bir componenttir. Ben bunu full ekran loading olarak kullanılabilecek bir kütüphane haline getirdim.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="color: orange;">Demo</span> proje içerisinde kütüphanenin desteklediği 27 çeşit loading örneğini görebilirsiniz.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both;">
Github: <a href="https://github.com/barisatalay/loadingindicatorview">https://github.com/barisatalay/loadingindicatorview</a></div>
<div class="separator" style="clear: both;">
Demo : <a href="https://play.google.com/store/apps/details?id=com.atalay.loadingindicatorview">https://play.google.com/store/apps/details?id=com.atalay.loadingindicatorview</a></div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
<span style="font-size: large;"><b>Kullanımı</b></span></div>
<pre style="background-color: #f6f8fa; border-radius: 3px; box-sizing: border-box; color: #24292e; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; font-stretch: normal; line-height: 1.45; overflow: auto; padding: 16px; word-break: normal; word-wrap: normal;">allprojects {
repositories {
<span class="pl-k" style="box-sizing: border-box; color: #a71d5d;">..</span>.
maven { url <span class="pl-s" style="box-sizing: border-box; color: #183691;"><span class="pl-pds" style="box-sizing: border-box;">'</span>https://jitpack.io<span class="pl-pds" style="box-sizing: border-box;">'</span></span> }
}
}</pre>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
build.gradle eklenecek olan:</div>
<pre style="background-color: #f6f8fa; border-radius: 3px; box-sizing: border-box; color: #24292e; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; font-stretch: normal; line-height: 1.45; overflow: auto; padding: 16px; word-break: normal; word-wrap: normal;"> dependencies {
compile <span class="pl-s" style="box-sizing: border-box; color: #183691;"><span class="pl-pds" style="box-sizing: border-box;">'</span>com.github.barisatalay:loadingindicatorview:-SNAPSHOT<span class="pl-pds" style="box-sizing: border-box;">'</span></span>
}</pre>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Kullanımı oldukça basit:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<pre class="brush:java;"> //Parameter 1: Activity,
//Paremeter 2: Message String or String resource Id
//Parameter 3: Indicator Type
LoadingIndicatorView.show(mActivity, "Please Wait", LoadingType.BallPulseIndicator);
//For hide Indicator View
LoadingIndicatorView.hide();
//For change text Indicator View
//Paremeter: Message String / String resource Id
LoadingIndicatorView.changeText("Downloading..");
</pre>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<u>Aşağıda ekran görüntüleri bulunmakta</u></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-npnZlpUCDvA/WL-scyQQtZI/AAAAAAAACAw/80F0fkBbsgsr3m-0bwi4CRPYOJHvfe76wCEw/s1600/alltype.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://4.bp.blogspot.com/-npnZlpUCDvA/WL-scyQQtZI/AAAAAAAACAw/80F0fkBbsgsr3m-0bwi4CRPYOJHvfe76wCEw/s320/alltype.png" width="180" /></a>
<a href="https://1.bp.blogspot.com/-nGWU2Go3bR0/WL-sc4V--OI/AAAAAAAACAo/_Zb5EEXqjcUaqX_Ck6MwDwmpiS-TApsYwCEw/s1600/BallPulseIndicator.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://1.bp.blogspot.com/-nGWU2Go3bR0/WL-sc4V--OI/AAAAAAAACAo/_Zb5EEXqjcUaqX_Ck6MwDwmpiS-TApsYwCEw/s320/BallPulseIndicator.png" width="180" /></a>
<a href="https://1.bp.blogspot.com/-I0RS5oaYNnw/WL-sc0ao4pI/AAAAAAAACAs/JKnkOrIFG4YHZ9dr1z15f8P5maD3gIyyQCEw/s1600/avi.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://1.bp.blogspot.com/-I0RS5oaYNnw/WL-sc0ao4pI/AAAAAAAACAs/JKnkOrIFG4YHZ9dr1z15f8P5maD3gIyyQCEw/s320/avi.gif" width="203" /></a>
</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
<br /></div>
Barış ATALAYhttp://www.blogger.com/profile/11603628662798288682noreply@blogger.com0tag:blogger.com,1999:blog-7347738039865898700.post-28460537741308138422017-03-07T10:46:00.000+03:002017-03-09T16:03:06.519+03:00Android Localization ActivityMerhabalar,<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-pUoH0KoZUA8/WL5dinx3uAI/AAAAAAAACAY/55snKOmFUwc_TUilTvez6NoDfIaeSsZMQCLcB/s1600/Tranlate.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://3.bp.blogspot.com/-pUoH0KoZUA8/WL5dinx3uAI/AAAAAAAACAY/55snKOmFUwc_TUilTvez6NoDfIaeSsZMQCLcB/s200/Tranlate.png" width="200" /></a></div>
<br />
<br />
Çoğumuz projelerimizde birden fazla dil desteği sağlıyoruz. Bunun için herkes kendisine göre bir yöntem geliştirmiş bulunmakta. Ben genelde Amerikayı yeniden keşfetme taraftarı değilim eğer kütüphane gerçekten istendiği gibi iş yapıyorsa :)<br />
<br />
Sizelere bahsedeceğim kütüphane "Android-LocalizationActivity" projenizde istediğiniz kadar dil desteği vermenizi sağlamaktadır.<br />
<br />
Ben kendimde nasıl kullanmışsam size öyle bir <span style="color: orange;">BaseActivity </span>hazırladım ve aşağıdaki koddan BaseActivitye erişebilirsiniz.<br />
<br />
Fakat öncelikle main/res içerisinde hangi dili kullanmak istiyorsanız ona uygun klasörü oluşturmanız gerekmektedir.<br />
<br />
Klasör oluştururken kullandığımız isimleri aşağıdaki linkten seçebilirsiniz. Ben bu listedekileri kullanmaktayım.<br />
<a href="https://github.com/barisatalay/AndroidLocalizationExample/blob/master/tools/LanguageSource.json">https://github.com/barisatalay/AndroidLocalizationExample/blob/master/tools/LanguageSource.json</a><br />
<br />
Örneğin almanca için bir dil klasörü oluşturacaksak adı "values-de" olmalıdır ve klasörün içerisinde "strings.xml" dosyası olmalıdır.<br />
<br />
Projeyi Github içerisinede yüklüyorum isteyenler <span style="color: orange;">Google Play</span> üzerinden uygulamanın demosuna bakabilirler ve githubdan örnek projeyi inceleyebilirler.<br />
<br />
Demo: <a href="https://play.google.com/store/apps/details?id=com.atalay.androidlocalizationexample">https://play.google.com/store/apps/details?id=com.atalay.androidlocalizationexample</a><br />
Github: <a href="https://github.com/barisatalay/AndroidLocalizationExample">https://github.com/barisatalay/AndroidLocalizationExample</a><br />
<br />
İyi çalışmalar dilerim.
<br />
<br />
<br />
Gradle eklenmesi gereken: compile 'com.akexorcist:localizationactivity:1.1.2'<br />
<br />
<br />
<pre class="brush:java;">public class BaseActivity extends AppCompatActivity {
private LocalizationDelegate localizationDelegate = new LocalizationDelegate(this);
private String activeLangCode = "";
@Override
public void onCreate(Bundle savedInstanceState) {
localizationDelegate.onCreate(savedInstanceState);
super.onCreate(savedInstanceState);
//Aktif olan dil kodunu alıyoruz.
activeLangCode = (PreferenceManager.getDefaultSharedPreferences(this.getApplicationContext())).getString(getString(R.string.pref_general_language),"en");
setLanguage(activeLangCode);
}
@Override
public void onResume() {
super.onResume();
localizationDelegate.onResume();
}
/*
* Kütüphaneye aktif olan dil kodunu gönderiyoruz ve
* kütüphane uygulamamızın aktif olan Activitysini yeniden oluşturuyor
* bu sayede string resourceler gerekli dilden çekiliyor.
*/
public final void setLanguage(String language) {
localizationDelegate.setLanguage(language);
}
public final void setLanguage(Locale locale) {
localizationDelegate.setLanguage(locale);
}
public final void setDefaultLanguage(String language) {
localizationDelegate.setDefaultLanguage(language);
}
public final void setDefaultLanguage(Locale locale) {
localizationDelegate.setDefaultLanguage(locale);
}
public final String getLanguage() {
return localizationDelegate.getLanguage();
}
public final Locale getLocale() {
return localizationDelegate.getLocale();
}
}
</pre>
Barış ATALAYhttp://www.blogger.com/profile/11603628662798288682noreply@blogger.com0tag:blogger.com,1999:blog-7347738039865898700.post-24877366013672726712017-02-20T13:51:00.002+03:002017-02-20T13:53:46.859+03:00Android Recyclerview Disable ScrollingBu işlem için RecyclerView nesnesinin LayoutManager özelliğinden yardım alacağız.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-ski7LFlpHog/WKrKf7W-fvI/AAAAAAAAB04/jzO2vQkN1fofkqY_9fqCnKiyKQkQMOYeQCLcB/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="159" src="https://3.bp.blogspot.com/-ski7LFlpHog/WKrKf7W-fvI/AAAAAAAAB04/jzO2vQkN1fofkqY_9fqCnKiyKQkQMOYeQCLcB/s320/1.png" width="320" /></a></div>
<br />
<br />
Öncelikle CustomLayoutManager adında yeni bir sınıf oluşturuyoruz ve aşağıdaki gibi tasarlıyoruz.<br />
<br />
<span style="color: orange;">public class</span> CustomGridLayoutManager <span style="color: orange;">extends </span>LinearLayoutManager {<br />
<span style="color: orange;">private boolean</span> isScrollEnabled = <span style="color: orange;">true</span>;<br />
<br />
<span style="color: orange;">public </span>CustomGridLayoutManager(Context context) {<br />
<span style="color: orange;">super</span>(context);<br />
}<br />
<br />
<span style="color: orange;">public void </span>setScrollEnabled(boolean value) {<br />
this.isScrollEnabled = value;<br />
}<br />
<br />
@Override<br />
<span style="color: orange;">public boolean </span>canScrollVertically() {<br />
<span style="color: orange;">return super</span>.canScrollVertically() && isScrollEnabled;<br />
}<br />
}<br />
<br />
<br />
RecyclerView için LayoutManager oluştururken yeni hazırladığımız sınftan <span style="color: orange;">extend </span>ediyoruz.<br />
<br />
RecyclerView <span style="color: #a64d79;">main_dashboard</span>;<br />
<span style="color: red;">CustomGridLayoutManager </span>layoutManager = <span style="color: orange;">new </span><span style="color: red;">CustomGridLayoutManager</span>(<span style="color: orange;">this</span>.getApplicationContext());<br />
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);<br />
layoutManager.scrollToPosition(0);<br />
<br />
<span style="color: #a64d79;">main_dashboard</span>.setLayoutManager(layoutManager);<br />
<span style="color: #a64d79;">main_dashboard</span>.setHasFixedSize(<span style="color: orange;">true</span>);<br />
<br />
<br />
layoutManage.setScrollEnabled(<span style="color: orange;">true</span>/<span style="color: orange;">false</span>) şeklinde istediğinizde scroll olayının erişilebilirliğini değiştirebilirsiniz.Barış ATALAYhttp://www.blogger.com/profile/11603628662798288682noreply@blogger.com0tag:blogger.com,1999:blog-7347738039865898700.post-68951379506248065092017-02-11T10:49:00.000+03:002017-02-11T10:49:55.072+03:00Android Bluetooth Cihaz Listeleme SorunuMerhabalar,<br />
<br />
Başıma gelen bir olay sonrası fark ettiğim bir durumdur. Açıklayayım.<br />
<br />
Android <span style="color: red; text-decoration: underline;">Marshmallow</span> versiyonundan önce AndroidManifest.xml içerisinde bluetooth izinlerini tanımlamak yeterliydi.<br />
<br />
Fakat <span style="color: red; text-decoration: underline;">Marshmallow</span> ile beraber uygulama çalışırken izin isteme istemi geldi bunun için bluetooth izilerini lazım olduğunda istememiz gerekmektedir ve bunun yanı sıra bluetooth cihazlarını tarayabilmek için ek olarak "<span style="color: #38761d;">android.permission.ACCESS_FINE_LOCATION</span>" izinide gerekmektedir. Eğer bu izni sağlamassanız bluetooth cihazları listeleyemiyorsunuz.<br />
<br />
İyi çalışmalar.Barış ATALAYhttp://www.blogger.com/profile/11603628662798288682noreply@blogger.com1tag:blogger.com,1999:blog-7347738039865898700.post-7893262763665797982016-12-03T15:44:00.000+03:002016-12-03T15:44:31.591+03:00Android activity başlangıçta klavye kapatmaMerhalar,<br />
<br />
Kendime notlarımı tekrar yazma gereği duymaya başladım. İş yoğunluğu, günlük hayatta başımıza gelenler derken aklımızdan birçok şey uçabiliyor onların önüne geçmek için sizlere de tavsiyem Online veya Offline notlar tutmanız.<br />
<br />
İyi çalışmalar Dilerim..<br />
<br />
<br />
<br />
<span style="color: red;">AndroidManifest.xml </span>dosyası içerisinde hangi activitynin açılış anında herhangi bir inputa konumlanarak klavye açılması engellemek istiyorsanız aşağıdaki örnekteki kodu ekleyiniz.<br />
<br />
<activity
android:name=".View.QuickSale.QuickSaleActivity"<br />
android:theme="@style/AppTheme.NoActionBar"<br />
<span style="color: red;">android:windowSoftInputMode="stateHidden"</span>/>
Barış ATALAYhttp://www.blogger.com/profile/11603628662798288682noreply@blogger.com0tag:blogger.com,1999:blog-7347738039865898700.post-83969678051292527982016-09-29T14:07:00.003+03:002016-09-29T14:16:52.900+03:00Unity Visual Studio Debug Plugin<div style="text-align: center;">
<span style="color: red;"><span style="font-size: large;"><b>Visual Studio Attach to Unity</b></span></span></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: left;">
<span style="font-size: small;"><span style="font-size: xx-small;">Merhabalar,</span></span></div>
<div style="text-align: left;">
<span style="font-size: small;"><br /></span></div>
<div style="text-align: left;">
<span style="font-size: small;"><span style="font-size: xx-small;">Unity'de script kısmını visual studio ile yazan arkadaşlar farkadecekler ki debug yapamıyoruz. </span></span><br />
<span style="font-size: small;"><br /></span>
<span style="font-size: small;"><span style="font-size: xx-small;">Bunun için bir plugin buldum aşağıda Visual Studio versiyonlarına göre linkleri vericem uygun olanı kendinize indirebilirsiniz. </span></span><br />
<br />
<span style="font-size: large;"><span style="font-size: x-small;"><span style="font-size: small;"><a href="http://visualstudiogallery.msdn.microsoft.com/6e536faa-ce73-494a-a746-6a14753015f1">Visual Studio 2010 Tools for Unity</a></span></span></span><br />
<a href="http://visualstudiogallery.msdn.microsoft.com/7ab11d2a-f413-4ed6-b3de-ff1d05157714" target="_blank"><span style="font-size: large;"><span style="font-size: x-small;"><span style="font-size: small;"><span style="font-size: small;">Visual Studio 2012 Tools for Unity</span></span></span></span></a><br />
<a href="https://visualstudiogallery.msdn.microsoft.com/20b80b8c-659b-45ef-96c1-437828fe7cf2" target="_blank"> Visual Studio 2013 Tools for Unity</a><br />
<span style="font-size: large;"><span style="font-size: x-small;"><span style="font-size: small;"><span style="font-size: small;"><span style="font-size: small;"><a href="http://visualstudiogallery.msdn.microsoft.com/8d26236e-4a64-4d64-8486-7df95156aba9">Visual Studio 2015 Tools for Unity</a></span> </span> </span> </span></span><br />
<br />
<span style="font-size: small;"><span style="font-size: xx-small;">Gerekli olan plugini kurduktan sonra altaki resimde gördüğünüz gibi "DEBUG>>Attach Unity Debugger" seçeneği geliyor.</span></span><br />
<span style="font-size: small;"><span style="font-size: xx-small;"><br /></span></span>
<span style="font-size: small;"><span style="font-size: xx-small;">Buna tıklayıp Unity üzerinden play tusuna basarak Debug işlemlerinizi yapabilirsiniz.</span></span><br />
<span style="font-size: large;"><span style="font-size: x-small;"><br /></span></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-LfIO2n-wo_E/V-z1S1wW9mI/AAAAAAAABkI/G7g2iwqzISkavpO8T7zuFsqeSi_0-pLjgCLcB/s1600/Untitled.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://1.bp.blogspot.com/-LfIO2n-wo_E/V-z1S1wW9mI/AAAAAAAABkI/G7g2iwqzISkavpO8T7zuFsqeSi_0-pLjgCLcB/s320/Untitled.png" width="161" /></a></div>
<span style="font-size: large;"><span style="font-size: x-small;"> </span><b> </b></span></div>
Barış ATALAYhttp://www.blogger.com/profile/11603628662798288682noreply@blogger.com0tag:blogger.com,1999:blog-7347738039865898700.post-82680307018735892372016-06-14T10:59:00.000+03:002016-06-14T10:59:45.856+03:00PHP Base64 Image Write To Folder<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-EszOMXZP4yM/V1-3qhRJu4I/AAAAAAAABZg/6Duro8knCTUuJMSbAkpW4jPC57gUjFN9QCLcB/s1600/base64.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="181" src="https://3.bp.blogspot.com/-EszOMXZP4yM/V1-3qhRJu4I/AAAAAAAABZg/6Duro8knCTUuJMSbAkpW4jPC57gUjFN9QCLcB/s320/base64.jpg" width="320" /></a></div>
$entry = base64_decode("pqWD7tQXnye4pE6mnUA");// Here your Base64 codes<br />
<br />
$image = imagecreatefromstring($entry);<br />
<br />
$directory = $_SERVER['DOCUMENT_ROOT'];//Server Root directory<br />
<br />
$directory = $directory. '/Mangalar/testo.jpeg';<br />
<br />
imagejpeg($image, $directory);<br />
<br />
imagedestroy ( $image );Barış ATALAYhttp://www.blogger.com/profile/11603628662798288682noreply@blogger.com0tag:blogger.com,1999:blog-7347738039865898700.post-31772946838840636902016-05-17T14:56:00.001+03:002016-05-17T14:58:46.462+03:00Android Multiple User Chat with NodeJsMerhabalar,<br />
<br />
Can sıkıntısından denemeler yaparken kullandığım temel bir yapıyı sizlerle paylaşmak istiyorum.<br />
<br />
Bu projede NodeJs nasıl kullanılır anlatamayacağım için, direk dosyaları sizle paylaşma gereği duyuyorum.<br />
<br />
Proje, portumuz üzerinden servere bağlanan bütün clientlerin tek bir kanal üzerinden birbirleriyle json yardımı ile haberleşmesi üzerine çalışmaktadır. Projeyi temel düzeyde tuttuğum için çok aşırı profsyonel birşey beklemektense herkes üzerine koyup daha komplike bir yapı haline getirebilir.<br />
<br />
Json yardımı ile haberleşirken gönderilebilecek bilgiler;<br />
<br />
<ul>
<li>Kullanıcı Adı,</li>
<li>Kullanıcı Id,</li>
<li>Mesaj Tarihi,</li>
<li>Mesaj İçeriği</li>
<li>Mesajı gönderen kişinin Ip Adresi,</li>
<li>Mesajı gönderen kişinin IMEI.</li>
</ul>
<span style="font-size: large;"><u style="color: orange; font-weight: bold;">Proje Linki: </u> </span><a href="http://www.mediafire.com/download/w9yb9cojgmxi3js/AndroidMultiChatWihNodeJs.rar">http://www.mediafire.com/download/w9yb9cojgmxi3js/AndroidMultiChatWihNodeJs.rar</a><br />
<br />
<div style="text-align: center;">
Örnek Görüntü</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-D6g9r77HLWY/VzsGk0l-FuI/AAAAAAAABXc/FR04LPM-IgUFiBsFhnwBoyDmdrLKpS-2ACK4B/s1600/Gorsel.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="361" src="https://3.bp.blogspot.com/-D6g9r77HLWY/VzsGk0l-FuI/AAAAAAAABXc/FR04LPM-IgUFiBsFhnwBoyDmdrLKpS-2ACK4B/s640/Gorsel.png" width="640" /></a></div>
<div style="text-align: justify;">
<br /></div>
Barış ATALAYhttp://www.blogger.com/profile/11603628662798288682noreply@blogger.com0tag:blogger.com,1999:blog-7347738039865898700.post-60400833904005064792015-08-10T18:12:00.002+03:002015-08-10T18:12:38.785+03:00Android - equals()Merhabalar,<br />
<br />
Delphici arkadaşların aşina olduğu şekil bir <span style="color: red;">if</span> sorgusunda her zaman birebir eş mi sorusuna cevap ararken kullanılarak operator "<span style="color: red;">=</span>" (eşittir.) idi.<br />
<br />
Java ile android programlamaya geçtiğimde burada çok kafam karışmıştı. Birer cümle ile yaptıklarını açıklamak gerekirse.<br />
<br />
<span style="color: red;">equals()</span> : String ifadeler içerisindeki karekterleri karşılaştırırken,<br />
<span style="color: red;">==</span> : Operatörüde iki objenin referanslarını karşılaştırır.<br />
<br />
Buradan yola çıkarak şunları söyleyebiliriz iki farklı obje aynı string karakterleri içerebili<b> </b>ama<span style="color: red;"></span> referans aldıkları objeler farklı olabilir.Barış ATALAYhttp://www.blogger.com/profile/11603628662798288682noreply@blogger.com0tag:blogger.com,1999:blog-7347738039865898700.post-73883777070013815452015-07-30T13:59:00.000+03:002015-07-30T17:45:28.796+03:00Android - Any thread synchron to the MainThreadnew Thread(new Runnable() {<br />
public void run() {<br />
<span style="color: #38761d;">//Write something code.</span><br />
Activity_Name.this.runOnUiThread(new Runnable() {<br />
@Override<br />
public void run() {<br />
EditText1.setText("");<span style="color: red;"> <-- Here</span><br />
}<br />
});<br />
sendingMessage = "";<br />
}<br />
}).start();Barış ATALAYhttp://www.blogger.com/profile/11603628662798288682noreply@blogger.com0tag:blogger.com,1999:blog-7347738039865898700.post-84607643350661077792015-07-27T21:06:00.002+03:002015-07-27T21:07:47.655+03:00Java - Dialog remove title<br />
final Dialog dialog = new Dialog(view_animebolum.this.getApplicationContext());<br />
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);<br />
dialog.setContentView(R.layout.layout_sendcomment);<br />
<br />
dialog.show();Barış ATALAYhttp://www.blogger.com/profile/11603628662798288682noreply@blogger.com0