「バージョン管理システム」を含む日記 RSS

はてなキーワード: バージョン管理システムとは

2017-08-30

ドロップボックスアカウントの共有するなよ

無料枠使ってるくせに、自分アカウントの容量が減るからプロジェクトで共有のアカウント作ってそっちでみんなログインするってクソかよ

バージョン管理システムを使わないのも糞だけど、dレが変更したかもわけわかんなくなるし、コンフリクトファイルができたときどう対応するんだよ

容量が足りないとか言うなら他のプロジェクトのファルについて同期止めろよ

そういうやつほど、150DPI 300pixで十分な写真データなのに縮小せずに2MBの写真をアップしてくる

2017-01-27

http://anond.hatelabo.jp/20170126221358

http://anond.hatelabo.jp/20170126221358

F系子会社ちょっと前まではF本体にも常駐してた。雑にコメントしてく。

二次請けだろうが何次請けだろうが、顧客と直接やり取りしたり、一次会社から作業の指示を直接受けたりする

↑これはある。会社や人によってはちゃんとやろうと取り組んでるトコもあるけど、グダグダなのが殆ど法令違反って認識すら無いやつも結構いたりするから反吐がでるよね。

9時に来ないと「遅刻」と言われたり、「休日出て完成させろ」と言われる

一次会社への作業時間の報告が必須になっている(理由不明

↑これは現場による。

ほとんどの人がノートPC1台。フルHD未満多し。デュアルディスプレイ環境の人はごくわず

Windows 7 32ビット指定メモリは4GB(実際に使えるのは約3.3GB)

メモリ4GBノートPCデフォなのは同じ。でも、OS普通に64bitも指定できるし、デュアルディスプレイデフォ

会社独自バージョン管理システムEclipseプラグイン

普通にGitlab

「可読性を上げるため、変数ブロック冒頭で宣言すること」というルールがある

メソッド名や変数名を日本語宣言することになっている

↑そんな変な規約ない

自動ビルドではない

普通にJenkins

端的に言ってF内から見ても結構酷いと感じた

2017-01-26

とあるFのFなSIer現場

他を知らないからひどいのかひどくないのか分からない。教えて

受託開発だよ編
環境
  • 会議用の長机に2人。仕切りなし、狭い
  • 引き出しは2人で1つ。共用
コンピュータ
開発環境
バージョン管理システム
ソースコード
規約
構成管理

2016-11-06

http://anond.hatelabo.jp/20161105032504

かなり時代錯誤を感じる。ネタであって欲しい。もしかしてITリテラシー低すぎ?というか、好きなソフトウェアは何なんだよ。ノーカンプラ???

高い

"Excel" なら安い。アプリの数百円からデスクトップ版の1.5万程度。ていうか、¥14,526で売ってる。

https://www.amazon.co.jp/dp/B015SMNVAK/

重い

Excelが重いとかどれだけ糞スペ。

Windowsしか動かない

Mac, iOS, Android, ブラウザでOK。

よくバグる

それはExcelに限った話ではない。ソフトウェアである以上多少のバグはしゃーない。つかリソースが糞なせいじゃねーの?滅多に落ちないが。

検索性が悪い

イミフ普通に検索出来るだろ。

共有PCとかだと高確率で使えない(Excelが導入されてないから)

ブラウザでOK。

Markdown表現できるレベル資料とかもはや何のためにExcel使ってるのかわからない

それはExcelのせいじゃなくて使う人間馬鹿なんだろ。

タブ表示が面倒臭い

ショートカットご存知無い?馬鹿?ページスクロールも面倒臭そうだな。見なくていいよ。

バージョン管理システム管理した場合Diffが見にくい

それはそのバージョン管理システムが糞なんだろ。Diffを見るだけならWinMerge+xdocdiff普通にやすいが。馬鹿なの?

セル結合死ね

嫌ならマクロで一括解除&復元でもしろマクロからでも普通に扱えるし、イミフ。罫線も死んじゃうの?

Excel製ワイヤフレームとか手書きの方が多分まだ保守やす

知らんがな。使い方の問題だろ。ExcelじゃなくてWordならいいのか?馬鹿

お節介な補完がうざい

嫌ならOFFにしろよ。馬鹿

方眼紙死ね

Excel方眼より良いものがあれば使わないだろ。普及度、使い勝手トータルでExcel方眼より良いものがあればぜひ教えろ。

学生相手Office持ってる前提でいろいろ求める風潮

しろ、今の大学Office使わないところあるの?マジ?普通総合大学ならITの授業あるだろ??レポートOffice使うだろ???

それとも持ってるけど使えない脳足りん系?F欄なのかな。

つか、Excelの話じゃないのか?

AシートとBシートで別々の人が全く関係ない作業しててもマージするとコンフリクト起こる

形式(.xlsx)はXMLZIPで固めただけだから分解して好きにしろ

2016-11-05

http://anond.hatelabo.jp/20161105032504

Excelが嫌いな理由

多分あと2,3倍くらいある

2016-08-13

ソフトウェアエンジニア転職するときに気をつけること」その後

ソフトウェアエンジニア転職するときに気をつけること http://anond.hatelabo.jp/20160629082647

これを書いたあとしばらくして転職したので、その後の話でも。

はいっても、この「気をつけることリスト」は結局使わなかった。知り合いのエンジニアがはじめたベンチャーに行くことにしたからだ。

ベンチャーからIRなんてないし、社長が知り合いだから技術への考え方や開発スタイルは知っているし。だから話としては開発しているサービスの内容と将来性、あとは待遇を聞いたくらいかな。まあ、将来性については自分判断するしかないんだけどw

ちなみに知り合いの会社からといって「気をつけることリスト」を無視したわけでもない。基本的スタンスはこれを書いた当初と変わらないし、このリストにある項目について自分の中で納得したうえでの転職だよ。

ついでに気になったブコメにもレスもしていこう。

そんな会社存在しない、意識高すぎ、など

これははっきりと断言させてもらうけど、この「気をつけることリスト」と照らしあわせたうえで転職したいと思える会社は、都内だったら普通にあるよ。

意識が高いのかどうかはよくわからない、というか周囲と比較すると自分はむしろ意識が低いほうだけどね。好きなこと以外の勉強をあまりしないし。それが自分の弱いところなんだよな。

gitへの否定的あるいは懐疑的意見

gitが新しいツール玄人向け?冗談でしょ。

gitのいいところは、ツールとして優れているというよりGitHub, GitLabなどのgit serverと統合されたウェブサービスがよく出来ているところだと思う。

特に、いわゆるpull-request駆動開発、つまりある程度のコミットのまとまりをpull-requestなどでCIしたりレビューしながら開発できるようになったすばらしい。

からまあ、pull-request駆動ができるならバックエンドバージョン管理システムgitでなくてもいい。逆にいえば、gitを使っている会社でもpull-request駆動できる環境がなければ片手落ちだ。

就業時間, 待遇, 福利厚生などは聞かないのか

そりゃ聞くよ。聞くべきでしょう。わざわざ書かなかったのは、さすがに自明だと思っていたから。

ベンチャー特有というと、株の扱いくらいかな。このれはちょっと前にバズってた記事があるので読んでおくといいんじゃないだろうか。

GitHubコードを公開している会社は稀なのでは

なにかしらOSSを公開していなければ転職絶対ありえないというわけではないけど、判断材料になるのは確かだし、そういう会社積極的に探したほうがいいとは思う。

かつ、稀というほど少なくもないと思う。特に昨今のWeb企業であれば、OSSを開発してるところは沢山ある。そういうのは採用のためのアピールも兼ねてると思うんだけどね。

あとそういう意味では、最近エンジニアブログを持っている会社もあるからそういうのはチェックしたほうがいい。会社レベル感や雰囲気を知るにはちょうどいいと思う。

2015-10-30

プログラマに嫌われる書類書くだけのかんたんなお仕事のひとたち

プログラム書くようになってあるプロジェクト実践でも投入されるようになってから数年。当時の上司プログラマって名乗っていいんじゃない?とか言われてプログラマという自認もできた。

もともとはSE的な立場として仕様書を書いたりしてた。ゲーム業界からSEはいわず企画とかプランナーとか呼ばれる職種書類仕事がメインで、自分ツール作るかスクリプター的な役目でないかぎりコードみたいなものを書いたりはしなかった。コード書くの楽しいVBなんかに戻れないし、もう書く事もできないだろうな。

からってわけでもないけれど、できる企画ダメ企画ってのがわかるのよね。プログラマからみての意見になるからディレクターからみて、とかデザイナーから見て、とかはまたちょっと違うのだと思うのだけど。

なのでプログラマからみてダメ企画をつらつら挙げていく。

わかったふりをしてる

自分ちょっとコードの読み書きできるのでわかってます、な体で仕様書書いてくるのだけど、全然穴だらけ。要件不明なままフローだけ書いてくる。実際にやりたいことは何なの?そこを説明して実装プログラマに任せようよ、と。

イベント駆動とかもわかってないから仕様書の書き方も不明

エクセル方眼だけど図は皆無

ゲーム作るのにはバージョン管理システムを導入するのが常。subversionとかgitとかあるでしょ。すごく便利なんだけど基本的にテキスト形式ファイル管理するためのものなので、エクセルみたいなバイナリ突っ込まれると差分じゃなくて全部のバージョンが入るから容量を圧迫するの。

画像データはまだいいよ。githubがpsdの差分さえ教えてくれるからね。

だがエクセル、てめーはダメだ。

文字情報メインなのに差分を見る事もできない。検索もできない。

ただ、データ管理としてのエクセルは優秀なのよ。ちょっとしたツールもつくれちゃうし。仕様書エクセル方眼で書いてくるやつはカスだ。

俺も若い頃はよく使ってたけどMarkdownを知ってからは断然こっちの方が書きやすい。そしてなにより読みやすい。検索もできるし成型もできる。強調表示や画像も貼れる。文法も簡単だし覚えやすい。

Markdown文字列情報だ。文章だ。文章一次元的に表現される。つまり書く側が完全に整理した思考でないと書ききれない。読む側に理解させるにはどういった順番で説明をすればいいか考えてからでないと表現できない。おのずと書類の内容、精度が上がる。ただの文章からこそだ。

エクセルはタブやらなんやらで並列なまま多次元情報としたまま表現できる。思考が整理されてなくても表現できてしまうし、表現した気になる。書いてる側の思考がまとまってないまま表現できてしまうあたりはエクセル自由度の高さでもあるのだけど、通して読む事ができない形式でもあるので、読む側のことを考えていないクソみたいな仕様書も提出されてきてしまうのが難点。

プログラマ「あの仕様どこにかいてあるの?」

企画「XXファイルのYYタブに書いてありますよ。ちゃんと読んでるんですか?」

殺意が沸くわ。

しまいにゃ図で示せばらくなものでも図にしてない。

Photoshopなり何なりで書いた絵図をGyazoにでもあげてリンクだけMDに貼れよ。エクセルでシェイプ駆使して作るより早いだろ。

パワポの方がマシですわ。あれはページにスペースの制限があるから1ページ内にまとめよう、伝えようっていう意思能力がないとまとめられないから

データ構造とか意識できない

要件を伝えるのもいいけどバランス調整するための調整項目だしなよ。調整できるようにするし、こっちも使う変数を見出すきっかけになるから助かるんだよね。

データ構造意識できてないとバランス取れないと思うよ?

3Dアーティストのあげてくるデータ仕様書書くでしょ?あれの要件とかもまとめられないでしょ。ノードとか意味わかる?揺れもの数とか制限あるのわかる?

新しい事覚えようとしない

なんでもいいからゲームエンジン触れよ。Unityとか簡単じゃん。プログラム書かなくてもいいじゃん。

俺があれだけMarkdown簡単だから覚えろって言ってもエクセルで上げてくるし、古い知識のままアップデートされない人って存在迷惑ですわ。

説明が下手

プランナー説明が下手って終わってるよね。俺も下手だわ。よく怒られてた。ごめんなさい。これは別にプランナーに限った話ではないけれど、プランナーて人に伝えてなんぼなので職能としてこれがないのは致命的だよなぁ。

書いてすっきりしたので寝る。星くれ星くれ

2015-03-09

劇場版プリパラ構造オレオレ整理

劇場版プリパラボロ泣きしました。

で、感想twitterでKENSAKUしてて見つけた http://d.hatena.ne.jp/kurutto115/20150307/1425715505 を読んで、おれがこうじゃないかなーって思っている内容を雑に書いてみる。

まとまってないし妄想先行のシステム万能論で思考停止してる部分もあるけどご容赦。

【前提】
【誰が何を見てるか】
  • 1は誰も見れない
  • 2は1を見ることができる(見ているとは言っていない)
  • 3も1を見ることができる(見ているとは言っていない)
  • 4は全てを見ることができる
  • 1,2,3はプリズムワールド内で作られた仮想世界であり、「システム」によってどうとでもなる
  • 実際に4に何を見せているかは「システム」によって決められていること
世界線とか】
結論

まあそういう結論からこそ制作陣に向けてありがとうって叫べるってワケでした。おわり

2014-10-01

バージョン管理システム入れていないの怖い

社内SEとして働き出した。

ソース管理バージョン管理システム入れていないって言われて、どうなのそれって思ってしまった。

自分普及活動して、導入するしかないのかな〜。

2014-09-14

http://anond.hatelabo.jp/20140914032401

自動テストが無いコードレガシー

バージョン管理システムで変更履歴管理しよう」

継続的インテグレーション問題の早期発見

オブジェクト指向保守性の高いコードを」

関数型言語抽象度の高いコードを」

プログラマやってるとき大事だと思ってたけど

小さい会社を作って経営側に回ってから糞だと思うようになったわ。

上記を全部やっても生産性2倍も変わらん。

バージョン管理dropbox使って手動で管理テストも定期的に手動でやらせてる。

コードがぐちゃぐちゃで機能追加が無理だったらサビ残させて作り直しさせればいいし。

(今のところアドホック拡張の繰り返しでなんとかなってるけど)

2014-02-16

http://anond.hatelabo.jp/20140216172928

とりあえず、バージョン管理システム(GitとかSubversion)と、自動テストは導入したほうがよい。

既存コードを書きかえるにしても新機能追加するにしても、役立つから

2014-01-22

コード自動生成とか幻想すぎる(ような気がする)

http://anond.hatelabo.jp/20140121235137

僕は専門家じゃないからよくわからないが以下のように考えている

たとえばよく言われる

モデル記述言語モデル記述したらコード自動生成されるのでプログラム不要って話は、

C言語が.sを生成するのと同じなのでそれはコンパイラであって概念的には昔からある話。

C言語抽象度低くてむつかしいというなら抽象度の高い言語を使えばいいというだけにしかならん。

GUI設計すれば自動的コードができるようにならんの? って話はUIビルダとか昔からそうだったじゃん。

でもGUIで作ったやつってバージョン管理システム管理しづらいからマークアップ言語記述できるようにほうが便利ってことにみんなが気付いて、結局テキスト記述できるようなのを一般的にしようってのが2004年2005年くらいの話

2013-12-18

http://anond.hatelabo.jp/20131218132641

先輩だけど「バージョン管理システムの使い方わかってます?」って言うべきかどうか。

それだと直接的過ぎて軋轢産みそうだから

すみません、このファイルコミットするとき競合発生しませんでした?

 私のコードが消えてしまったので、今度から競合が発生したらdiff見てマージお願いしますね。」

で行こう!

http://anond.hatelabo.jp/20131218131730

できればそうさせたい。

diff見なくても、コミットの時に競合が起こってるはずなんだよ。

その人多分、エラーメッセージ読まないから、競合の解決方法とか理解してないんだよ。

先輩だけど「バージョン管理システムの使い方わかってます?」って言うべきかどうか。

バージョン管理システムもまともに扱えないプログラマとか滅びろ!

何で俺のコードが消えてるんだよ!

2012-09-11

下請け未払い#4

anond:20120904212644

昨日弁護士に連絡してね、って弁護士の連絡先おくったのに、返信で逆ギレメールが私に来た。

内容は

・こんな時間数認められない

ソースコードが読めない

って内容だった。

バージョン管理システムつかって納品してるからソースコード差分わかるだろうし、

動作も確認して実際にリリースしてるコードなのになんでソースコードが読めないとかいうんだろう。

2012-05-20

アドバイス適当に書いておきます

http://d.hatena.ne.jp/yamasawa8911/20120519/1337407233

(今はまだ欲しいものがよくわかりません。むしろオススメもの、僕のためになるものを教えてください…)

 だそうなので、俺が思うところを書いておきます

そのWindowsを投げ捨てて、Linuxを入れろ

パソコンMacじゃなくてwindowsです。

基本的にMacのほうが羨ましいとは思うけれども(まあ、MacBookとかが欲しいんだよね、きっと)、でもきっとMacなんてフルスペックで使えるわけない。

周りの子に自慢したいとかいうのであるならば、あるいはどうしてもiOSアプリが作りたいというんだったら、それしか選択肢がないけれども、そうじゃないんだったら辞めましょう。

あとWindowsも、Windowsアプリとか、C#をいじりたいんです!っていう話であるならば、それに固辞するのも結構ですけど、そうじゃなくて、ITに行きたいなら、Windowsを捨ててLinuxしましょう。

自分Gentooが好きですけど、ハードコアすぎるので、Ubuntuのほうがいいかと思う。

Linuxとか難しいんじゃないの……とか思うかもしれないですけど、Ubuntuは素晴らしいです。

Ubuntuは、知り合いの絵師パソコンに入れたら、わりと好評でちゃんと使っていたので、それなりにパソコンが使えるならば、ちゃんと使えます

プログラミング言語関係は、そのOS依存するような環境を使いたいというわけではないのなら、Linuxにしておいたほうが、無難に使えます

なんかもう一つ言語を覚える

CとJavaでもいいとは思うんだけど、どちらもコンパイル必要だし、コードを書くのに、ある程度の量(書きたいときに気軽に書くという感じではない、という意味)が必要なので、もう一つ言語を覚えた方がいいです。

PHPRubyPythonPerlClojureHaskell、お好きな言語をどうぞ。

ただ、PHPはどちらかといえばWebアプリケーションよりかな?という気がするので、PerlRubyPythonがいいかとは思いますが、お好みで。

仕事でいうならPHPのほうが多いかなーというのはあります

自分Pythonのほうが好きですけど、Rubyのほうが割と見つけてもらえる確率は高いかもしれません。

あと、パブリックマンも「Railsでいこう!」というブログ名だったので、尊敬する人にあわせるならRubyのほうがいいんじゃないかと。

こわいおじさんににらまれたいならPerlのほうがいいでしょう。

ちなみに、Ruby on Railsは、割とWebサービスを作るのが楽になりますHerokuとかありますしね。Webアプリケーション周りということだったら、ついでにそのプログラミング言語で使われているメジャーフレームワークとか調べながら勉強するといいかもしれません。

エディタをちゃんとする

で、上記を踏まえて、エディタをちゃんと使いましょう。

パワーが有り余っているなら、総合開発環境であるところのEclipseでもいいんだろうとは思うんですけど、それはおっくう、というのならば、ちゃんとエディタの使い方を覚えましょう。

もう既にUbuntuを入れていると思うので、EmacsVimを使いましょう。Vimのほうが好きではあるんですけど、キーバインドや、その他の癖を考えるとEmacsのほうがいいかなあという気がします。

Ubuntuを入れたなら、Geditというエディタも、Windowsメモ帳の非じゃないくらい極まったエディタなので、それでもいいです。Windowsがそんなに好きなら、サクラエディタを使うといいでしょう。

とにかく、エディタ武器なので、そのあたりも考えましょう。

英語を読む練習をする

あなたはどうやら貧乏だけれども、インターネットは使えているようなので、英語を読む練習をするといいです。

英語なんて全くわからない?ノープロブレム。そんなの適当でいいです。「なんとなくこういう意味かなー」とか、あるいは英語を読むだけでクラクラしない程度でいいと思います

英語を読めると便利です。少しだけ多くの解説が読めるからです。

あと、英語が読めると「pdf Orailly」という魔法言葉が使えたりするんですけど、何に使うかは想像におまかせします。

コードを書きましょう

で、上記を踏まえてなんですが、コードを書きましょう。

コードなんて書いてなんぼです。「如何に優秀なハッカーになるべきか」という記事はゴロゴロありますが、そんなのは気休めに読むべきで、まずはコードを書きましょう。

なんだかんだいって、コードを書くのは経験がモノをいいます。量を書きましょう。そして躓きましょう。最初から質なんて無理です。

躓いたら、なんで躓くのか考えましょう。また、「こんなところが、コードを書く点で不満だなあ」と思うことがあれば、それも考えていきましょう。

偉い人がいろんなソリューションを考えてくれています最初からそのソリューションがなぜ素晴らしいかなんて理解できないとは思います。躓いて始めて「ああ、だからこういう開発手法がいるんだ」ということを理解できるでしょう。

コードを書きつつ、そのプログラミング言語を積極的に学んでいるTwitterアカウントをフォローしましょう

ついでに、コードで躓いたら、その躓いたところを、Twitterアカウントに積極的に発信していきましょう。

そのついでに、そのプログラミング言語を学んでいるTwitterアカウントをフォローしましょう。

あなたの呟いていることによっては、その人は興味を持ってくれるでしょうし、場合によっては手助けをしてくれるかもしれません。

あなたサービスを立ち上げたら、積極的にRTをしてくれるかもしれません。

Githubに載せましょう

で、最初のうちはたぶんコードの引き写しになると思います

だいたいなれてきたところで、自分が作りたいものを作ってみましょう。そして公開してみましょう。できるならGithubで。

Githubに載せる理由は、ソースコードを公開したほうが、突っ込まれる率が高くなり、それに応じて勉強になるというところと、あとはGitというバージョン管理システム勉強をしていたほうが、のちのちに便利だからです。SVNとかありますが。

あと、コードの引き写しに関しては、ブログに書くか、あるいはコードの断片を載せるという意味で、Gistに載せるという点もありますが、その辺りはご自由に。

VPSを借りるといいかもしれません

VPSを借りてみましょう。あなた貧乏だというのはわかっていますVPSとは、仮想専用サーバーのことです。

別に最初から何でも揃ってるようなホスティングサービスでもいいんですが、サーバーを一から立てるという作業は、勉強にもなります。下手な技術書より余程勉強になったりします。

最初から借りると宝の持ち腐れとなると思うので、一つのWebサービスでもいいので、それを自分マシン内でのみ見られるようなったら、借りるというのは一つの手だと思います

VPSがつらいというのならば、Herokuとかもありかもしれないです。

コードを読みましょう

コードを書くのが辛いなら、コードを読みましょう。人のコードアイデアの山です。

自分場合は、割と実例が無いと、挙動がピンとこなかったりするので、コードを読むことのほうが多いです。

特に、その言語で有名なライブラリかいいかもしれません。ガンガン読みましょう。

本が買えなければ、一番の参考書コードです。

あとは頑張ってください

あとは若さでなんとかなるでしょう。

ついでに、この文章を「テメーはなんにもわかってねえんじゃボケ」という言い方をして修正してくれる人もいると思うので、そういう人のアドバイス真摯に受けとりましょう。

あなた人生に幸おおからんことを。

2012-04-11

うちの会社ビルドシステムおかしい気がする

http://anond.hatelabo.jp/20120407162253 に便乗して。

それなりに大きなとある会社プログラマだけど、うちの会社ビルドシステムおかしい気がする

まりにも原始的なので違和感を感じるんだけど、自分ビルドシステムに対する知識が圧倒的に不足しているので、今やってる作業に本当に意味があるのかよく分からない。詳しい人に教えてもらいたい。

環境

でどんな方法ビルドしているかというと

  1. Subversion からファイルをチェックアウトしてくる
  2. バッチファイルを使ってワーキングディレクトリファイルを全部 C ドライブ直下ディレクトリファイルコピーする。 C:\PRODUCT とする。これは決められた名前以外では動かない
  3. メインのソースツリーを製品ハードごとのツリーにエクスプローラーコピーする
  4. 製品ハードごとの依存部分をさらに上書きする
  5. 10個ぐらいあるバッチファイルから必要なものを選んで実行し、ビルドする。スクラッチビルドしかできない

こんなこといちいちやるので、ビルドに数時間かかる

あとソース更新した時の手続きは

  1. 製品ごとのソースツリーで、同じファイルを使っているものには手動で上書きする
  2. 更新したファイルワーキングディレクトリに手動でコピーする
  3. ビルドしたバイナリごとチェックイン

手動でコピーするからよく事故が発生するし、同じファイルが複数箇所にあるので全然履歴が追えない。

あと、中間ファイルや実行ファイル(.o とか .so とか) も含めてごちゃまぜにチェックインされているので、もっと訳がわからなくなってる。

ビルド成功しないのが当たり前」とかいう人ばかりで、正直発狂しそうになる

フォルダツリーがわかりづらいと思うので図を書くと

 /
  Main/         -- 共通ファイルディレクトリ
       foo/
           bar.c
       driver/
           common.c
  ProductA/
       foo/
           bar.c -- ProductA 用の変更が入ってる
           baz.c -- ProductA 専用ファイル
       driver/
           common.c
  ProductA_Orig/ -- ProductA/ 内の ProductA用ファイルが丸々入ってる
       foo/
           bar.c
           baz.c
  ProductB/
       foo/
           bar.c -- Main と全く同じ
       driver/
           common.c
  ProductC/
       foo/
           bar.c
       driver/hoge.c
  ProductC_Orig/
       driver/hoge.c

こんな感じになっていて、共通部分は Main/ の中とそれぞれの ProductA, ProductB, ... ディレクトリの中にすべてコピーされている。

チェックインするときはすべてのファイル、例えば bar.c を更新したら Main, ProductA, ProductB, ProductC の bar.c を手動で更新する必要がある。

ビルドするときは Main/ のファイルを ProductA/ にコピーして、 ProductA_Orig/ の中の機種依存ファイルさらに ProductA/ にコピーする。これは、同名のファイルが Main にもあって、 ProductA のファイルが上書きされるかららしい。

こんな状況なので、ソースツリーは常にビルドが通らない状態

ビルドできないので、最後最後まで結合テストが出来ずに、みんなローカルPCで開発してる。誰かのPCが吹っ飛ぶとその人が開発していた差分消失する。

近々また製品バリエーションが増える...

「ツリーを共通部分と依存部分きちんと分けて、ビルド自動しましょうよ」って上長に提案したら「この会社はこれでやってる。むしろバイナリが入っているのでビルドできなくてもテストできる」という感じであまり真面目に取り合ってもらえなかった。

2011-09-28

システム開発(笑)


こんなのシステム開発と言えるのか。

2011-03-29

典型的PHPerの13の悪癖

PHPerの問題点は、視野が狭いこと。典型的には以下のような悪癖を持つ。

何も知らないかPHPを愛せるんだよ、PHPerは。だからまず、HTMLCSSJavaScriptSQLを覚えろ。次に、Javaに移行しろ。そんなに難しくないよ、Java。特に大量にコードを書けるPHPerは、速度が出てライブラリ化が容易なJavaの方が向いている。今はVPSがあるので、小規模案件でも問題ない。

15年間ほどPHPインターネットを支えてきたが、そろそろ設計の脆さが問題になっている。PHP 6の開発が振り出しに戻ったのは、不幸な事故はない。ウェブ仕事をしていれば、PHPJavaで共通する知識も多い。PHPerはJavaを覚えてPHPさよならしろ。そして恥ずかしい悪癖を直すべきだ。

2010-07-26

#if 0

#else

#end

ってなんでだろう

#if 1 又は defineマクロ

#else

#end

なんじゃなかろうか?

if 0 ってなんか 気持ち悪い。if は成立することを基本になんじゃなかろうか?

あと、バージョン管理システム使ってんだから、コミットするときにif 0 なら消しとけよif 1のelseもとか思わなくもない。

自分メモもいいけど、全ソースコードを読む方の身になれよと

いや、悪いとは言いにくいので、こっちで愚痴

2010-07-09

ビジネスロジックをストアードプロシージャで実装してはいけない

ストアードプロシージャでビジネスロジックを実装するメリットを認めつつも、以下の点からビジネスロジッククライアント言語で実装できる場合はできるだけそうした方が良いという結論に達した。

ストアードプロシージャと単体テストは食い合わせが悪い

RDBMSによっては無料あるいは有料でソースレベルデバッガを使用できる場合もあるが、通常はクライアント言語デバッグ機能を使う方がはるかに便利だ。何か問題があったときに、どこが問題なのかを見つけることがクライアント言語記述した場合よりもはるかに時間がかかる。

また、Unit Testing Framework(xUnit)も使用できない場合がほとんどだ。

さらに、カバレッジツールは大抵の場合使えないだろう。

ストアードプロシージャは、たいていの場合、静的解析が行えない

ストアードプロシージャ用の静的解析ツールの存在を知らない。巡回的複雑度を知りようにも知るすべはないのだ。それが行えるツールを知らないだけかもしれないが。

ストアードプロシージャは、バージョン管理されたコードとの整合性に問題がある

仮にストアードプロシージャの変更を全てAlter xx等で構成されたSQLスクリプトファイル管理し、それをバージョン管理システムに含めたとしても(というか、最低そうすべきなんだが)、あるリビジョンコード一式に対応するデータベーススキーマを取り出すのは難しいか面倒だ。

ではトリガーはどうなのだ

リガーでビジネスロジックを実装する場合も、上記問題点が全てあてはまる。

さらにトリガーの場合は、どのような場合にどのような処理が実行されるのかを俯瞰することが難しくなるという問題もある。

では一体いつストアードプログラムを使うのか

一つは、Oracleで言うところのストアードファンクション、つまりSELECT等のDML内で使用する関数で、そうした方がパフォーマンス的にも良い場合

もう一つは、複数クライアント言語で同一データベースを使用することが決定済みな場合

2009-09-07

彼氏バージョン管理システム使ってなかった。別れたい…

バージョン管理していないと、ディスク死んだ時とかに最新ファイルがわからず復旧に時間がかかって恥ずかしいww

下向いちゃうしww

男にはせめてSubversion使って欲しい……

.bakとか.oldとかつけてファイル保存とかされたら……もう最悪ww

あとせめてcommitコメント普通に書いて欲しい。

常識的に考えて欲しいだけなんです!

ファイル名に日付付けてバージョン管理してます!」なんて自信たっぷりに言われた時の恥ずかしさとか分かる?

あのね? たとえば週末10~20人ぐらいで勉強会とかするでしょ?

それぞれ作ったwebアプリリポジトリにアップして公開するわけじゃない?

みんな普通にgitcvssubversionMercurialバージョン管理するわけでしょ

ブログに全コード貼り付けて自慢げに公開したら大恥かくでしょうがww

ログイン ユーザー登録
ようこそ ゲスト さん