Блог

Подсказки оптимизатору MS SQL Serever

Я уже долго работаю с MS SQL Server и только несколько раз приходилось использовать подсказки оптимизатора базы данных, чтобы указать, как более эффективно выполнять запрос. На этой неделе сразу дважды SQL Server лоханулся.

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

Сервер сообщений Google

В последнее время мне пришлось столкнуться с некоторыми проблемами разработки для мобильных устройств и больше всего проблем доставил Google. Две самые крупные проблемы связаны с отправкой сообщений мобильному приложению. 

Сначала я узнал, что сервер отправки сообщений от Google не имеет статичного IP адреса. Неужели не смогли купить фиксированный адреса или хотя бы несколько адресов. Я работаю с окружением, входы и выходы из которого защищены сетевым экраном и чтобы открыть даже подключение наружу нужно пройти несколько кругов бюрократии, которой я не видел даже при СССР. При этом работники из страны Индия из компании TCS, которые отвечают за сеть и сервера не умеют настраивать сетевой экран по имени домена. Теперь как Google меняет адреса, сообщения перестают отправляться.

PHP разработка на Маке

Я на Mac OS очень много пишу PHP кода и для отладки долгое время использовал MAMP, который достаточно удобно и просто можно настроить. Да даже настраивать ничего не нужно, просто установил программу и вот уже все работает. Но после последнего обновления ОС он перестал запускать Apache, что очень даже удивительно, ведь MacOS имеет BSD корни и в нем даже установлен Apache второго поколения. 

Ну да ладно, простота - это конечно удобно и красиво, но заморачиваться с MAMP тоже не хотелось, поэтому я решил запустить встроенный Apache и работать с ним. Во время конфигурации особо проблем не возникло, я быстро подправил httpd коняги:

Строки в Swift

Новый язык программирования от Apple - Swift меня сегодня сильно удивил. Строки в этом языке по современному не мутируемы. Логично, с точки зрения безопасности. Каждый раз, когда вы в коде пишете:

s = s + “test”

В реальности для s выделяется новая память, а не добавляется к существующей. Это правильно. Язык Swift объектный и все там объекты. Но внимание - для получения длины строки нужно использовать глобальную функцию countElements, которая подсчитывает количество элементов простой интеграцией по всем символам

Swift - интересный язык с интересным будущим

Сейчас по дороге на работу и домой я стал изучать Swift и пробовать писать на нем что-нибудь. Ну что я могу сказать - интересный язык и будущее у него достаточно интересное. Я кстати не смотрел, какая у самого языка лицензия и является ли его спецификация открытой. Но даже если она и открыта, не думаю, что Google, Microsoft или кто-то еще решатся переносить его на свои платформы. 

У Microsoft платформа .NET открыта и язык C# свободен, но его реализовывает только энтузиасты. Google выбрала для себя Java не смотря на его ограничения в лицензирование и последующие судебные преследования со стороны Oracle, а Apple идет совершенно своим путем и решили ни у кого и ничего не брать. Хотя взяли у свободного сообщества компилятор и ядро своей ОС. Возьмет ли сообщество Swift? Наверно нет.

Стоит ли изучать новый язык Swift

Когда я первые начал писать код для iOS с использованием Objective-C, то мне было достаточно сложно привыкнуть к этому языку. Он немного не привычный, хотя в названии и присутствует знакомая мне буква C, просто концепция вызова методов, объявления классов очень не привычны. Да и в языке отсутствуют такие удобные вещи как модификаторы доступа или пространства имен. 

Мне кажется, что писать программы для iOS все же немного сложнее, чем для Windows. C# и .NET Framework все же будут на много мощнее. Не удивительно, что Apple представила в этом году новый язык программирования для своих платформ - Swift. 

Язык программирования Swift

Apple объявляет о появлении нового языка Swift, который должен быть на много быстрее и будет обладать всеми возможностями, которых так не хватает программистам в Objective-C. 

Смысл понятен, Apple решили, что проще создать новый язык, чем тянуть Objective-C, который слишком старый и создавался без учета таких простых необходимых вещей, как пространства имен. 

Блин, я уже работал с таким количеством языков, что не особо хочется учить что-то еще. Но я как минимум попробую Swift. 

В какую сферу программирования податься?

В почтовый ящик поступил вопрос:

Очень нуждаюсь в Вашем совете, в каком направлении программирования мне начинать копать. Например, веб или системное, мобильное, iOS, android?

Программирование - такая сфера, где платят достаточно хорошо и спрос на специалистов есть везде, главное - это умение программировать, а язык и направление - это вторично. Так что могу посоветовать одно - выбирайте то направление, которое нравится. Если нравятся мобильники и Андроиды, то выбирайте эту сферу, а если яблоки, то начинайте изучать iOS программирование.

На сколько популярен Delphi в России?

Кто еще пишет на Delphi? На сколько он популярен в России? Украине? Белоруссии? 

Языку Basic исполнилось 50 лет

Basic1-е мая 1964-го года официально была запущена первая программа на языке Basic. Это сделал знаменитый John G. Kemeny и студент программист. С тех пор прошло уже 50 лет и уже многое изменилось. 

В 1964-м году, чтобы полноценно получать удовольствие от владения компьютером, просто необходимо было знать какой-то язык программирования. Сейчас уже даже в Linux можно жить без написания скриптов (это же тоже своеобразные программы), а просто включать компьютер и работать в графических оболочках операционн систем без знания программирования.

Само программирование конечно же сделало огромный шаг вперед. Сейчас уже не нужно подсчитывать или нумеровать строчки и прыгать по ним с помощью операторов goto. Языки программирования на столько красивые, что можно писать целые истории на языке C++. Книга Clean Code даже говорит программистам, что код должен выглядеть как самая настоящая история и читать код нужно прямо как книгу, тогда код будет красивым. 

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне