Блог

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

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

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

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

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

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

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

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

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

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

Эмулятор Андроида под Windows

Это правда, что для Windows нет нормального эмулятора и все, что есть - платное? Просто на работе парень, который мне подчиняется пришел и сказал, что нужно купить лицензию какого-то эмулятора, который стоит $300 в год. Бесплатно можно использовать только в не коммерческих целях, а мы то коммерческая организация и нарушим закон, если будем пользоваться. Проект короткий и покупать ради него не вижу смысла. 

Сообщения Notifications на андроиде

Я сейчас пишу систему, которая будет предоставлять мобильному приложению регистрировать устройства в моей системе и я потом буду рассылать сообщения Notifications на мобильные телефоны. 

У меня есть Apple Developer аккаунт и я быренько набросал приложение для iPhone и уже оттестировали его. А вот для андроида я никогда не писал и особо не планирую. Есть ли какой-то быстрый способ проверить - доходят мои сообщения для телефонов этой платформы? 

Восстановление удаленных данных в SQL Server

У нас на работе парень (извинюсь, но он из Индии) запустил update без указания секции where прямо на боевой базе данных. Результат - записи всей таблицы обновились, хотя ему нужно были изменить только одну. Ну со всеми бывает, надеюсь, что будет редко и меня обойдет.

Самое обидное, что он делал все по правилам - открыл транзакцию, запустил обновление, увидел, что изменено 11 тысяч строк вместо одной и почему-то проигнорировал и закомитил данные. Только потом увидел свой косяк.

Всего 11 тысяч строк, но в достаточно важной таблице.  Восстанавливать базу из резервной копии - слишком долго. Нужно за просить последнюю копию у админов, получить разрешение на копирование  300 гигабайт PCI ограниченных данных, восстановить где-то на сервере и складировать данные. Нереально. Проще обновить все затертые данные случайным мусором и сказать, что во всем виноват Билл Гейтс.

Денвер на английском

Сегодня на работе кинули клич о том, как можно использовать Windows для PHP разработки. Когда я последний раз это делал, то использовал Денвер, но это было много лет назад. Решил попробовать найти его и установить и столкнулся с проблемой - он на русском и на мою английскую версию Windows установить не получилось, потому что там задают какие-то вопросы в консоли, которые я просто не могу прочитать, я вижу только бред из каракуль. 

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

Существует ли англоязычная версия? Если ли что-то англоязычное, на подобии Денвера? 

Поддержка зоопарка при программировании

Меня, как Web программиста стало сильно раздражать  разнообразие различных версий IE. В любой документации при заказе клиентом сайта я вижу, что мои сайты должны поддерживать последнюю версию Chrome, последнюю версию Firefox и Internet Explorer 8, 9 и 10. Я понимаю своих клиентов, потому что они не хотят расстраивать своих посетителей, которые не могут или не хотят переходить на новые версии браузеров от Microsoft. Но я не понимаю саму MS. 

Компания Майкрософт сама создает огромное количество сайтов и им же самим приходится поддерживать весь этот зоопарк ишаков, которые они создают. Неужели, они не задолбались? Проще и дешевле было перенести IE 10 на XP и обновить всех пользователей без спроса, как это делают другие браузеры. Пора вообще убрать версии из браузеров а просто их обновлять каждые несколько месяцев, добавляя возможности и исправляя косяки. 

Та же песня и с Андроидом. Я не представляю, как программисты поддерживают огромное количество разных вариаций, которые не совместимы друг с другом? 

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

Компания Facebook выпустила собственный язык программирования, который они назвали Hack. Достаточно громкое название. 

Hack основан на PHP и может даже жить с ним одновременно в одном коде, но самое главное отличие нового языка - в нем поддерживается строгая типизация. В PHP программисту не нужно думать о типе данных, все преобразовывается на лету и не нужно думать о том, с числом вы работаете или со строкой. Это создает удобство и спорную простоту, а на мой взгляд, добавляет только проблем, потому что компилятор не может проверить код на наличие ошибок не корректной работы с типами данных. 

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

Как получить выборку с 6 до 6 вечера

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

select convert(varchar(10), StartDate, 102)  as StartDate, count(*)
from TableName
group by convert(varchar(10), StartDate, 102)
order by 1 desc

О блоге

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

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

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

Пишите мне