この板はプログラムを作る人のための板です。
あらゆる質問はまず
スレ立てるまでもない質問はここで
スレにしてください。
次スレは>>980が立てること
【前スレ】
スレ立てるまでもない質問はここで 159匹目
https://mevius.5ch.net/test/read.cgi/tech/1644673480/
探検
スレ立てるまでもない質問はここで 160匹目
■ このスレッドは過去ログ倉庫に格納されています
2022/05/10(火) 14:24:35.29ID:+9FnNLoT
5デフォルトの名無しさん
2022/05/11(水) 14:58:31.80ID:sxSeWwBV >>4
わかりやすく32bit符号付き整数としたけど
16進数とか小数とかそういうのにも使う話
BNFとかでもそうだけど、数値の定義は書いてあるけど
その数値の範囲の定義は書いてなかったりするでしょ?
2147483647 までの数値なら OK だけど、2147483648 はエラーにしたい
if (99999999999999 > 2147483647) みたいなことをしようとしたら
オーバーフローになるから構文解析の時点でどうにかしなきゃいけなくない?
わかりやすく32bit符号付き整数としたけど
16進数とか小数とかそういうのにも使う話
BNFとかでもそうだけど、数値の定義は書いてあるけど
その数値の範囲の定義は書いてなかったりするでしょ?
2147483647 までの数値なら OK だけど、2147483648 はエラーにしたい
if (99999999999999 > 2147483647) みたいなことをしようとしたら
オーバーフローになるから構文解析の時点でどうにかしなきゃいけなくない?
2022/05/11(水) 15:23:14.11ID:WWobAQq0
基礎的なフォーマット判定の問題なのに解決のツールとして状態遷移図がいきなり挙がるところに面食らってんじゃないのかな
言語の基本ライブラリを使わないこと等の前提もよくわからない
言語の基本ライブラリを使わないこと等の前提もよくわからない
2022/05/11(水) 16:20:20.10ID:FNMhyXXk
>>5
普通は文字列を頭から読んでセーフかアウトかを判別するだけだから
「状態遷移図でチェックする」ような処理じゃない
構文解析とあるからコンパイラが型情報のない数値リテラルを読んで型を自動判別するようなのをイメージしてるのかな?
普通は文字列を頭から読んでセーフかアウトかを判別するだけだから
「状態遷移図でチェックする」ような処理じゃない
構文解析とあるからコンパイラが型情報のない数値リテラルを読んで型を自動判別するようなのをイメージしてるのかな?
2022/05/11(水) 16:39:22.13ID:1NoQ+z/a
0123、0o23、0x1F、01.00みたいのだけでなく
-a123、123a、00x1Fみたいのも数値として認識させたいなら
状態遷移の意味は分からなくもない
-a123、123a、00x1Fみたいのも数値として認識させたいなら
状態遷移の意味は分からなくもない
9デフォルトの名無しさん
2022/05/11(水) 16:53:35.01ID:sxSeWwBV >>8
それを含んでる
そして定義上は0x1FFFFFFFFFFFFFFFFFFFFFFは
16進数として正しいってことになるわけだけど
エラーになるから認めたくない
だから本当にチェックしたいのは16進数かどうかじゃなくて
数値として認識させられるもののチェックってことになるな
それを含んでる
そして定義上は0x1FFFFFFFFFFFFFFFFFFFFFFは
16進数として正しいってことになるわけだけど
エラーになるから認めたくない
だから本当にチェックしたいのは16進数かどうかじゃなくて
数値として認識させられるもののチェックってことになるな
2022/05/11(水) 17:34:49.78ID:9WWVJLj2
正規表現で切り出しつつパターン分けして標準関数で変換
マイコンだから正規表現使えないとかならまず最初に前提を
マイコンだから正規表現使えないとかならまず最初に前提を
11デフォルトの名無しさん
2022/05/11(水) 18:02:20.37ID:sxSeWwBV >>10
状態遷移の勉強をしていて疑問になっただけ
数値とか16進数とかのチェックを状態遷移図で表してるのを見かける
それで動くには動くけど現実的に考えたら桁数や数値の範囲のチェックが必要になるはず
だから状態遷移だけを使ってチェックするのは
効率悪いんじゃないかって思ってる
状態遷移の勉強をしていて疑問になっただけ
数値とか16進数とかのチェックを状態遷移図で表してるのを見かける
それで動くには動くけど現実的に考えたら桁数や数値の範囲のチェックが必要になるはず
だから状態遷移だけを使ってチェックするのは
効率悪いんじゃないかって思ってる
2022/05/11(水) 18:02:48.51ID:2RxhHbKF
13デフォルトの名無しさん
2022/05/11(水) 18:06:06.38ID:sxSeWwBV 状態遷移でのチェックは程ほどにして
if (11桁なら) {
エラー
} else if (10桁なら) {
if (1文字目が2を超えるなら) {
エラー
}
みたいに、どちらにしろ手続き型でチェック入れないと
だめなんじゃね?といこと
if (11桁なら) {
エラー
} else if (10桁なら) {
if (1文字目が2を超えるなら) {
エラー
}
みたいに、どちらにしろ手続き型でチェック入れないと
だめなんじゃね?といこと
2022/05/11(水) 20:54:00.64ID:h0sJuKxj
strtol()とINT_MAXを使えばいんでない
2022/05/11(水) 22:07:29.85ID:judILpSw
速度考慮せず動けばいいだけならIFでも組めるだろうけど
この手の最適なコードは多分ビット演算とかで上手い事やってんじゃねーの
この手の最適なコードは多分ビット演算とかで上手い事やってんじゃねーの
2022/05/11(水) 22:45:56.95ID:ZxQ/H1/P
State Machine とか、こういう処理は典型的な関数型言語・Elixir のパターンマッチ
パターンマッチは、最近のRuby にも入ったらしい
パターンマッチは、最近のRuby にも入ったらしい
2022/05/11(水) 22:49:22.54ID:SHUQSExp
>>13
int get_val( char *p )
{
long val =0;
while( *p && isdigit(*p) ){
val = val * 10 + (*p -'0');
if( val > INT_MAX ) return -1;
p++;
}
return (int)val;
}
int get_val( char *p )
{
long val =0;
while( *p && isdigit(*p) ){
val = val * 10 + (*p -'0');
if( val > INT_MAX ) return -1;
p++;
}
return (int)val;
}
2022/05/11(水) 23:16:13.10ID:MpS6R1TK
符号すら考慮してないじゃん
2022/05/12(木) 16:14:30.86ID:X4BelveO
int inverse =0;
switch( *p ){
case '+': p++; break;
case '-': p++; inverse =1; break;
}
…………
if( inverse ) val = -val;
return val;
基本的に左から右へ読んでくだけ
状態遷移がめんどくせー
なんてレベルじゃないな
switch( *p ){
case '+': p++; break;
case '-': p++; inverse =1; break;
}
…………
if( inverse ) val = -val;
return val;
基本的に左から右へ読んでくだけ
状態遷移がめんどくせー
なんてレベルじゃないな
2022/05/12(木) 16:43:41.96ID:eXWLspDV
longのような精度の大きな値が使えるとは限らない一般化した話を聞きたいんだったよな
上限チェックに限っていうと、上限値の文字列を文字列か配列の定数として持っておいて、入力された数値を正規化して、互いにループで各桁比較すれば少なくともif文のネスト地獄にはならないぞ
上限チェックに限っていうと、上限値の文字列を文字列か配列の定数として持っておいて、入力された数値を正規化して、互いにループで各桁比較すれば少なくともif文のネスト地獄にはならないぞ
2022/05/12(木) 19:30:05.72ID:nhkWit6K
>>13
膨大になるけど11桁分の状態遷移を描けば実現できなくもない。
膨大になるけど11桁分の状態遷移を描けば実現できなくもない。
2022/05/12(木) 20:48:43.62ID:Tz9pelCK
>>20
そりゃ問題を読み落としてたスマン
というかそんな問題で悩んでたのか?
unsignedを使えば常にsignedの倍の幅があるので比較は普通にできると思うが
int get_val( char *p )
{
unsigned int val =0;
int inverse =0;
/* +-符号の処理... */
switch( *p ){
case '+': p++; break;
case '-': p++; inverse =1; break;
}
while( *p && isdigit(*p )){
val = val * 10 + (*p -'0');
if( val > INT_MAX ) {
/* オーバーフロー処理... */
}
p++;
}
if( inverse ) return -(int)val;
else return (int)val;
}
そりゃ問題を読み落としてたスマン
というかそんな問題で悩んでたのか?
unsignedを使えば常にsignedの倍の幅があるので比較は普通にできると思うが
int get_val( char *p )
{
unsigned int val =0;
int inverse =0;
/* +-符号の処理... */
switch( *p ){
case '+': p++; break;
case '-': p++; inverse =1; break;
}
while( *p && isdigit(*p )){
val = val * 10 + (*p -'0');
if( val > INT_MAX ) {
/* オーバーフロー処理... */
}
p++;
}
if( inverse ) return -(int)val;
else return (int)val;
}
2022/05/12(木) 21:33:51.47ID:seTFNLoC
unsigned使っても最上位桁の最大値が1~4の範囲内だったらうまくいかなくね
2022/05/12(木) 21:35:48.95ID:ICgJr9zJ
2022/05/12(木) 21:36:31.26ID:seTFNLoC
つかこの人は0xFF形式などの書式の話も全く聞いていない人なのでは
ブランコ発注したらすごいのおっ建てそう
ブランコ発注したらすごいのおっ建てそう
2022/05/12(木) 21:44:42.55ID:TaoyDzij
16進数非対応はまだ許せる
10進数でバグてんこ盛り
この人の書くコードは絶対信用するなよと言われる一発アウトレベル
10進数でバグてんこ盛り
この人の書くコードは絶対信用するなよと言われる一発アウトレベル
2022/05/13(金) 03:45:17.97ID:NG21EJne
すっぽん食べるとギンギンになるって本当ですか(´・ω・`)?
2022/05/13(金) 17:13:28.00ID:eN2A4GYm
DBにタグ付けのタグモデルを作りたいのですが
テーブル名はtagでいいとして
tagの名前、内容?はnameでいいかな
idだとprimaryとかぶるし、titleだとなんか違う気が
ただ、nameだとtagそのものの固有名詞な気がして腑に落ちない
あとはcontents, description
まとめると
name, title, contents, description
nameでいいでしょうか・・
テーブル名はtagでいいとして
tagの名前、内容?はnameでいいかな
idだとprimaryとかぶるし、titleだとなんか違う気が
ただ、nameだとtagそのものの固有名詞な気がして腑に落ちない
あとはcontents, description
まとめると
name, title, contents, description
nameでいいでしょうか・・
2022/05/13(金) 23:37:36.69ID:AHgjjazd
具体的に何のタグ付けをするか
限定したくないのか?
抽象的な名前を付けると
後々苦労するぞ
限定したくないのか?
抽象的な名前を付けると
後々苦労するぞ
2022/05/14(土) 07:43:46.21ID:sZUTboAh
例えば記事とかですね
Articleに対して「日記」とか「健康」とかタグ付けのよくある感じのやつです
で、記事A、B、C、、テーブルに対して
それぞれ「日記」やら「健康」やら1対1で記録するわけにはいかないので
Tagテーブルを用意する感じです
Tag.nameで「日記」やらが取得できて
Tag.articlesでそのタグに属する記事が取得できます
ただ問題はそこではなくtag.nameというカラムの命名、日本語でいうとタグ名?
かなりどうでもいいしなんでもいいしnameで良いだろうと個人的に思っている前提があるのですが
ふと気になりました
普通DBのカラム名って抽象的な名前つけませんかね??
idとか辞めたほうがいいのかな
idはやめてより具体的にprimary_id、みたいな?
あんまりそういうの見ないですが慣習とかあるのですかね
Articleに対して「日記」とか「健康」とかタグ付けのよくある感じのやつです
で、記事A、B、C、、テーブルに対して
それぞれ「日記」やら「健康」やら1対1で記録するわけにはいかないので
Tagテーブルを用意する感じです
Tag.nameで「日記」やらが取得できて
Tag.articlesでそのタグに属する記事が取得できます
ただ問題はそこではなくtag.nameというカラムの命名、日本語でいうとタグ名?
かなりどうでもいいしなんでもいいしnameで良いだろうと個人的に思っている前提があるのですが
ふと気になりました
普通DBのカラム名って抽象的な名前つけませんかね??
idとか辞めたほうがいいのかな
idはやめてより具体的にprimary_id、みたいな?
あんまりそういうの見ないですが慣習とかあるのですかね
2022/05/14(土) 07:45:36.29ID:sZUTboAh
訂正
>記事A、B、C、、テーブルに対して
記事A、B、C、、レコードに対して
>記事A、B、C、、テーブルに対して
記事A、B、C、、レコードに対して
2022/05/14(土) 10:07:47.04ID:HSCc5eYF
2022/05/14(土) 10:53:24.27ID:dNBvGn+q
>>28
NAMEでいいよ
抽象度は適度だから無理に玄人っぽくする必要はない
たとえばCUSTOMERテーブルに顧客名をNAMEカラムで入れるのは妥当じゃん
日本語で考えても「タグ名」なら通じるけどそこに「タグID」は不自然
数値型で別途サロゲートキーを持つ設計ならその数値を「タグID」と呼ぶべき
俺ならTAGテーブルのTAGカラムにするかな
複数のテーブルにTAGカラムを置いたとき同じ情報であることが一目瞭然だから
あと「そんなことはどうでもいい」って書いてるけど、お互いに噛み合わない問答をすることになるから、説明にこそ労力を割くのが賢明
不特定多数に要件を伝えるときは、DBにタグ付けのタグモデルを作りたい、じゃ伝わらないよ
NAMEでいいよ
抽象度は適度だから無理に玄人っぽくする必要はない
たとえばCUSTOMERテーブルに顧客名をNAMEカラムで入れるのは妥当じゃん
日本語で考えても「タグ名」なら通じるけどそこに「タグID」は不自然
数値型で別途サロゲートキーを持つ設計ならその数値を「タグID」と呼ぶべき
俺ならTAGテーブルのTAGカラムにするかな
複数のテーブルにTAGカラムを置いたとき同じ情報であることが一目瞭然だから
あと「そんなことはどうでもいい」って書いてるけど、お互いに噛み合わない問答をすることになるから、説明にこそ労力を割くのが賢明
不特定多数に要件を伝えるときは、DBにタグ付けのタグモデルを作りたい、じゃ伝わらないよ
2022/05/14(土) 10:55:31.65ID:dNBvGn+q
いや、どうでもいいのくだりは俺の読み間違いだったすまん
2022/05/14(土) 11:01:01.02ID:dNBvGn+q
主キーにprimary_idって名付けるのは絶対やめて
全テーブルにその名前のカラムが作られて
えっとこのテーブルの主キーには名前が入ってるんだっけ連番が入ってるんだっけ?
みたいな無駄な思考コストを割くことになる
命名としてはワーストに近い
全テーブルにその名前のカラムが作られて
えっとこのテーブルの主キーには名前が入ってるんだっけ連番が入ってるんだっけ?
みたいな無駄な思考コストを割くことになる
命名としてはワーストに近い
2022/05/14(土) 11:37:49.87ID:sZUTboAh
>>33,35
なるほどとりあえずはnameで保留しときます
記事テーブルだと例えば記事の著者テーブルも分けたいとき
著者テーブルの著者名カラムにNAMEは使うと思うので
タグ.NAME、著書.NAMEが並んだときの視認性もまぁ普通は流し見できるほど引っかからないだろうし
ありがとうございました
なるほどとりあえずはnameで保留しときます
記事テーブルだと例えば記事の著者テーブルも分けたいとき
著者テーブルの著者名カラムにNAMEは使うと思うので
タグ.NAME、著書.NAMEが並んだときの視認性もまぁ普通は流し見できるほど引っかからないだろうし
ありがとうございました
2022/05/14(土) 13:44:56.58ID:ikzzTAQf
googletest
とかカチ込まれたモノを使いたくないんだが
何されるか分からねえ
とかカチ込まれたモノを使いたくないんだが
何されるか分からねえ
38デフォルトの名無しさん
2022/05/14(土) 18:11:55.57ID:fNpRS/TY 使いたくないじゃなくて
何を使いたいのかをいえ
何を使いたいのかをいえ
2022/05/14(土) 20:33:07.60ID:59Ewxs6Z
2022/05/15(日) 15:53:32.09ID:CrPb3ukq
41デフォルトの名無しさん
2022/05/15(日) 16:02:22.29ID:ziZRuRQO42デフォルトの名無しさん
2022/05/15(日) 16:03:39.87ID:ziZRuRQO 間違った>>35あて
2022/05/15(日) 17:13:58.41ID:2xe246/Y
ナチュラルキーだろうがサロゲートキーだろうがprimary_idと名付けるのはやめようね
テーブルAのキーとテーブルBのキーを保持した関連テーブルCの複合キーを設計する段階で一貫性が破綻する
主キーであるという性質は、そのカラムの本質を端的に表したものではなく、それが帯びている属性の一つに過ぎない
カラムにFOREIGNKEYとかUNIQUEとかNOTNULLとか命名するのと同じ間違いがある
テーブルAのキーとテーブルBのキーを保持した関連テーブルCの複合キーを設計する段階で一貫性が破綻する
主キーであるという性質は、そのカラムの本質を端的に表したものではなく、それが帯びている属性の一つに過ぎない
カラムにFOREIGNKEYとかUNIQUEとかNOTNULLとか命名するのと同じ間違いがある
2022/05/15(日) 17:15:28.75ID:2xe246/Y
もちろんtag_idとかidのような名付けを否定するものではない
45デフォルトの名無しさん
2022/05/15(日) 17:29:34.85ID:LIUJ8O/8 HTML、CSS、PHP
この三つの組み合わせだけで掲示板サイトは作れますか?
また、もし作れるとして、この三つの組み合わせだと、
サイトの大半の箇所はHTMLとCSSで作り、
PHPを適用するのは、書き込まれたら画面にそれが表示されるというところだけですか?
それとも他にもいろいろPHPを適用しないと駄目な箇所ってあるのでしょうか?
あったら教えてください。
この三つの組み合わせだけで掲示板サイトは作れますか?
また、もし作れるとして、この三つの組み合わせだと、
サイトの大半の箇所はHTMLとCSSで作り、
PHPを適用するのは、書き込まれたら画面にそれが表示されるというところだけですか?
それとも他にもいろいろPHPを適用しないと駄目な箇所ってあるのでしょうか?
あったら教えてください。
2022/05/15(日) 20:54:14.25ID:/QC8ypew
掲示板の書き込みを保存するためのデータベースがないじゃん
2022/05/15(日) 21:07:34.14ID:VMVrIVgn
ファイルでできなくもないだろう。2chだってそうしてきたし。
2022/05/15(日) 21:24:43.27ID:SzIUVHZr
>>45
ワードプレスが簡単だよ
ワードプレスが簡単だよ
49デフォルトの名無しさん
2022/05/15(日) 21:25:11.31ID:LIUJ8O/8 >>46
データベースはMySQLで良いですか?
データベースはMySQLで良いですか?
2022/05/15(日) 23:32:37.86ID:/QC8ypew
>>49
はい
はい
2022/05/16(月) 09:37:41.12ID:AoVbevXW
AWS
・月に1、2回程度の頻度で不定期にVPCに入ってDB更新スクリプトを実行したい
・お金がかかるので踏み台EC2を常設したくない
・かといってスクリプト実行のたびにEC2を立ち上げるのは手間が大きすぎる
こんな時に使えるAWSサービスってありますかね?
今のところチームで挙がってる案は
・スクリプトをLambdaに上げて実行してすぐ削除する
これは悪くないんですが長期プロセスになるとタイムアウトします
・月に1、2回程度の頻度で不定期にVPCに入ってDB更新スクリプトを実行したい
・お金がかかるので踏み台EC2を常設したくない
・かといってスクリプト実行のたびにEC2を立ち上げるのは手間が大きすぎる
こんな時に使えるAWSサービスってありますかね?
今のところチームで挙がってる案は
・スクリプトをLambdaに上げて実行してすぐ削除する
これは悪くないんですが長期プロセスになるとタイムアウトします
2022/05/16(月) 10:29:33.77ID:03MF3TRN
そんなもんt3.nanoで十分だろ?
常時立ち上げても月500円くらいだよ
常時立ち上げても月500円くらいだよ
2022/05/16(月) 11:02:34.52ID:nBMBXxit
EC2立ち上げるのが手間大きすぎるのに毎回Lambda作る手間は許容できるというのが謎すぎる
Fargateを使う手も考えられるが、どう考えてもEC2のインスタンス起動に比べて手間はかかる
まさかEC2の起動って毎回1からインスタンスタイプやイメージ選んで新規作成しなきゃいけないとか思ってる?
Fargateを使う手も考えられるが、どう考えてもEC2のインスタンス起動に比べて手間はかかる
まさかEC2の起動って毎回1からインスタンスタイプやイメージ選んで新規作成しなきゃいけないとか思ってる?
2022/05/16(月) 12:09:37.67ID:AoVbevXW
2022/05/16(月) 13:39:39.37ID:DJgy/fWm
漏れも、NRI ネットコムのパターン別構築・運用ガイドと、
Solution Architect Associate の教科書で勉強しているけど、
そういう奇妙な問題は載っていない
Full Managed のAWS Batch は?
コンテナ・ECS を使うみたい
それか、月3千円のくろかわこうへいのサロンへ入って、誰かに聞くとか
Solution Architect Associate の教科書で勉強しているけど、
そういう奇妙な問題は載っていない
Full Managed のAWS Batch は?
コンテナ・ECS を使うみたい
それか、月3千円のくろかわこうへいのサロンへ入って、誰かに聞くとか
2022/05/16(月) 13:50:08.86ID:VFpLfYNF
お前Rubyガイジだろw
そんなクソサロンなんかに入る訳無いやろw
そんなクソサロンなんかに入る訳無いやろw
2022/05/16(月) 18:40:03.46ID:Tz/KUh6O
2022/05/24(火) 11:56:34.82ID:5czGKl+p
linuxで動くc言語のインタープリターってない?
特にマクロの動作確認したいんだけど
特にマクロの動作確認したいんだけど
59デフォルトの名無しさん
2022/05/24(火) 15:51:23.21ID:uS/VaRKi IT業界で竹取物語の構成を真似して作った何かがあったような気がするのですが思い出せません
わかる人いませんか?
わかる人いませんか?
2022/05/24(火) 16:01:17.68ID:wrhaW7TC
>>58
マクロなら-Eつけてコンパイル(gcc)で展開させて確認したら?
マクロなら-Eつけてコンパイル(gcc)で展開させて確認したら?
2022/05/24(火) 17:07:38.94ID:kt82s4HP
>>60
センキュー
センキュー
62デフォルトの名無しさん
2022/05/25(水) 17:39:23.38ID:DSfILNAM どうせすぐに廃止するシステムの開発に全然モチベーションが湧かない
コミュニケーションコストのかかる関係者が多すぎるし
お前らやる気起きない時どうしてんの?
コミュニケーションコストのかかる関係者が多すぎるし
お前らやる気起きない時どうしてんの?
2022/05/26(木) 16:59:05.83ID:Buc+4MAv
サーバーサイドでExcelからPDF出力するライブラリがある言語やフレームワークは何がありますか
今はLibreoffice使ってますが、セルの書式が反映されづらいので他を探してます
今はLibreoffice使ってますが、セルの書式が反映されづらいので他を探してます
2022/05/26(木) 17:25:06.73ID:SI03/myz
excelからpdf出力の意味が曖昧だ
excelを入力としてpdfを出力するのか
excelがpdfを出力するのか
excelを入力としてpdfを出力するのか
excelがpdfを出力するのか
6563
2022/05/26(木) 18:01:48.47ID:O+gRo7JH66☆
2022/05/27(金) 10:00:37.95ID:RlIeecBS ★『プチコン4 SmileBASIC』みたいにswitchでゲームが作れるソフトは
これ以外にどんなものがあるのでしょうか。また、プチコン4 SmileBASIC
使ったことがある人がいましたら、感想をお願いします。
もしスレ違いなら、どこに質問すればいいのか教えてください。
よろしくおねがいいたします★
これ以外にどんなものがあるのでしょうか。また、プチコン4 SmileBASIC
使ったことがある人がいましたら、感想をお願いします。
もしスレ違いなら、どこに質問すればいいのか教えてください。
よろしくおねがいいたします★
67デフォルトの名無しさん
2022/05/27(金) 11:11:55.21ID:S0cy91Tb >>62
判ります
判ります
68デフォルトの名無しさん
2022/05/27(金) 11:12:35.21ID:S0cy91Tb >>63
python の Pandas 便利
python の Pandas 便利
2022/05/27(金) 14:47:45.82ID:X2EnXYhx
2022/05/27(金) 20:45:35.20ID:Uk6q3si0
リッチねえ
サーバかそれと通信できるPCにExcelが入ってる前提でないと雑な変換にしかならんと思うけどな
Excelに渡せる環境であればファイル名だけ気を付ければ適当な処理でいいんじゃね
サーバかそれと通信できるPCにExcelが入ってる前提でないと雑な変換にしかならんと思うけどな
Excelに渡せる環境であればファイル名だけ気を付ければ適当な処理でいいんじゃね
71デフォルトの名無しさん
2022/05/28(土) 11:49:21.48ID:81XaDMLN サーバー側の excel で pdf を造る訳じゃないだろ
サーバー側の excel を python で読んで python で pdf 出力すれば良いんだろ
必要なものは
python で excel を読むライブラリ
python で pdf を出力するライブラリ
あとは好きなものを探せ
サーバー側の excel を python で読んで python で pdf 出力すれば良いんだろ
必要なものは
python で excel を読むライブラリ
python で pdf を出力するライブラリ
あとは好きなものを探せ
2022/05/28(土) 12:29:18.41ID:U/gq3eAn
独立した2つのライブラリを組み合わせるのはさすがに最後の手段じゃね
たとえばF列45行のセルに上二重罫線があるというデータのCellオブジェクトがあるとき、それを適切な座標にレンダリングされるようなPDFのオブジェクトにどう変換する?
オブジェクトモデルの違いを吸収するために大量のマッピング処理を書かないといけない
くっそダルい処理の山になる予感
たとえばF列45行のセルに上二重罫線があるというデータのCellオブジェクトがあるとき、それを適切な座標にレンダリングされるようなPDFのオブジェクトにどう変換する?
オブジェクトモデルの違いを吸収するために大量のマッピング処理を書かないといけない
くっそダルい処理の山になる予感
2022/05/28(土) 13:05:40.92ID:XKEF46cS
>>71-72
ありがとうございます
実際71さんの通りに(php、c#、python)で少し調べてましたが、
無料で使えるライブラリ等ではセルの書式が崩れたりや
Excel結局htmlを作成する必要があるなどになり素直に変換出来ませんでした
やはり有償のものしかないのでしょうか
ありがとうございます
実際71さんの通りに(php、c#、python)で少し調べてましたが、
無料で使えるライブラリ等ではセルの書式が崩れたりや
Excel結局htmlを作成する必要があるなどになり素直に変換出来ませんでした
やはり有償のものしかないのでしょうか
2022/05/28(土) 13:21:18.02ID:U/gq3eAn
サーバーサイドでPrint to PDFで印刷するのはどうか
2022/05/28(土) 15:16:26.98ID:9G0FEWdK
フォーマットが統一されてないExcelファイルを自動でキレイにPDF化するのは現実的な費用範囲内じゃ無理
サーバーサイドでExcelをPDF化したい理由に応じた別のアプローチを考えた方がいい
そもそも作るたびに見積書の見た目が変わる会社なんて信用されないぞ
サーバーサイドでExcelをPDF化したい理由に応じた別のアプローチを考えた方がいい
そもそも作るたびに見積書の見た目が変わる会社なんて信用されないぞ
76デフォルトの名無しさん
2022/05/28(土) 20:25:36.41ID:NcTZ/5Yj きれいな見積書が欲しいんだろ
pdfで出力されれば良いんだろ
excel使う必要ないやん?
pdfで出力されれば良いんだろ
excel使う必要ないやん?
2022/05/28(土) 21:58:38.16ID:j34iIhvZ
Office 2019のExcelで清書したつもりの見積書をPDFにしたいのなら
Office 2019のExcelでPDFで保存した方がいい
これを別の手段でとか考えてもろくなことにならない
Office前提ならPDF変換はvbsで10行程度で書ける内容
Office 2019のExcelでPDFで保存した方がいい
これを別の手段でとか考えてもろくなことにならない
Office前提ならPDF変換はvbsで10行程度で書ける内容
2022/05/28(土) 22:01:59.80ID:1r5z1oxZ
サーバーでOffice使うのはライセンス違反
2022/05/28(土) 22:06:22.31ID:6cBlWBqD
サーバーサイドエクセルってわりとアンチパターンよね
2022/05/28(土) 22:13:26.27ID:j34iIhvZ
>>78
ライセンス違反てどっかに記載ある?
「Microsoft Office(以下Office)のオートメーションをサーバーサイドで使用することについての技術サポートを行っていません」
てのは見つかったけど
https://www.google.com/search?q=Office+のオートメーションをサーバーサイドで使用する&ie=utf-8&oe=utf-8&client=firefox-b
ライセンス違反てどっかに記載ある?
「Microsoft Office(以下Office)のオートメーションをサーバーサイドで使用することについての技術サポートを行っていません」
てのは見つかったけど
https://www.google.com/search?q=Office+のオートメーションをサーバーサイドで使用する&ie=utf-8&oe=utf-8&client=firefox-b
2022/05/28(土) 22:20:04.42ID:j34iIhvZ
すまんあったわ
こうなると適当なソフトで劣化レンダリングしかないな
>技術的な問題とは別に、ライセンスの問題も考慮する必要があります。 現在のライセンス ガイドラインでは、クライアントにライセンス認証済みの Office がインストールされている場合を除き、クライアント要求を処理するサーバー上で Office アプリケーションを使用することは禁じられています。 サーバーサイド オートメーションを使用して、ライセンス認証されていないワークステーションに Office 機能を提供することは、ソフトウェア ライセンス条項 (EULA) では認められていません。
https://support.microsoft.com/ja-jp/topic/office-のサーバーサイド-オートメーションについて-48bcfe93-8a89-47f1-0bce-017433ad79e2
こうなると適当なソフトで劣化レンダリングしかないな
>技術的な問題とは別に、ライセンスの問題も考慮する必要があります。 現在のライセンス ガイドラインでは、クライアントにライセンス認証済みの Office がインストールされている場合を除き、クライアント要求を処理するサーバー上で Office アプリケーションを使用することは禁じられています。 サーバーサイド オートメーションを使用して、ライセンス認証されていないワークステーションに Office 機能を提供することは、ソフトウェア ライセンス条項 (EULA) では認められていません。
https://support.microsoft.com/ja-jp/topic/office-のサーバーサイド-オートメーションについて-48bcfe93-8a89-47f1-0bce-017433ad79e2
2022/05/28(土) 22:41:41.14ID:j34iIhvZ
無償で手段を探しているなら現実的には運用で回避することになるだろうな
作成物とは見た目が変わる場合がありますじゃ通らないし
・営業とかが見積書を作成、外部公開する場合PDFで保存したものを用意させる
・見積書を渡す客の見える場所にPDFを配置する
作成物とは見た目が変わる場合がありますじゃ通らないし
・営業とかが見積書を作成、外部公開する場合PDFで保存したものを用意させる
・見積書を渡す客の見える場所にPDFを配置する
2022/05/28(土) 23:13:59.05ID:NC/3Jxi/
社外向けと社内向けでWeb/Appサーバーは別でデータストアは共有ってのは至って普通のシステム
2022/05/28(土) 23:34:15.16ID:tRwsIZOm
LibreOfficeでサーバーでPDF印刷するのはどうか
書式が反映されづらいってのが気になるけど変換コマンド呼んだときの問題なら
書式が反映されづらいってのが気になるけど変換コマンド呼んだときの問題なら
2022/05/29(日) 23:32:08.53ID:iyx+MG/0
仕事でもWindowsサーバにOffice入れてPDFにした
PDF作る部分も自分が実装したから確実
某一部上場
PDF作る部分も自分が実装したから確実
某一部上場
2022/05/30(月) 19:03:27.66ID:De9Hqdm7
Office365契約してるならWebのOfficeで開いてもらって自分でPDF出力させればいいんじゃね
2022/06/04(土) 07:36:50.61ID:R8rou9wa
アプリ内で管理しているユーザ(≠DBユーザ)単位でDBテーブル内のデータ使用量管理(MBytes単位)をしたいんですが、どういう方法が一般的でしょう?
それともレコード数でカウントする?
それともレコード数でカウントする?
2022/06/04(土) 08:32:49.91ID:wOhYS0Gr
2022/06/04(土) 09:02:07.03ID:szrn9GmE
>>87
仕様が破綻してる
後からカラムを増やしたらどうする?
DBMSのアップデートの影響で仕様が変わって使用量が変化したらどうする?
アーキテクチャを見直して他のDBMSへ移行することになったら?
仕様が破綻してる
後からカラムを増やしたらどうする?
DBMSのアップデートの影響で仕様が変わって使用量が変化したらどうする?
アーキテクチャを見直して他のDBMSへ移行することになったら?
2022/06/04(土) 09:12:44.72ID:qUTDr6pA
相対的な使用量をおおまかに把握したいだけなら基本的にはレコード数で管理するかな
BLOBのような上限の大きい可変データが対象で
かつデータサイズの差を把握することに重要な意がある場合だけバイトサイズで管理する
BLOBのような上限の大きい可変データが対象で
かつデータサイズの差を把握することに重要な意がある場合だけバイトサイズで管理する
2022/06/04(土) 09:15:16.78ID:WgwC3gJx
>>89
カラムが増えたらそれに合わせてクエリも変えればいいだけでは?
カラムが増えたらそれに合わせてクエリも変えればいいだけでは?
2022/06/04(土) 09:35:01.84ID:R8rou9wa
2022/06/04(土) 09:36:16.98ID:szrn9GmE
>>91
目的次第だな
もしSaaSとかで厳密にクォータを設ける必要があるなら、
勝手にサービス側で行った内部的な変更によってある日突然容量オーバーしました使えませんと言われたらユーザーは怒るだろうね
目的次第だな
もしSaaSとかで厳密にクォータを設ける必要があるなら、
勝手にサービス側で行った内部的な変更によってある日突然容量オーバーしました使えませんと言われたらユーザーは怒るだろうね
2022/06/04(土) 09:49:10.15ID:rVKqS7Bz
もし目的がクォータじゃなくて使用状況をだいたい把握することであるなら、
システムテーブルでテーブルのサイズを引いてレコード数で按分すればいい
クォータならトラブルの元になるから絶対やめとけ
システムテーブルでテーブルのサイズを引いてレコード数で按分すればいい
クォータならトラブルの元になるから絶対やめとけ
2022/06/04(土) 16:37:32.32ID:UqNFaCl5
>>92
何をどこまで把握したいかによるよ
テーブルの使用量といってもBTreeのインデックスノードの容量とかまで把握したいわけじゃないんでしょ?
クォータとか課金に絡むような目的なら何の単位で課金するかというビジネス要件を明確にして
その要件を満たせるような機能をアプリやDB構造に埋め込んでおかないと破綻するよ
>>93
クォータ目的ならバイトサイズを計測する対象カラムを限定するのでDBにカラム増やしたからと言って「ユーザーの使用量」が増えるわけじゃないよ
DBMSのバージョンアップとかで変化が避けられないような場合でも無料枠の増加とかでユーザーが損しないように対処すればいいだけ
計測内容をそっくりそのままクォータに反映させる必要はない
詫び石と同じで調整弁は重要
何をどこまで把握したいかによるよ
テーブルの使用量といってもBTreeのインデックスノードの容量とかまで把握したいわけじゃないんでしょ?
クォータとか課金に絡むような目的なら何の単位で課金するかというビジネス要件を明確にして
その要件を満たせるような機能をアプリやDB構造に埋め込んでおかないと破綻するよ
>>93
クォータ目的ならバイトサイズを計測する対象カラムを限定するのでDBにカラム増やしたからと言って「ユーザーの使用量」が増えるわけじゃないよ
DBMSのバージョンアップとかで変化が避けられないような場合でも無料枠の増加とかでユーザーが損しないように対処すればいいだけ
計測内容をそっくりそのままクォータに反映させる必要はない
詫び石と同じで調整弁は重要
2022/06/06(月) 10:54:22.37ID:HxOk3is7
サーバーサイドで一番キレイで簡単にPDF作れるツールなり言語教えて
2022/06/06(月) 11:15:49.45ID:qw/y7lM2
Pandoc
2022/06/06(月) 23:32:07.59ID:B27onV45
印刷先をPDFにすればペイント画像やメモ帳テキストすらPDFになるが
2022/06/10(金) 12:16:45.84ID:R7YuyWTY
グラマーじゃなくてコーダーに発注とか指示するときってどうしてたの?
「こういう戻り値の関数つくって」とか
「この設計書の通り書いて」とか言うの?
「こういう戻り値の関数つくって」とか
「この設計書の通り書いて」とか言うの?
100デフォルトの名無しさん
2022/06/10(金) 13:44:10.01ID:X4RHydTP ソースコードとほぼ一対一で対応するレベルの「詳細設計書(≒コーディングシート)」をExcel方眼紙で書くんだよ
PGはそれをコードに翻訳してテストするだけの単純作業
PGはそれをコードに翻訳してテストするだけの単純作業
101デフォルトの名無しさん
2022/06/10(金) 16:39:12.27ID:Gq/mHflW どう考えても直接ソースコード書いた方がいいよねw
まぁだからコーダーという職種は消えたわけだけど
今はデザイナーがデザインしたwebページをhtml,cssに落とす人をコーダーというらしい
まぁだからコーダーという職種は消えたわけだけど
今はデザイナーがデザインしたwebページをhtml,cssに落とす人をコーダーというらしい
102デフォルトの名無しさん
2022/06/10(金) 18:28:15.93ID:lm1KUU7y パンチカードなど極めて生産性の低い原始的な開発環境でコーディングしてた時代の名残だね
だからCOBOL開発など汎用機文化が根強く残ってる職場なんかだと未だにSEが詳細設計書いてたりする
だからCOBOL開発など汎用機文化が根強く残ってる職場なんかだと未だにSEが詳細設計書いてたりする
103デフォルトの名無しさん
2022/06/10(金) 18:39:55.16ID:AEr+mhBC 言語の抽象度が上がっただけだと思うぞ
それにソースとほぼ1対1で対応するプログラム設計書はそのプログラム作る人間が書くのが普通
別の人間にやらせるのは効率が悪すぎる
それにソースとほぼ1対1で対応するプログラム設計書はそのプログラム作る人間が書くのが普通
別の人間にやらせるのは効率が悪すぎる
104デフォルトの名無しさん
2022/06/10(金) 21:44:46.58ID:kN20oOO9 c言語初心者なんですが、コンパイルできててるのに実行途中で「セグメントエラー」
とでてうまくいかないきません。
ググったら「ポインタ変数が〜」と書いてあったのですが主にどの部分を見て確認すればよいのでしょうか
とでてうまくいかないきません。
ググったら「ポインタ変数が〜」と書いてあったのですが主にどの部分を見て確認すればよいのでしょうか
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★9 [ぐれ★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 ★2 [ぐれ★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- ㊗157円 [194819832]
- 【高市売り】円安、止まらず!凄い勢いで暴落中。157円へ [219241683]
- 実写版ゼルダの伝説、イメージが公開。パヨモメンがなぜ黒人じゃないのかと怒り😡白人ガー [776365898]
- なんだかんだドラクエはまだ面白い。FFはオワコン
- B型のハゲが一番ヤバイ
- ‎
