Стратегия в карьере программиста

assazello
Уже с Приветом
Posts: 1218
Joined: 06 Mar 2015 00:18
Location: San Jose, CA

Re: Стратегия в карьере программиста

Post by assazello »

OtherSide wrote:Что - то не въезжаю. Пусть мы запишем терабайтный файл циклом по 3 байта, а потом удалим каждый - 5-ый. Что станет с файлом индекса и операцией чтения?
Файл индекса вырастет! :) Но условия задачи мы не нарушим, каждая операция будет записывать не зависящее от размера файла количество данных.
oshibka_residenta
Уже с Приветом
Posts: 4435
Joined: 13 Feb 2002 10:01
Location: Bay Area

Re: Стратегия в карьере программиста

Post by oshibka_residenta »

helg wrote:Современная файловая система, кроме списка кусочков для каждого файла, содержит, как минимум, дерево директорий, файловые атрибуты, разграничение доступа и файлы спецназначения. Тут же ничего такого и близко нет.

На кураже - за час, включая тесты.
Ну, конечно. А за два часа перепишете Линух с нуля.
oshibka_residenta
Уже с Приветом
Posts: 4435
Joined: 13 Feb 2002 10:01
Location: Bay Area

Re: Стратегия в карьере программиста

Post by oshibka_residenta »

assazello wrote:
OtherSide wrote:Что - то не въезжаю. Пусть мы запишем терабайтный файл циклом по 3 байта, а потом удалим каждый - 5-ый. Что станет с файлом индекса и операцией чтения?
Файл индекса вырастет! :) Но условия задачи мы не нарушим, каждая операция будет записывать не зависящее от размера файла количество данных.
Надо еще дефрагментацию добавить. :umnik1:
assazello
Уже с Приветом
Posts: 1218
Joined: 06 Mar 2015 00:18
Location: San Jose, CA

Re: Стратегия в карьере программиста

Post by assazello »

oshibka_residenta wrote:
assazello wrote:
OtherSide wrote:Что - то не въезжаю. Пусть мы запишем терабайтный файл циклом по 3 байта, а потом удалим каждый - 5-ый. Что станет с файлом индекса и операцией чтения?
Файл индекса вырастет! :) Но условия задачи мы не нарушим, каждая операция будет записывать не зависящее от размера файла количество данных.
Надо еще дефрагментацию добавить. :umnik1:
Это уже оптимизация. To version 2.0. :)
helg
Уже с Приветом
Posts: 4827
Joined: 15 May 2001 09:01

Re: Стратегия в карьере программиста

Post by helg »

assazello wrote:Я бы сделал отдельно данные и отдельно индекс. Т.е., не 2 файла в данном примере, а 3. В индексе хранил бы карту распределения кусков. Все удаления-перемещения - через манипуляции содержимым индекса.
Зачем карта? Это выйдет, что для чтения 100-байтного файла придутся вливать в память 100-мегабайтную карту. У нас же уже есть файловая система с готовыми картами.

На первом этапе рисуем две директории: в одной файлы, именованые в соотетствии с передаваемым FileName, внутри каждого список кусочков с размерами. В другой директории - эти самые кусочки, с последовательно генерируемыми именами. Тесты работают, можно полировать оптимизировать.

Экранируем спецсимволы в именах файлов. Проблему 10K файлов в одной директории (Windows всё-таки) снимаем созданием дерева директорий с равномерной заливкой. Последовательные вставки в один файл буферизуем до какого-то размера - чтобы не плодилось по файлу на вызов. Заодно объединяем вставляемый кусочек с предыдущим/последующим, который не в буфере, а в файле - чтобы бисер не плодить. Наверняка ещё что будет в TODO-комментариях при написании первой версии на предмет отполировать.

Получается чистый API безо всяких резидентных кусков. Вроде, тормозных операций у него не видно.
Last edited by helg on 26 Mar 2015 23:25, edited 1 time in total.
helg
Уже с Приветом
Posts: 4827
Joined: 15 May 2001 09:01

Re: Стратегия в карьере программиста

Post by helg »

OtherSide wrote:Вы всегда на кураже работаете, что ли?
В условиях интервью без куража - никак.
assazello
Уже с Приветом
Posts: 1218
Joined: 06 Mar 2015 00:18
Location: San Jose, CA

Re: Стратегия в карьере программиста

Post by assazello »

helg wrote:
assazello wrote:Я бы сделал отдельно данные и отдельно индекс. Т.е., не 2 файла в данном примере, а 3. В индексе хранил бы карту распределения кусков. Все удаления-перемещения - через манипуляции содержимым индекса.
Зачем карта? Это выйдет, что для чтения 100-байтного файла придутся вливать в память 100-мегабайтную карту. У нас же уже есть файловая система со готовыми картами.

На первом этапе рисуем две директории: в одной файлы, именованные в соотетствии с передаваемым FileName, внутри каждого список кусочков. В другой директории - эти самые кусочки, с последовательно генерируемыми именами.
Список кусочков - это и есть индекс. Он же карта. :)
assazello
Уже с Приветом
Posts: 1218
Joined: 06 Mar 2015 00:18
Location: San Jose, CA

Re: Стратегия в карьере программиста

Post by assazello »

Хотя пожалуй соглашусь, можно и без индекса. Наш "файл" можно имплементировать как отдельную директорию с последовательностью файлов ограниченного размера, например каждый не более 100Мб. Файлы просто сортированы по имени. Любая запись в такой "файл" будет добавлять не более 100Мб "лишних" данных - удовлетворяет условию. Любое удаление тоже не более 100Мб дополнительно. Вроде как все соответствует.

Единственная засада тут в том, что со временем и разрастанием "файла" мы упремся в ограничение по имени и придется часть или весь набор переименовать.
User avatar
Sergunka
Уже с Приветом
Posts: 34164
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Стратегия в карьере программиста

Post by Sergunka »

Stantmn wrote:3. изучать самую денежную и востребованную Java с нуля. Правда ее применить тоже негде будет с моими нулевыми знаниями.
Моя цель H1B ну и тыщ 120 в солнечной Калифорнии.
Насколько это все реально? Что наиболее перспективно с вашей точки зрения? Рассматриваю все советы и предложения.
Я четыре года назад соскочил с Лотус Нотс на джава - ни дня не пожалел. На джаве легче приехать так как массово, а опыт баз данных будет просто хорошим подспорьем когда уже приедете и выйдете на работу.

Удачи.

P.S. Еще половим вместе рыбу в калифорнийских прудах :fr:
"A patriot must always be ready to defend his country against his government." Edward Abbey
Stantmn
Уже с Приветом
Posts: 150
Joined: 07 Apr 2014 17:40
Location: Westlake Village, CA

Re: Стратегия в карьере программиста

Post by Stantmn »

assazello wrote:Наврал, не покер, а блэкджек. :) И даже без девочек.
кстати еще на первом курсе института писал игру "очко" аналог блэкджека под дос на паскале или с, не помню уже :)
после этого меня на 2 года в инстититуте от основ информатики освободили. А пузырьковый метод я запомнил, после того как чё-та на олимпиаде надо было именно им делать, а вот что и почему, я не помню уже. по образованию я учитель информатики и физики, но вот ничего уже не помню.
меня вот убивают на собечедованиях всякие задачки с последовательностями, фибоначами и т.п. кто-то в жизни их использует при программировании? матан видимо тоже пора освежать.


ОФФ: есть кто-нибдуь с аккаунтом работодателя на одеске? нужна помощь первый фидбэк получить :oops:
я уже часов 100 убил с 3мя заказчиками, заработал 35 долларов, но так и не получил фидбэк :(
все пропадают куда-то, то не платят, то отзыв не оставляют :(
Last edited by Stantmn on 27 Mar 2015 06:09, edited 1 time in total.
Stantmn
Уже с Приветом
Posts: 150
Joined: 07 Apr 2014 17:40
Location: Westlake Village, CA

Re: Стратегия в карьере программиста

Post by Stantmn »

Sergunka wrote:
Stantmn wrote:3. изучать самую денежную и востребованную Java с нуля. Правда ее применить тоже негде будет с моими нулевыми знаниями.
Моя цель H1B ну и тыщ 120 в солнечной Калифорнии.
Насколько это все реально? Что наиболее перспективно с вашей точки зрения? Рассматриваю все советы и предложения.
Я четыре года назад соскочил с Лотус Нотс на джава - ни дня не пожалел. На джаве легче приехать так как массово, а опыт баз данных будет просто хорошим подспорьем когда уже приедете и выйдете на работу.

Удачи.

P.S. Еще половим вместе рыбу в калифорнийских прудах :fr:
а не могли бы вы набросать примерный план, как и что учить? в общах четрах хотя бы. я просто в java совсем 0. кроме слова "апплеты" ничего не знаю :) когда мы учились, джавы еще не было, вернее не была так распространена.

З.Ы. а рыбу половить завсегда подалуйста :) похвастаюсь: я пока еще действующий чемпион области по спиннингу и зимней блесне со льда :lol: если в этом году выполню первый разряд, то поеду на чемп РФ.
User avatar
Medium-rare
Уже с Приветом
Posts: 9195
Joined: 04 Mar 2011 03:04
Location: SFBA

Re: Стратегия в карьере программиста

Post by Medium-rare »

OtherSide wrote:Плюс почти все ++ позции сейчас требуют опыт серврерный опыт под LINUX и Qt - а я писал в свое время под винду.
Да почти так же, переехал с остановками. IMHO, надо кросс-платформенные проекты искать. Имха базируется на опыте.
... and even then it's rare that you'll be going there...
User avatar
Sergunka
Уже с Приветом
Posts: 34164
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Стратегия в карьере программиста

Post by Sergunka »

Stantmn wrote:
Sergunka wrote:
Stantmn wrote:3. изучать самую денежную и востребованную Java с нуля. Правда ее применить тоже негде будет с моими нулевыми знаниями.
Моя цель H1B ну и тыщ 120 в солнечной Калифорнии.
Насколько это все реально? Что наиболее перспективно с вашей точки зрения? Рассматриваю все советы и предложения.
Я четыре года назад соскочил с Лотус Нотс на джава - ни дня не пожалел. На джаве легче приехать так как массово, а опыт баз данных будет просто хорошим подспорьем когда уже приедете и выйдете на работу.

Удачи.

P.S. Еще половим вместе рыбу в калифорнийских прудах :fr:
а не могли бы вы набросать примерный план, как и что учить? в общах четрах хотя бы. я просто в java совсем 0. кроме слова "апплеты" ничего не знаю :) когда мы учились, джавы еще не было, вернее не была так распространена.

З.Ы. а рыбу половить завсегда подалуйста :) похвастаюсь: я пока еще действующий чемпион области по спиннингу и зимней блесне со льда :lol: если в этом году выполню первый разряд, то поеду на чемп РФ.
Я начинал с сертификации - просто тупо читал книжки по сертификации и отвечал на вопросы. Понятно надо прочитать книжку по самой Джаве и плюс по Спринг и Хайбернет.

Потом берете скачиваете проекты с https://github.com/spring-projects
и смотрите как там чего устроенно. Что то можно и самому написать используя проект. Где то через полгода уже можете спокойно называть себя джавистом если за плечами будет проект типа REST interface для базы данных.
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
metaller
Уже с Приветом
Posts: 4532
Joined: 06 Jul 2011 12:22
Location: Oak Harbor, WA

Re: Стратегия в карьере программиста

Post by metaller »

Sergunka wrote:Я начинал с сертификации - просто тупо читал книжки по сертификации и отвечал на вопросы. Понятно надо прочитать книжку по самой Джаве и плюс по Спринг и Хайбернет.

Потом берете скачиваете проекты с https://github.com/spring-projects
и смотрите как там чего устроенно. Что то можно и самому написать используя проект. Где то через полгода уже можете спокойно называть себя джавистом если за плечами будет проект типа REST interface для базы данных.
А что, без спринга с хибернейтом уже никто на Java не пишет ? Меня как человека с серъезным database background от хибернейта воротит :( А для Big Data хибернейт наверняка не нужен ...
Я не хочу оплачивать ничьи аборты, велферы или детсады. Каждый должен сам принимать решения и нести за них ответственность.
Strangebird
Posts: 4
Joined: 13 Mar 2015 23:22

Re: Стратегия в карьере программиста

Post by Strangebird »

metaller wrote:А что, без спринга с хибернейтом уже никто на Java не пишет ? Меня как человека с серъезным database background от хибернейта воротит :(
Всяческие корпоративные приложения CRUD - почти всегда ORM. Я как старый Oracle-оид ваше
возмущение разделяю, но жизнь такова, что профи на базах мало, а java-девелоперов - как мотыльков в тропиках (пардон, коллеги). Ну вот и появились ORM как попытка возместить незнание матчасти чистыми java-разработчиками.
Но в серьезных руках инструмент вполне работячий, отдельное спасибо за то, что оставили дырку в виде doWork и doReturiningWork. Плюс не надо сбрасывать со счетов интеграцию с EJB/CDI, в ентерприайзе вы самостоятельно транзакциями не науправляетесь.

Spring - ну почитай, что все идеи JEE7 отдела почерпнуты. А в части AОР JEE7 явно отстает IMHO :sorry:

Return to “Работа и Карьера в IT”