Рубрика «Программирование» - 1073

Здравствуйте, коллеги!

Мы — небольшая команда из Казахстана, занимающаяся разработкой под iOS и в этой статье я хотел бы поделиться десятком наблюдений в этой области.

Материал ниже — это некоторые принципы построения дизайна, нюансов программной части и наблюдения взаимодействия человека с устройством.

10 наблюдений разработчика под iOS

Статья, разумеется, ограничена опытом нашей команды, однако, мы надеемся, она будет полезна разработчикам разного уровня и, возможно, вызовет желание поделиться своим опытом в ответ.

Читать полностью »

Предлагаю вашему вниманю пересказ замечательной статьи автора Jinja2, Werkzeug и Flask, соавтора Sphinx и Pygments Армина Ронаха. Я получил огромное удовольствие разбирая исходные коды его творений и очень многое для себя почерпнул. Армин пишет отличные фреймворки, и как никто другой может разъяснить, чем чреват переход с Python 2 на Python 3 и почему его не так легко осуществить.

Читать полностью »

Тут сегодня статью опубликовали, про найм программистов, о том, как их нужно собеседовать. Там разгорелся небольшой спор и меня поддернуло написать, что я по этому поводу думаю.

Безусловно, это мое мнение, основанное на моем опыте, и оно — не догма, но пока он (опыт) меня не подводил.

Этот пост адресован прежде всего «HR-щикам», но и всем остальным, думаю, тоже будет интересен.

Главный постулат:

HR-менеджер не должен собеседовать инженера. Он даже не должен к нему приближаться. Вообще.

Под катом я объясню почему.
Читать полностью »

Начало

В самом начале необходимо определиться с уровнем кандидата на данную вакансию. Здесь я не буду оперировать понятиями Junior, Senior, Lead и т.д, так как в разных компаниях в эти понятия вкладывается разный смысл. Я буду использовать понятия “кандидат без опыта” (“новички”) и “кандидат с опытом” (“опытные”). От ответа на этот вопрос будет зависеть стратегия процесса найма. Я постараюсь уделить внимание именно различиям, которые необходимо учитывать при подборе. И типичные ошибки, которые необходимо избегать.Читать полностью »

Здравствуйте. Примерно два года назад на Хабрахабре я из некого комментария познакомился с интересным способом хранения паролей без их сохранения. Фраза выглядит странно, но более точно описать род этой программы мне не получилось. Способ заключается в том, что для получения пароля к конкретной учетной записи на конкретном сайте необходимо загнать в хэш-функцию строку, «склеенную» из мастер-пароля, адреса сайта, и логина на сайте.
keyword+sitename+login
В данной строке keyword – это мастер-пароль, используемый для «хранения» паролей ко всем сайтам. Далее идет адрес сайта, затем логин. Загнав в хэш-функцию данную строку, мы получим на выходе строку символов, которую полностью или частично можно использовать в качестве пароля к данной учетной записи на данном сайте. Ключевое слово в начале строки обеспечивает невозможность узнать пароль, если известны адрес сайта и логин. Длина результата хэш-функции более чем предостаточна для пароля. Но надежность пароля все равно оставляет желать лучшего. Каждый символ такого пароля может принимать только одно 16-ти значений, так как результатом хэш-функции является строка чисел в шестнадцатеричном представлении.
Я попытался исправить этот недостаток. Далее расскажу как.
Читать полностью »

Однострочники на Си/С++. Часть 2
Ранее я уже публиковал статью о Однострочниках на С++. Так в этом посте я хочу упомянуть ещё несколько алгоритмов, а также несколько реализаций алгоритма обмена двух чисел(с вычислением времени работы).
Всех заинтересовавшихся прошу под кат;)
Читать полностью »

Приветствую всех, думаю многие программисты сталкиваются с ситуациями, описанными ниже, и вы всегда сможете отправить ссылку на данную статью вашему заказчику.

Программист не таксист потому, что:

  • Потому что нельзя сесть в такси, доехать до нужного места, сказать, что сейчас дела идут не очень хорошо, я расплачусь потом.
  • Потому что нельзя сесть в такси, сказать, что вот мне позвонили и сказали, что там таксист берёт меньше, отвези меня обратно, платить соответственно ничего не буду.
  • Потому что нельзя сесть в такси, сказать куда ехать, приехать на место, сказать, что надо забрать жену, детей, заехать к другу, и всё за первоначальную цену.

Читать полностью »

Привет, {{username}}!

«Жизнь» Джона Конвея на Qt

Сегодня я хочу показать, как реализовать всеми любимую игру Game Of Life Джона Конвея на Qt. Писать будем на виджетах. На примере этого проекта я покажу как работать с QPainter, несколькими классами из core, лэйаутами и вообще с графикой в Qt Widgets. Всем кому интересна эта игра или работа с графикой на Qt, прошу читать дальше. Вообще, статья ориентирована на новичков, но и продвинутым ребятам тоже будет что прочитать:).

Кому лень — вот тут лежит исходничег проекта. Можно собирать сразу, зависимости на core, gui.
Читать полностью »

Привет, {{username}}!

«Жизнь» Джеймса Конвея на Qt

Сегодня я хочу показать, как реализовать всеми любимую игру Game Of Life Джона Конвея на Qt. Писать будем на виджетах. На примере этого проекта я покажу как работать с QPainter, несколькими классами из core, лэйаутами и вообще с графикой в Qt Widgets. Всем кому интересна эта игра или работа с графикой на Qt, прошу читать дальше. Вообще, статья ориентирована на новичков, но и продвинутым ребятам тоже будет что прочитать:).

Кому лень — вот тут лежит исходничег проекта. Можно собирать сразу, зависимости на core, gui.
Читать полностью »

[Не совсем] MVC подход к разработке пользовательских интерфейсов в Delphi. Часть 2. Списки

Предыдущая статья была посвящена всего одной галочке. Пора переходить к чему-то чуть более серьезному. Сегодняшняя тема — представление списков и связь GUI-списков с внутренними данными. Статья предназначена для Delphi-разработчиков.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js