Дизайн паттерндер. 2-сабақ. Құру паттерндері (Creational patterns)

Блог аты abzalkalimbetov
Аты: Abstract Factory (Абстрактілі зауыт)
Проблема: Егер программалық жабдық әр түрлі платформада құрастырмалы (portable) болу керек болса, онда платформа байланыстарын сол кодта инкапсуляция (жасыру) жасау керек болады. «Платформалар» ретінде: терезе (window) жүйесі, операциялық жүйе, дерекқор (база), т.б бола алады. Егер программисттер бұл инкапсуляцияны қарастырмаса, программада көптеген жерлерде #ifdef, if, case сияқты операторларын көретін боламыз: платформалар мен ондағы опциялардың көбеюіне байланысты ол операторлар қояндар сияқты темппен кодта көбейіп кетеді. :)
Жалғасын оқу

Өте үлкен сандармен арифметикалық амалдарды орындау (Класс реализациясы - бета)

Бағдарламалау
RSA алгоритмнің реализациясы үшін бізге өте үлкен сандармен жұмыс істейтін класс қажет болған болатын. Класстың коды көп болған соң, бөлек жазбаға шығаруды жөн көрдім. Сонымен, төменде «сівежий» код, қабыл алыңыздар))

Ия, кодты көрейік!

ХАКЕРЛЕРГЕ

Блог аты dosbol
Қарашаның 21-інде Facebook Hacker Cup 2014 іріктеу басталады.

Регистрация:
www.facebook.com/hackercup/register

Nov 21-24 — Online Qualification Round
Dec 7 — Online Elimination Round 1
Dec 14 — Online Elimination Round 2
Dec 21 — Online Elimination Round 3
Feb 20-21 — Onsite Finals at Facebook

Мен былтыр қатыстым,1||2 раундка жеттім. Жалғыз қатысу қиын екен, биыл бірге қатысуға болады. Жауаптарын бір-біріміз жіберіп, есептерді бірге талқылап. Кім менімен?)))))

RSA алгоритмі көмегімен қолтаңба қою

Блог аты aibol_maxotov
Алдымен біз rsa алгоритмін жасап аламыз. (Даулет бауырдын жазғаны бойынша)
Яғни керекті e, d, n сандарын тауып аламыз. Сосын осыларды пайдаланып, мәтінге қолтаңба(подпись) қоямыз. Бұл қабылдаушыға мәтіннің қауіпсіз, дұрыс түпнұсқаның жетуіне кепіл болады.
Енді қолтаңба жасаудың қадамдарын өтіп шығайық:

1. M мәтін аламыз. m = h(M) хэш мәнін аламыз. m — бүтін сан болады.

2. S = m d дәрежесінде mod n; есептейміз.
(M,S) жұбы қабылдаушыға жіберіледі, яғни S қолтаңба болады.

3. k = S e дәрежесінде mod n; қабылдаушы есептейді.

4. Соңында тексереміз: егер k = h(M) болса, қолтаңба дұрыс. Яғни бастапқы түпнұсқа мәтінді алдық.

Енді келесі жазбада осы алгоритмнің реализациясын көрсетуге тырысамын.

Қош келдім)))

Блог аты dosbol
Assalamualeikum,
Блогты көріп қуанып қалдым, бастап IT-ға қатысы бар бауырлардың бір конференцияда бас қосуын озім ұсынған ем(helpdesk, білетін адам түсінеді). Даулеттін есебі біраз шешімсіз тұрған екен, шешімін талқылау қызық деп ойлаймын, және мүмкін Дәке жауабын да айтар…
Ереке, Анау-мынауын өзіңіз түзеп қоясыз ғо

Коріп қалып тездетіп шешіп тастағым келді. « Бул есеп оптимизацияга арналмаган, просто логикага, маныздысы дурыс шыкса болды :) » деген соң онай жолынан бастадым.
«Агаштын мандерин 2 олшемди массив туринде беруге болады» делінген, бірақ мен 1 өлшеммен алдым. Бірінші баған ретінде индекс кетеді.


Жалғасын оқу

Қалай программист болдым? немесе Sportsman.ConvertToProgrammer();

Блог аты KarNurMax
Ассаламуалейкум, бауырлар, програмиисттер, сонымен қатар, ӘРІПТЕСТЕР )))
Өзімді таныстырып өтейін: атым Нұрлан, ес білгелі жүгіре бергенді жақсы көремін. Әкем жаттықтырушы болғандықтан менің де спорт жолын таңдағаныды қалайтын. Ауылда алтыншы сыныпқа дейін оқып, жетінші сыныбымды осы Астанадағы Қажымұқан спорт-интернатында жалғастырдым. Онда бес жыл оқыдым: басты назар спортқа бөлінетін де білім жағы айтарлықтай қатты талаппен меңгерілмейтін, стандарттан жоғары болған емес деп жылы жауып қояйын. Ұстаздарыма еш ренішім жоқ бұл үшін, керісінше, олардан тек жақсылық көрдім, өте жақсы қарым-қатынаста болдық. Толығырақ тоқталып жатпай-ақ қояйын, әрі қарай кеттік…

Жалғасын оқу

Программалау төңірегіндегі диалогтар #1

Блог аты bake
Мынандай жағдайды елестетіп көрейік, жер бетінде программалау саласы бойынша білімді сақтау қажет болды. Қазіргі білімді сақтап қалу үшін, жер бетіне неше программист қалдыру қажет?