WhatsApp'ı API aracılığıyla kullanın

Tüm veri koruma endişelerine rağmen, WhatsApp hala Almanya'nın en sevilen mesajlaşma uygulaması. Özel WhatsApp Business Uygulamasına ek olarak, Facebook, şirketler için daha ilginç hale getirmek için resmi bir arayüz olan WhatsApp Business API'yi de oluşturdu. WhatsApp mesajlarını web uygulamanızdan programlı olarak göndermek istiyorsanız, başka yollar da var.

.­.­.

CSS kullanarak kaplamanın arkasındaki sayfayı bulanıklaştırın

Örneğin, (GDPR eylemciliği zamanlarında kural olan) kaplamalar gibi öğeler kullanırsanız ve kaplamanın arkasındaki alanı yumuşatmak isterseniz, genellikle yığın bağlamı sorunuyla karşılaşırsınız. Örneğin, tamamen veya sabit bir konumda konumlandırılmış öğeleriniz varsa, bunlar aniden filtre uygulanmamış olandan farklı bir şekilde görüntülenir. Ancak bir çare var.

.­.­.

Hızlı İpucu: Apache ile Bölünmüş Test

Basit URL ayırma testleri için Google Optimize gibi güçlü bir araç kullanmak zorunda değilsiniz, Apache'yi .htaccess aracılığıyla da çözebilirsiniz. Aşağıdaki kod parçacığı, ziyaretçilerini https://vielhuber.de/test1.php (varyant 1) ve https://vielhuber.de/test2.php (varyant 2) sayfalarının her iki sürümüne eşit olarak dağıtır. Rastgeleleştirme, geçerli sunucu saatine bağlıdır.

.­.­.

Dallanmış işlevlerin gösterimi hakkında

İşlev tanımlarının gösteriminde büyük / küçük harf ayrımıyla kıvrımlı parantezler kullanılmıştır. Bu temsilin de ortadan kaldırılıp kaldırılamayacağına ve işlevin onsuz bir gösterime indirgenip indirgenemeyeceğine dair basit soruyu araştırıyoruz. Örneğin, işlev

$$f: \mathbb{R} \to \mathbb{R}, f(x) = \left\{\begin{matrix} 42, & \text{falls } x = 0 \\ x, & \text{sonst} \end{matrix}\right.$$

tek satırlık bir terim kullanan dört temel aritmetik işlemin yardımıyla?

.­.­.

Google E-Tablolar'daki tarih serisi

Google E-Tablolar'da verileri görselleştirirken, metin değerleri için \(x\) ekseninin (takvim haftaları gibi) eksik boşlukları otomatik olarak dolduramaması sorunuyla karşılaşılır. Sorunu çözmek için, sürekli bir tarih dizisi oluşturursunuz, kendiniz oluşan hücreleri sayarsınız ve ardından biriken toplamları görselleştirirsiniz.

.­.­.

Hızlı İpucu: PHP clearstatcache

Hatayı bul:

72aaa2dbd201d49fc2ee429ebf68f15b

.­.­.

Google Translation API Hacking

Google, Google Cloud'un bir parçası olarak Google Translation API'yi kullanıma dayalı bir maliyet yapısıyla sunmaktadır . Ayrıca, anahtarsız kullanılabilen, ancak birkaç istekten sonra çalışmayı reddeden belgelenmemiş bir API de vardır. Google Chrome'un web sitesi çeviri işlevini kullanırken, sayfaların önemli bir sınırlama olmaksızın çok iyi kalitede çevrilebildiği dikkat çekicidir.

.­.­.

Hızlı ipucu: Git otomatik etiketleme

Github'ı Composer'a bağlarsanız , git etiketi aracılığıyla bir sürüm numarası atamak zorunludur. Aşağıdaki komut satırı komutu, geçerli günü belirler ve ( SemVer'e göre) bir sürüm numarası ile arttırır . Örneğin, 1.1.0 sürümü 1.0.9'dan sonra gelir. Herhangi bir etiket atanmamışsa, sürüm otomatik olarak 1.0.0 ile etiketlenir. Dayanıksız veya git kancaları gibi araçlar bu sembol çölünü kısaltmaktadır.

8cd852c96ec1e60e8a5ac1f3614b2397

.­.­.

MySQL tetikleyicisini düzenleyin

Maalesef MySQL , ALTER TRIGGER işlevini sunmamaktadır. Mevcut bir tetikleyiciyi düzenlemek için önce onu silmeli ve sonra yeniden oluşturmalısınız. CREATE TRIGGER ifadesi, bilgi şeması aracılığıyla dolaylı olarak okunabilir. Bu, tetikleyicileri bir dolambaçlı yoldan değiştirmemizi sağlar. Bunu yapmak için, aşağıdaki SELECT komutunun sonucunda değişikliklerinizi yapın (önceden veritabanını ve tetik adını değiştirin) ve sorguyu yürütün.

.­.­.

VanillaJS'de değişiklik olaylarını tetikleyin

VanillaJS , ES6'dan bu yana neredeyse tüm alanlarda deneyimli jQuery ile aynı seviyedeydi ve şimdi çok daha üstün. Bu nedenle, eski kodu jQuery'den kademeli olarak taşımak karşılığını verir. Ancak, manuel değişiklik olaylarını tetiklerken dikkatli olmalısınız. Örneğin, document.addEventListener jQuery.change () üzerinde tetiklenmez . Aşağıdaki genel bakış özel özellikleri özetlemektedir.

.­.­.

Çerezleri PHP ve JS ile kontrol edin

Tanımlama bilgilerinin sizin veya üçüncü taraf komut dosyalarınız tarafından ayarlanması, PHP ve JavaScript yardımıyla hassas bir şekilde kontrol edilebilir. Bu, Planet49 aleyhine verilen mahkemenin kararından sonra çerez çözümlerinin uygulanması için yeterli bir çözüm olmasa da (burada, Google Analytics gibi izleme araçlarının bile izlememesi ve dolayısıyla çerezleri ayarlamaması çok önemlidir), mantıklı olabilir Çerezleri genel olarak beyaz listeye / kara listeye almak.

.­.­.

Windows'ta komut dosyası aracılığıyla cihazları devre dışı bırakın

Elektrikten tasarruf etmek veya kendi izleme paranoyanızı azaltmak için, kendi bilgisayarınızda kullanılmayan cihazların bağlantısını tamamen kesmeniz önerilir. Ses kutuları veya web kamerası gibi cihazlar, cihaz yöneticisi kullanılarak klasik şekilde etkinleştirilebilir / devre dışı bırakılabilir. Her şey aynı zamanda komut dosyası aracılığıyla da çalışıyor. Bunu yapmanın standart yolu devcon'du . Windows 10 artık bunu PowerShell aracılığıyla yapmanın daha uygun bir yolunu sunuyor.

.­.­.

Skype Arka Plan Bulanıklığı

Skype'ın hoş, biraz gizli bir işlevi vardır: video aktarımı durumunda, arka plan video düğmesine tıklanarak ve " Arka planımı bulanıklaştır " işlevi kullanılarak otomatik olarak bulanıklaştırılabilir. Yapay zeka yardımıyla, bu, derinlik bilgisi olmadan bile herhangi bir kamera ile çalışır. Sonra her şey daha profesyonel görünür ve arka planda özel veya önemsiz şeyleri gizler.

.­.­.

Illustrator'dan SVG dışa aktarma

SVG'ler bugünün web'de merkezi bir rol oynamaktadır. Yalnızca simge yazı tiplerini değiştirmekle kalmazlar, aynı zamanda CSS veya JavaScript aracılığıyla manipülasyon imkanı da sunarlar. Adobe Illustrator'dan web için bir vektör grafiğini SVG olarak kaydetmek istiyorsanız, aşağıdaki makalede sunacağım tuzakları önlemek ve yükleme sürelerini azaltmak için bazı ayarlar yapmanız gerekir.

.­.­.

Euler Projesi: Kafes yolları

Project Euler , genellikle matematiksel bir geçmişe sahip bir dizi heyecan verici programlama problemidir. Sorunlar genellikle, amaca makul bir sürede ulaşmak için karmaşık algoritmaların geliştirilmesi gerekecek şekilde ortaya çıkar. Bugün problem 15'i çözüyoruz: Çözümü basit kombinatoryal yollarla bulabileceğiniz Kafes yolları .

.­.­.

Otomatik WordPress güncellemeleri

WordPress , 3.7 sürümünden bu yana yerel olarak arka plan güncellemelerini uyguladı ve küçük sürümler için bunları otomatik olarak etkinleştirdi. Filtrelerin yardımıyla, tam olarak otomatik olarak güncellenen davranışı daha hassas bir şekilde kontrol edebilirsiniz. Tüm küçük, büyük, eklenti, tema ve çeviri güncellemelerinin kalıcı, tam otomatik kurulumu amaçlanmamaktadır, ancak başka türlü kolaylıkla yapılabilir.

.­.­.

OPcache PHP önyükleme optimizasyonu

WordPress , Joomla veya Laravel tabanlı ve kullanıcıya özel içeriğe sahip olmayan web siteleri için, tüm sayfaların statik bir HTML önbelleğinde tutulması ve arka uçta değişiklikler yapıldığında önbelleğin yalnızca manuel olarak (veya otomatik olarak) yeniden oluşturulması önerilir. Bununla birlikte, sayfa oturumlara ve çerezlere veya ayrıca dil ve konuma bağlı dinamik içerik içeriyorsa, OPcache uygundur .

.­.­.

Google E-Tablolar: Genişleyen Formüller

Google E-Tablolar'daki formülleri tüm sütunlara genişletmek için yararlı ARRAYFORMULA işlevini kullanmanızı öneririz. Maalesef bu, QUERY veya DOLAYLI gibi diğer bazı önemli işlevlerle birlikte çalışmaz, bu nedenle Google Apps Komut Dosyası yardımıyla mantığın tamamen ayrı ayrı programlanması veya alternatif olarak formülün son satıra kadar manuel olarak kopyalanması vardır.

.­.­.

Simpson Paradoksu

Simpson'un paradoksu, istatistikteki kolayca anlaşılabilir ve aynı zamanda şaşırtıcı fenomenlerden biridir. Veri grupları belirli bir eğilimi gösterdiğinde ortaya çıkar, ancak gruplar birleştirildiğinde bu eğilim tersine döner. Basit bir örnek yardımıyla paradoks hemen anlaşılabilir.

.­.­.

Hızlı ipucu: Google Etiket Yöneticisi

Google Etiket Yöneticisi , izleme komut dosyalarının entegrasyonu için fiili standart olarak kendini kanıtlamıştır. Bu şekilde, bir yandan sorumluluklar (çevrimiçi pazarlamaya karşı programlama) düzgün bir şekilde ayrılır ve diğer yandan, ek bir dağıtım kanalı aracılığıyla izlemeyi hızla kurabilir ve değiştirebilirsiniz. İşte tetikleyicileri ayarlamak için iki küçük ipucu.

.­.­.

Hızlı ipucu: FRITZ! Box WLAN etkin noktası

FRITZ! OS 07.10'dan itibaren, internetin kesilmesi durumunda, FRITZ! Box yedek olarak cep telefonunun kablosuz erişim noktasını geçici olarak kullanabilir. İşlev İnternet> Veri erişimi> İnternet sağlayıcısı> WLAN üzerinden mevcut erişim altında gizlidir. FRITZ! Box daha sonra bir yönlendirici olarak çalışır ve kendi adres aralığına sahip bir ağ sağlar. İnternet tekrar kullanılabilir olduğunda, ayarı sıfırlamanız yeterlidir. Ayrıca WLAN> Radyo ağı> 2,4 GHz frekans bandı etkin ve İnternet> Veri erişimi > IPv6> IPv6 desteği etkin seçeneklerini de kontrol etmem gerekiyordu.

.­.­.

Hayat çiçeği

Yaşam Çiçeği, binlerce yıldır tapınaklarda, el yazmalarında ve pop kültüründe oldukça uzun bir süredir bulunan tanıdık, çiçeğe benzer geometrik bir modeldir. Model aynı zamanda ezoterizmde de rol oynar. Bu noktada tüm bunları görmezden geliyoruz ve birkaç eşit aralıklı, üst üste binen daireden oluşan geometrik şeklin basit inşasına odaklanıyoruz.

.­.­.

Outlook'ta E-posta Geciktirme

Eşzamansız iletişim ortamı e-postası - Slack ve Discord etrafındaki tüm kıyamet kehanetlerine rağmen - dünya çapında iş sektöründe baskın iletişim ortamıdır. Merlin Mann'ın Gelen Kutusu Sıfırına ek olarak, günlük e-posta seliyle başa çıkmak için, e-posta gecikmesi, yani e-postaların gecikmeli teslimatı dahil olmak üzere birçok başka strateji vardır.

.­.­.

Bir sayı sarmalı

Geçtiğimiz birkaç gündür, StackExchange'de bir tamsayı sarmalıyla ilgili aşağıdaki soruyu araştırıyorum. Aşağıdaki tamsayı spiralinde \(n\) -nci elemanın koordinatları için kapalı bir formül arıyoruz, bu da başlangıç ​​noktasından dışa doğru ve sonsuzluğa doğru genişler.:

..  9 10 11 12
23  8  1  2 13
22  7  0  3 14
21  6  5  4 15
20 19 18 17 16
.­.­.

Google E-Tablolar'daki hakları okuyun

Google E-Tablolar ile çalışırken, çalışma sayfalarını, sütunları ve satırları düzenlemek için ince, kullanıcı tabanlı kurallar bir elektronik tablo içinde tanımlanabilir. Maalesef okuma haklarını kısıtlamanın bir yolu yok. Ancak bu, birçok senaryoda çok yardımcı olacaktır. Yani müşterilerinize yalnızca kendilerini ilgilendiren biletleri veya çalışanlara yalnızca üzerinde çalıştıkları projeleri gösterirsiniz.

.­.­.

İplik tak ve çalıştır

npm , Node.js için varsayılan paket yöneticisidir. Facebook uzun süredir Yarn adlı alternatif bir paket yönetimi çözümü geliştiriyor. İplik, standart çözüm olarak Github okumalarından yavaş yavaş kayboluyor gibi görünüyor ve resmi sitedeki istatistikler, Yarn tarafından paketlerin yalnızca bir kısmının gerçekleştirildiğini gösteriyor. Yine de, kutunun dışında düşünmeye değer.

.­.­.

PDF'yi LaTeX'e dönüştürün


Dizgi sistemi \(\TeX\) 1977'de efsanevi Donald E. Knuth tarafından geliştirildi. \(\LaTeX\) yazılım paketi, bilimsel makaleler oluştururken hala standart repertuarın bir parçasıdır. Aşağıdaki iki araçla, önceden oluşturulmuş PDF'ler ve el yazısı notlar tamamen otomatik olarak TeX'e dönüştürülebilir. Sonuçlar çok umut verici.

.­.­.

Simülasyon argümanı

Nick Bostrom'un simülasyon argümanı etkileyici bir şekilde basit ve net. Bir simülasyon içinde yaşadığımızı kanıtlamaya çalışmıyor, bunun yerine üç olasılığı zarif bir şekilde formüle ediyor, bunlardan biri doğru olmalı. Elon Musk da fikri geniş bir kamuoyuna duyuran benzer bir tezi savunuyor. Resmi gazete 14 yaşın üzerinde ve bir çok sayfanın kısa olduğu kadar. Ana ifadenin anlaşılması ve derli toplu olması kolaydır.

.­.­.

WPML + ACF kullanılırken kritik hata

Çok dillilik için güçlü WPML eklentileri ve kendi alanlarınız için Gelişmiş Özel Alanlar , birçok kurulumda standart ekipmandır. Arıza ve veri kaybının bir arada olması can sıkıcıdır. Konuyla ilgili hata raporları birkaç yıllık ve cevapsızdır ( burada ve burada ve burada ve burada ve burada ). Soruna daha yakından baktım.

.­.­.

Facebook Uygulama İçi Tarayıcısına dosya yükleme

Bazı Android telefonlarda, hem Facebook hem de Instagram uygulama içi tarayıcıları (bugün itibariyle), reklamı yapılan veya bağlantılı bir açılış sayfasındaki bir yükleme alanı kabul özelliğini belirtirse yanlış davranır. Bu nedenle düğme işlevsizdi. Sayfayı Facebook uygulamasının dışındaki harici, normal tarayıcıda açarsanız, her şey yolunda demektir. Bu (bir uzun bildirilmiştir özellikle sinir bozucu bir süre ), ancak geçici bir çözüm ile çözülebilir.

.­.­.

Chrome Devtools: DOM öğelerini taşıyın

Google Chrome'un geliştirici araçları, tarayıcı pazarındaki en güçlü araçlar arasındadır. Google'ın YouTube'da sıkıştırılmış biçimde sunduğu her ay yeni özellikler ortaya çıkıyor. Ama çoğu zaman hayattaki zevk veren küçük şeylerdir. Google Chrome'da DOM öğelerini silmek istiyorsanız, bunu silme tuşuyla yapabilirsiniz. Ancak yalnızca bugün, DOM öğelerinin sürükle ve bırak yöntemiyle de kolayca taşınabildiğini fark ettim.:

.­.­.

Hızlı ipucu: git durumu --r

Git evrenindeki altın kural şudur: "Erken ve sık iş yapın". Gece biraz daha uzunsa veya sadece kendi bilgisayarınızda mevcut duruma genel bir bakış istiyorsanız, komut sizi götürür

d8a38f92d0baa14f9d4568826c13ad46

Geçerli klasörde veya herhangi bir alt klasörde bulunan ve değerleri güzel bir genel bakışta toplayan tüm depolar için bir "git durumu":

.­.­.

Linux için Windows Alt Sistemindeki LAMP yığını

En uygun geliştirme ortamını ararken Windows 10, XAMPP , WAMP ve MAMP gibi eksiksiz çözümler, elle yerel kurulum ve Vagrant ( Scotch Box ) ve Docker ( Devilbox , Laradock ) gibi sanallaştırma çözümleri sunar. Ancak ücretsiz yapılandırılabilirlik, gerçek joker karakter SSL sertifikaları, yerel ağdaki tüm son cihazlardan erişim ve yüksek kararlılık ve performans gibi gereksinimlerim nedeniyle, biri hariç tüm çözümler başarısız oldu.

.­.­.

Laravel Eloquent İlişkileri için Püf Noktaları

Laravel'in güçlü yönlerinden biri, zarif sözdizimi. Laravel'de çok sayıda modeliniz ve ilişkiniz varsa (veritabanındaki çok sayıda tablo nedeniyle), çapraz geçiş genellikle daha az zarif kodla sonuçlanabilir. Zamanla, aşağıda kısaca tanıtacağım üç küçük uzantı benim için kendilerini kanıtladı. Sadece bazı miras, sihirli yöntemler ve özel koleksiyonlar kullanıyoruz.

.­.­.

.Git'e genel erişimi engelleyin

Sürüm yönetimi Git artık hemen hemen her web projesinde ve her ortamda (üretim dahil) standarttır. Git her zaman .git alt klasörünü oluşturur ve bu web sitesinin ortak klasörü seviyesindeyse, hassas dosyalara herkese açık olarak erişebilirsiniz (örneğin, /.git/logs/HEAD çağrısı son işlemleri gösterir ) . Bu bir dizin listeleme olmadan bir üçüncü taraf (!) Git depo klonlamak nasıl ayrıntılı olarak anlatılmaktadır.

.­.­.

Node.js / npm / Composer, root olmadan

Daha eski bir blog yazısında Heroku kullanarak Node.js'yi ücretsiz olarak nasıl barındıracağımı anlattım . Şimdi size Node.js , npm ve Composer'ı başka bir paylaşılan ana bilgisayara birkaç satır kodla root hakları olmadan nasıl kurabileceğinizi göstereceğim. Bununla paketler kurabilir, Vue.js uygulamalarını dağıtabilir veya sadece bir Express.js sunucusu başlatabilirsiniz. Her zaman kullanıcı dizininde çalışırız ve Düğüm Paket Yöneticisi olan nvm'yi kullanırız.

.­.­.

PHP <7.2'de ilişkilendirilebilir dizilerde hata

PHP <7.2'de artık düzgün bir şekilde erişilemeyen diziler oluşturabilirsiniz:

91367d1c4636fd753b381406024e303c

Onunla bazı şeyler yapabilirsiniz.

.­.­.

Komutları doğrudan SSH bağlantısından sonra yürütün

Aşağıdaki komut, SSH aracılığıyla bir sunucuya bağlantı kurar, bazı komutları çalıştırır (örneğin, bir alt dizinde değişiklikler ve bir git durumu gönderir) ve kabuğu açık bırakır. Renkli alt kabukları etkinleştiren .bashrc dosyası yüklenir. Buradaki hile, geçici bir dosya / tmp / initfile'ı istenen komutlarla kaydetmek, bir alt kabuğu (bizim durumumuzda bash) --init-file komutuyla başlatmaktır. Bu başlangıç ​​dosyasında, iz bırakmamak için aynı dosya hemen tekrar silinir.

.­.­.

Yönetici olarak ağ sürücüsü

Bir ağ sürücüsünü Windows Gezgini'ne entegre ederseniz, bu sistem genelinde değil, yalnızca geçerli kullanıcı hesabı için geçerlidir. Bu, yönetici haklarıyla çalışan bir uygulamada bu ağ sürücüsüne erişemeyeceğiniz anlamına gelir. Bu kolayca değiştirilebilir: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System altındaki kayıt defterinde 1 değeriyle EnableLinkedConnections adlı yeni bir DWORD (32 bit) oluşturun ve yeniden başlatın. Böylece entegre ağ sürücüleri her yerde görülebilir.

.­.­.

Hızlı İpucu: Klasörü sürücü olarak dahil edin

Windows altında tekrar tekrar kullandığınız yerel bir klasöre hızlı bir şekilde ulaşmak istiyorsanız, ona kendi sürücü harfinizi atayabilirsiniz. Örneğin, C: \ Kullanıcılar \ David \ İndirilenler yolunu belirtemediğiniz için, "Ağ sürücüsünü bağla" üzerinden bir dolambaçlı yol vardır. Çözüm olarak, her klasör için varsayılan olarak var olan, sürücünün sözde yönetimsel paylaşımını girin: Yukarıdaki örnekte bu \\ localhost \ c $ \ Users \ David \ Downloads olacaktır .

.­.­.

Kurbağaları yakala

Sayı doğrusunda bir kurbağa atlar ve onu yakalamaya çalışırsınız. Zıplama ve yakalama her zaman değişmeli. Kurbağa \(s \in \mathbb{Z}\) ve her hareketinde \(z \in \mathbb{Z}\) mesafesine atlar (eğer \(z>0\) , atlar sağa, aksi takdirde sola). \(z\) her atlamada aynıdır. Yapışma, bir tamsayı konumu belirtmekten oluşur. Kişi ne \(z\) ne de \(s\) bilir. Kurbağayı her zaman yakalamanın bir yolu olduğunu gösteriyoruz.

.­.­.

Windows 10'da uzun dosya adları

Yalnızca Windows altında npm kullanırken, neredeyse 30 yaşında olan ve klasörlere ve dosyalara giden yolları maksimum 255 karakterle sınırlayan bir sınırla karşılaşmıyorsunuz. Bu NTFS'nin hatası değil, LFN'dir . Bu, rahatsız edici hatalara ve işletim sistemleri arasında uyumsuzluğa yol açar. WSL zamanlarında , bu üzücü bir durumdur ve şans eseri kendinizi kayıt defterinde bir süre düzeltebilirsiniz.

.­.­.

Localhost'ta Laravel kuyrukları

Laravel PHP çerçevesinde üretken ortamlarda, çalışanlar ve denetçiler , örneğin Redis'te depolanan işlerin işlenmesini sağlar. Localhost'ta bundan tamamen bağımsız olmak istiyorsanız, işleri her zaman hemen yürütmek için senkronizasyon sürücüsünü kullanırsınız. Bu, mevcut PHP işleminin engellenmesi ve işin işlenene kadar isteğin askıda kalması dezavantajına sahiptir.

.­.­.

Hızlı ipucu: Google Analytics'te hedefleri gruplayın

Google Analytics'ten JavaScript kitaplığı analytics.js'nin yardımıyla, web sitelerindeki tüm etkinlikler izlenebilir. Bu olaylar, örneğin, kalış süresinin tam bir ölçümü, ziyaretçilerin maksimum kaydırma derinliği veya form gönderme gibi diğer bireysel eylemlerdir. Reklam kampanyalarını değerlendirmek veya daha sonra A / B testleri yapmak istiyorsanız, örneğin, sözde hedef projeler oluşturursunuz.

.­.­.

Pragmatik önbellek geçersiz kılma

Sunucu tarafı oluşturma artık web sitelerinin ve uygulamaların standart repertuarının bir parçasıdır. Google Chrome gibi tarayıcılar, sonraki aramaların yükleme sürelerini en aza indirmek için olabildiğince önbelleğe alma eğilimindedir. CSS / JS / resim dosyalarının önbellek geçersiz kılınması, mod_pagespeed , Expires / Cache kontrol başlığı, bir önbellek bildirimi yardımıyla veya çok pragmatik olarak ve doğrudan dosya adından sonra bireysel parametreler aracılığıyla çözülebilir .

.­.­.

Bitbucket ve SSH anahtarları

Sağlayıcı Bitbucket, ( ücrete dayalı Standart ve Premium tarifelerde bile ) depo düzeyinde yazma izinleriyle SSH anahtarlarını saklama imkanı sunmamaktadır. Kişisel SSH anahtarınızı üretim sunucusunda saklamak bir seçenek değildir, aksi takdirde şu anda üzerinde çalışmakta olduğunuz tüm diğer projelere buradan erişebilirsiniz. Sözde erişim anahtarları vardır , ancak bunlar yalnızca okuma haklarına izin verir.

.­.­.

Ağ sürücüsü aracılığıyla Windows Sysinternals

Mark Russinovich'in Sysinternals araçları hiçbir Windows bilgisayarında eksik olmamalıdır. Her zaman en son sürüme sahip olmak istiyorsanız, bunu bir ağ sürücüsü olarak entegre edebilirsiniz. Komut ağının komut satırında s: \\ live.sysinternals.com \ DavWWWRoot kullanması yeterlidir (normal bir kullanıcı olarak). Sonra PsList, PsKill veya Process Explorer gibi güzel araçlar S sürücüsünde taşınabilir.

.­.­.

Hızlı İpucu: Google E-Tablolar ve Takvim Haftaları

Belirli bir tarihte takvim haftalarının çıktısını alırken, Google E-Tablolar'da (tıpkı Microsoft Excel'de olduğu gibi) dikkatli olmalısınız. = CALENDAR WEEK (BUGÜN ()) işlevi, yılın ilk gününün her zaman 1. takvim haftasına atandığı Amerikan standardını kullanarak hesaplar. Almanya'da bu farklı bir şekilde tanımlanır : Burada ilk takvim haftası, en az 4 günün yeni yıla denk geldiği haftadır. Google E-Tablolar'da sorunu çözebilirsiniz (örneğin = KISA ((BUGÜN () - TARİH (YIL (BUGÜN () - DİNLENME (BUGÜN () - 2; 7) +3); 1; DİNLENME (BUGÜN) gibi diğer heyecan verici alternatiflerle birlikte ) -2; 7) -9)) / 7) ve değiştirilmiş = TAKVİM HAFTASI (BUGÜN (); 21) ) özel olarak tasarlanmış fonksiyon = ISOHAFTA (BUGÜN ()) ile kolayca.

.­.­.

Chrome 58'de kendinden imzalı SSL sertifikaları

Let's Encrypt'den beri, şifreli web siteleri artık standart. Yerel geliştirmeyle bile, SSL sertifikaları vazgeçilmez hale gelmiştir (örneğin, navigator.geolocation yerel olarak SSL şifrelemesi gerektirir). Chrome'un 58. sürümünden bu yana, CN (Ortak Ad) desteği sona erdirildi ve SAN (Konu Alternatif Adı) zorunlu hale getirildi. Sonuç olarak, Chrome aniden artık geleneksel olarak oluşturulan tüm SSL sertifikalarını kabul etmiyor.

.­.­.

İki kişinin yaşının iki katı

\(A\) ve \(B\) aynı gün doğmamış ve \(A\) \(B\) den küçük iki kişiyi düşünün. Tam olarak iki yaş takımyıldızı olduğunu gösterin \(a,b \in \mathbb{N}\) , bunun için geçerli: \(2\cdot a = b\) . İlk set \(d \in \mathbb{R}^+\) arasındaki yaş fark olarak \(A\) ve \(B\) , doğumda ve \(A\) ile \( d = d_0 + d_1 \) , \( d_0 \in \mathbb{N}_0, d_1 \in \mathbb{R}, d_1 \in [0;1[\) . Şimdi \(A\) nın doğumundan sonra \(x \in \mathbb{R}^+\) \(x = x_0 + x_1\) , \(x_0 \in \mathbb{N}_0, x_1 \in \mathbb{R}, x_1 \in [0;1[\) ile birlikte gelişigüzel bir noktayı dikkate alıyoruz. \(x_0 \in \mathbb{N}_0, x_1 \in \mathbb{R}, x_1 \in [0;1[\) .

.­.­.

Git ve boş klasörler

Git klasör tanımadığından, yalnızca dosyalar, boş klasör yapıları havuzda bitmez. Bununla birlikte, birçok çerçeve ve proje buna kesinlikle ihtiyaç duyduğundan, oraya varmaları gerekir. Yaygın bir uygulama, klasör yapısını örtük olarak belirten sözde yer tutucu dosyalar (genellikle .gitkeep olarak adlandırılır) oluşturmaktır. Bu dosyalar kolaylıkla oluşturulabilir ve istenirse klasörlerdeki diğer dosyaların göz ardı edilmesini sağlar.

.­.­.

Heroku ile ücretsiz Node.js barındırma

Node.js için barındırma, özellikle Almanca konuşulan ülkelerde hala çok yaygın değil. Amerikan bulut şirketi Heroku burada bir çözüm sunuyor - hatta ücretsiz . Her zaman "Uygulamalar oluşturun ... altyapı değil" paradigmasını fark edersiniz ve yine de neredeyse hiç kısıtlama yoktur. Örnek olarak, her gün bir web sitesini hurdaya ayıran ve sayfa başlığını e-posta ile gönderen PhantomJS'ye dayalı küçük bir cron işi uyguluyoruz .

.­.­.

Cantor'un eşleştirme işlevi

Köşegen argümanlara ek olarak, Georg Cantor ayrıca Cantor eşleştirme işlevini de geliştirdi \(\mathbb{N}^2 \to \mathbb{W}, \quad c(x,y) = \binom{x+y+1}{2}+x = z\) , herhangi iki sayıyı \(x,y \in \mathbb{N}\) yeni bir sayı \(z \in \mathbb{N}\) kodlar. Örneğin, \(c(3,4)=\binom{3+4+1}{2}+3 = \binom{8}{2}+3=\frac{8!}{6!\cdot 2!} +3 = 31 = z\) \(31\) sayısındaki \(3\) ve \(4\) sayılarının benzersiz bir kodlaması. Göster: \(\mathbb{W} = \mathbb{N}\) değerler kümesi, yani \(z\) tüm doğal sayıları varsayar.

.­.­.

Toprak ve bezelye

Yeryüzüne bakın ( \(r_1 = 6370km\) ile bir küre olarak) ve bir bezelye ( \(r_2 = 2mm\) ile bir küre olarak) ve yüzeyde sıkıca \(r_2 = 2mm\) için ekvatorun üzerinden bir ip \(r_2 = 2mm\) . Şimdi her iki ipi de birer metre uzatıyorsunuz. Artık her iki halat da ekvatorun üzerinde tamamen uzanmış olmalı - artık tamamen yüzeyde değil, ekvatorun üzerinde yüzüyorlar. İp, yüzeyin ne kadar yukarısında, bezelyenin ne kadar yukarısında yüzer?

.­.­.

Analog saatteki olasılıklar

Bir analog saatin üç ibresi de bir günün% kaçında kadranın sağ yarısında yer alır? İlk olarak, 24 saatte bir (% 50) sağ tarafta bulunan akrep ibresine bakın. Bu andan itibaren dakika ibresi 12 saatin 6'sında (% 25) sağ tarafta olacaktır. Bu 6 saatin saniye ibresi 3 saatini sağ tarafta geçiriyor (% 12.5).

.­.­.

Laravel: Eloquent İlişkileriyle Çalışmak

Laravel, Eloquent ile veritabanı ile iletişimi çok daha kolay hale getirir. Eloquent Relationships ile çalışırken, dinamik değişkenleri çağırırken (PHP'nin sihirli yöntemlerinin yardımıyla), modellerin örneklerinin yeni değişiklikleri yansıtmadığını, ancak ilk çağrıldıklarında kalıcı olarak depolandıklarını bilmelisiniz.

.­.­.

Bitbucket: Klasörü Git geçmişinden silin

Git'i Bitbucket'ta barındırırken, 2 GB'lık sabit bir sınır vardır - bu aşılırsa, depoya yalnızca salt okunur erişiminiz olur. Bunu önlemek için, örneğin, geriye dönük olarak büyük klasörleri veya dosyaları taahhütlerinizden kaldırabilirsiniz. Ancak başka durumlarda da (erişim verileri geçmişe girdiyse veya node_modules ana haline döndüyse), Git'in geçmişini doğasının tersine geriye dönük olarak değiştirmelisiniz.

.­.­.

IIS'de DomainFactory'den SSL sertifikasını entegre edin

Let's Encrypt çağında, şifrelenmiş web siteleri artık standarttır. Ancak, özellikle güvenilir sahip doğrulamasına sahip joker karakter veya genişletilmiş sertifikalar da sıklıkla gereklidir. DomainFactory sağlayıcısı, harici olarak da kullanılabilen ucuz SSL sertifikaları sunar. Mevcut bir IIS üzerindeki kurulum, OpenSSL yardımıyla CSR olmadan başarılı olur. Aşağıda bunun için hangi adımların gerekli olduğunu kısaca göstereceğim.

.­.­.

Sayıları tahmin ederken paradoksal kazanma stratejisi

Thomas M. Cover 1987'de "İletişim ve Hesaplamada Açık Sorunlar" bölümünde şu şaşırtıcı soruyu sordu: Oyuncu \(X\) iki farklı ve rastgele seçilen doğal sayı \(A\) ve \(B\) yi iki farklı sayıya yazar Bir parça kağıt ve yüzü aşağı bakacak şekilde masaya koyun. Oyuncu \(Y\) şimdi bu kağıt parçalarından birini rasgele seçer, sayıyı görür ve şimdi bu sayının hala masada duran diğer sayıdan daha küçük veya daha büyük olup olmadığına karar vermek zorundadır.

.­.­.

Futbol ve Doğrusal Cebir

Bir futbol maçı başladığında, top sahanın ortasında durur ve daha sonra kayarak ve döndürülerek 45 dakika sahada hareket ettirilir. İkinci yarının başında top yine sahanın ortasındadır. Basit doğrusal cebir araçlarıyla, yüzeydeki sonsuz sayıda noktanın her zaman orijinal durumdaki ile tamamen aynı konumda olduğunu veya tam olarak 2 olduğunu gösteriyoruz.

.­.­.

Laravel: Blade Şablon Hata Ayıklama

Laravel 5. * 'de blade şablonlarında hata ayıklarken, genellikle önbelleğe alınmış görünümlere atıfta bulunan anlamsız hata mesajları alırsınız. Geçmişte herkes daha iyiydi: 4. sürümdeki hata ayıklama görünümü daha yararlı işlevler içeriyordu ve görsel olarak daha güzeldi. Birkaç satır kodla, bu işlevselliği whoops ("havalı çocuklar için PHP hataları") yardımıyla geri alabilirsiniz.

.­.­.

Logoların JavaScript ile uyumlu görünümü

Referanslar, ortaklar veya müşteriler olsun - uyumlu bir şekilde yan yana birkaç logo görüntülemek istediğiniz birçok durum vardır. Logoların oranları çoğunlukla tutarsızdır. Tasarımdaki boyut temsili için içgüdülerinizi sık sık takip edersiniz, ancak logoların alanlarını eşitleyerek görsel olarak çekici bir temsil için kesin bir hesaplama yöntemi de vardır. Aşağıdaki örnekte, bunu yalnızca birkaç satır JavaScript ile yapabilirsiniz.

.­.­.

Varlık için PHP / JS'deki değişkenleri kontrol edin

PHP ve JavaScript'teki değişkenlerle günlük olarak çalışırken, genellikle bir değişkenin boş olup olmadığı sorgusuyla karşılaşır. Kontrol amacıyla yerel işlevleri ve bunların farklılıklarını bilmek faydalı olacaktır. Sinir bozucu bir şekilde, bir değişkenin mevcut olup olmadığını sezgisel olarak kontrol etmenin kolay bir yolu yoktur. Aşağıdaki matris bununla ne kastedildiğini açıklamaktadır. Bununla birlikte, istediğiniz şey küçük yardımcı fonksiyonlarla güçlendirilebilir.

.­.­.

Sipgate.io ile yoğun telefon görüşmeleri

Sipgate.io ile Sipgate, İnternet telefonu için çok sayıda seçeneğe sahip olan heyecan verici bir bulut API'si yarattı . Hesap ücretsizdir ve Feature Store'da herhangi bir ücretsiz gönderen numarasını ücretsiz olarak belirleme seçeneği de vardır. Sipgate.io'daki dokümantasyon hala genişletilebilir, ancak resmi Sipgate API'sini biraz okuyarak heyecan verici şeyleri hızlıca gerçekleştirebilirsiniz.

.­.­.

SQL'de özyineleme

SQL tabanlı ilişkisel veritabanı yönetim sistemleri, hiyerarşik veya özyinelemeli sorgular için yalnızca koşullu olarak uygundur. ArangoDB gibi diğer sistemler burada daha iyidir ( GOTO 2016'da bununla ilgili harika bir konuşma yapıldı). Ayrıca, ortak tablo ifadeleri yardımıyla SQL'de özyinelemeli sorgular oluşturabilir ve böylece tüm atalar ve alt öğeler için klasik üst / alt tabloları sorgulayabilirsiniz.

.­.­.

WordPress: Arşiv sayfalarını devre dışı bırakın

W3techs.com'a göre, dünya çapındaki tüm web sitelerinin yaklaşık% 27,4'ü şu anda WordPress yardımıyla işletilmektedir. Çoğu durumda bunlar blog değildir. WordPress otomatik olarak çok sayıda, genellikle kullanılmayan URL'ler oluşturur ve Google tarafından indekslenmiş o kadar çok bağlantı üretir ki, web sitesi operatörünün ekranda bile sahip olmadığı. Tüm bunlar basit bir komutla devre dışı bırakılabilir.

.­.­.

PDF form alanlarını toplu olarak yeniden adlandırın

Benim gibi binlerce form alanı adını yeniden adlandırma zahmetine giriyorsanız, Acrobat'ın içerdiği JavaScript konsolu idealdir. Bunda yalnızca herhangi bir JavaScript kodunu yürütmekle kalmaz, aynı zamanda PDF içindeki tüm içeriğe (form alanları dahil) erişebilirsiniz. JS API'de yeniden adlandırma için yerel bir işlev olmadığından, form alanları tüm özellikleriyle birlikte kopyalanır ve yeni bir ad verilir.

.­.­.

Shopware: varyant değişikliklerini onarın

Shopware 5'te bilinen bir sorun hala çözülmemiştir: Karşılıklı olarak birbirini dışlayan yapılandırma seçeneklerine sahip, karşılıklı olarak bağımlı değişkenlere sahip bir makale oluşturursanız, bazı kombinasyonların ön uçta seçilememesi ve bu nedenle sipariş edilememesi olabilir. Bir eklenti yardımıyla sorun şu anda kolayca çözülebilir.

.­.­.

Asal sayıların sonsuzluğu için bir satır

Asal sayıların sonsuzluğunun çok sayıda kanıtı vardır - Elementler Kitabı'ndan iyi bilinen Öklid teoremi , herhangi bir temel sayı teorisi dersinde eksik değildir. 2015 yılında American Mathematical Monthly'de (sayı 122) Sam Northshield, sizden (kısa yorumlarla) saklamak istemediğim tek satırlık bir çelişki kanıtı yayınladı.

.­.­.

Windows komut satırının parlaklığını artırın

Sıkıcı Windows komut istemi, birkaç basit adımda görsel olarak yükseltilebilir. Böylece, yalnızca komut satırının rengini ve boyutunu uyarlamakla kalmaz, aynı zamanda işlevsel olarak da genişletebilirsiniz (arabelleği artırmak, büyük bir UNIX araçları seti kurmak). Komut istemi PowerShell 6.0'a veya yeni Windows 10 Bash Kabuğuna yaklaşmasa da, günlük görevler için gizlenmesi gerekmez.

.­.­.

Joomla'da Dinamik URL'ler

İçerik yönetim sistemlerinde, URL'ler genellikle her zaman önceden sabitlenmez ve bu nedenle önceden statik olarak oluşturulmaz (katkı veya menü öğesi olarak), ancak veritabanındaki nesnelere hitap eder. WordPress'e benzer şekilde ( burada açıklandığı gibi ) Joomla'da dinamik URL yapıları oluşturmak da mümkündür (dahili takma ad sisteminden bağımsız). Ya JRouter burada kullanılabilir - ya da .htaccess'te tek satırlık bir satır kullanabilirsiniz.

.­.­.

JavaScript Yapıştırma

Modern tarayıcılar, kullanıcının panosunu okumak ve yazmak için JavaScript'i kullanabilir, bu da onu değiştirebilecekleri anlamına gelir. Temel teknoloji eski şapka, ancak ancak son zamanlarda deneyimsiz kullanıcılar için bu olasılıktan yararlanan ağda ("PasteJacking" adı altında) daha fazla saldırı dolaşıyor. JavaScript'teki bir uygulama banaldir.

.­.­.

PostgreSQL'de sütunları değiştir

SQL tablo sütunlarının değiştirilmesi, MySQL ile standart repertuarın bir parçasıdır - bu (henüz) PostgreSQL tarafından desteklenmemektedir. Resmi wiki soruna kendi makalesini ayırsa da, görüşleri, indeksleri ve tetikleyicileri de destekleyen herhangi bir pratik çözüm göstermez. Aşağıdaki sınıf bu işi (hem MySQL hem de PostgreSQL için) ya komut satırında - veya alternatif olarak doğrudan Laravel 5'te yapar.

.­.­.

Windows Gezgini için Hızlı İpucu

Windows Gezgini'nde bir klasördeki komut istemini hızlı bir şekilde açmak istiyorsanız, farenin sağ tuşuyla (bir seviye daha yüksek) tıklayın ve klasördeki Shift tuşunu basılı tutun ve ardından bağlam menüsünden "Komut istemini burada aç" ı seçin. Klasörün içindeyken başka, daha hızlı bir yöntem buldum: Burada geçerli klasör yoluna tıklıyorsunuz, "cmd" yazıp Enter ile onaylıyorsunuz.

.­.­.

WordPress Kategorileri: Ağaç Görünümü / Miras

WordPress'te hiyerarşik kategorilerle (taksonomiler) çalışıyorsanız, bir yandan, kontrol edilen kategorilerin arka uçta görüntülenmesinin kafa karıştırıcı olduğunu ve diğer yandan, alt kategoriye yerleştirildikleri takdirde gönderilerin otomatik olarak üst kategoriye girmediğini fark edeceksiniz. Her ikisi de, güçlü kanca sistemi (bir eylem ve bir filtre biçiminde) kullanılarak yalnızca birkaç satır kodla düzeltilebilir.

.­.­.

PHP 7 ve Uzay Gemisi Operatörü

Skaler veri türleri için tür ipuçları veya optimize edilmiş performans gibi yeni özelliklere ek olarak, PHP 7 ayrıca birçok yeni, kullanışlı dil uzantısını da beraberinde getiriyor. "Uzay Gemisi Operatörü" nihayet PHP dünyasına girdi (Ruby ve Perl programcıları bunu uzun süredir biliyorlardı). \($a <=> $b\) döner \(0\) ve her ikisi de işlenen eşittir yalnızca, eğer \(1\) , sol bir büyük olup olmadığını \(-1\) , aksi takdirde.

.­.­.

IIS 7.5 PHP FastCGI zaman aşımı

PHP'yi FastCGI aracılığıyla IIS 7.5'e entegre ederseniz, her komut dosyası varsayılan olarak 600 saniye (yani 10 dakika) sonra iptal edilir. Php.ini'de bilinen "max_execution_time" değişkenindeki bir değişikliğin bunun üzerinde hiçbir etkisi yoktur, (ayrıca) FastCGI ayarlarını değiştirmelisiniz. Bunun için IIS, ilgili değişkenleri yönetmek için rahat bir arayüz sunar.

.­.­.

Stokastik paradoksu

Koşullu olasılık teorisi, sezgiye aykırı çözümlerle güzel görevler gerektirir. İyi bilinen kardeş sorununa ek olarak, şimdi kısaca başka bir örneği ele alacağım: "Şimdi iki çocuğum var. Biri bir erkek ve Perşembe günü doğdu. Diğer çocuğun da erkek olma olasılığı nedir?"

.­.­.

Git, Shopware ve boş klasörler

Git dosya sürüm belirleme sistemi zayıf, hızlı ve taşınabilirdir. Git her zaman nesneleri, yani dosyaları işler. Klasörler yalnızca içlerinde dosyalar varsa oluşturulur, aksi takdirde Git onları kaydetmez bile. Bunun bazı projelerde hoş olmayan yan etkileri vardır. Örneğin, Shopware mağaza sistemi, çalışması için klasör yapısına sıkı sıkıya bağlı kalmaya dayanır.

.­.­.

Shopware: Bireysel nakliye maliyetleri

Shopware, hesaplamaya özel olarak müdahale edebileceğiniz güçlü bir nakliye maliyeti modülüne sahiptir. Bizim durumumuzda, aşağıdaki senaryoyu uygulamak istiyoruz: Ürün başına nakliye maliyetleri, başlangıçta ürünün ağırlığına göre belirlenir (ağırlık limitleri belirlenir). Yalnızca özel istisnalar için, her bir öğe için sabit nakliye maliyetleri belirlemek mümkün olmalıdır.

.­.­.

Kendi cihazını Getir

Esnek ve bağımsız bir şekilde çalışmak istiyorsanız, bunu göz ardı edemezsiniz: bulut. Muhtemelen, bulutu fark etmeden zaten kullanan çok sayıda insan vardır. Örneğin akışla içeriğin tamamı bulutta saklanır ve gerektiğinde erişilebilir. Netflix, Almanya'da giderek daha popüler hale gelen burada bir örnek. Veya masaüstü PC'lerin veya dizüstü bilgisayarların tüm mobil cihazlarla senkronizasyonu da büyük ölçüde bulut aracılığıyla yapılır.

.­.­.

WordPress'te dinamik kalıcı bağlantılar

WordPress kalıcı bağlantı sistemi, yapı etiketleri yardımıyla kendi ihtiyaçlarınıza çok iyi adapte edilebilir. % Postname% ayarı muhtemelen en yaygın ve pratik çözümdür. Bununla birlikte, gerçek dinamik bağlantılar uygulamak istiyorsanız, önce sistemi kendi kodunuzla genişletmeniz gerekir.

.­.­.

Word ve Excel'de bozuk köprüler

Bir Word / Excel belgesinden köprüleri açarken standart tarayıcının istenen URL ile başlatıldığı düşünülebilir. Garip bir şekilde, durum böyle değildir - bu da hoş olmayan yan etkilere yol açar ve söz konusu ofis programlarında oturum / çerez tabanlı oturum açma korumalı sayfalar için bağlantıları imkansız hale getirir.

.­.­.

Babalar Günü için bir paradoks

Bugün Babalar Günü için bir kız, babasının özlemini duyduğu, kendi resmettiği bir resmi babasına veriyor. Kızı: "Size dilediğiniz resmi vereceğim ve hediyem sürpriz olacak" diyor. Baba şaşırır ve bu ifadenin gerçeği üzerine kafa yorar.

.­.­.

Dinamik komut dosyalarını HTTPS içeren ve içermeyen entegre edin

<head> alanına şifrelenmemiş komut dosyaları eklerseniz ve şifrelenmiş mevcut SSL sertifikasına sahip bir sayfayı çağırırsanız, bu komut dosyaları engellenir ve bu nedenle yürütülmez. Protokolü basitçe dışarıda bırakırsanız, web sitesine https: // üzerinden erişilirse, tüm komut dosyaları otomatik olarak şifrelenmiş biçimde çağrılır - aksi halde şifrelenmemiş.

.­.­.

Açılır menülerde kullanılabilirlik

Çok boyutlu açılır menülerle çalışırken, yanlış alt menülerin yanlışlıkla açılması veya istenen alt menünün yanlışlıkla kapatılması sorunu sıklıkla karşılaşılır. Bu etki , zaten genişletilmiş bir alt menüye giderken fare işaretçisi en üst düzeyde karşılık gelen menüden ayrıldığında meydana gelir.

.­.­.

Shopware: Varyantları otomatik olarak devre dışı bırakın

Shopware'de , tüm varyantların stok seviyesi 0'dan küçük veya 0'a eşitse, gerçek bir sipariş durumunda tüm ürün devre dışı bırakılır. Bunu varyant bazında uygulamak için, aşağıda vereceğim Bootstrap.php olan küçük bir eklenti programladım.

.­.­.

SSL ile çift şifre sorgusu

Aşağıdaki takımyıldızın her zaman hoş olmayan bir yan etkisi vardır: Sitenizi htaccess / htpasswd ile korur ve aynı zamanda bir SSL bağlantısını zorlarsanız, her zaman aynı parolanın iki kez girilmesi gerekir (bir kez http için ve tekrar https için başarılı bir girişten sonra). Apache 2.4'te tanıtılan yapılandırma bölümlerinin yardımıyla, sorun kolaylıkla çözülebilir.

.­.­.

JavaScript'te çok satırlı dizeler

JavaScript ile programlama yaparken, çok satırlı dizeleri kodda birkaç satıra da girerek gerçekleştirememe sık sık tökezler. PHP veya Ruby gibi diğer dillerdeki görev bir sorun olmasa da, JavaScript ile başlangıçta yalnızca, kullanımına kişisel zevkinize veya tarayıcı desteğine göre karar verilen geçici çözümlerle idare edebilirsiniz.

.­.­.

Yapay zeka - zaten var mı?

Son iki yılın teknik yeniliklerine bakanlar, akıllı teknolojiler veya yapay zeka (AI) gibi kelimeleri tekrar tekrar bulacaktır. Ancak daha yakından incelendiğinde, çoğu cihazın hala yapay zekadan uzak olduğunu görüyoruz. Amazon veya Google'dan gelenler gibi akıllı ev sistemleri, özellikle genellikle AI ile ilişkilendirilir.

.­.­.

Çevrimiçi kumarhanelerin arkasındaki teknoloji

Birkaç yıldır, kelimenin tam anlamıyla zeminden filizleniyorlar: çevrimiçi kumarhaneler. Sayısız sağlayıcı, kumar tutkunlarının günün her saati İnternette en sevdikleri boş zaman aktivitelerini şımartmalarına olanak tanır. Eskiden kumarhaneye gitmeyi seven herkes artık yolculuğunu kurtarabilir ve sadece bilgisayarı açabilir. Peki bu prensip tam olarak nasıl işliyor?

.­.­.

PHP'de UTF-8 ve çift noktalı posta ()

PHP ile e-posta göndermek en iyi PHPMailer gibi güçlü sınıflarla uygulanır. Kullanışlı sarmalayıcı işlevleri, UTF-8 içeriğini kullanmayı, görüntüleri yerleştirmeyi ve şifreli ekler yalnızca birkaç satır kodla göndermeyi mümkün kılar. Ek yükten tasarruf etmek ve tavsiyenin aksine mail () PHP işlevini kullanmak istiyorsanız, en geç çift nokta ve UTF-8 kullanırken sorunlarla karşılaşacaksınız.

.­.­.

Google PageSpeed ​​Insights vs. Google Analytics

W3C Biçimlendirme Doğrulama Hizmeti veya Google PageSpeed ​​Insights gibi doğrulama araçları, bir web sitesinin kodunu ve performansını objektif olarak değerlendirmek için yararlıdır. Özellikle Google , ekranın üst kısmı gibi konseptlerle tüm bir sektörü etkiler ve ayrıca görüntü sıkıştırma ve önbelleğe alma için katı ancak faydalı yönergeler sağlar. Ancak, Google kendi ayakları üzerinde durabilir.

.­.­.

Hoş Geldiniz JavaScript 2.0

JavaScript web'e hakim ve ECMAScript, dilin özü büyüyor. Bu yılın ortasında beklenen yeni teknik özellik (ES6 veya JS2), bugün zaten denenebilecek çok sayıda yeniliği beraberinde getiriyor. Firefox şu anda en iyi desteğe sahip , ancak Google Traceur gibi aktarıcılar aracılığıyla çoklu doldurmalar da mümkün. Aşağıda, ES6'nın yeni özelliklerine kısa bir genel bakış sunulmaktadır.

.­.­.

0,99999... = 1?

İster okulda ister üniversitede: Ara sıra \( 0,99999... = 1 \) ve ardından aşağıdaki denklemin doğru olup olmadığı sorusunu içeren ilginç bir soru: \( 0,99999... = 1 \) . Denklemin sol kısmında sonsuzluk \(0,99999... = A\) olsa da, ona bir isim \(0,99999... = A\) : \(0,99999... = A\) . \(10\) faktörü ve basit cebirsel dönüşümlerle çarpıldıktan sonra, şaşırtıcı bir ilk kavrayış elde ederiz.

.­.­.

SQL: dizine rağmen zayıf performans

Az önce bir SQL veritabanının aşağıdaki performans sorunuyla karşılaştım: ~ 1.000.000 girişli "kullanıcılar" adlı bir SQL tablosunda, bugün kayıt sayısının belirlenmesi kabul edilemez bir 28 saniye sürdü. "Oluşturulan" sütununda, kayıtların saatleri "Ymd H: i: s" formatında kaydedildi.

.­.­.

Küçük satranç problemi

Tanınmış ek olarak şövalye sorun ve kraliçe problemi, satranç dünyasında birçok heyecanlı sorular vardır. Önceki bir blog yazısında iki küçük merak konusuna değindim. Satranç problemlerini matematiksel olarak ele alırsanız, matematiğin birçok soruya çok basit ve aydınlatıcı cevaplar verdiğini çabucak keşfedeceksiniz.

.­.­.

OneDrive ile çevrimiçi olarak kullanılabilen dosyalar

Eğer OneDrive, Dropbox, Google sürücü, OwnCloud, Box.net: Dosyalarınızı sakladığınız kutudan bağımsız olarak, hizmetler neredeyse aynıdır. Tüm masaüstü ve mobil sistemler için mevcut istemciler, standart şifrelenmemiş dosyalar ve paylaşım seçenekleri yalnızca çok az farklılık gösterir. Ancak Windows 8.1'den beri sisteme entegre olan OneDrive'ın özel bir özelliği vardır: yalnızca çevrimiçi olarak kullanılabilen dosyalar.

.­.­.

PHP: Windows altında çift noktalı dosya erişimi

Web sunucularındaki dosyalar her zaman boşluksuz ("bu bir resim.jpg" değil), çift nokta veya özel karakterler ("futbol.jpg" değil), ters eğik çizgi ("Arbeit \ Auto.jpg" değil) ve küçük harf ("" değil) olmalıdır. test.JPG "). Ancak son zamanlarda, bir müşteri projesi için herhangi bir dosya adına sahip çok sayıda dosyaya erişmem ve bunları işlemem gerekti.

.­.­.

Bir sıralama listesi belirlemek için SQL sorgusu

Bugün, bir müşteri projesi üzerinde çalışırken şu görevle karşılaştım: "id" ve "puan" sütunlarına sahip bir SQL tablosu "kullanıcı" alın ve tüm kullanıcıların hangi "puana" göre sıralandığını belirleyin aynı puanla aynı sıralamayı alır. Bu görev, kullanıcı tanımlı değişkenler kullanılarak sezgisel ve kolay bir şekilde çözülebilir.

.­.­.

Facebook SDK: Sunucu tarafında belirteçleri kontrol edin

Facebook SDK ile çalışırken (daha kesin olarak bir REST arayüzünde bir Facebook oturum açma işlevi uygularken), istemcinin Facebook'tan aldığı jetonun, daha fazla işlem gerçekleştirilmeden önce sunucu tarafından geçerliliği kontrol edilmesi gerekir. .

.­.­.

Chrome DevTools: DOM öğelerini ele alma

Chrome, Firefox, Opera, Safari veya hatta Internet Explorer olsun: İyi tasarlanmış geliştirici araçları, birkaç yıl öncesine kadar Firefox ve popüler Firebug eklentisinin benzersiz bir satış noktası olsa da, güçlü geliştirici araçları artık keşfedilecek çok şeyin olduğu her tarayıcının standart kapsamının bir parçasıdır. verir.

.­.­.

SQL kullanarak dosya sistemine erişim

MySQL'de dosya sistemine girmek ve değerli bilgiler elde etmek için güzel bir seçenekle karşılaştım, örneğin dosya ve klasörlerin varlığı veya içerikleri hakkında. Bu, file_exists php işlevine bir alternatif olarak çok yararlı olabilir, çünkü dosya (lar) ın varlığıyla ilgili bilgiler, daha ileri sıralama ve toplama işlevleri için sorguda hala kullanılabilir.

.­.­.

Tuval ile animasyonlu arka planlar

Animasyonlu vektör arka planları, tam ekran fotoğraflar ve videolar ile karakterize edilen bir web manzarasına çeşitlilik katabilir. Bunun yükleme süreleri ve geniş donanım ve yazılım desteği ile el ele gitmesi güzel olurdu. Çözümlerden biri: tuval. JavaScript tarafından kontrol edilen HTML öğesi, tüm mevcut tarayıcılar tarafından desteklenir ve mobil cihazlarda yüksek performansla yeniden oluşturulur.

.­.­.

HTML öğeleri için sabit en boy oranı

Bir web geliştiricisi olarak, genellikle kendi başlarına - örneğin img öğesinin aksine - sabit bir boyuta veya sabit bir en boy oranına sahip olmayan HTML öğeleriyle çalışmaktan utanırsınız. Genellikle bu nesnelerin duyarlı davranmasını sağlamak istersiniz, ancak genişlik ve yükseklik arasındaki oran korunur. CSS burada varsayılan olarak sezgisel bir çözüm sunmaz. Ancak dikey dolgu özelliği sayesinde hedefinize ulaşabilirsiniz.

.­.­.

Stok fotoğrafların kullanımına ilişkin mahkeme kararı

Köln Bölge Mahkemesi geçen hafta RedTube skandalıyla geri döndükten ve tartışmalı IP adreslerinin teslimini onaylamasına asla izin verilmediğinde, 14 O 427/13 kararıyla oldukça tartışmalı ve tartışmalı bir karar daha veriyor: Belirli bir resim ajansına ait fotoğraflar, fotoğraflarına URL'leri aracılığıyla doğrudan erişim yoluyla da adlandırılmalıdır.

.­.­.

Hoşçakal Blok ve Satır İçi - Hoş Geldiniz HTML5

HTML5 spesifikasyonunun yenilikleri çoktur ve çoğu tarayıcı ortamının çoğunluğu tarafından zaten desteklenmektedir - aşağıda, iç içe yerleştirme öğelerinin kurallarında ilginç bir değişikliği vurgulamak istiyorum. HTML her zaman blok ve satır içi öğeler arasında ayrım yapmıştır. HTML4'ün Belge Türü Tanımı , örneğin, blok öğeleri olarak h1, p ve div ve satır içi öğeler olarak a, span, img olarak adlandırılır.

.­.­.

IIS ve Apache'de HTTP günlük kaydı

Hem Unix'teki Apache hem de Windows sistemlerinde IIS HTTP isteklerini kutudan çıkar çıkmaz dosya biçiminde günlüğe kaydeder. Web sitenize gelen talepler, bilgisayar korsanlığı saldırılarına karşı korunmak için yalnızca düzenli olarak değerlendirilmeli ve manuel ve otomatik olarak (örneğin, AWStats gibi günlük dosyası analizörleri tarafından) analiz edilmemelidir. Yaygın olarak kullanılan yapılandırmalardaki ilgili günlük dosyalarının yolları, örneğin aşağıdaki gibidir:

  • /var/log/apache2/access.log (Örnek: Ubuntu 12.04, Apache 2.2)
  • C:\inetpub\logs\LogFiles\W3SVC1\u_ex<YYMMDD>.log (Örnek: Windows Server 2012 R2, IIS 8.5)
.­.­.

Joomla, IIS ve dizin hakları

Joomla 3.2'yi bir Windows Server 2008 R2 üzerinde IIS 7.5 ile entegre ederken, genellikle çok cömertçe seçilen ayarlarla yetersiz bir şekilde çözülen dizin hakları ile ilgili sorunlar ortaya çıkar. Aşağıdaki çözüm güvenli ve tamamen işlevseldir:

  • IIS_IUSRS grubu C: \ inetpub \ wwwroot \: okuma ve yürütme, klasör içeriğini görüntüleme, okuma, yazma haklarına ihtiyaç duyar
  • IIS_IUSRS grubu C: \ Windows \ Temp \: Okuma ve Yürütme, Klasör içeriğini gösterme, Okuma, Yazma haklarına ihtiyaç duyar
  • Kullanıcı IUSR, IIS_IUSRS grubunda olmalıdır (Bilgisayar Yönetimi> Yerel Kullanıcılar ve Gruplar> Gruplar)

PHP aracılığıyla yüklenen tüm dosyalar için daha fazla özel dizin haklarına ihtiyacınız varsa (örn.SSH veya FTP için), bunları C: \ Windows \ Temp \ klasörü için de ayarlayabilirsiniz. PHP aracılığıyla bir dosya yüklerseniz, PHP önce bu dosyayı geçici dosyaya ve ardından son yola kopyalar. Dosya geçici dizine inmişse, haklarını devralır ve son dizine taşındıktan sonra bunları korur.

.­.­.

Anonim çevrimiçi: İmkansız mı?

NSA skandalı zamanlarında, yetkililerin ve gizli servislerin veri toplama çılgınlığından kaçmak için anonim olarak ağda dolaşıp dolaşamayacağını ve ağda nasıl gezinebileceğini merak edenler yalnızca ağa hakim kullanıcılar değildir. Ancak bu genellikle hatalara ve yanlış varsayımlara yol açar. Merkezi bir yanlış anlama, anonimliğin IP adresinin gizlenmesine indirgenmesidir.

.­.­.

McFIT - yeni logo, yeni resim

İndirimli fitness zinciri McFIT kendini yeniledi. Muz şeklindeki parlak sarı bir maskot mavi harfleri süslerken, antrasit renkli bir arka plan üzerinde sarı bir yay artık ustaca ilmeklenir ve böylece soyut bir yapı oluşturur. Mavi ve sarı FDP renkleri, sadece logoya değil, aynı zamanda diğer tüm McFIT markalı baskı ürünlerine de yer verir.

.­.­.

Photoshop: zamanda geriye yolculuk

Thomas ve John Knoll kardeşler 1987'de Adobe Photoshop'u geliştirmeye başladığında henüz doğmadım. Bugün, 2013 yılında, yazılım genel olarak en popüler programlardan biridir ve görüntü düzenlemede tartışmasız pazar lideridir. Adobe ve Bilgisayar Tarihi Müzesi sayesinde, yazılım artık çok özel bir formda gelecek nesiller için korunacak.

.­.­.

Kralların oyunundaki merak

Satranç yüzyıllardır insanları büyülemiştir - kurallarını öğrenmesi kolaydır ve inanılmaz derinliğine yalnızca deneyimli oyuncular erişebilir (maalesef bunlardan biri değil). Aşağıda, iki kısa soruyu ele alacağım: Doğru hamle dizisiyle, siyah şahın aynı anda iki beyaz vezir tarafından saldırıya uğradığı bir konuma ulaşmak mümkün mü? Bu iki beyaz kule ile de mümkün mü?

.­.­.

Gişe rekorları kıran yerine Docu-soap: 48 fps

Filmler genellikle saniyede 24 kare ile kaydedilir ve oynatılır - ancak neredeyse 100 yıllık standart biçim "24p" sallanıyor gibi görünüyor. 24 fps projeksiyonun hoş olmayan yan etkilerini (örneğin, orta-hızlı kamera hareketleri sırasında güçlü sarsıntı) önlemek için, kare hızının iki katına çıkarılarak saniyede 48 kare ve daha fazlasına çıkarılması için uzun süredir çalışmalar yapılmıştır.

.­.­.

Web sitelerinde yazım denetimi yapın

Otomatik yazım denetimi ve dilbilgisi denetimleri artık sözcük işleme programlarında standart donanımdır - ancak bir web sitesinin otomatik olarak yazım denetimi şimdiye kadar nispeten külfetli olmuştur. Google Chrome, çok satırlı giriş alanlarında (metin alanı) entegre bir kontrol ile bu yönde ilk adımı atıyor. Artık bunu tüm web siteleri için mümkün kılan bir hizmet var.

.­.­.

Bağlantılardaki Telefon Numaraları - Güvenlik Riski mi?

Birkaç hafta önce , ziyaretçilerinizin bir telefon numarasına dokunarak telefon uygulamasını mobil cihazlarda açmasını nasıl sağlayabileceğinizi bildirmiştim . Artık, kullanıcının hiçbir şey yapmasına gerek kalmadan SIM kartı geri alınamaz bir şekilde bloke etme veya cihazı fabrika ayarlarına sıfırlama olasılığı ortaya çıktı.

.­.­.

İlginç e-posta merakları

Gitmek istediğiniz yere varmak için alan adları ve e-posta adresleri her zaman küçük harf olmalı mı? Yoksa bu tamamen alakasız mı? Örneğin, Google posta sunucuları, aşağıdaki makalede kısaca anlatacağım ilginç efektlere sahip garip ayarlara sahiptir.

.­.­.

Günlük konularda borsa fiyatlarının tasarımı

Alman televizyonunda çeşitli programların tasarımını yakından takip ediyorum. Neredeyse hiçbir yayın kurumsal tasarımını kalıcı olarak korur. Günün konuları ile saat 22: 15'te televizyon ekranı önündeki toplantının akşam ritüeli son zamanlarda midem ağrıyor: Birkaç aydır cari borsa fiyatlarının sunumunda tamamen kafa karıştırıcı bir renk şeması seçildi.

.­.­.

Telefon numaralarını doğru şekilde bağlayın

Kendi web sitenizi mobil cihazlar için optimize ederseniz, yalnızca farklı ekran boyutlarına, optimize edilmiş yükleme sürelerine ve kullanımdaki özel özelliklere (fareyle üzerine gelme efektleri gibi) dikkat etmemeli, aynı zamanda cihazların özel yeteneklerini de göz önünde bulundurmalısınız. Buna telefon görüşmeleri yapmayı da (bazı kişiler unutmuş olabilir) dahildir.

.­.­.

Bloglarda yinelenen içerik

Farklı web sitelerindeki aynı içerik birçok durumda Google tarafından cezalandırılır - yine de Google algoritması akıllıdır ve üstbilgi ve altbilgideki öğelerin aynı kalıp kalmadığını veya tüm test pasajlarına farklı URL'ler altında iki kez erişilip erişilemeyeceğini tanır. Heyecan verici soru, Google'ın blog makalesine genel bakış sayfalarıyla nasıl uğraştığıdır.

.­.­.

WordPress güvenliğini artırın

Şu anda en popüler içerik yönetim sistemi WordPress'in güvenliği, iki küçük vida döndürülerek önemli ölçüde artırılabilir. Yalnızca 5 dakika ve iki satır kod alır. Sorun çeşitli eklentilerle de çözülebilmesine rağmen, kendimi kasıtlı olarak eklentisiz çözümlerle sınırlandırıyorum.

.­.­.