• C++, Windows, msvc - какой обфускатор применить?

    ErmIg
    @ErmIg
    Программист
    Если вы используете наитивный компилятор С++, то просто соберите проект без DEBUG информации (в релизе) или с упаковщиком . Если managed компилятор, то есть обзора обфускаторов на Хабре:
    habrahabr.ru/post/97062
    Ответ написан
    5 комментариев
  • Как грамотно реализовать SHA-2 на с++?

    Spetros
    @Spetros
    IT-шник
    Реализовать очень просто, нужно открыть текстовое описание алгоритма и написать по нему код.
    Задача обучения - научиться самостоятельно писать код, а не выдавать готовые решения за свою работу.
    Ответ написан
    3 комментария
  • Как работает tinyMCE 4?

    Дело в том, что когда вы вызываете tinyMCE на textarea, то вы не пишите в самом этом поле, он делает кучу оберток над ним и в итоге получается, что вы видите перед собой iframe. Так вот когда в редакторе вы что-либо пишите, то он не сохраняет автоматом новое значение в textarea, для этого у него есть специальный триггер triggerSave(). После его вызова у вас всегда будет актуальный контент в поле. Вот вызов редактора, который я использовал:
    tinymce.init({
            selector: "textarea",
            statusbar: false,
            setup: function (editor) {
                editor.on('change', function () {
                    tinymce.triggerSave();
                });
            }
        });

    Теперь если вы возьмете значение из textarea, то оно будет актуальным:
    var text = $('textarea).val();
    Ответ написан
    1 комментарий
  • Как прeодолеть зону комфорта, стать фрилансером не обанкротившись?

    kumaxim
    @kumaxim
    Web-программист
    Для начал ответь сам себе на вопрос "А чем тебе неудобна текущая золотая клетка"? Можешь не писать здесь, но определись для себя.

    Далее нужно осознать, что фриланс - это подвид бизнеса. Есть книжка Р.Киосаки "Квадрант денежного потока". Там всех людей, работающих в экономике разделяют на 4 части:
    1. Р - наемные работники
    2. П - предприниматели
    3. Б - бизнес
    4. И - инвесторы

    Фриланс - это сегмент П. Ты работаешь один, возможно зарабатываешь больше чем работая по найму, но вот ты заболел, продуло тебя где-то, температура 38.5.... Сомневаюсь что ты из стали сделан и сможешь в таком состоянии писать код.
    Сегмент П очень хорошо охарактеризовал г-н Залогин из Локус Медиа. Он сказал примерно так: "Вы человек-велосипед - пока крутите педали - едите, как только перестали - упали"

    Переходя к твоему вопросу о выходе из зоны комфорта.
    Первое что рекомендую перед началом своего бизнеса - оплати все долги. Закрой ипотеку, погаси автокредит, все потребительские заемы и т.д. В случае если ты провалишься(первый блин, обычно, комом) по крайней мере ты со своей семьей не под мостом окажешься.
    Второе - содержание семьи. Никакие твои заработки не должны влиять на твою жену/ребенка. Твои родные, как минимум, должны иметь крышу над головой + еду на столе. Посчитай сколько ты платишь за комуналку + еду. Далее умножаешь эту сумму на 24 месяца. Это финансовая подушка твоей семьи.
    Третье - планирование. Бизнес без бизнес-плана - это не более чем хобби. С 16 лет стремился зарабатывать в сети. Продавал ссылки на sape.ru в 2008-2009, работал с трафиком в 2010-2012, продавал китайские безделушки с 2013-2014... Сейчас ушел в разработку одного SaaS-решения. Первые пару месяцев оптимизм из ушей хлещет, думаешь "Да все будет, да это фигня, преодалею...." Но вот начинаются черные полосы: ТИЦ сайта в планируемый апдейт не вырос до нужного значения, твой сайт на 9 месте в выдаче, вместо требуемой тебе 3-4 позиции, товар из Китая на таможне завис.... Да я могу до бесконечности перечислять проблемы, которые возникали у меня... А время - деньги: тебе нужно платить аренду, зарплату, рекламу, кредиты и т.д. Не платишь - начинается ругань, из Максима Александровича я сразу превращаюсь в мошенника, кидалу, сволочь... эх, во общем суть ты понял. Думай на 2 шага вперед, вот что я хочу сказать
    Четверное - не делай бизнес с полного нуля. Перт Осипов(проект Бизнес Молодость) в каком-то из видео говорил, что мы не ценим самое ценное что у нас есть, мы воспринимаем это как должное, когда для других людей это может быть сравни бриллианту среди кучи стекляшек. Вы не первый день работайте в ИТ по какой-то специализации, так ведите эту специализацию и дальше. Занимайтесь своим любимым делом.
    Пятое - не пытайтесь все делать сами. Когда я запустил свой самый первый интернет-магазин по Китайским безделушкам я все делал сам: рисовал дизайн, верстал его, настраивал рекламу, обзванивал клиентов, носил товар на почту.... В общем занимался вообще всем! Причем за всей этой рутиной я не видел, что мой сайт работает не эффективно, я упускаю из виду 20% горячих клиентов, 10% моих бандеролей исчезают в глубинах Почты России... Вы как первое лицо компании должны знать все процессы своего предприятия, иначе Вы не сможете им управлять, но Вам не нужно все процессы делать самому. Отдайте часть на аутсорс или делегируйте наемному сотруднику.
    Шестое - я на этом очень сильно обжегся около 3-х лет назад.... Ставьте своим сотрудникам четко достижимые KPI(ключевые показатели эффективности). Например, есть у меня форма заказ обратного звонка на сайте. Человек пишет туда своего Имя и номер телефона, после чего эти данные попадают в CRM. Для менеджеров, которые у меня обрабатывают вызовы клиентов один из KPI звучит так: перезвонить клиенту в течении 15 минут после поступления от него заявки, если она поступила в рабочее время. Причем все KPI Вы должны сформулировать максимально точно и подробно. Я сам с KPI работаю так: есть у человека базовый оклад и базовый набор KPI, которые ему необходимо выполнять. Если он их выполняет - получает оклад, выполняет лучше - получает оклад + премию. Причем оклад у меня сам небольшой, около 6 т.р., но нижняя з/п у меня примерно в 2,5 раза выше.

    Первые 4 пункта - это как мягко выйти, вторые два - как не свалиться.

    В целом о бизнесе в РФ могу сказать что его делать относительно легко. Достаточно просто делать что-то хорошо и по человечески относится к своим клиентам. Примерно за 1 год Вы нарабатываете определенную базу контактов(поставщики/партнеры/клиенты), которые Вас знают и доверяют Вам. А далее главное все это не растерять.

    Вам могут все Ваши родные/коллеги/друзья говорить "Да ты что, сейчас санкции, налоги, коррупция..." Поверьте, все это херня! Под прессом можно работать и зарабатывать, причем когда его снимут - Вы получите взрывной рост. А все эти отговорки про санкции, коррупцию, высокие налоги... Да просто у кого-то очко играет!
    Ответ написан
    14 комментариев
  • Имеют ли смысл сервисы "безопасных" DNS?

    Jump
    @Jump
    Системный администратор со стажем.
    Конечно имеют смысл.
    Непонятно при чем тут возможность сменить их в настройках? Зачем обходить?

    Вот скажите - имеет смысл пристегиваться ремнем безопасности в автомобиле?
    Ведь каждый может легко отстегнуться.
    Ответ написан
    3 комментария
  • Как Достать часть из строки в c#?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Раз пошла такая пьянка, предложу вариант без регулярных выражений:
    // входящие данные
    string data = "0x00 00 00 00 00 00 00 00 00 00 00 00 00 00 30 39 ..............09";
    // получаем позицию первой найденной точки
    int endIndex =  data.IndexOf(".");
    // получаем позицию первого вхождения символов 00
    // с конца строки начиная с endIndex
    int startIndex = data.LastIndexOf("00", endIndex) + 2; // + размер искомых символов
    		
    // выделяем часть строки и удаляем лишние пробелы по бокам
    string result = data.Substring(startIndex, endIndex - startIndex).Trim();
    		
    // выводим результат
    Console.WriteLine(result);
    
    // можно одной строкой написать, но так проще понять

    Посмотреть, как это работает, можно тут.

    Регулярные выражения имеет смысл использовать, если шаблон поиска и/или данные будут сложными. В рамках текущего вопроса, все вроде бы просто, можно без потенциально опасных регулярных выражений обойтись (прожорливость, зацикливание).

    Еще вот такой можно сделать вариант:
    string data = "0x00 00 00 00 00 00 00 00 00 00 00 00 00 3D 12 7E ..............01";
    string result = data.Replace("0x", "").Replace("00", "").TrimEnd("0123456789.".ToCharArray()).Trim();
    Console.WriteLine(result);

    Или:
    string data = "0x00 00 00 00 00 00 00 00 00 00 00 00 00 3D 12 7E ..............00";
    string result = data.Substring(2).TrimStart("0 ".ToCharArray()).TrimEnd("0123456789.".ToCharArray()).Trim();
    Console.WriteLine(result);
    Ответ написан
    7 комментариев
  • Что интересного есть в вашем стандартном шаблоне?

    @bogomazov_vadim
    Не знаю насколько интересно, но может кому пригодится. Частями найдено на просторах интернета, использую в своем template + normalize.
    Заменяем длинный текст placeholder многоточием:
    input[placeholder]          {text-overflow:ellipsis;}
    input::-moz-placeholder     {text-overflow:ellipsis;} 
    input:-moz-placeholder      {text-overflow:ellipsis;} 
    input:-ms-input-placeholder {text-overflow:ellipsis;}

    Скрываем placeholder при фокусе:
    :focus::-webkit-input-placeholder {color: transparent}
    :focus::-moz-placeholder          {color: transparent}
    :focus:-moz-placeholder           {color: transparent}
    :focus:-ms-input-placeholder      {color: transparent}

    Курсор для label + отмена раздражающего выделения при клике:
    label {
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        -o-user-select: none;
        user-select: none;
    }

    Только вертикальный ресайз для textarea (horizontal часто ломает диз):
    textarea {
    	resize: vertical;
    }

    Убираем дефолтный курсив у address:
    address {
    	font-style: normal;
    }

    Убираем подсветку полей:
    input:focus,
    textarea:focus {
    		outline: none;
    }

    Адаптивные img:
    img {
    	height: auto;
    	max-width: 100%;
    	width: auto\9;
    }

    Адаптивные видео:
    .video {
        position: relative;
        padding-bottom: 56.25%;
        height: 0;
        overflow: hidden;
    }
    .video iframe,  
    .video object,  
    .video embed {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    Перенос слов:
    .break-word {
            word-wrap: break-word;
    }

    Обнуляем списки глобально, т.к. часто используется для навигации и проч., в области контента можно задать другие стили.
    ul {
    	list-style: none;
    	margin: 0;
    	padding: 0;
    }

    Нумерованный список с подпунктами:
    ol {
    	counter-reset: list1;
    
    	li:before {
    		counter-increment: list1;
    		content: counter(list1) '. ';
    	}
    
    	ol {
    		counter-reset: list2;
    
    		li:before {
    			counter-increment: list2;
    			content: counter(list1) '.' counter(list2) '. ';
    		}
    
    		ol {
    			counter-reset: list3;
    
    			li:before {
    				counter-increment: list3;
    				content: counter(list1) '.' counter(list2) '.' counter(list3) '. ';
    			}
    		}
    	}
    }


    update дополнительно стили для печати

    P.S. Что-то конечно юзается не всегда, по желанию лишнее удалить, замечаниям и критике буду рад.
    Ответ написан
    5 комментариев
  • Зависимость неродственных классов

    mlnkv
    @mlnkv
    JavaScript Developer
    Ответ написан
    Комментировать
  • Кнопка добавить в корзину в XSL

    0neS
    @0neS
    Что?

    UPD:
    <input type="text" size="3" value="1" id="count_{@id}" />
    <img src="/images/map_intocart.gif" width="12" height="21" border="0" usemap="#mapInToCart{@id}" style="margin: 0 0 -6px 1px;" />
    <a href="{/shop/path}cart/?action=add&amp;item_id={@id}" class="btn" onclick="return AddIntoCart('{/shop/path}', {@id}, document.getElementById('count_{@id}').value)">Добавить в корзину</a>

    Так?
    Ответ написан
    7 комментариев
  • Что понимать под словом back-end?

    0neS
    @0neS
    Кассы и столики в макдональдсе это — frontend, кухня и комната для персонала — backend.
    Ответ написан
    6 комментариев
  • Правильно ли обезопасил входящие данные с форм?

    DRY по вам плачет.
    Ответ написан
    Комментировать
  • Как сделать на JS суммирование цены?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    knockout.js - примеры гуглятся.
    Ответ написан
    7 комментариев
  • Как сделать увеличивающийся круг на CSS или jQuery?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    Вот фиддл jsfiddle.net/iiil/qfv9x
    Только он без префиксов, думаю, что сами допишите.
    Ответ написан
    Комментировать
  • Что должен уметь junior .net разработчик?

    @veitmen
    На самом деле все зависит от компании. В свое время, я устраивался на работу, именно на эту позицию. Я не знал .Net вообще. Компания требовала сделать тестовое задание, так вот это был мой первый опыт работы с .Net, до этого я работал только с Delphi.

    По моему мнению, если Вас берут на должность джуниора, то Вы должны знать то, как писать программы, без привязки к конкретному языку и платформе. Вы должны знать как решаются типовые задачи (будь то веб или декстопная разработка). Я бы взял в джуниоры того, кто вообще не знает .Net, но понимает саму суть написания программ, может решать задачи без привязки к .Net, кто может думать и обучаться. Конечно, знание .Net только плюс, но никак не минус.

    Но не забывайте, что главный фактор - это люди. Может быть они ждут на позицию джуниора того, кто все умеет и мало просит. :)
    Ответ написан
    Комментировать
  • Как начать программировать на C/C++/C#?

    risik
    @risik
    Программист

    Кернигана сейчас читать в качестве первого учебника тяжело. Потому, что например, helloworld от Кернигана записывается примерно так:

    main()
    {
      printf("Hello World!");
    }
    
    а если у Вас на самом деле компилятор не С, а С++, что весьма вероятно с учетом указанных сред разработки (кроме CodeLite - про нее ничего не знаю), то это на самом деле ошибка. Надо
    int main()
    {
      printf("Hello World!");
      return 0;
    }
    

    Ответ написан