C, PHP, VB, .NET

Дневникът на Филип Петров


Архив за март, 2012

* Insert … on duplicate key update…

Публикувано на 31 март 2012 в раздел Бази от Данни.

В предишната статия се повдигна един уместен въпрос, който можем да сведем до „поддържане на броячи в MySQL“, т.е. стойности които се инициализират на 0 ако въвежданите данни не съществуват или се увеличават с единица ако ги има.  Разбира се ще използваме примера от предишната статия. Там имахме следната примерна таблица: Прочети още…

.

 


* Задача от контролна работа март 2012г.

Публикувано на 30 март 2012 в раздел Бази от Данни.

Задачата беше дадена в два варианта, като те се различават съвсем малко в едно условие. По-долу е отбелязано като „вариант 1“ или съответно „вариант 2“. Ето задачите и решението им (което нарочно ще го разгледам много подробно, дори с риск да бъде прекалено): Прочети още…

.

 


* Работен пулт

Публикувано на 27 март 2012 в раздел Общи работи.

КомпютърМултимедийна работна станция

.

 


* Някои допълнителни препоръки за запазване на пароли

Публикувано на 25 март 2012 в раздел ОСУП.

За кода в предишната статия, в която се демонстрира „завършената“ форма за автентикация с поддръжка на автоматично влизане с cookie, има допълнителни фактори, на които би трябвало да обърнем внимание при запазването на паролите. Нека припомним как записвахме паролите в базата данни: Прочети още…

.

 


* Self join

Публикувано на 25 март 2012 в раздел Бази от Данни.

Досега знаем как да изваждаме информация от повече от една таблица (многотаблични заявки), като се налагаше да използваме връзките между таблиците (join). Извършването на „self join“ означава „да свържем една таблица със самата себе си“. Или казано по друг начин – да направим многотаблична заявка, използвайки една-единствена таблица. Нека демонстрираме с няколко елементарни примера. Прочети още…

.

 


* Ще изтеглим ли две черни карти?

Публикувано на 22 март 2012 в раздел Математика.

Ваш приятел държи стандартно тесте от 52 карти, които са доста добре размешани. Той взима първите четири от върха на тестето, подглежда ги и ви казва:

– Ако изтеглиш произволно две от тези четири карти, то вероятността и двете да са от червена боя е 50%!

А каква е вероятността ако изтеглите произволно две карти от тези четири, то и двете да са от черна боя?

.

 


* Най-големите софтуерни бъгове до сега

Публикувано на 20 март 2012 в раздел ОСУП.

„Бъговете“ в написването на софтуерен код съпътстват всеки един програмист. Едва ли има безгрешен човек, в това число едва ли има и безгрешен програмист. Някои от програмистките грешки обаче са довеждали до особено големи щети. Ето някои от най-известните досега, подредени по години. Прочети още…

.

 


* Пример: login cookie с AES256-CBC криптиране в PHP

Публикувано на 18 март 2012 в раздел ОСУП.

От PHP версия 5.3.0 нататък в библиотеката на OpenSSL има включени две функции openssl_encrypt и openssl_decrypt, които ни позволяват да криптираме и декриптираме данни с различни алгоритми за симетрично криптиране. В този пример ще покажем как се използва AES256-CBC агоритъм, с който ще се криптират данни записани в потребителско cookie (по-конкретно името и паролата на потребителя). Целта ни е да защитим cookie по такъв начин, че дори да бъде откраднато, то хакерът няма да може нито да възстанови (декриптира) информацията от него, нито да го използва, за да се автентикира самия той. Ще използваме примерния скрипт за автентикация, който беше разглеждан в предишни статии (и на лабораторни упражнения), но модифициран да използва защитена директория „includes“ за важните данни, които не искаме да бъдат достъпни за „външния свят“. Примерът продължава да е с „ужасно зле форматиран код“, за което молим читателя за извинение (или вижте пример как когато се тръгне по лош път в самото начало, то проблемите се мултиплицират до края) :) Прочети още…

.

 


* Проблемите на десетичната запетая

Публикувано на 13 март 2012 в раздел Методика.

По една или друга причина ми се е налагало и даже продължава да ми се налага да поддържам кореспонденция с американци. Забелязал съм, че колегите ми (българи) традиционно имаха проблеми с „десетичната запетая“ – например ако трябва да кажем на клиент, че дължи 12 долара и 32 цента. Как да изпишем числото, за да не стават недоразумения? Прочети още…

.

 


* Математически модел за спиране на спама

Публикувано на 11 март 2012 в раздел Математика.

Попаднах на една статия на небезизвестния в интернет социалните мрежи Добри Божилов. В сайта на собствената си „партия“ той „развенчава“ някои „митове“ за самия себе си. Ето какво е написал самия той относно твърденията, че „Добри Божилов е спамър“: Прочети още…

.