Jump to content
¯\_( ツ)_/¯
  • TAD GROUP are currently hiring penetration testers. Please read the topic in Career Central subforum.
  • Sponsored Ad
ТУК НЕ СЕ ПРЕДЛАГАТ ХАКЕРСКИ УСЛУГИ ! ×

Avatara

Moderators
  • Content Count

    408
  • Joined

  • Last visited

  • Days Won

    84

Avatara last won the day on February 10

Avatara had the most liked content!

Community Reputation

237 Excellent

About Avatara

  • Rank
    Advanced

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Какво се случва през последните дни. Една интересна идея на колега, който работи като freelancer. Той сподели твърде горчив личен опит, когато цели проекти са му били буквално открадвани. Последният път му откраднаха доста скъп лаптоп, в който съхраняваше работата си. Само след три дни получи отказ от "работодателя", а след пет дни с учудване забеляза, че неговият проект, без никакви изменения се ползва от същия работодател. За да му помогнем се обърнахме към Шефа (той не е от нашия пол но е Шеф) с молба да ни отпусне малко модули от други направления. Шефът е разуме и благ (за разлика от мен и други колеги) и каза: "Може, ама ще ви струва една вечеря.". Скъпичко ни се стори, но нали е за благородна кауза приехме. И ето какво се случи. Има един паралелен проект iEditor. Към момента изглежда така и ако не греша не се намира в internet. От този проект взехме текстови редактор и го свързахме към FPS-SE. В резултат на това се получи следното: Това е простичък текстови редактор за web-разработчици. Поддържа HTML5, CSS4, Java Script, а ако се налага и други формати, но това, което е различно е, че позволява отделни елементи или проектът като цяло да бъдат шифровани. Така дори да ви откраднат компютъра и всичко, което сте направили може да останат неприятно изненадани. Но пък Вие ще може да си работите без проблем. Ако някой иска да си направи персонален, авторски сайт и да споделя опит, може да използва вградените шаблони. Ето как може да си направите собствен сайт. От менюто Tools на FPS-SE избирате Text editor или натискате [ Ctrl+T ]. След това от меню File на Теьт едитор, избирате Create New Project -> New Template Project -> Author ... и след това приложението ще ви позволи да си изберете папка, в която да запуишете проекта (той се състои от няколко файла и не е наш, но може да се ползва ако се споменат с добра дума авторите). След като се зареди проекта, натискате F2 или кликвате на бутона за визуализация (този, чиято икона е като на Google, но е сива) и виждате резултата. Това е, Не е кой знае колко, но може да е от полза и на други. Лично на мен много ми харесва как се правят плеъри и как се пишат формули (това за сериозни публикации), но това е друга тема. За сега мога само да ви покажа един от многото примери. SteemPunk Project ( Black Pumas - Color )
  2. Само да спомена нещо ... FPS - криптиране на файлове и дискове. BeMail - Криптирана електронна поща, SMS, гласопренос и пр... NSA-I (BS Ping) - Експлотационен контрол. Това са три независими системи, които могат да се обединяват при нужда. Всички приложения имат версии за Windows, iOS, Android и Linux, но ... Има регионални рестрикции. Има и друго. При разработка се ползва ОС Windows. Просто е по-удобно и се пести време. В Windows 10 (32 и 64 bit) мога да работя с Linux и то не само с един дистрибутив, но обратното няма как да се случи. Това важи и за iOS (има много мощни iOS симулатори) и за Android. Имайте в предвид, че тези приложения са разработвани основно за Microsoft Duo. Там се ползва както Windows така и Android, а има и промишлени решения, но там са Intel.
  3. Първи наброски на идеята на memwarrior: Tествано на Windows, iOS, Android и Linux. Работи тихо и кротко. Като малка отверка е. Чекира се какво искаме да обработим (да шифроваме или да затрием безвъзмездно) и всичко друго е автоматично. Може да си избираме Cipher и Hash, но salt и Cipher IV системата си генерира сама. Приложение за семейни, за да не вижда жената какви са ги вършили. Още веднъж благодарности на memwarrior.
  4. Категорично лекции и дискусия по тях. Така както това се прави в много големите специализирани форуми. Идеята е да обсъждаме нещата в детайли. Какво е криптопримитив? Защо шифърът не е криптиране? Какво е колизия и как да се борим с нея? какави са спецификите на блоковите и поточните шифри? Защо ако използваме само XOR системата ще бъде слабо защитена и пр. и пр. Във форума има такъв раздел. Идеята е да се придържаме в максимална степен към действащите стандарти и реално доказалите се решения. Темата е доста деликатана и повярвайте много от нещата написани в internet трябва да се четат и осмислят критично. А сега мисля, че ще трябва да зарадвам memwarrior. Ако си помняш преди време той предложи FPS да се реализира за мобилни приложения (iOS, Android). Ценя всеки съвет, а неговите определено повече от всички други (до момента никога не е давал нещо, което да не е влязло в употреба). Хубавото е, че от вчера такова приложение се тества. Скоро ще има информация и за него. Не знам какво трябва да го черпя. Просто цял живот ще съм му задължен.
  5. Признавам, че се смях със сълзи.
  6. Тук повечео сме несериозни. По-младите са напушени, но не и надъхани, а по-старите сме амортизирани. Като се замисля ... Повечето тук се събираме на раздумка.
  7. Здравейте, Днес ще поговорим за нещо, което би могло да представлява интерес за мнозина, а именно: FPS и Linux Независимо,. че FPS е приложение за работа в средата на Windows, то прекрасно работи и под Linux. Как се случва това? За да може да работив в средата на Linux e нужно първоначално да се запознаем с Windows Subsystem for Linux или WSL. МОже да намерите целия проект на следния адрес: https://github.com/microsoft/WSL2-Linux-Kernel По подразбиране може да ползвате: kali-linux Ubuntu SLES-15 ubuntu2 Ubuntu-18.04 но ако имате желание и прочетете внимателно техническата документация на практика няма да имате ограничения. Най-важно е обаче да чекирате Windows Subsystem for Linux (да включите) в списъка с компоненти, които Windows 10 използва. По подразбиране той е изключен. Има и още една особенност. Тези които са работили с BS Ping, знаят че там има модул за работа с конзолни команди. Във всички версии на FPS по-високи от FE, също има такъв модул. В различните версии той е с различна функционалност, но базовите функции са общи. Когато работите с Linux се ползва командата BASH. Дистрибутивa по подразбиране може да променяте посредством командата wsl или wslconfig (например wslconfig /setdefault ubuntu). Но конзолата предоставя и редица други предимства. След като NSA се намесиха и Microsoft внесоха корекциите в Crypto API (за този проблем писах и цитирах официалния бюлетин на NSA) можете спокойно да използвате и този примитив. Тук обаче са нужни сериозни познания и опит, защото на практика процесите не са автоматизирани. В този ред на мисли, преди време споменах, че не е зле да се направи on-line курс за защита на информацията. Нискя, че в момента това е по-актуално от когато и да било. Какво ми дава основание да мисля така? Преди всичко това е липсата на конкретика. За съжаление, често потребителите не правят разлика между шифър, криптиране и защита на информацията. За да ме разберете: Шифърът е алгоритъм или по дефиниция "криптопримитив"; Криптирането е процес. При този процес се използват шифровъчни агрегати, които са изградени от ктиптопримитиви (шифър, хеш-функция, шифровъчен механизъм, делти, инициализиращ вектор и пр.); Защитата на информацията е комплексно мероприятие, което включва и криптиране на данни. И точно тук идва най-забавния момент, който е свързан с използването на английски език. Ако спазваме стандартите и утвърдените правила за криптоанализ трябва да бъдем много внимателни как използваме английските термини. В редица случаи дословният превод ще доведе до деформиране на информацията. Ето един показателен пример: Пример: Cryptographic Key - Секретен ключ ENU - Дефиниция в съответствие с NIST Special Publication 800-38A и ISO/IEC 9797-1:2011 A parameter used in the block cipher algorithm that determines the forward cipher operation and the inverse cipher operation. BG - Превод в съответствие с NIST Special Publication 800-38A и ISO/IEC 9797-1:2011 Секретна информация, използвана в криптографските алгоритми в процесите на криптиране и декриптиране на информацията. Криптографския ключ може да бъде използван и като елемент от проверката на електронния подпис, както и в случаите на използване на Мessage Аuthentication Code (MAC). При използване на един и същи шифровъчен алгоритъм, който може да бъде достъпен от криптоанализатора, резултатът ще зависи основно от секретния ключ. Защо избрах точно този пример? Защото в английският текст липсва информация за Мessage Аuthentication Code (MAC), тъй като тя се подразбира. В българският текст обаче тази информация е изискуема и има задължителен характер. Както сами може да се убедите от легалните дефиниции Мessage Аuthentication Code (MAC) и Cryptographic Key са различни неща, Но още по важно е да се разбере, че Мessage Аuthentication Code (MAC) се използва при текстови съобщения. Когато обаче става дума за бинари данни, където информацията не е записана в текстови вид, нещата са доста различни. Това е само един от хилядите подобни примери. Лично за мен е много важно да се познават стандартите. Те са тези в които се съдържа достоверна информация и е добре да ги ползваме. Но наистине е време да помислим за малък курс по защита на информацията.
  8. Здравей и много благодаря за препоръките. Password Based Key Derivation Function е включен. Има го във всички версии. Използва се при т.н. "контролни низове" (Control String). Има го в системните настройки. Ползва леко изменен алгоритъм но по принцип си е едно и също. Ето как изглежда на практика: БЕЗ ПАРОЛА: С АВТОМАТИЧНО ГЕНЕРИРАНА ПАРОЛА (НО МОЖЕ И РЪЧНО ДА СЕ ВЪВЕДЕ 1111, ПРИМЕРНО) Разликите са в Hash Digest, Secret key, Salt Data и Cipher IV. Но все пак key derivation function си зависи от избраната хеш-функция. Това няма как да се избегне при този примитив. Знаеш ли, че ти си първия, който засяга темата? Генерацията на секретни ключове и механизмът на шифроване са си цяла наука, а не сме го обсъждали. А е добре да го правим Що се отнася GCM и това го има, но е само за системите, които ползват AED. Да, но е добре да се ползва и за шифровъчни системи, които ползват блокове с размер различен от размер 128 bit. При FPS изглежда ето така (това е междинно решение): БЛОКОВ ШИФЪР С РАЗМЕР НА БЛОКА 128 BIT (IDEA PGP) БЛОКОВ ШИФЪР С РАЗМЕР НА БЛОКА 512 BIT (RC-4) Това е малко по-добро решение, защото на практика отпада ограничението с размера на блока. Просто в полето Cipher mode се задава класческото CTR, а другото ще се случи автоматично. Има и още нещо ... FPS не е шифровъчна система. На практика може използвайки криптографски примитиви (шифровъчни алгоритми, хеш-функции, делти, инициализиращи вектори, генератори а случайни числа и пр.) може да се създават всякакви шифровъчни системи. Да го кажем просто ... FPS е конструктор на шифровъчни системи. Ползваш примитивите. Комбинираш. Тестваш. Настройки. Параметри. Контрол на процесите. Ентропия. Дифузия. Информационен излишък. Ефективност и пр. Ако всичко е както трябва имаме шифровъчната система която ни трябва. Записваме и ползваме. Това си е направо цял нов раздел. Много благодаря, че повдигна тези въпроси. Има и още ... Външните обекти. Там вече е много забавно. Това е съвсем различен криптограяфски примитив и тук определено аутентефикацията се извършва по много различна логика. При това имаме не един а цял списък секретни ключове, при това уникални не само в рамките на сесията. А тук генерираме делти. На практика от една цифрова фотография, ако прилагаме различни филтри можем да генерираме неограничен брой уникални делти, а това дава допълнителна надеждност. Идеята е тези неща да не се правят ръчно, а колкото е възможно да ги автоматизираме. Както казваше един познат: "На Assembler може да направим всичко, но живота е кратък.". Още веднъж много благодаря за препоръките и за отношението по темата. Определено има какво да дискутираме.
  9. Здравейте, Функционалността не е нова. Тя е на повече от десет години. Налага се да направим огромна крачка назада, защото се оказва, че в момента има огромен проблем, който не касае само България. Не знам откъде да започна, но първопричината е използването на английски език. Английският език използван в криптографията е много специфичен. Всички термини са превод от френски и арабски, а от там става ужасна каша. Съвсем друг е въпросът с преводите на български език. Там е направо страшно. Един елементарен пример. Шифровъчният механизъм е най-важният елемент във всяка шифро-система, но тук в България липсва сериозна литература по този въпрос. Да не споменавам какви глупости са изписани в Wikipedia (и не само там). Това е много тревожна тенденция, защото реално се създава огромна заплаха за сигурността на данните. A сега по същество. Има термин, който се нарича "Хамилтоново отстояние". Кажете ми колко експерти по киберсигурност знаят какво може да ни даде това, за какво и как се използва? Аз също не бях запознат, докато един колега от Грузия не ми разясни всичко в детайли. Не знам дали сте обърнали внимание, че при FPS, имаме анализ на процеса на милисекунда. Във високите версии на продукта се работи на микро и мили секунда. В най-високите имаме и съпоставка с всеки един такт на процесора. Задавали ли сте си въпроса: Защо по дяволите е нужно това, като реално то допълнително натоварва интерфейса и затруднява процеса на разработка? Проблемът на цифровите технологии е техният дискретен характер. Това е най-слабото им място и няма как да бъде защитено. Ако съчетаете Хамилтовите отстояния с времевия анализ на практика всеки един компютър и всяко едно цифров устройство ( в т.ч. мрежово активно оборудваме, промишлени контролери, защитени системи за управление и пр.) стават напълно прозрачни за несанкциониран достъп, при това НЯМА НУЖДА ДА СА СВЪРЗАНИ С INTERNET! Но да не навлизаме в толкова "сложна материя". Да поговорим за делтите и защо са важни? Ами просто е. При хеш-функциите имаме колизии. Два различни файла могат да имат абсолютно еднакви хеш функции. Причината за този феномен е много проста и е обвързана с начина по който се изчислява checksum на файловете. За да се поправи този проблем се използват различни прийоми (вектор на инициализация, посоляване и др.). Делтите са основен елемент за противодействие на колизиите. Да, но и делтите са уязвими. Една от основните заплахи при използване на Random Delta (RD) e ако криптоанализаторът е предварително запознат с формата на информационните масиви. В този случай атаката се провежда като в определени точки се извършват случайни преобразувания. За да бъде предотвратена подобна възможност се използва хеширане, което позволява контрол на последователността. И какво следва? Делтите и хеширането са взаимнозависими от гледна точка на криптоанализа. Забавно, нали? В крайна сметка стандартните методи на шифроване са уязвими в много направление, което изисква сериозни базови познания по темата. Най-добре е ако наистина искате да навлезете в материята да използвате NIST Special Publication 800-38A и това само като начало. База без която не може. За всички термини и въпроси, свързани с Message Authentication Codes (MACs) би следвало да се ползва ISO/IEC 9797-1:2011. Повярвайте, това са много ценни документи при това достъпни и написани просто и разбираемо. Без фундаментални познания (в т.ч. и математика) е невъзможно. Аз не съм толкова добър математик, но се уча и възприемам. Това, което знам е, че чуждото мнение е една различна гледна точка, която може да бъде много полезна и да ни спести време. В този ред на мисли ... КАКВО ЩЕ КАЖЕТЕ АКО С КОЛЕГИТЕ НАПРАВИМ ЕДИN БЕЗПЛАТЕН ON-LINE КУРС ПО ТЕМАТА?
  10. Още веднъж огромни благодарности на всички за направените препоръки. Сами може да се убедите, че всички те бяха взети под внимание. От виртуалните контейнери до възможностите за използване на различни публични e-mail ресурси. Последният (но не по-важност) елемент, който бе добавен в резултат на направените препоръки, касае механизмите за шифроване и генерирането на секретни ключове. Като начало това, което е достъпно в модула за настройки на стандартните форми на шифроване са cipher mode, възможността за въвеждане и генериране на псевдослучайни hash salt и Cipher IV (или казано простично - инициализиращ вектор, initial Vector), както и възможността за въвеждане на произволни secret key (w t.`. i awtomati`no generirani ot modulite na ОРЕ). Какво ни дава това? Като начало отпада необходимостта от използване на hash, а това автоматически елиминира каквато и да било възможност за възникване на колизии. Може да използвате сесийни секретни ключове, които след сесията автоматично ще бъдат унищожени, но най-хубавото е, че може да "обменяте" (на практика те се генерират автоматично, в рамките на една работна сесия), ключове през "сивата зона" (например като използвате публични сайтове). Допълнително предимство и изчисляването на ентропията и информационният излишък. Това е важно, когато работим с текстови файлове и искаме гаранция за тяхната сигурност. В този случай обаче има и една малка подробност, на която бих желал да обърна специално внимание. Много от постулатите на криптоанализа са от началото на XIX век, когато не е имало компютри и цифрови технологии. Тук е мястото да благодаря на колега от ДАНС, който спомена нещо важно, касаещо обследването. масово се приема, че изчисляването на ентропията би следвало да се извършва спрямо символите. Да, но при компютрите имаме двоичен запис (единици и мули), при това групирани в байтове (групи по осем). Това важи и за шестнадесетичния код. Ако един текст бъде преобразуван в двоичен вид (това важи и за файловете) и преизчислим ентропията може да получим различна от очакваната средна стойност, при огромен информационен излишък. Това важи с пълна сила и за паролите, за които ще поговорим малко по-късно. Генерацията на ссийни секретни ключове е лесна за реализация. Нужен ви е произволно избран сайт или някакво цифрово изображения (може да ползвате и видео в YouTube, снимка от мобилния телефон или аудио файл). На практика един елементарен сайт позволява генерацията на над 1500 уникални секретни ключа в рамките на секунди. Това, което е важно е, че тези секретни ключове не е нужно да се предават, защото те се генерират двустранно. Това важи както за едноключевите системи за шифроване така и за двуключовите (асиметричните) шифровъчни системи. И ако трябва да обобшим ... Имаме виртуални контейнери, имаме генератори на секретни ключове, може да избираме механизмът на шифроване, може да избираме начина на шифроване (блокове, поточни шифри и др.) и като цяло имаме доста сносни възможности за защита на локални данни и обмен на защитена кореспонденция. Сега трябва да напраим следващата стъпка. Още веднъж благодаря на всички в този форум, които дадоха много ценни съвети и направиха изключително конструктивни забележки. P.S. Забравих да спомена, че се изчислява средна стойност за ентропията. Това е важно. Друг момент е, че секретните ключове имат псевдослучаен характер, защото са генерирани на обикновен компютър с ограничена разрядност. Независимо от това по груби изчисления за статистическа атака при използване на суперкомпютри ще са нужни над 14 000 000 години (допълнително ще опиша методите за оценка, които са използвани) за разбиването на някои от тях. Мисля, че това е доста голям времеви период, а и едва ли някой ще изпада чак в такива крайности. Пак повтарям, че това е система за генериране на сесийни секретни ключове, с всички произтичащи от това последствия и ограничения.
  11. Днес ще ви представя един стар-нов проект, който бе замразен повече от десет години. BS Ping се появи в "далечната" 2001 година. Ако се поразровите в мрежата ще го намерите в един доста "необичаен вид" (най-вече използваната нестандартна форма и не само). Първоначалната идея бе това да е проект за обучение. Просто визуализация на процесите и използване на малко познати мрежови протоколи, но ... Фиг.1. Kалкулатор на адреси Продуктът бе забелязан от други и постепенно се превърна в неделима част от тактическите информационни системи (не в България, естествено). В момента официалното му наименование е NCA-I. На Фиг.1. виждате стандартен адресен калкулатор. В него няма нищо сложно, а още по-малко загадъчно. Въпреки това много често ми задават въпроса: Откъде са изображенията за анализа на подмрежите на facebook, примерно. Ами ... от тук са. Това си е най-обикновен инструмент за анализ на IP адреси. В internet има много подобни решения. След много спорове и много изписани документи ни бе разрешено да публикуваме отново публичните части на проекта. Те не са кой знае какво и в тях определено няма нищо "секретно", но могат да бъдат от полза зза всички, които изучават мрежови технологии. Просто се онагледяват процеси, които са до болка познати на системните администратори. Фиг.2. Използване на tracert и геолокация на маршрута. Типичен ример за това е trasert. В случая имаме и геолокация на отделните рутери, както и визуализация на маршрута, което често се показва по филмите. Искам да подчертая, че има доста сериозна разлика между trasert и traceroot. Специално за TCP има специализиран модул, който включва и няколко често използвани конзолни команди, които могат да бъдат от полза в процеса на обучение. Фиг.3. Конзолни команди. В момента BS Ping (NCA-I) е достъпен само и единствено за ОС Windows. Причините за това са юридически. Нaй-високата версия е LE (Light Edition). Версиите SE, SPE, PE и ЕЕ са забранени за публикуване (за сега). Kакви са причините за това определено не знам. Лично аз считам, че в тези версии няма нещо, което опитен администратор да не бъде в състояние да направи, но аз съм просто един от многото и нямам думата, при важните решения. Естествено възниква въпросът: А има ли безплатна версия? Да. Има. Може да получите безплатно дори платени версии. Вариантите са да получите промо код (пишете на лична), ако ползвате Windows 10 или активиращ низ (пишете на лична) за да активирате продукта. Всичко е напълно законно и легално. Ето и адреси в Microsoft Store (за Win 10): BS Ping - FE https://www.microsoft.com/store/apps/9NJH6GV29P1Z BS Ping - LE (версията е платена и ако искате да я получите безплатно пишете на лични за да ви дам promo key) https://www.microsoft.com/store/apps/9NXJP9184XD6
  12. Здравейте, Моля да бъда извинен. Възможно е да не съм се изразил правилно. Опитвам се да насоча дискусията към базови принципи. Структурите са: Масиви; Записи; Множества. Kакво общо има това с Parallel Programming Library (PPL)? Убягва ми логиката на изложението. При паралелните процеси имаме паралелни цикли Tparallel.For и изпълнение на паралелни задачи TTasc и ITasc. Да, съгласен съм, че cross cutting логиката (Cross-Cutting Concerns - CCC), за която пишете, включва: Управление на жизнения цикъл на обектите; Оптимизация (в т.ч. и кеширане); Транзакции; Многопоточност и синхронизация; безопасност и пр., но ... това е програмна парадигма. Базов клас в Delphi е TObject. Негов наследник е Exception, но не знам някога да е имало какъвто и да било проблем. Те са си съвсем стандартни решения. Създаване, обслужване, премахване. Получаване на информация (ClassInfo, ClassName, ClassType и пр. и пр.). Обработка на съобщения. Но това са общоприети принципи и те не са обвързани с конкретен език. Аз съм визирал нещо крайно елементарно. Ще приемем, че не съм Ви разбрал правилно. Да разбирам ли, че проекта, по който работите е свързан с подредбата на съобщенията (message queue)? Нали не възразявате, ако приемем, че това което правите е SaaS технология? Или греша? Възможно е да е нещо идейно близко до MSSQ или Rabbit MQ, но с много по широка функционалност? Идеята е интересна. Асинхроннен обмен, буферизация, гарантирани доставки, еластичност и пр. и пр.. Много е модерно. Програмистите на Ruby, Python, C#, Java и пр. в момента са се запалили доста на тази тема. Ако трябва да обобщя искате да направите механизъм за интеграция в рамките на една инфраструктура (поне от това, което видях). Предвиждате ли използване на координиращ сървър? А динамични изменения във формата на съобщенията? Определено сте се заели с нещо доста мащабно. Надявам се, че не мислите да се ограничите само и единствено до т.н. "облачни технологии". Имам и един въпрос, който (извинете ме за невежеството), за мен остава открит. Какво би следвало да разбираме под "завидна скорост"? В смисъл скорост спрямо какво? Какво измерваме? Производителност? Скорост на обмен при равни други условия? Скорост на запис, при равни други условия? Скорост на обработка на динамични масиви? Скорост на обработка на статични масиви? Нещо друго? Моля Ви не се сърдете, но това са много различни неща и използваните методики са различни. Знам как се измерват параметри в Intel, Microsoft, IBM и на други места, но там си има ясно разписани правила и е ясно какво мерим (има цяла наука "Метрология"). Ако трябва да бъда съвсем откровен от няколко години, в средите, в които работя се избягва да се обсъждат въпроси, свързани с производителността, защото факторите, които влияят на този процес са повече, отколкото може да анализираме (а напоследък се появяват все нови и нови). Признавам, че очаквах да видя някакво малко, завършено крайно приложение, което да мога да си изтегля и да тествам, но това, което ми се предствавя е твърде мащабно за мен. Възможно е да нямам нужните познания и опит за да го оценя. Благодаря Ви за отговора. Ще следя това, което правите. Но все пак мисля, че едва ли ще може да се справите без фундаментална наука. Това, с което сте се заели е изключително мащабно и сложно. Прознавам, че е достойно за уважение. Вярвам, че ще се справите, но ще Ви отнеме много време. Наистина това не е нещо, което може да се направи за ден-два. С най-добри пожелания ...
  13. Здравейте Eiki, Ако ми позволите няколко малки, но важни корекции. Ще започна с нещо, което категорично не мога да приема, защото по тази логика би следвало да правим сравнение между диня и круша, което (моля да ме извините) е абсолютно некоректно, от гледна точка на ботаниката, като сериозна наука. Като начало за "аспектно ориентирано програмиране". Извинете ме, но за първи път за това "чудо" се чу от Грегор Качалес (Gregor Kiczales - Xerox Palo Alto Research Center или накратко PARC) през 2001 година. Каквото и да си говорим Delphi е език за приложения от клас A и АА+ от 1986 година и го дължим на Лоурънс Гордън Теслър. Вярно е, че и той е работил в Xerox PARC, но ..... Точно на Теслър дължим такива неща като Apple (да не забравяме, че Object Pascal е и ще си остане основен стандарт най-вече за Apple), Amazon, Yahoo и някои други неща. Аспектно ориентираното програмиране имаше една основна задача: да разреши проблемите на Java с многопоточността и управлението на транзакциите. Моля да бъда извинен, но advice е нещо обвързано с начина, по който се оформя кода, а не някакъв фундаментален принцип. Да не споменавам какво е join point и за какво служи. Само не ми казвайте колко е елементарно да се разбере фундаменталната същност на Meta Object протокола. . . . Хайде сега да поговорим за generic (или както е правилно да се нарича "обобщение"). Извинявайте, но Стефан Гленке (Stefan Glиenke) пише за често срещана грешка на програмистите. Да. Той използва специфичен английски жаргон, но ... Дяволът е в детайлите. Това е проблем, който се появява, когато C логика се прилага към Object Pascal. Нали не вярвате, че ако сипя бензин в резервоара на автомобил с дизелов двигател той ще работи нормално? ТList съхранява списък с указатели, а не данни! Сега внимавайте много добре: type TObjectList<T: class> = class(TList<TObject>, IList<T>) // ... end; Не виждате ли грешката? Тя е просто фрапираща. Извинете, но подобни "декларации", са доста съмнителни. TList и TObjectList са подредени списъци (виж Generics.Collections документацията) Погледнете декларацията. Внимателно. Много внимателно. Без емоции и предразсъдъци. Ето пример, за правилно деклариране: type TОbjectList<T> = record .... ... end; Ако използвате тази декларация и сравните изпълнимите кодове ще останете много приятно изненадан. Моля Ви нека да бъдем коректни. Ако пуснете 480 V променливо напражение на 24 V правотоково захранване то ще изгори. Тук Delphi няма никаква вина. . . . Сега за паралелното програмиране ... Тук ме изненадахте много приятно, защото цитирате любим ресурс. Мога да Ви кажа, че като регистриран Microsoft разработчик (и Microsoft Partner) знам, че каквото и да си говорим всички онези неща свързани със синхронизацията като lock, mutex и пр. не само че никой не е отменял, а и без тях определено няма да ни е никак лесно. Има и друг важен аспект, с който колегите многократно сме обсъждали на работни семинари и не само. Task Parallel Library е елемент на System.Threading.Tasks. Мисля, че е излишно да упоменавам, че реално се извършва насочване на последователни процеси към различните ядра. Да. Това определено е паралелно програмиране, но е по-скоро междинно решение и предстои още много работа. Ето един красив пример на мой колега, по темата: using System; using System.Threading.Tasks; namespace HelloApp { class Program { static void Main(string[] args) { Task task1 = new Task(() => Console.WriteLine("Task1 is executed")); task1.Start(); Task task2 = Task.Factory.StartNew(() => Console.WriteLine("Task2 is executed")); Task task3 = Task.Run(() => Console.WriteLine("Task3 is executed")); Console.ReadLine(); } } } И сега ако ми позволите, последна но ... много сериозна забележка. PHP и Java Script са скриптови езици, но моля Ви недейте да правите обобщения. Тези езици имат своето място (както и VB) и то е много важно. Тук има прекрасни програмисти на PHP и чз ги уважавам, заради това, което правят. В този ред на мисли ... Имам една голяма молба към Вас. Бихте ли били така добър да ни посочите някои Ваши разработки? В смисъл приложения, които Вие сте направили и реализирали. Ще Ви бъда много признателен. Благодаря Ви.
  14. Как би следвало да изглежда един Black List? Какво е нужно да съдържа? # This translates the names the spam lists spam domains lists # the DNS domains search. # There a far more comprehensive list these # http://www.declude.com/JunkMail/Support/ip4r.htm # you can easily search them www.DNSstuff.com. # you want search other DNSBLll have buy a contract before # attempting the lines. MAPS-RBL blackholes.mail-abuse.org. MAPS-DUL dialups.mail-abuse.org. MAPS-RSS relays.mail-abuse.org. # This line works JANET UK Academic sites MAPS-RBL+ rbl-plus.mail-abuse.ja.net. # build a similar list the RBL domains that the name # the domain rather than the IP address the exact machine that # listed. This way the RBL controllers can blacklist entire # domains very quickly easily. # These arent these more Easynet-DNSBL blackholes.easynet.nl. Easynet-Proxies proxies.blackholes.easynet.nl. Easynet-Dynablock dynablock.easynet.nl. # This list now dead must be used. #OSIRUSOFT-SPEWS spews.relays.osirusoft.com. # These folks are still going strong #SORBS-DNSBL dnsbl.sorbs.net. #SORBS-HTTP http.dnsbl.sorbs.net. #SORBS-SOCKS socks.dnsbl.sorbs.net. #SORBS-MISC misc.dnsbl.sorbs.net. #SORBS-SMTP smtp.dnsbl.sorbs.net. #SORBS-WEB web.dnsbl.sorbs.net. #SORBS-SPAM spam.dnsbl.sorbs.net. #SORBS-BLOCK block.dnsbl.sorbs.net. #SORBS-ZOMBIE zombie.dnsbl.sorbs.net. #SORBS-DUL dul.dnsbl.sorbs.net. #SORBS-RHSBL rhsbl.sorbs.net. # These are entries s #SORBS-BADCONF badconf.rhsbl.sorbs.net. #SORBS-NOMAIL nomail.rhsbl.sorbs.net. # other good lists CBL cbl.abuseat.org. RSL relays.visi.com. DSBL list.dsbl.org. BLITZEDALL opm.blitzed.org. Благодаря на колегите за предоставената информация. 🙂 И .. Някъде в този форум бях писал за агрегаторите на даннии как се ползват. 🙂
  15. За да се получи Apple ID (потребителски акаунт в Apple) са нужни две неща: Регистрирана и достъпна електронна поща; Навършени 18 години (за граждани на Република България). За какво реално трябва това? Преди всичко за достъп до iTune и други ресурси. Ако сте разработчик ще се наложи да заплатите 99 USD за регистрация. Ето адрес, на който има много изчерпателни сведения по така поставения въпрос: https://www.online852.com/free-apple-id Най-лесно и НАПЪЛНО ЗАКОННО, това се прави на следния адрес: https://appleid.apple.com/#!&page=signin Кликвате на Create Your Apple ID и след това просто попълвате изискуемата информация. Все пак се регистрирате като ПОТРЕБИТЕЛ, а не като разработчик.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.